Bootylicious is a minimalistic blogging application built on top of Mojolicious::Lite. It is easily extendable with plugins, templates and themes.
* filesystem-based storage
* comments
* tags
* RSS (articles, comments and by tag)
* static pages
* drafts
* archive
* pingbacks
* themes
* multi-parser support (POD, Markdown)
* plugins
* Unicode support
* search
* lightweight
* clean code
* runs everywhere$ git clone http://github.com/vti/bootylicious.git
$ cd bootylicious
$ perl bootylicious daemon
Server available at http://*:3000.Copy bootylicious.conf.template to bootylicious.conf and change it to fit your needs.
Articles by default go into articles directory.
Article consists of file information and content with meta data.
20101017-article.pod
or
20101017T14:02:00-article.podWhere timestamp tells us when the article was created. Modified time is retrieved automatically from mtime. Filename is the article's permalink url. Extension is article's format.
Title: My first article
Tags: blog, internet
Welcome!
[cut] Read more
This is my first article. It is in C<pod> format. And I can use all kind of
B<tags>.Every article should have metadata. Metadata ends with an empty line. If there is a [cut] tag, article will be splitted into preview and content parts. preview is shown when a) article list is requested, b) rss.
Depending on file format (file extention, remember?) the content is parsed with an appropriate parser. POD format is available by default. Markdown format is available when Text::Markdown is installed. Other formats are available as plugins.
Comments can be disabled everywhere by setting comments_enabled to false in configuration file:
{
...
"comments_enabled" : false,
...
}Or comments can be disabled on per article:
Title: Article with no comments allowed
Comments: false
This is an article...Pingbacks as described on http://www.hixie.ch/specs/pingback/pingback.
ETag header settings and checks.
All urls that don't have .html in their paths are redirected to .html.
Google Analytics JavaScript code.
Basic search.
Bootylicious depends on Mojolicious only.