Proposal for (source-side) hyphenation support

Nico Huber nico.h at
Sat Apr 1 19:50:25 EDT 2017

On 01.04.2017 23:45, Fletcher T. Penney wrote:
> On 4/1/17 5:16 PM, Aristotle Pagaltzis wrote:
>>>> 4. As to your specific syntax suggestion, this would not work well
>>>> in MultiMarkdown, as the `\\\n` syntax is already used to indicate
>>>> linebreaks, in addition to the `  \n` (space-space-newline) to
>>>> improve visibility.
>>>>     <>
>>> Every language where I've seen escaped new-line chars so far, used it
>>> to ignore the line break.
>> That’s exactly what Fletcher just said MultiMarkdown already does.
>>> We should fix MultiMarkdown then ;) just kidding
>> What’s there to fix?
> Actually, MMD doesn't use escaped new-lines to ignore, but rather to
> convert to <br/>.  In fact, the default action is to ignore newlines, so
> I'm unclear as to why one would escape them for that purpose:
>     This line\n
>     and another line.
> The newline character is ignored -- the generated HTML (or LaTeX or ODF,
> etc) treats the output the same whether the text is included on a single
> line (replacing \n with a space) or keeping the \n intact.
> I don't understand how Markdown could ignore the newline any more than
> it already does. ;)

It copies them to HTML. That's not ignoring. In HTML (etc) it's sup-
posed to be interpreted as whitespace. That's not ignoring either.

In my proposal, ignoring the new-line character would serve the purpose
to recombine a word that was broken after a hyphen. Currently you'd get
a space after the hyphen in the output.


> MMD allows this:
>     This line\\\n
>     and another line.
> to become:
>     <p>This line<br/>
>     and another line.</p>
> The main reason being that it is difficult to quickly identify the
> "space-space-newline" syntax otherwise required to insert a linebreak
> (unless your text editor specifically flags it in some way -- MMD
> Composer does this, for instance).
> (I realize this is tangential to the main thread, but didn't want to
> confuse anyone stumbling across this thread.)
> Fletcher
> PS> I just reread your (Nico) comment again, and realized that when I
> read "every language" I assumed you meant "every Markdown variant",
> which honestly did not make much sense to me (as above).  If instead, I
> substitute "every programming language", then your comments do make
> sense to me, as newlines are not necessarily ignored in all programming
> languages.  In that case, however, the default is to ignore them so a
> separate notation to tell Markdown to ignore a newline is unnecessary.
> In that scenario, one should not read the "\\\n" syntax as escaping a
> newline per se, but rather hijacking the escape syntax for a slightly
> different purpose so that I did not have to introduce an entirely new
> syntax for linebreaks.  In MMD version 6, I do the same thing for
> "\\space" to mean a non-breaking space.  The advantage of this syntax is
> that the fallback for "\\\n" and "\\space" in other Markdown parsers
> besides MMD is to simply treat them as a regular newline and regular
> space, which is not the end of the world in most situations.

Right, I meant "language" in the "programming language" sense.

More information about the Markdown-Discuss mailing list