I experience this in the Try page of this site and on my own web site where I installed the prebuilt JS parser. Strangely, it is well formatted in the Preview pane at the right of the box where I typed this message⌠(same on stackoverflow, so I guess that a different parser is used here for the preview of WMD).
Youâre right. Thanks.
It would be great to include parenthesis. Writing my sentence as I did seemed so natural (and this is the right way to write in botany).
May I add a non related question?.. Is the source of this WMD editor available somewhere? Like here and on StackOverflow, Iâm looking to be able to plug my image upload service.
Yes, itâs probably a good idea to extend the rules so that closers canât be preceded by ( (or [ or {?) and openers canât be followed by ) (or ] or }?). Does anyone see problems with this?
@jgm - There could be a better approach for handling cases such as this - skip all symbols and punctuation before checking for whitespace before or after the emphasis char.
This would also handle cases like:
foo*. bar -- only closer because followed by space (skipping the dot)
**foo "*bar*" foo** -- skips quotes
There are some good ideas here. It looks hairy, but if I understand correctly, basic idea is fairly simple:
Strings of * or _ are divided into âleft flankingâ and âright flanking,â based on two things: the character immediately before them and the character immediately after.
Left-flanking delimiters can open emphasis, right flanking can close, and non-flanking delimiters are just regular text.
A delimiter is left-flanking if the character to the left has a lower rank than the character to the right, according to the following ranking: spaces and newlines are 0, punctuation (unicode categories Pc, Pd, Ps, Pe, Pi, Pf, Po, Sc, Sk, Sm or So) is 1, the rest 2. And similarly a delimiter is right-flanking if the character to the left has a higher rank than the character to the right.
@Knagis, your idea is also a good one, I just wanted to mention another alternative that might be worth looking into. Both require recognizing unicode punctuation, which adds another level of complexity to the C parser. And your suggestion might require indefinite lookbehind or lookahead in cases where you have a whole pile of punctuation characters before or after the delimiter.
Iâve implemented a solution on the newemph branch â still need to update the spec and the JS parser. But the examples in this thread are now handled well. If anyone is intersted, the commit is here: