added a readme
authorpaulr <paulr@tv.pjr.cc>
Sun, 30 Dec 2012 11:12:24 +0000 (22:12 +1100)
committerpaulr <paulr@tv.pjr.cc>
Sun, 30 Dec 2012 11:12:24 +0000 (22:12 +1100)
Readme.md [new file with mode: 0644]

diff --git a/Readme.md b/Readme.md
new file mode 100644 (file)
index 0000000..15afed4
--- /dev/null
+++ b/Readme.md
@@ -0,0 +1,39 @@
+NJSPURLS
+========
+
+Stands for "Node JS, Primary URL Servicer". It is a simple web framework that provides
+and overhead for createing web applications based on the basic URL. There are manu
+default parts that are used when servicing a web based applications.
+
+How It Works
+============
+
+In NodeJS you define a layout using NJS script (html with tags that define purls that
+are called to render pages). For EG if i wanted to create a page "http://host/mypage"
+then i create a file called ./purls/mypage.js and inside this file i might create the
+following:
+
+exports.layout = function(request, response) {
+       var layout = "<html><head><title><?njs title ?></title><body><?njs body ?></body></html>";
+       
+       return layout;
+}
+
+exports.title = function(request, response, callback) {
+       response.write("i am a title");
+       callback();
+}
+
+exports.body = function(request, response, callback) {
+       response.write("i am a body");
+       callback();
+}
+
+A request to http://localhost:8888/mypage will create html that looks like so:
+
+<html><head><title>i am a title</title></head><body>i am a body</body></html>
+
+and it does this by printing out the layout then reaplcing the <?njs ... ?> bits 
+with the functions in the purl defined with the same name of the tag. For EG
+<?njs body ?> means call the exported function "body" from mypage.js. Defaults
+also do exist, and so you dont necessarily have to define your own everytime.
\ No newline at end of file