A library for converting plaintext formats to HTML. Built for client-side plaintext rendering in TextDrop.
Currently supports:
- MultiMarkdown 4 (compiled to JS via Emscripten)
- TaskPaper
- Textile
- Fountain
var plaintext = require('plaintext'); // Also importable using require.js/AMD-style import
var renderer = new plaintext.Renderer('MULTIMARKDOWN', { // or "TEXTILE", "TASKPAPER", "FOUNTAIN"
exportFormat: plaintext.MultiMarkdown.ExportFormat.HTML, // default
parserExtensions: [
plaintext.MultiMarkdown.ParserExtension.NOTES, // enable footnotes
plaintext.MultiMarkdown.ParserExtension.SMART, // enable smart quotes
]
});
renderer.render("hello **world**", function(html) {
console.log(html);
// prints "<p>hello <strong>world</strong></p>"
});
rendererType
can be "MULTIMARKDOWN", "TEXTILE", "TASKPAPER", or "FOUNTAIN",options
must be an object
MULTIMARKDOWN
exportFormat
plaintext.MultiMarkdown.ExportFormat.HTML
defaultplaintext.MultiMarkdown.ExportFormat.TEXT
plaintext.MultiMarkdown.ExportFormat.LATEX
plaintext.MultiMarkdown.ExportFormat.MEMOIR
plaintext.MultiMarkdown.ExportFormat.BEAMER
plaintext.MultiMarkdown.ExportFormat.OPML
plaintext.MultiMarkdown.ExportFormat.ODF
plaintext.MultiMarkdown.ExportFormat.RTF
plaintext.MultiMarkdown.ExportFormat.CRITIC_ACCEPT
plaintext.MultiMarkdown.ExportFormat.CRITIC_REJECT
plaintext.MultiMarkdown.ExportFormat.CRITIC_HTML_HIGHLIGHT
parserExtensions
(pass as Array)plaintext.MultiMarkdown.ParserExtension.COMPATIBILITY
: Markdown compatibility modeplaintext.MultiMarkdown.ParserExtension.COMPLETE
: Create complete documentplaintext.MultiMarkdown.ParserExtension.SNIPPET
: Create snippet onlyplaintext.MultiMarkdown.ParserExtension.SMART
: Enable Smart quotesplaintext.MultiMarkdown.ParserExtension.NOTES
: Enable Footnotesplaintext.MultiMarkdown.ParserExtension.NO_LABELS
: Don't add anchors to headers, etc.plaintext.MultiMarkdown.ParserExtension.FILTER_STYLES
: Filter out style blocksplaintext.MultiMarkdown.ParserExtension.FILTER_HTML
: Filter out raw HTMLplaintext.MultiMarkdown.ParserExtension.PROCESS_HTML
: Process Markdown inside HTMLplaintext.MultiMarkdown.ParserExtension.NO_METADATA
: Don't parse Metadataplaintext.MultiMarkdown.ParserExtension.OBFUSCATE
: Mask email addressesplaintext.MultiMarkdown.ParserExtension.CRITIC
: Critic Markup Supportplaintext.MultiMarkdown.ParserExtension.CRITIC_ACCEPT
: Accept all proposed changesplaintext.MultiMarkdown.ParserExtension.CRITIC_REJECT
: Reject all proposed changes