¿Cómo Está Hecha Esta Revista?

Autor: Roberto Alsina

Esta revista es un emergente de PyAr, el grupo de desarrolladores Python de Argentina. El ser un proyecto creado por programadores, para programadores (y no un proyecto de diseñadores gráficos para diseñadores gráficos) tiene sus ventajas y sus desventajas.

La desventaja está a la vista. Yo tuve que hacer el diseño visual. Les pido disculpas tardías por cualquier sangrado ocular que les haya producido.

La ventaja es que uno de nosotros (yo) ya había agarrado software (creado por un montón de otra gente) y le había pegado patadas en el traste hasta hacer que hiciera algo más o menos parecido a la revista (un libro).

Entonces, nuestros genes de programadores permiten que tengamos una infraestructura descentralizada para diseño de revistas online, multiusuario, multirol, multioutput (por ahora PDF y HTML), automático.

¿Cómo de automático? Actualizar todo el diseño del sitio y el PDF es un comando.

Estas son algunas de las herramientas utilizadas, todas ellas software libre:

git y gitosis
Una gran herramienta de control de cambios, y una gran herramienta para administrar repositorios.
restructured text
Un markup para documentos, uno crea archivos de texto sencillos y produce salida en casi cualquier formato.
rest2web
Convierte nuestros archivos de texto en un sitio web.
rst2pdf
Crea PDFs a partir de restructured text.
make
Se asegura que cada comando corra cuando se necesita.
rsync
Se encarga de que todo vaya al server para que puedas verlo.

Al ser esta una revista de programación, tiene algunos requerimientos particulares.

Código

Es necesario mostrar código fuente. Rst2pdf lo soporta nativamente con la directiva code-block pero no es parte del restructured text standard. En consecuencia, tuve que emparchar rest2web para que la use.

Por suerte la directiva es completamente genérica, funciona para HTML igual que para PDF. Esto es lo que tuve que agregar al principio de r2w.py:

from rst2pdf import pygments_code_block_directive
from docutils.parsers.rst import directives
directives.register_directive('code-block', \
    pygments_code_block_directive.code_block_directive)

Feedback
Como toda la idea es tener respuesta, hay que tener como dejarla. Comentarios en el sitio via disqus.
Tipografía

Es complicado encontrar un set de fuentes modernas, buenas, y coherentes. Necesito por lo menos bold, italic, bold italic para el texto y lo mismo en una variante monoespaciada.

Las únicas familias que encontré tan completas son las tipografías DejaVu y Vera.

HTML
Soy un queso para el HTML, así que tomé prestado un CSS llamado LSR de http://rst2a.com. La tipografía es vía Google Font APIs.
Server
No espero que tenga mucho tráfico. Y aún si lo tuviera no sería problema: es un sitio en HTML estático, así que lo puse en un servidor cortesía de Net Managers SRL

Help PET: Donate

blog comments powered by Disqus

Último cambio: Tue Aug 10 12:10:54 2010.  -  Esta revista está bajo una licencia Creative Commons.