49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
'use strict'
|
|
|
|
/**
|
|
* Module dependencies.
|
|
*/
|
|
|
|
var express = require('../../');
|
|
var GithubView = require('./github-view');
|
|
var md = require('marked').parse;
|
|
|
|
var app = module.exports = express();
|
|
|
|
// register .md as an engine in express view system
|
|
app.engine('md', function(str, options, fn){
|
|
try {
|
|
var html = md(str);
|
|
html = html.replace(/\{([^}]+)\}/g, function(_, name){
|
|
return options[name] || '';
|
|
});
|
|
fn(null, html);
|
|
} catch(err) {
|
|
fn(err);
|
|
}
|
|
});
|
|
|
|
// pointing to a particular github repo to load files from it
|
|
app.set('views', 'expressjs/express');
|
|
|
|
// register a new view constructor
|
|
app.set('view', GithubView);
|
|
|
|
app.get('/', function(req, res){
|
|
// rendering a view relative to the repo.
|
|
// app.locals, res.locals, and locals passed
|
|
// work like they normally would
|
|
res.render('examples/markdown/views/index.md', { title: 'Example' });
|
|
});
|
|
|
|
app.get('/Readme.md', function(req, res){
|
|
// rendering a view from https://github.com/expressjs/express/blob/master/Readme.md
|
|
res.render('Readme.md');
|
|
});
|
|
|
|
/* istanbul ignore next */
|
|
if (!module.parent) {
|
|
app.listen(3000);
|
|
console.log('Express started on port 3000');
|
|
}
|