The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bootylicious - Lightweight blog engine on Mojo steroids!

DESCRIPTION

Bootylicious is a minimalistic blogging application built on top of Mojolicious::Lite. It is easily extendable with plugins, templates and themes.

Features

        * 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

Setup

    $ cpan Bootylicious
    $ bootylicious daemon
    Server available at http://*:3000.

Configuration

Create default configuration file

    $ bootylicious --create-config

Then open bootylicious.conf and change it to fit your needs. By default bootylicious uses current directory as working directory. You can change this with BOOTYLICIOUS_HOME environment variable.

Writing articles

Articles by default go into articles directory.

Article consists of file information and content with meta data.

File info

    20101017-article.pod

    or

    20101017T14:02:00-article.pod  or  20101017T140200-article.pod

Where 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.

Content

    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.

Enabling/disabling comments

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...

Core plugins

Bootylicious::Plugin::Pingback

Pingbacks as described on http://www.hixie.ch/specs/pingback/pingback.

Bootylicious::Plugin::HttpCache

ETag header settings and checks.

Bootylicious::Plugin::CanonicalUrl

All urls that don't have .html in their paths are redirected to .html.

Bootylicious::Plugin::GoogleAnalytics

Google Analytics JavaScript code.

Bootylicious::Plugin::Search

Basic search.