git-backed, python-implemented, static-code-generating, index-file-supporting blog/website engine
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
raw
.gitignore
README
__init__.py
gb.py

README

pygitblog
---------

is a pretty obvious name.

is a static blog generator.

what does that mean?

features:
* fast
* servable by any webserver ever. srsly.
* multiple index pages (included: year, month, day)
* pretty urls (like /2010/01/01/my_first_post/)
* commandline interface
* git-backed deployment
* markdown syntax
* rss feed template included
* no search though. use google.


what would anyone want more?

oh yes. the downsides.
not featured:
* comments
* anything interactive
* anything interactive at all

why? because it generates static files.

why pygitblog and not $other_git-backed_system?
-----------------------------------------------

other git-backed system either do it wrong (don't generate static files but use git as database) or wrong (no ability to do y/m/d/title style urls)


why pygitblog and not $other_non-git-backed_system?
---------------------------------------------------

no clue. why are you reading this?


how do i use it?
----------------

* ssh to wherever you want to host your blog.
* clone this repository.
* > python gb.py init "Blog Title" "Blog Subtitle" "http://example.com/blog"
* there will be a new git repo in ./blog_title
* serve blog_title/generated/ using your webserver
* git clone ./blog_title to whatever machine

on your local machine:
* write posts by
  > python b.py post
  (will be auto-added when done)
* test by
  > python b.py test
* publish by git push

on the server:
* refresh the blog / publish by
  > python b.py generate
  (should never be neccessary though)


why two git repos?
------------------

it sounded like a good idea at the time.


customization
-------------

./templates/posts/ has the post template(s)
./templates/indexes has the index template(s)
./templates/indexes also has the rss feed template
./static/design has a very basic css file
./templates/default_post is the empty post file you get when doing > python b.py post

installation
------------

required libraries:
* gitpython
* markdown2
* jinja2