serve-markdown v1.1.0
serve-markdown
A connect middleware, parses markdown files to html.
Install
$ npm i serve-markdownAPI
var serveMarkdown = require('serve-markdown')serveMarkdown(root, options)
Create a new middleware function to serve markdown files from within a given root
directory. The file to serve will be determined by combining req.url
with the provided root directory. When a file is not found, instead of
sending a 404 response, this module will instead call next() to move on
to the next middleware, allowing for stacking and fall-backs.
options
Accept below properties in the options object.
template
Optional path to an HTML template. Defaults to a built-in template.
The following tokens are replaced in templates:
{{title}}the title of the page{{style}}the specified styleSheet{{content}}html contents compiled from the markdown file{{classes}}the specified classes for the wrapper of the{{content}}
title
{Function | String} Optional, the return-value/value will be used for replacing the title token in the template. Default to the name of the served file.
{Function}the return value of the function will be used for replacing the{{title}}token in the template. The function will be called with one argument: name - the name(basename, likedemo.md) of the served file.{String}Used as the replacement of the{{title}}token of the template
style
Optional
path to a css stylesheet file Or a stylesheet string. Default to a built-in stylesheet.
classes
Optional
string OR array, which will be used as the class of the wapper div of the {{content}} token.
Default to sm-content. The default stylesheet is also written based on this class.
Examples
var connect = require('connect');
var serveMarkdown = require('serve-markdown');
var app = connect();
// serve markdown file
app.use(serveMarkdown('/Users/lizhiye/weekly', {
title: function (title) {
// file: /Users/lizhiye/weekly/weekly-report.md
// title: weekly-report.md
return title + ' -zhiye'
},
classes: 'md mdcontent'
}));
app.listen(8765);