A DIY blog platform for wizards and muggles.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 

62 lignes
1.7 KiB

"use strict";
var path = require("path");
function create(options) {
var connect = require("connect"),
query = require("connect-query"),
bodyParser = require("body-parser"),
serveStatic = require("serve-static"),
send = require("connect-send-json"),
app = connect(),
restful = require("./desirae-http-api").create(options);
app
.use(send.json())
.use(query())
.use(bodyParser.json({ limit: 10 * 1024 * 1024 })) // 10mb
.use(require("compression")());
//
// Keeping the API *required* by desirae super minimal
// so that it can be implemented easily in any language
//
app
.use("/api/fs/static", serveStatic(options.blogdir))
.use("/api/fs/walk", restful.walk)
.use("/api/fs/files", restful.getFiles)
.use("/api/fs/files", restful.putFiles)
.use("/api/fs/copy", restful.copy);
// end Desirae API
if (options.tmpdir) {
app.use(serveStatic(options.tmpdir));
}
// this is used by DearDesi, but not required for desirae
app.use("/api/fs/rootdir", function (req, res) {
var pathname = path.resolve(options.blogdir);
res.send({
path: pathname,
name: path.basename(pathname),
relativePath: path.dirname(pathname),
});
return;
});
app
// the AngularJS App
.use(serveStatic(__dirname))
// TODO change file requests to '/blog'
//.use(serveStatic(options.blogdir))
.use("/blog", serveStatic(options.blogdir))
.use(
"/compiled_dev",
serveStatic(path.join(options.blogdir, "/compiled_dev"))
)
.use("/compiled", serveStatic(path.join(options.blogdir, "/compiled")));
return app;
}
module.exports = create({ blogdir: path.join(__dirname, "blog") });
module.exports.create = create;