fujin / sofa forked from jchris/sofa

Standalone CouchDB Blog, used by the O'Reilly CouchDB book

This URL has Read+Write access

sofa /
name age message
file .gitignore Loading commit data...
file README.md Sun Mar 15 10:16:00 -0700 2009 reset readme [jchris]
file THANKS.txt Sat Jan 17 15:55:08 -0800 2009 no AUTHORS yet [Jan Lehnardt]
directory _attachments/
file couchapp.json Tue Mar 03 15:19:34 -0800 2009 cleaner index [jchris]
directory helpers/ Sun Mar 01 17:16:21 -0800 2009 working to rearrange files [jchris]
directory lists/ Sun Mar 01 22:14:17 -0800 2009 change over to !code as file paths [jchris]
directory shows/
directory templates/
file validate_doc_update.js Thu Dec 11 17:39:37 -0800 2008 added md5 lib so it can go client side [jchris]
directory vendor/ Sat Mar 14 21:43:09 -0700 2009 update vendor [jchris]
directory views/ Sun Jun 07 05:02:02 -0700 2009 fix embarrasing typo [Jan Lehnardt]
README.md

Sofa: Standalone CouchDB Blog

Sofa showcases the potential of pure CouchDB applications. It should provide an easy way for people to put thier thoughts online, anywhere there's a running Couch. It's just HTML, JavaScript and the magic of CouchDB.

Currently supports admin-only posting and anonymous comments.

Current News

Things are moving crazy fast around here right now as I bring this stuff up to ship-shape for the CouchDB book. I'll be renaming methods and stuff (if I find the time), any API feedback will be appreciated.

Install CouchDB

You'll also need CouchDB's svn trunk, which is currently a moving target, with regard to the new features, especially the _show API, that Sofa relies on.

svn checkout http://svn.apache.org/repos/asf/couchdb/trunk
cd trunk && cat README

Once you have that installed and the tests passing, you can install CouchApp and the blog software.

Install CouchApp

CouchApp makes it easy to edit application that are hosted in CouchDB, by keeping a correspondence between a set of files, and a CouchDB design document.

sudo easy_install couchapp

CouchApp is a set of utilities for developing standalone CouchDB applications You can learn more about the CouchApp project here.

Setup Admin Access

If you are going to put your blog in public, you'll want to follow the instructions on the CouchDB wiki about how to set up an Admin account.

Note that admin accounts are still new, and that they may have strange impacts on the ability to replicate design docs or databases that contain validation functions.

Install Sofa

git clone git://github.com/jchris/sofa.git
cd sofa
couchapp push http://user:pass@127.0.0.1:5984/blogdb 

You'll want to edit the HTML and CSS to personalize your site. Don't worry, the markup is pretty basic, so it's easy to rework. Adding new features is just a few lines of JavaScript away.

Anytime you make edits to the on-disk version of Sofa, and want to see them in your browser, just run couchapp push http://127.0.0.1:5984/blogdb again. You probably want to setup your .couchapprc file. You should read the CouchApp readme to learn about that.

You can customize the blog title and other stuff in the blog.json file.

Relax

Visit your new blog.

Todo

  • fulltext search?
  • non-hack login method
  • atom feed