md-cms
md-cms is a markdown based CMS, which can be embedded in express as a route.
Features
- Folder based content organization
- Built-in TOC generation
- Plug-ins
Install
You may install md-cms from npm registry.
npm install md-cms
Sample configuration
Please check out demo folder in the repository for details.
var MdCms = ;var cms = root: path; app; app;
Plug-in
md-cms supports plug-in to make markdown even more powerful.
plug-in uses markdown code block syntax, you may specify language as
cms.[plugin-name]
and the content in the code block will be forwarded to the corresponding plug-in handler.
```cms.[plug-in name][plug-in configuration]``
Example
```cms.page{ "ctime": 1393427527217, "author": "ashi009"}``
Which will set meta of the page. In the above case, it includes create time and author.
This info could be accessed via page.info
in cms.getPage
callback.
Create New Plug-in
Creating a new plug-in is fairly simple, just create a js file in plugins folder, and Md-cms will automatically loaded it. Note that filename will be used as plug-in name, and exports a function as plug-in handler.
You may also add a plug-in handler to MdCms.plugins
at runtime, the property name will be used as plug-in name, and the value
should be the handler.
{ try pageinfo = JSON; ; catch e ; };
The handler will take 3 parameters:
code
is the plug-in configuration, do whatever you want with thatpage
is a reference topage
callback(err, html)
html is the final output.