Faff is a blogging platform implemented in Go, which retrieves posts from a local GIT repository.
Faff has been the server behind Population Algorithms for over a month now with no downtime. Some features include:
- Keepalive
- Pipelining
- Integrated DISQUS threads
- Integrated Tweet and Facebook like buttons
- Tagging
- Support for LaTeX math using MathJax
There are many features that will come as the need arises:
- Search by keywords or tags
- Themes
- Pages
- etc.
You need a working installation of Go. Pull this repository
git clone git://github.com/petar/Faff.git Faff-git
Install the GoHTTP packages
goinstall github.com/petar/GoHTTP/util
goinstall github.com/petar/GoHTTP/http
goinstall github.com/petar/GoHTTP/server
goinstall github.com/petar/GoHTTP/server/subs
goinstall github.com/petar/GoHTTP/template
Build the Faff sever
cd Faff-git
make && make install
Unpack the MathJax distribution somewhere on your machine, and create a symbolic link to it inside Faff's static files directory
cd Faff-git/static
ln -s path-to-root-of-mathjax mathjax
Create a config file for your server. You can see an example in
example/example.config
Run the Faff server
faff -bind=:80 -static=Faff-git/static -config=your-site-config -dir=your-git-posts-directory
Note that your-git-posts-directory
is a GIT working directory on your file system that contains
your posts. The next section explains how to set this up.
Coming soon ...
Faff was written by Petar Maymounkov.
Follow me on Twitter @maymounkov!