Apuntes mientras aprendo sobre software y computadoras.

internet

Cómo crear un sitio estático con Pelican

En este apunte vamos a dedicarnos a repasar cómo crear un sitio estático por medio del programa Pelican.

Una vez más, mi objetivo es dar un pantallazo general de la aplicación desde el momento en que es instalada hasta revisar sus funciones más básicas.

La idea es que nos pongamos a trabajar lo más rápido posible.

Ya en la ocasión anterior hice lo mismo cuando escribí sobre Jekyll, otra herramienta que se utiliza para la creación de este tipo de páginas web.

Entonces para no volver a repetirme demasiado, resumo algunos de los beneficios de un sitio estático con los siguientes puntos:

– Son más livianos, por lo que consumen menos recursos de almacenamiento y descarga.

– Se pueden mantener con menos esfuerzos, no requieren de bases de datos o actualizaciones periódicas.

– Son más seguro, y si algo se rompe no son complejos de reparar.

– Parecen volver a ponerse de moda cada diez años.

Se entienden como validas razones para estudiar todo esto. Por lo mismo, sin dar más vueltas…

Ahora, sin más vueltas…

¿Qué es Pelican?

Por si ya no te lo imaginabas, Pelican es un generador de páginas web estáticas.

Este programa funciona en base al lenguaje de programación Python. Es una primera gran diferencia con la aplicación Jekyll, que esta escrita en Ruby.

Entiendo muy poco de python…. Pero al mismo tiempo, al día de hoy no entiendo nada de ruby. Así que ya me siento más cómodo con Pelican desde el primer momento.

Es posible también crear nuevos temas, y para esto se utiliza Jinja2, el lenguaje para planillas de Python.

El asunto particular de la creación de la página web se resume a esto: Pelican hace la “estructura” del sitio. Luego escribimos publicaciones (o también llamados post) creadas en el lenguaje Markdown. El programa procesa las publicaciones , y las integra dentro del sitio final en HTML.

Las publicaciones también pueden estar escritas en reStructuredText en lugar de Markdown. Pero como no tengo idea de como funciona el lenguaje de reStructuredText, voy a hacer de cuenta como si esa opción realmente no existe.

El sitio resultante se divide páginas y publicaciones. Un ejemplo de página es por mencionar algo la página de biografiás o la política de privacidad. Y las publicaciones se ordenan cronológicamente.

Realmente esta descripción es solo para resaltar que la estructura final de nuestro sitio no va a ser muy distinta a la estructura de un blog en WordPress: páginas, publicaciones, un orden cronológico de publicación.

Primero, instalar Python:

Para empezar, es necesario que tengas el interprete de Python3 (en adelante) instalado en tu equipo.

Si utilizás un sistema GNU/Linux, creo que lo necesario para interactuar con python ya viene instalado desde un primer momento. Pero puedo equivocarme.

Por eso, podes instalar python con el comando:

sudo apt install python3

Listo, con eso tendría que alcanzar. Y si ya se encuentra instalado, en ese caso te lo va a avisar.

Ahora bien, hay dos formas de utilizar (e instalar) Pelican.

La forma más sencilla se consigue realizando una instalación general de la aplicación.

Otra forma es realizando una instalación dentro de un entorno aislado, utilizando Python.

Siendo que la instalación recomendada es la segunda, voy a dedicar el resto de la entrada a esa.

Al usar este entorno virtual, nos evitamos realizar cambios globales. De este modo todas las librerías que descarguemos quedan “encerradas” dentro de ese contexto y no reciben modificaciones al hacer actualizaciones por fuera.

Cómo instalar Pelican dentro de un entorno aislado:

Primero necesitamos instalar las dependencias necesarias para poder crear el ambiente de trabajo aislado. Hay diferentes formas de hacerlo, pero en esta oportunidad vamos a seguir con la recomendada por el manual oficial.

En este caso vamos a usar la herramienta virtualenv.

Para conseguir instalarla, en caso de que no contemos con ella, podemos usar el comando:

sudo apt install python3-virtualenv

Lo siguiente es crear el entorno virtual para Pelican. Lo hacemos poniendo en la terminal los siguientes comandos, alternativamente uno después del otro:

sudo virtualenv ~/virtualenvs/pelican
cd ~/virtualenvs/pelican
source bin/activate

Cuando lo hagas vas a ver que en la terminal aparece la palabra (pelican) y que te movió a otro directorio (llamado ~/virtualenvs/pelican). Eso quiere decir que todo va funcionando y podemos continuar.

Lo siguiente es instalar Pelican… finalmente. Vamos a hacerlo con soporte para el lenguaje Markdown, que es el lenguaje que en el futuro va a ayudarnos para darle forma a las publicaciones.

El comando para instalar Pelican de este modo es:

sudo python -m pip install "pelican[markdown]"

Si en algún momento encontrás algún error, puede ser que no tengas los permisos suficientes para acceder a esa carpeta. Por eso es que estoy agregando “sudo” al principio de cada comando, porque me encontré que olvidaba retirar esa medida de seguridad varias veces antes de continuar.

La documentación también recomienda agregar una librería para tener nuevas opciones tipográficas. Conseguimos esto con:

sudo python -m pip install typogrify

Y listo, con eso tenemos Pelican instalado y listo para usar dentro de su entorno virtual.

Comenzar a utilizar Pelican:

Ahora vamos a crear un directorio para alojar el proyecto del blog. Lo hacemos dentro del mismo directorio donde nos encontramos, para que en su búsqueda coincida con el entorno virtual.

Siendo que en mi caso es un nuevo blog, una versión estática de este sitio, voy a llamarlo nuevoapunte y luego entrar a el:

mkdir nuevoapunte
cd nuevoapunte

Empezar nuestro sitio web estático:

Ahora dentro de la carpeta correcta, podemos crear la base de un nuevo provecto con el comando:

sudo pelican-quickstart

Luego vienen algunas preguntas. Si, preguntas. Si no conocés la respuesta de alguna, simplemente dale enter y seguí adelante.

Son preguntas al estilo de “¿sabes cual va a ser la URL del sitio?” o “¿cual es el título del sitio?” y el objetivo de las respuestas es llenar automáticamente la información que va aparecer en los archivos que van a crearse.

Al terminar, vas a encontrar el siguiente árbol de directorio:

– Content: esta carpeta permanece sin elementos, pero podemos agregarle páginas y artículos luego.

– Makefile

– Output: guarda el sitio que fue generado en base al contenido.

– task.py

– pelicanconf.py: que contiene las especificaciones generales del sitio.

– publishconf.py: las especificaciones que se van a utilizar al momento de publicar.

Cómo crear una página en Pelican:

No es posible terminar de generar el sitio hasta haber creado un primer articulo o una página dentro del futuro sitio.

Aunque el término “página” es sinónimo del sitio web entero, en este caso me refiero a una de las páginas individuales dentro del sitio. Se trata de una página que no se ve afectada por la creacion de nuevos post, no es cronológica.

Cómo un ejemplo básico de estas páginas, vamos a crear una llamada “contacto”.

Primero nos movemos dentro de la carpeta content, que por ahora estaba vacía.

cd content

Y vamos a crear una carpeta llamada pages, que va a guardar todas nuestras futuras páginas individuales (política de privacidad, política de cookies, esas cosas)

sudo mkdir pages
cd pages

Y ahora vamos a crear un documento sin formato para crear el archivo contacto. Para ello yo utilizo el programa nano:

sudo nano contacto.md

El archivo se guarda con esa extensión por el lenguaje markdown.

Y para agregar algo de contenido rápido, copiamos:

Title: ¡contacto!

Pronto voy a compartir los datos para que podamos mantenernos en contacto. ¡Esperás más información pronto!

El contenido de la página es solo ilustrativo, para que podamos ver el sitio terminado. Podemos guardar el archivo y cerrar el editor de texto.

Cómo ver nuestro primer sitio creado en Pelican

Ya casi terminamos.

Para ver una versión de prueba del sitio, volvemos a la carpeta principal de nuestro proyecto (en mi caso, llamada nuevoapunte) y usamos el comando:

sudo pelican content

El sitio ahora fue guardado dentro del directorio output.

Acto seguido, para poder ver el sitio, escribimos el comando:

sudo pelican --listen

El comando va a capturar la terminal. A modo de respuesta, nos va a dar una URL en el puerto :8000 para copiar en nuestro navegador de confianza.

Si copias ese link y lo buscas en navegador, en la parte donde siempre aparecen las URL, vas a poder ver una primera versión de tu nuevo sitio.

No solamente vas a encontrar la página “¡contacto!” que creamos, también vas a poder ver el resto del tema básico que utiliza Pelican.

Si presionás en la terminal Ctrl+c vas a terminar el comando en curso, liberando la terminal para seguir trabajando en el contenido del sitio.

Conclusión:

Con esto concluye mi apunte sobre cómo crear un sitio estático con Pelican.

Una vez más, al final del día esto no es más que mi propio recuento sobre la documentación del programa. Mezclado con mi experiencia al aprender a usarlo.

En otros oportunidades voy a revisar otros detalles de la aplicación: cómo agregar publicaciones, cómo aplicar nuevos temas y otras opciones que van a mejorar nuestro sitio estático.

De la misma forma que siempre, te pido que me avises si encontrás algún error en el texto. Cualquier comentario (o mensaje a través del formulario de contacto) me ayudan a mejorar en lo que hago.

La seguimos una vez más… en el próximo apunte impensado.

Material:

– Documentación del programa Pelican (en inglés).

1 Comment

  1. Muy bueno! Es un excelente pantallazo inicial para aprender a usar Pelican! Ojalá puedas hacer más sobre este tema, es muy interesante! Saludos