Skip to main content
bitsyblog doesn't do much, but it could do less


Why another blog?
-----------------

My ideal blog would invoke my favorite editor, take a bunch of text, and
throw it on the web. Sometimes I like to write long elaborate posts.
Othertimes I just want to make a quick note.

Meet `bitsyblog <http://bitsyblog.biz>`,
a tiny tiny `python <http://python.org/>`
`weblog <http://pypi.python.org/pypi/bitsyblog/>`.
Posting is done with a POST request, so while you can use
a web form to do this, its just as easy to use curl, urllib, or anything else
to post.


How does it work?
-----------------

A user URLs is like

http://bitsyblog.org/k0s

k0s is my user name here . If you are 1337h4x0r, this will be
http://bitsyblog.org/1337h4x0r .
Posting to this will take the body of the POST request and add a date stamp
Blog entries are thrown in files and are displayed with markup
available with `restructured text
<http://docutils.sourceforge.net/docs/user/rst/quickref.html>`.

You can also get a more specific range of posts
by specifying up to the year, month
day, and even hour in the URL:

http://bitsyblog.biz/k0s/2008/2/1

Not all of this needs to be specified.

Permalinks are also available in the form of the date stamp:

http://bitsyblog.biz/k0s/20080201141502

You can find the permalink by clicking on the subject of the blog post.

If you really want to post through the web, support is at

http://bitsyblog.org/k0s/post

If you're more friendly with python scripts,
`blogme.py <http://svn.sccs.swarthmore.edu/egj/bitsyblog/blogme.py>`
is available:
http://svn.sccs.swarthmore.edu/egj/bitsyblog/blogme.py


Get me a blog!
--------------

Create an account at http://bitsyblog.biz/join . All you need is a
username and password (though I'll probably throw a
`CAPTCHA <http://skimpygimpy.sourceforge.net/>` in there at some
point, maybe an email address for password reset if I can figure out
postfix). Then...you're ready to blog! The auth is a minimal thing
I threw together out of `paste.auth <http://pythonpaste.org/>`.

Once you're signed in, you'll notice the navigation links at the top
of the page have changed. You can now post and change your preferences.

In your preferences, you can change the date format and set the
subject format of your blog posts. You can also upload
verifiable CSS to theme your blog. For the date format, I have patched
`dateutil.parser <http://labix.org/python-dateutil>`
to return the format string that the date was originally in and hope
that my changes can make it back to the source sometime.

When posting, you have the option to make your post 'public' (everyone
can see it), 'secret' (only your friends can see it), 'private' (only
you can see it. Friends are settable in your preferences.


What bitsyblog doesn't do
-------------------------

* Commenting: this should done with
`WSGI middlware
<http://groovie.org/articles/2005/10/06/wsgi-and-wsgi-middleware-is-easy>`.
There's nothing specific about commenting on a blog post that is any
different from commenting on a paragraph in (for instance) a wiki article.

* Tagging: again, this should be done with middleware

* Hosting files: Its a blog, not a file repo! Any markup doable with
`restructured text <http://docutils.sourceforge.net/rst.html>`
is doable with bitsyblog, but images, videos, w must
be held off-site.


What is next for bitsyblog?
---------------------------

It might be a good idea to add in RSS/atom feeds too. This seems like
it should belong to the app itself instead of another piece of software.

Other than that, its a pretty small project. No templates and
currently about 700 lines of code. (I'll get it back to 500, I
swear). bitsyblog is designed as a personal blog that should be strong
in both workflow as well as "niceness" of code.

I'm guessing your blog doesn't do much...but could it do less?


bitsyblog is built on top of `paste <http://pythonpaste.org/>`
and `webob <http://pythonpaste.org/webob/>`. You'll need the
trunk version of paste for a change made to
`paste.auth.auth_tkt
<http://svn.pythonpaste.org/Paste/trunk/paste/auth/auth_tkt.py>`
in order to have cookies work correctly (r7261).

Thanks to `The Open Planning Project <http://www.openplans.org>`
and my friends there for making this possible.

Please email jhammel at openplans dot org with any questions.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitsyblog-1.0.tar.gz (45.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bitsyblog-1.0-py2.5.egg (60.6 kB view details)

Uploaded Egg

File details

Details for the file bitsyblog-1.0.tar.gz.

File metadata

  • Download URL: bitsyblog-1.0.tar.gz
  • Upload date:
  • Size: 45.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bitsyblog-1.0.tar.gz
Algorithm Hash digest
SHA256 16e30f464425f1045ba0ebc4159e2a34281df1112680acc6ccc76ed6357ac133
MD5 3baac949dc5ae49970f838b69377cd7d
BLAKE2b-256 aaa0a283d9c163b152d98c97788b0754dbb99592297be0ff15af94cd0cc26395

See more details on using hashes here.

File details

Details for the file bitsyblog-1.0-py2.5.egg.

File metadata

  • Download URL: bitsyblog-1.0-py2.5.egg
  • Upload date:
  • Size: 60.6 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bitsyblog-1.0-py2.5.egg
Algorithm Hash digest
SHA256 4cf066837a36ee7eac5d7a9386a84b4ed628c83dc8444a857f25ba57026763f4
MD5 44f600066365f5a252eb8e8de362b91e
BLAKE2b-256 848bea799a120fa070b36228218d7727ea2d6e000eb616e6e7ddf8c1d1874391

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page