Skip to main content

Ralsina.Me — Roberto Alsina's website

The best reStructuredText directive ever. Really.

It all start­ed qui­et­ly with an Is­sue in the Niko­la bug track­er:

gustavodiazjaimes opened this issue 3 hours ago
oembed by micawber - feature sugestion

instead of using specific code for embed object (Youtube, Vimeo, Soundcloud) use a generic solution like https://github.com/coleifer/micawber

So, I looked at mi­caw­ber. And it's awe­some and I had nev­er heard of it be­fore. What it does is, it looks at a URL, and if it knows the site where it's point­ed at, it will then gath­er in­for­ma­tion from it. And us­ing that in­for­ma­tion it will cre­ate for you a HTML frag­ment so you can em­bed it in your own HTML page.

And how hard is it to turn that in­to a re­Struc­tured­Text di­rec­tive? NOT HARD AT ALL.

import micawber

class Media(Directive):
    """ Restructured text extension for inserting any sort of media using micawber."""
    has_content = False
    required_arguments = 1

    def run(self):
        providers = micawber.bootstrap_basic()
        return [nodes.raw('', micawber.parse_text(self.arguments[0], providers), format='html')]

So now, in Niko­la's github mas­ter you can do this:

Read more…

My Solution For Bootstrap's Freaking Fixed Navigation Bar Hiding Things

This is a well known prob­lem with boot­strap:

If you use a fixed nav­i­ga­tion bar at the top, when­ev­er you fol­low a link to some­where in­side the page, the ac­tu­al link tar­get is go­ing to be hid­den be­low that freak­ing nav­i­ga­tion bar.

There are a ton of so­lu­tion­s, which have two tons of mi­nor is­sues. There seems to be no way to solve this us­ing CSS and JS with­out caus­ing oth­er prob­lem­s.

There are a bunch of JS so­lu­tions around. Here's mine:

<script type="text/javascript">
 $(window).on('hashchange', function(){
     if (location.hash) {
         $('body').animate({scrollTop: $(location.hash).offset().top - $('#navbar').outerHeight(true)*1.2 }, 1);
     }
 });
 $(document).ready(function(){$(window).trigger('hashchange')});
 </script>

It works well, is short and has de­cent brows­er cov­er­age. It on­ly fails in the cor­ner case of click­ing on the same in­ter­nal link twice (which, who cares).

Am I a Dickhead? You be the judge.

For some rea­son to­day I got in­to a lit­tle spat with Zed Shaw which end­ed with me blocked af­ter a bar­rage of ver­bal abuse.

So, he says I am a dick­head. Is it so? Here's the ex­change in an im­age, and here it is on twit­ter:

/galleries/random/zed-being-zed.png

It seems to me it's most­ly a case of some­one be­ing quick to dish abuse but slow to ac­cept dis­agree­men­t. But hey, maybe I am a dick­head for say­ing that. That con­ver­sa­tion had a few oth­er branch­es, but those were dis­agree­ments about the top­ic (in which, I have to say, Zed is com­plete­ly clue­less, and wrong, al­though IANAL) Find­ing them all may be too much ef­fort but here's one

New Nikola Galleries

One of the re­quire­ments I had for Niko­la my stat­ic site/blog gen­er­a­tor, was that it should build im­age gal­leries. And that it should show the im­ages sort­ed by date, and that it should be func­tion­al and nice.

Well, the nice part has been lack­ing for a long time. But I think I have a grasp on it now.

Here's be­fore:

Read more…


Contents © 2000-2024 Roberto Alsina