ssb-markdown
render patchwork/ssb messages to markdown.patchwork has a few changes from standard markdown.
- emoji - everybody hearts emoji
- ssb links - links to cryptographic objects see ssb-ref
- mentions - @mentions like on twitter or github. mentions allow people to convieniently talk to each other, but are written as both the name used, plus the cryptographic reference.
api
var md = require('ssb-markdown')
md.block(source, opts)
Render raw markdownsource
to html.
The output will be html content without a surrounding tag.md.inline (source, opts)
Render raw markdown to a single line of test, suitable for a one line preview that is opened to a view rendered withblock
.opts
An object containing custom markdown rendering functions.opts
are the
same for both md.block
and md.inline
toUrl
is a function which accepts an ssb-ref or @-mention string, and whether it is for an image or not,
and returns a url string.imageLink
is a function which accepts an ssb-ref and will be used to generate links to wrap any images.emoji
is a function which accepts an emoji as markup and
over-rides the default emoji rendering behavior.usage
const opts = {
toUrl: ref => renderUrlRef(ref),
imageLink: ref => renderImageRef(ref),
emoji: emojiAsMarkup => renderEmoji(emojiAsMarkup)
}
md.block(source, opts)
md.inline(source, opts)