Option to disable or defer markup parsing

Messages are currently checked for special character strings like ==, >>, ::, --, and ** after each keystroke, so that effects like boldness, quoting, and card types can be applied in real time.

This is a good default for most usecases but can be very frustrating when you’re trying to write notes that include those characters without those special meanings – which is extremely common if you happen to be studying programming. I find myself constantly fighting RemNote to format my notes the way they’re written and not as cards, bolded strings, or other things. (This can be especially troublesome with certain card formattings that can’t be undone with a CTRL+Z, you have to erase and start writing it anew.)

Logseq avoids this problem by deferring the parsing until the note has been fully written. Compare RemNote on the left to Logseq on the right, writing the same input.

result

Not only does it make it easier to format your writing the way you want it, I suspect this is the reason Logseq has noticably lower CPU/energy usage during writing sessions.

I would be greatly appreciative of an option to either defer parsing the markup until the text cursor leaves the rem, or to show the Markdown representation of the rem whenever the text cursor is inside it and the rendered representation when it’s not. Either would solve the problem and make RemNote that much more comfortable to use IMO.

Use quote formatting `` to type anything you want. Can also make it use a code font with this snippet (courtesy of Hannes).

.quote {
font-family: monospace;
}

Maybe I’m just being a noob here, but this doesn’t work for me. If I lead with `` </ is still being changed to -. If I first do a `` and then add </ like this `</` it still is being changed to -. Can somebody clarify? I’m on the desktop app, version 1.5.3.

Press the button to the left of 1 on the keyboard (`) twice to enter quote formatting mode, type anything you want, then press the same button twice to exit quote formatting mode. Your first example should have worked, just tested it myself on web 1.6.

Really appreciate the effort @UMNiK ! :slight_smile:

Unfortunately it still doesn’t work and as I already suspected, it might have to do with localisation. I’m using German and a German keyboard so I’ll now report this as a bug on Github.

Thanks again!

2 Likes