close Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Version 3 (modified by cmlenz, 13 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});
  }
}

_design/comments

_design/pings

_design/reactions