Skip to content

ssbc/ssb-markdown

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 markdown source 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 with block.

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)

License

MIT