=head1 NAME Bootylicious - Lightweight blog engine on Mojo steroids! =head1 DESCRIPTION Bootylicious is a minimalistic blogging application built on top of L. It is easily extendable with plugins, templates and themes. =head2 Features =over * 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 =back =head2 Setup $ cpan Bootylicious $ bootylicious daemon Server available at http://*:3000. =head2 Configuration Create default configuration file $ bootylicious --create-config Then open C and change it to fit your needs. By default C uses current directory as working directory. You can change this with C environment variable. =head2 Writing articles Articles by default go into C directory. Article consists of file information and content with meta data. =head3 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 C. Filename is the article's permalink url. Extension is article's format. =head3 Content Title: My first article Tags: blog, internet Welcome! [cut] Read more This is my first article. It is in C format. And I can use all kind of B. Every article should have metadata. Metadata ends with an empty line. If there is a C<[cut]> tag, article will be splitted into C and C parts. C 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 L is installed. Other formats are available as plugins. =head2 Enabling/disabling comments Comments can be disabled everywhere by setting C to C 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... =head2 Core plugins =head3 Bootylicious::Plugin::Pingback Pingbacks as described on L. =head3 Bootylicious::Plugin::HttpCache ETag header settings and checks. =head3 Bootylicious::Plugin::CanonicalUrl All urls that don't have C<.html> in their paths are redirected to C<.html>. =head3 Bootylicious::Plugin::GoogleAnalytics Google Analytics JavaScript code. =head3 Bootylicious::Plugin::Search Basic search.