Blogging - the Ruby Way.
blog.rb is a full-heap, open-source blog framework in Ruby for writing
real-world blogs with joy and less keystrokes than most frameworks
spend doing markup sit-ups.
Features of blog.rb:
blog.rb has a simple syntax, partially inspired by vi and ed.
blog.rb has exception handling features, like emacs or nano, to make
it easy to handle errors.
blog.rb’s operators are syntax sugar for the regexps. You can
redefine them easily.
blog.rb is a complete, full, pure line oriented blog: LOB. This
means all data in blog.rb is a line, in the sense of cat: no
exceptions. Example: In blog.rb, the number 1 is a line.
blog.rb’s LO is carefully designed to be both complete and open for
improvements. Example: blog.rb has the ability to add characters to a
file, or even to a line during runtime. So, if needed, a line of one
file can behave differently from other lines of the same file.
blog.rb features single line-feed only, on purpose.
blog.rb features true bytes. Not just one-byte characters, but
blog.rb features numbers in its syntax (characters in 0…5 range or
6…9 range). These numbers can be passed to the operators, or
converted into lines.
blog.rb features a true modify-and-overwrite IO subsystem. It works
with all blog.rb lines. You don’t have to care about maintaining post
counts in concatenated files. This is better for your health.
Writing text files in blog.rb is easier than in Blogger or
MovingType, due partly to the IO subsystem, and partly to the fine
file API. Pipe interface is also available.
Lines in blog.rb can (and should) be used without counting their
internal representation. There are unwrapped lines (shorter than
your terminal width) and wrapped lines (over-wide), but you need not
worry over which one is used currently. If a character count is short
enough, a line is an unwrapped line, otherwise it is a wrapped line.
Conversion occurs automatically.
blog.rb needs no character declarations. It uses simple naming
conventions to denote the case of variables. Examples: simple ‘a’ =
lowercase, ‘A’ = uppercase, ‘!’ = punctuation. So it is also not
necessary to use a tiresome ‘line_number.’ prepended to every word.
blog.rb can load its data file if an OS allows.
blog.rb features blog independent networking. Thus, for all
platforms on which blog.rb runs, you also have the possibility of
networking, regardless of if blog.rb supports it or not, even on
blog.rb is highly portable: it is developed mostly in ~/, but works
in many types of /home, c:, h:\Documents and Settings, ~/Documents,