Install node.
Install npm.
$ git clone repo $ cd node.couchapp.js $ npm link .
$ couchapp help couchapp -- utility for creating couchapps Usage: couchapp <command> app.js http://localhost:5984/dbname Commands: push : Push app once to server. sync : Push app then watch local files for changes.
app.js example:
var couchapp = require('couchapp')
, path = require('path');
ddoc = {
_id: '_design/app'
, views: {}
, lists: {}
, shows: {}
}
module.exports = ddoc;
ddoc.views.byType = {
map: function(doc) {
emit(doc.type, null);
},
reduce: '_count'
}
ddoc.views.peopleByName = {
map: function(doc) {
if(doc.type == 'person') {
emit(doc.name, null);
}
}
}
ddoc.lists.people = function(head, req) {
start({
headers: {"Content-type": "text/html"}
});
send("<ul id='people'>\n");
while(row = getRow()) {
doc = row.doc;
send("\t<li class='person name'>" + doc.name + "</li>\n");
}
send("</li>\n")
}
ddoc.shows.person = function(doc, req) {
return {
headers: {"Content-type": "text/html"},
body: "<h1 id='person' class='name'>" + doc.name + "</h1>\n"
}
}
couchapp.loadAttachments(ddoc, path.join(__dirname, '_attachments'));