diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-06-09 16:14:49 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-06-09 16:14:49 -0400 |
| commit | 1165ef5440e643252635aeea73a14cba0bb2e461 (patch) | |
| tree | 6563f5314c774ee3ac9216e8375b38037b2eddcb /server/lib/views.js | |
| parent | b1974b9c2fe6ee1f35b3e34895f134d906299cec (diff) | |
documentation system
Diffstat (limited to 'server/lib/views.js')
| -rw-r--r-- | server/lib/views.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/server/lib/views.js b/server/lib/views.js index 224dd3f..94774cb 100644 --- a/server/lib/views.js +++ b/server/lib/views.js @@ -2,9 +2,20 @@ var User = require('./schemas/User'), Project = require('./schemas/Project'), + Documentation = require('./schemas/Documentation'), config = require('../../config'), + marked = require('marked'), + util = require('./util'), _ = require('lodash'); +marked.setOptions({ + renderer: new marked.Renderer(), + gfm: true, + sanitize: true, + smartLists: true, + smartypants: true, +}); + var views = {} views.modal = function (req, res) { @@ -17,6 +28,34 @@ views.home = function (req, res) { }) } +views.docs = function (req, res){ + var name = req.params.name || "index" + + if (name === "new") { + res.render('docs', { + doc: { name: "new" }, + content: null, + isNew: true + }) + return + } + + Documentation.findOne({ name: name }, function(err, doc) { + if (err || ! doc) { + return res.render('docs', { + doc: { name: util.sanitize(name) }, + content: null, + isNew: true + }) + } + res.render('docs', { + doc: doc, + content: marked(doc.body), + isNew: false + }) + }) +} + views.profile = function (req, res) { var username = req.params[0] || req.user.username if (username) { @@ -43,4 +82,16 @@ views.profile = function (req, res) { } } +views.staff = { + index: function(req, res){ + res.render('staff') + }, + bless: function(req, res){ + req.user.isStaff = true + req.user.save(function(){ + res.redirect("/staff") + }) + }, +} + module.exports = views |
