-// require the main njspurls modules
+// require the main njspurls module
var app = require("njspurls");
// below we set a bunch of things globally for the app
// set the port to listen to
app.setPort(8888);
-// location for loading "purls"
+// location for loading "purls" - this is the default
app.setPurlPath("./purls");
-// location for static resources
+// location for static resources - default
app.setResPath("./res");
// purl to load for main page, i.e. /
// this will search for main.js from purls/ (this is the default)
+// note - if none is provided, it defaults to layouts from layouts.js
app.setDefaultMainPurl("main");
-// add some menu items for the default menu builder
+// add some menu items for the default menu builder - a simple menu
+// building mechanism which creates an array in global that can then be
+// rendered via the layout.menu function
app.addMenu("Home", "/");
app.addMenu("SimpleLayout", "/simplelayout");
app.addMenu("LayoutOnly", "/justlayout");
// builders where a name is required
app.setAppName("MyExampleApp");
-// set some default footer text (typically a copyright notice or something
+// set some default footer text (typically a copyright notice or something)
app.setFooterText("<br><br><font size=\"-2\"><i>Copyright PJR.cc 2012 ©</i></font>");
+/*
+ * this is an example of a purl that simply contains a layout and only a layout
+ *
+ * this is useful when you can do everything synchronously and just need to fling back
+ * some content - if you tie layout to preRequest you can make preRequest determine
+ * if you can simply use layout to push some simple html out and this simplifies the
+ * whole request pipeline.
+ */
+
+
exports.layout = function(request, response) {
var tkl = "<html><body><h1>Just a Layout</h1>this purl is simply a layout";
tkl += " and nothing else!</body></html>";
+
+// the standard layout (which can be seen in layouts.js) includes a body -
+// this function is responsible for rendering that body
exports.body = function(request, response, callback) {
response.write("new body for main");
callback();
}
+// before any data is written for a request, this is called and this is where you
+// might process post data for example.
exports.preResponse = function(request, response, callback) {
console.log("this is preresponse for main");
callback();