bamboo-2009.4.26: readme.md
# Bamboo: a simple blog engine on Hack
Bamboo is a port of [Panda](http://github.com/nfjinjing/panda/tree), but runs on top of Hack. It's an experimental project but quite portable.
## Features
### plain text as data source
db
|---- blog
| |---- 08-09-01 first post
| |---- 09-09-02 learn javascript.html
|
|---- tag
| |---- programming
| |---- funny
|
|---- static
|---- About
### simple config
blog_title = C大调
blog_subtitle = 野猫不吃薯片
host_name = jinjing.easymic.com
author_email = nfjinjing@gmail.com
navigation = About
per_page = 7
sidebar = Blogroll.md
favicon = bamboo_icon.png
### hacker friendly
* posts are in plain text
* SCM for publishing / data managing ( not really a feature, but a design goal from the beginning )
* blindly follows the KISS principle from code to UI: be a simple blog, no more no less
## Demo
### blog
[My blog](http://jinjing.easymic.com) source is available as a git repo:
git clone git://github.com/nfjinjing/jinjing-blog.git
Or [browser](http://github.com/nfjinjing/jinjing-blog/tree/master) online
Note: This blog is using the Kibro handler. It's running under lighttpd and in fcgi. Definitely more robust, but require some set up work.
### config
[jinjing's blog config file](http://github.com/nfjinjing/jinjing-blog/blob/401a541443d88bbf8d844874c1473d4b3bc81784/config/site.txt)
## Install
### With Hyena handler
#### update cabal
cabal update
#### install hyena
git clone git://github.com/tibbe/hyena.git
cd hyena
cabal install
#### install bamboo
cabal install happy; cabal install rss; cabal install bamboo
#### get blog starter kit ( template )
mkdir myblog
cd myblog
# get a template to start
git clone git://github.com/nfjinjing/bamboo-template.git db
#### create a entry point
put these into Main.hs
module Main where
import Bamboo
import Hack.Handler.Hyena
main = run bamboo
#### run
ghc --make -O2 Main.hs
./Main
It should be running on [http://127.0.0.1:3000](http://127.0.0.1:3000) now.
### With Kibro handler
#### update cabal
cabal update
#### install hyena
git clone git://github.com/tibbe/hyena.git
cd hyena
cabal install
#### install bamboo
cabal install happy; cabal install rss; cabal install bamboo
### Install lighttpd 1.4.19 (used by kibro)
wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
tar zxfv lighttpd-1.4.19.tar.gz
cd lighttpd-1.4.19
./configure --prefix=$HOME
make
make install
#### bootstrap
# bamboo is a kibro project
kibro new myblog
cd myblog
# get a template to start
git clone git://github.com/nfjinjing/bamboo-template.git db
sh db/extra/scripts/bootstrap.sh
#### run
kibro start
It should be running on [http://127.0.0.1:3000](http://127.0.0.1:3000) now.
## Links
* [Hack](http://github.com/nfjinjing/hack/tree)
* [Source](http://github.com/nfjinjing/bamboo/tree)