summaryrefslogtreecommitdiff
path: root/server/lib/views.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/views.js')
-rw-r--r--server/lib/views.js51
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