forked from persvr/persevere-example-wiki
/
wiki-html.js
23 lines (20 loc) · 818 Bytes
/
wiki-html.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* Media handler for generating HTML from Wiki markup-based pages
*/
var Media = require("pintura/media").Media,
escapeHTML = require("narwhal/html").escape,
wikiToHtml = require("wiky/wiky").toHtml
require("pintura/media/html").setupMediaHandler({
defaultQuality:1,
createContext: function(object, mediaParams, request, response){
return {
pageName: escapeHTML(decodeURIComponent(request.pathInfo.substring(6))),
content: (typeof object=='object')?wikiToHtml(object.content):"<p>"+object+"</p>",
location: response.headers.location
}
}
});
var rules = require("wiky/wiky").rules,
store = require("wiky/wiky").store;
// add a rule for [[target page]] style links
rules.wikiinlines.push({ rex:/\[\[([^\]]*)\]\]/g, tmplt:function($0,$1,$2){return store("<a href=\""+$1+"\">"+$1+"</a>");}});