1 | var router = require("express").Router(),
|
2 | renderer = require('../lib/renderer'),
|
3 | fs = require("fs"),
|
4 | models = require("../lib/models");
|
5 |
|
6 | models.use(Git);
|
7 |
|
8 | router.get("/misc/syntax-reference", _getSyntaxReference);
|
9 | router.post("/misc/preview", _postPreview);
|
10 | router.get("/misc/existence", _getExistence);
|
11 |
|
12 | function _getSyntaxReference(req, res) {
|
13 | res.render('syntax');
|
14 | }
|
15 |
|
16 | function _postPreview(req, res) {
|
17 | res.render('preview', {
|
18 | content: renderer.render(req.body.data)
|
19 | });
|
20 | }
|
21 |
|
22 | function _getExistence(req, res) {
|
23 |
|
24 | if (!req.query.data) {
|
25 | res.send(JSON.stringify({data: []}));
|
26 | return;
|
27 | }
|
28 |
|
29 | var result = [],
|
30 | page,
|
31 | n = req.query.data.length;
|
32 |
|
33 | req.query.data.forEach(function(pageName, idx) {
|
34 | (function(name, index) {
|
35 | page = new models.Page(name);
|
36 | if (!fs.existsSync(page.pathname)) {
|
37 | result.push(name);
|
38 | }
|
39 | if (index == (n - 1)) {
|
40 | res.send(JSON.stringify({data: result}));
|
41 | }
|
42 | })(pageName, idx);
|
43 | });
|
44 | }
|
45 |
|
46 | router.all('*', function(req, res) {
|
47 | res.locals.title = "404 - Not found";
|
48 | res.statusCode = 404;
|
49 | res.render('404.jade');
|
50 | });
|
51 |
|
52 | module.exports = router;
|