Git Product home page Git Product logo

bootylicious's Introduction

=head1 NAME

Bootylicious - Lightweight blog engine on Mojo steroids!

=head1 DESCRIPTION

Bootylicious is a minimalistic blogging application built on top of
L<Mojolicious::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<bootylicious> 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<articles> 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<mtime>. 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<preview> and C<content>
parts. C<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 L<Text::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<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...

=head2 Core plugins

=head3 Bootylicious::Plugin::Pingback

Pingbacks as described on L<http://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.

bootylicious's People

Contributors

olegwtf avatar memowe avatar garu avatar snelius30 avatar rswarts avatar tmueller avatar greenkakadu avatar marcusramberg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.