Version 3 (modified by cmlenz, 16 years ago) (diff) |
---|
Divan
Divan is a simple blogging platform that is included with Diva as an example application.
It uses CouchDB (via the CouchDB-Python library) for storage.
It supports comments with OpenID authentication, pingbacks, Atom feeds for the whole blog, individual categories, and comments, and the Atom publishing protocol. It does not provide a HTML-based interface for authoring entries, nor does it support the XML-RPC based MetaWeblog API.
CouchDB Views
All views are in Javascript.
_design/posts
by_month
function(doc) { if (doc.type == 'Post') { var year = parseInt(doc.published.substr(0, 4), 10); var month = parseInt(doc.published.substr(5, 2), 10); emit([year, month, doc.published], { slug: doc.slug, title: doc.title, author: doc.author, summary: doc.summary, published: doc.published, updated: doc.updated, tags: doc.tags }); } }
by_slug
function(doc) { if (doc.type == 'Post') { var year = parseInt(doc.published.substr(0, 4), 10); var month = parseInt(doc.published.substr(5, 2), 10); emit([year, month, doc.slug], doc); } }
by_time
function(doc) { if (doc.type == 'Post') { emit([doc.published], { slug: doc.slug, title: doc.title, author: doc.author, summary: doc.summary, body: doc.body, published: doc.published, updated: doc.updated, extended: doc.extended != '' ? '…' : null, tags: doc.tags, allow_comments: doc.allow_comments, num_comments: doc.num_comments, allow_pings: doc.allow_pings, num_pings: doc.num_pings}); } }