blog_my
Aug 26, 2007

This is my weblog software. There are many like it, but this one is mine.

Demo:

Give it a try!

(Well, you're seeing it right now, but the demo is much better)

Some nice features:

  • It doesn't use a database. Everything is stored in files.
  • World-class file upload & management interface. (uses SWFUpload)
  • It uses web.py for clean, fast operation.
  • It uses MochiKit for javascript goodness.
  • The "admin" interface is the regular interface. When you login, "edit" links appear by things that are editable.
  • People can edit their comments later
  • Edits in progress are autosaved every 10 seconds.
  • Javascript is used whenever possible to avoid page reloads when changing state.
  • The javascript does not break search engine indexing. Pages & links look good to googlebot.
    • It supports wiki-style "pages" (you're reading one now)
    • Markdown is used for formatting. Raw html can be used too. There's no WYSIWYG editor.
  • It's pretty extensible. Different types of "things" (besides the default posts, quotes, books) can be added without changing any existing code.
  • Configuration & customization is simple:
    • 1 config file
    • 1 css file
    • 1 template file
  • Fairly lightweight. About ~1000 lines of python + ~1000 lines of javascript. (though the size increases about 20x when you add MochiKit & web.py & SWFUpload).

Boring details:

Blah blah filesystem, blah blah python

Requirements:

  • Python 2.4 or greater
  • MochiKit, web.py, and a couple other 3rd-party modules. These come bundled with blog_my.

License:

  • Public Domain

Download:

Installation & setup:

  1. Unzip the blog_my_X.X.zip file. You'll get a folder called blog_my_X.X/ You may want to move the contents of this folder up one level (watch out - the .htaccess file may overwrite any already-present one)
  2. Edit the config.py file. Set the options as indicated by the comments next to them.
  3. Edit the .htaccess file. Comment or uncomment the lines as appropriate.
  4. Point your browser at it!
  5. email me if you experience problems.

TODO:

  • Item/page versioning (Is this really needed? I don't need it).
  • Other feature suggestions are welcome.
  • Make a couple basic themes
  • update css file
    • better <h1> elements
    • better <li> bullets
  • Quick syntax help (same page? Pop-out?)
  • Way to make things invisible to public (like for personal notes or rough drafts)
  • Less clunky way to shrink/grow text fields