blog_my
Mar 01, 2009

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.
  • Nice 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.
  • Items can be saved as drafts, to facilitate work-in-progress
  • wiki-style "pages" are supported (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
Comment by Tomas
posted Mar 01, 2009

Hi, do you plan to implement "Way to make things invisible to public (like for personal notes or rough drafts)"? I think this would be a very nice feature for a personal blog.

Comment by LPD
posted Mar 01, 2009

Yes, draft mode is supported. This feature was not previously on the list above.

Comment by Qian
posted Jun 19, 2010

Nice blog software, I consider to change WordPress to this ~

Comment by Brian Malloy
posted Jun 25, 2010

It's a great idea that has few dependencies.

Comment by Sören
posted Sep 12, 2010

Just a test. ;-)

Comment by Greg Gauthier
posted Nov 10, 2010

Hi,

I'm experimenting with your python blogging app, and if you click through the web link I added above, you can see the result.

What am I doing wrong? I've embedded the htaccess rules into my root apache2 config, but it still doesn't seem to go anywhere...

Regards, Greg. greg@techrobatics.com

Comment by John
posted Mar 30, 2012

I had an interesting time looking over the application, after finding the demo enticing, for my personal use. I notice it's apache-centric. Any words of advice about how I can port blog_my to Nginx, dropping out the apache-specific stuff? Pointing nginx to the wsgi wrapper is easy, nginx is already configured for wsgi. John

posted Jun 07, 2012

Got a Python 3 version up and running called, "blog_m3" but I am still having issues w/ file uploads.

Comment by
posted Feb 10, 2014

1111