Ir al contenido principal

New Nikola Plugin: rst code blocks using prism.js

I have been writing some of my posts using Markdown lately. And not even plain old Python Markdown, but misaka which is an alternative implementation based on Hoedown

So, I noticed that those markdown files had no syntax highlighting! I looked and Misaka does offer something to "highlight things". Here is what it does:

<pre>
<code class="language-python">
def f():
    pass
</code>
</pre>

No classes in the elements, no nothing, just a class in the code element! It turns out that is the recommended way to indicate you are showing code:

There is no formal way to indicate the language of computer code being marked up. Authors who wish to mark code elements with the language used, e.g. so that syntax highlighting scripts can use the right rules, can use the class attribute, e.g. by adding a class prefixed with "language-" to the element.

So, I looked for how to actually display those things nicely, and found prismjs.com which looked very nice!

So nice, indeed, that now I hated how my reStructured Text Pages looked!

Therefore, I wrote a new Nikola plugin that replaces docutils' code directive and replaces it with a much simpler one that just tags things as code of a given language and lets prism do the rest.

AFAICS it's functionally equivalent, it supports the :linenos: option, including shifted line numbers.

I doubt anyone ever will want to use it but hey, there it is.

Mis 8 meses haciéndome el Youtuber

Hace exactamente 8 meses, el 17 de julio de 2019, publiqué un video en Youtube.

¿Por qué? Bueno, porque tuve ganas, porque tenía ganas de contar/explicar alguna que otra cosa, y no tenía ganas de dar una charla en una conferencia. Veamos que he aprendido de esta experiencia...

Mucha gente ve videos

Mi canal es super menor, tengo apenas algo más de 500 suscriptores (piensen que hay canales con 10 millones) y trata temas súper nicho. El primer video fue sobre como hacer tu propia terminal. El último (hasta ahora) es sobre como hostear tu propio clon de GitHub usando Gitea.

¡O sea, mi público es súper limitado!

Sin embargo, este último mes tuve 3500 vistas, totalizando casi 400 horas. Para dar contexto, eso es como 500 personas viendo una charla de 45 minutos, o sea más o menos una keynote en PyCon Argentina.

O, si nos guiamos por las vistas, es como una conferencia con 350 personas, y cada una viendo 10 charlas.

¡Y lo hice yo solito! ¡Desde mi escritorio! ¡Por $0!

Hacer videos no es súper difícil

Con algunas condiciones, claro. Los "valores de producción" de mis videos son ... humildes. Muy poca edición, no hay libreto, no hay presentación más allá de lo que puedo mostrar en vivo, no hay invitados ... soy yo, mostrando una pantalla y hablando.

Al parecer, no soy horrendo hablando ni mostrando pantallas, así que más o menos funciona.

Hice (obvio) un video mostrando cómo hago videos

Me gusta hacer videos

Me da bastante satisfacción. Me da la parte copada de dar charlas:

  • Explicar cosas que me parecen interesantes
  • Poder responder preguntas sobre esas cosas
  • Investigar temas "raros"

Sin la parte que no me gusta tanto de dar charlas:

  • Plazos, porque se presentan cuando decide otro
  • Preocupación de si la charla va a tener éxito
  • Preocupación de proponer una charla y que no me la acepten
  • Interactuar con mucha gente en un solo lugar (hey, me cuesta)

Por otro lado, creo que me motiva para dar charlas en conferencias, si alguna conferencia que no fuera PyConAr me aceptara alguna charla alguna vez ;-)

Es fácil obsesionarse

Hay muchos grafiquitos que te dicen "hoy tuviste más vistas que ayer" o "hace 3 meses que no metés un video con 500 vistas" ... hay que ignorar a las sirenas.

Hay un arte en ser popular

Arte que tengo un interés limitado en dominar.

Vas a tener más éxito si te atenés a un calendario ... pero quiero publicar videos cuando se me canta.

Vas a tener más éxito si usás thumbs llamativas ... pero no tengo ganas de posar con un dinosaurio o lo que sea.

Hay docenas de cosas que podría hacer para atraer más gente... y que no tengo interés alguno en hacer.

Conclusiones

Me gusta, voy a seguir haciéndolo hasta que me aburra. Después dejaré de hacerlo, y quedarán los videos ahí, y servirán para algo, o no.