Ekfloras - a blosxom clone written in Ruby

Ekfloras is a BlosxomClones. Simple CGI blogging application like blosxom.

http://f.hatena.ne.jp/images/fotolife/c/cho45/20071114/20071114204554.png

  • Not require RDB (MySQL, PostgreSQL, etc.)
  • Plugin system.
svn co http://svn.coderepos.org/share/lang/ruby/ekfloras/

Usage

  1. Setup ekfloras.rb to your server as CGI.
  2. Make config.yaml from config.yaml.sample.
  3. Make directory for storing entry data.

Example:

.
|-- config.yaml
|-- data
|   `-- barbar
|       |-- foobar
|       |   |-- baz1.txt
|       |   `-- baz5.txt
|       |-- intro.txt
|       `-- test01.txt
|-- ekfloras.cgi -> ekfloras.rb
|-- ekfloras.rb
|-- lib
|   `-- minierb.rb
|-- plugins
|   |-- comment.rb
|   |-- entries_cache.rb
|   |-- full_cache.rb
|   |-- meta.rb
|   `-- paging.rb
|-- template.atom
`-- template.html

Plugin Spec.

# Should inherit Ekfloras::Plugin.
# Must define under Ekfloras::Plugin.
class Ekfloras::Plugin::FooBar < Ekfloras::Plugin

        # Returns priority.
        # Little number first.
        def priority
                100
        end

        # Called before any processing.
        def start
        end

        # Overwriting Ekfloras's <code>entries</code> method
        # Do NOT define if you can't use this.
        # Ekfloras uses the most high priority plugin.
        def entries
        end
        undef entries

        # Called after collecting entries
        # for filtering or sorting entries.
        def filter(entries)
                entries
        end

        # Called for filtering output.
        def last(out)
                out
        end

        # Called after all processing.
        # Ekfloras outputs after called this method.
        def finish
        end
end

See http://coderepos.org/share/browser/lang/ruby/ekfloras/plugins to get more information and examples.

Template Spec.

Ekfloras uses MiniERB for template processing. This is similar to ERB.