Description
I've created an editor in which the User can switch between a Rich Text version (Quill.js, if it matters) and Markdown and, in a Babel class, I've set up the Showdown like this:
this.showdown = new showdown.Converter({
omitExtraWLInCodeBlocks: false,
noHeaderId: true,
simplifiedAutoLink: true,
excludeTrailingPunctuationFromURLs: true,
literalMidWordUnderscores: true,
strikethrough: true,
tables: false,
ghCodeBlocks: true,
tasklists: true,
ghMentions: true,
ghMentionsLink: '/perfil/?user={u}',
smartIndentationFix: true,
disableForced4SpacesIndentedSublists: true,
simpleLineBreaks: false,
requireSpaceBeforeHeadingText: true,
encodeEmails: true
});
this.showdown.setFlavor( 'github' );
When conditions are met (i.e. the editor toggler is clicked) to parse the HTML from the Rich Text into the Markdown <textarea>, I have this:
return this.showdown.makeMarkdown( html );
And from Markdown to HTML, I have this:
return this.showdown.makeHtml( text );
textandhtmlare method arguments to represent, as implied, Quill's HTML and Markdown Text
The problem I'm experiencing is that when converting to HTML it works perfectly, and I receive in my Quill Editor the <a> tag, but when going for Markdown I don't receive the (I suppose) [text](link) syntax.
I've isolated the code, out of my Quill implementation:
var showdown = new showdown.Converter({
omitExtraWLInCodeBlocks: false,
noHeaderId: true,
simplifiedAutoLink: true,
excludeTrailingPunctuationFromURLs: true,
literalMidWordUnderscores: true,
strikethrough: true,
tables: false,
ghCodeBlocks: true,
tasklists: true,
ghMentions: true,
ghMentionsLink: '/perfil/?user={u}',
smartIndentationFix: true,
disableForced4SpacesIndentedSublists: true,
simpleLineBreaks: false,
requireSpaceBeforeHeadingText: true,
encodeEmails: true
});
showdown.setFlavor( 'github' );
function toMarkdown( html ) {
return showdown.makeMarkdown( html );
}
function toRichText( text ) {
return showdown.makeHtml( text );
}
console.log( toRichText( '@brunoaugusto' ) );
console.log( toMarkdown( '@brunoaugusto' ) );
And the results were the same. That said, will Showdown not convert, for example, <p>@brunoaugusto</p> into [/perfil/?user=brunoaugusto](@brunoaugusto) or I've implemented the routine wrongly?