All Projects → vti → Bootylicious

vti / Bootylicious

LIghtweight blog engine on Mojo steroids!

Programming Languages

perl
6916 projects

=head1 NAME

Bootylicious - Lightweight blog engine on Mojo steroids!

=head1 DESCRIPTION

Bootylicious is a minimalistic blogging application built on top of LMojolicious::Lite. 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<bootylicious.conf> and change it to fit your needs. By default C uses current directory as working directory. You can change this with C<BOOTYLICIOUS_HOME> 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<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 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 LText::Markdown is installed. Other formats are available as plugins.

=head2 Enabling/disabling comments

Comments can be disabled everywhere by setting C<comments_enabled> 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 Lhttp://www.hixie.ch/specs/pingback/pingback.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].