Skip to main content

Ralsina.Me — Roberto Alsina's website

Son of BartleBlog XIII: your blog software doesn't do this

The nerdi­est fea­ture of all time... sim­ple SVN logs.

Here's the RST code:

.. svnlog::
  :limit: 3

And here is what it does:

Sys­tem Mes­sage: ER­ROR/3 (<string>, line 14)

Un­known di­rec­tive type "svn­log".

.. svnlog::
  :limit: 3

You can see the en­tries are nice­ly for­mat­ted. That's be­cause this re­struc­tured text di­rec­tive con­nects to your SVN server, re­trieves the changel­og, pars­es it, tries to process the in­di­vid­u­al en­tries as re­struc­tured tex­t, and then for­mats and spits it out again.

I de­cid­ed to add the re­cur­sive pars­ing be­cause I tend to for­mat ev­ery­thing I write as valid re­struc­tured text any­way. But that means I can in­clude im­ages, ta­bles, files, and even oth­er logs in my en­tries.

How is it use­ful? Well, I in­tend to have my pro­ject­s' pages writ­ten us­ing this. This way I don't need to keep a changel­og.

Al­so, I bet the ti­tle is right ;-)

Son of BartleBlog XII: post in mere seconds

It was pret­ty hard, but I fi­nal­ly man­aged to make bartle­blog re-ren­der on­ly the nec­es­sary pages.

In fac­t, now my blog has a few less pages be­cause some ran­dom stuff was gen­er­at­ed in the past, and nev­er got delet­ed.

There are still some bugs but, with this, it's a rea­son­ably use­ful ap­p.


  • Al­ter­­na­­tive com­­ment sys­tem based on JS-K­it

  • Flickr pho­­to­set di­rec­­tive

  • Nicer Openo­my tag di­rec­­tive

  • Flickr and Openo­my up­­load­­ing

  • Many con­­fig pages and wiz­­ards

  • Back­­­ground ren­der­ing

  • Lots of UI love

  • Feed­Burn­er sup­­port to au­­to­­mat­i­­cal­­ly use their ver­­sion of the RSS feeds

Oth­er than that, it's pret­ty much fea­ture-­com­plete, or at least it has enough fea­tures a nerd can use it to post a blog just like this one, for what­ev­er that's worth.

Using TinyURL in python

Is­n't this neat?

import urllib

def makeTiny(url):

  return urllib.urlopen(url).read()

>>> makeTiny('')

Contents © 2000-2021 Roberto Alsina