Skip to main content

Ralsina.Me — Roberto Alsina's website

Posts about python (old posts, page 21)

New BartleBlog Feature: marketspeak!

Now, I don't know if this is use­ful, but I do think it's way neat.

In­spired by S5, rst2s5, and mootools I took an hour (or two) and hacked this neat lit­tle slide tool.

The goals dif­fer from S5 in that I in­tend to write a fron­tend, so that you have a sort of very-poor-­man's pow­er­point, but al­so in that the out­put should be sim­ple to em­bed in oth­er pages so that I can even­tu­al­ly make this a part of bartle­blog.

Check it out (click to go to next slide, move mouse to the top of the slideshow for con­trol­s):

<<   >>

Why use BartleBlog

(If you are a nerd)

Author: Roberto Alsina <ralsina@kde.org>

It's nerd-oriented

It's triv­ial to dis­play source code, with prop­er syn­tax high­light­ing.

from base64 import *
def myFirstFunction():
      print b64decode ('YnllIHdvcmxkIQ==')

Even for things like shell ses­sion­s. Dammit, I am a nerd, I will try to add ev­ery nerd fea­ture I deem cool.

It does things simply

Wan­na show a flickr pho­to?

.. flickr:: myPhotoTitle

How about us­ing openo­my.­com to share your files? And what­ev­er else you can think of, it prob­a­bly can be done.

It's very easy to extend

Re­al­ly. It's sim­ple python code.

  • The mod­ule to do syn­tax high­light­ing has 41 lines.
  • The mod­ule to do dy­nam­ic an­i­mat­ed menus has 103.
  • The mod­ule to do cal­en­dars has 72.

If there is a python mod­ule or web ser­vice to do what you wan­t, hook­ing it in­to Bartle­Blog is sim­ple.

And it has kickass features

Like on­line, em­bed­ded, an­i­mat­ed slideshows! Like this one! Done with 65 lines of sim­ple al­most-­plain-­text markup! Ok, it's not ful­ly im­ple­ment­ed yet, be­cause it needs some man­u­al code, but the hard part is done!

Or au­to­mat­ic SVN changel­og dis­play ( I ad­mit that's some­what niche ;-))

Now, who else has that kind of thing?

There may be an ar­ti­fact when you slide out the syn­tax-high­light­ed box­es, but I have no idea how to fix it.

Al­so, I have not test­ed it at all in IE, so if it fails there, don't wor­ry, that's to be ex­pect­ed!

Next time I speak in pub­lic, I may use this :-)

And, as a teas­er... this is the source for the pre­sen­ta­tion you just saw:

Why use BartleBlog
==================

(If you are a nerd)
~~~~~~~~~~~~~~~~~~~

:author: Roberto Alsina <ralsina@kde.org>

It's nerd-oriented
------------------

It's trivial to display source code, with
proper syntax highlighting.

.. code-block:: python

  from base64 import *
  def myFirstFunction():
        print b64decode ('YnllIHdvcmxkIQ==')

Even for things like shell sessions.
Dammit, I am a nerd, I will try to add every nerd
feature I deem cool.


It does things simply
---------------------

Wanna show a flickr photo?

.. code-block:: rst

  .. flickr:: myPhotoTitle

How about using openomy.com to share your files?
And whatever else you can think of, it probably
**can** be done.

It's very easy to extend
------------------------

Really. It's simple python code.

* The module to do syntax highlighting has 41 lines.

* The module to do dynamic animated menus has 103.

* The module to do calendars has 72.

If there is a python module or web service to do what you
want, hooking it into BartleBlog is simple.

And it has kickass features
---------------------------

Like online, embedded, animated slideshows! Like this one!
Done with 65 lines of simple almost-plain-text markup!
Ok, it's not fully implemented yet, because it needs some manual
code, but the hard part is done!

Or automatic SVN changelog display ( I admit that's *somewhat niche* ;-))

Now, who else has that kind of thing?

Son of BartleBlog XIV: Moo

A new gad­get: Mootools based menus.

It takes the same da­ta for­mat I used for the Ya­hoo UI menubar, and cre­ates a dy­nam­ic, slid­ing, an­i­mat­ed, pret­ty, work­s-on-­l­ynx menu.

No screen­shot be­cause it makes no sense with­out the move­men­t. You can see it at the top of the side­bar (click on the dark­er item­s, out­side the links... that needs work).

And yes, that means this blog has, right now, two menus with ex­act­ly the same da­ta in them. And on a non-JS brows­er both are ful­ly ex­pand­ed.

But that's just tem­po­rary ;-)

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:: https://ra-blog.googlecode.com/svn/trunk/
  :limit: 3

And here is what it does:



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.

Todo:

  • 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):

  url='http://tinyurl.com/api-create.php?'+urllib.urlencode({'url':url})
  return urllib.urlopen(url).read()

>>> makeTiny('http://www.kde.org')
'http://tinyurl.com/3cnthx'

Contents © 2000-2023 Roberto Alsina