What is this?

Bueno, como primera entrada de notas, lo más lógico (para mi) es comenzar con la herramienta que esta haciendo posible esto, Pelican. Esto ira siendo una serie de entradas sobre como trabajar con Pelican, por ahora nos enfocaremos en crear el sitio.

Pelican es una herramienta para generar sitios estáticos que no requieren una base de datos o una lógica en el lado del servidor.

Básicamente, elegí Pelican por simplicidad:

  • Instalamos las herramientas necesarias de Pelican.
  • Escribimos en Markdown.
  • Generamos los archivos del sitio.
  • Publicamos el sitio en el servidor.

Estos pasos son sencillos si estas acostumbradx a manejar herramientas en un terminal (la famosa ventanita negra), el cual, es mi caso.

So, en esta entrada serie de entradas iré añadiendo las cosas que considero necesito tener a la mano para administrar el blog. Toda la documentación necesaria (y extendida) se encuentra en el blog oficial de Pelican, por lo que si se necesita mayor información o detalle de algo, visitar el sitio oficial.

En este momento me encuentro trabajando en un equipo con Lubuntu 18.04 Pop_OS! por lo cual las instrucciones de instalación serán para esta distribución.

Preparación del entorno

Dado que Pelican es una herramienta desarrollada con Python y lo mejor es buscar tener un entorno limpio, estaremos trabajando con virtualenv.

# Instalación del entorno
sudo apt install virtualenv

# Creación del entorno
virtualenv --python=/usr/bin/python3 ~/path/to/virtual/env

Para comenzar a trabajar es necesario movernos a la carpeta donde se configuró el entorno y activarlo.

# Nos movemos a la carpeta creada
cd ~/path/to/virtual/env

# Activamos el entorno
source ./bin/activate

Sabremos que el entorno se ha activado por que la terminal cambiará su apariencia a algo como lo siguiente.

(entorno_virtual) usuario@equipo:~/path/to/virtual/env$

A partir de aquí podemos comenzar a trabajar con Pelican en un entorno aislado que no vaya a modificar nuestro sistema operativo.

Una vez que hayamos terminado de trabajar en el sitio, podemos desactivar el entorno.

# Para desactivar virtualenv
deactivate

Instalación de las herramientas

En este caso vamos a redactar el sitio en Markdown, por lo cual instalaremos lo necesario para que Pelican funcione con Markdown. Esto lo haremos a través de pip.

Necesitaremos los paquetes de pelican, Markdown y typogrify.

pip install pelican Markdown typogrify

En caso de necesitar actualizar alguna de estas herramientas, se puede hacer también a través de pip.

pip install --upgrade pelican Markdown typogrify

Creación del esqueleto del sitio

Para crear un proyecto con la estructura básica de Pelican basta con ejecutar el siguiente comando (aún no lo hagas, necesito aclarar algo antes).

pelican-quickstart

El comando creara una carpeta con la siguiente estructura:

yourproject/
├── content
│   └── (pages)
├── output
├── tasks.py
├── Makefile
├── pelicanconf.py
└── publishconf.py

Como podemos ver, es una estructura bien definida para el sitio. Esta estructura es la que se encontrará alojada en el repositorio del sitio. Hay que tener en cuenta que actualmente estamos en la carpeta de virtualenv, así que aquí es donde vamos a clonar el repositorio, de tal modo que la carpeta actual tendría que verse así (asumiendo que ya clonamos el repositorio dentro de la carpeta de virtualenv ¬¬):

(entorno_virtual) usuario@equipo:~/path/to/virtual/env$ ls
bin  include  lib  local  user.github.io  share

Como podemos observar, están las carpetas de virtualenv y el repositorio del sitio, que en todo caso, si no es un repositorio, valdría la pena crear una carpeta (por ejemplo blog), para que esta no se mezcle con lo de virtualenv.

Básicamente estamos separando virtualenv y el repositorio en carpetas distintas, para evitar que nuestro entorno virtual se vaya al repositorio.

Dentro de la carpeta del repositorio será necesario crear una subcarpeta más. En esta carpeta que llamaremos pelican es donde se encontrara los archivos fuente del sitio que son con los que trabaja Pelican, y dentro de esta subcarpeta es donde ejecutaremos el comando para la creación del proyecto (ya sé, ya sé, tanta carpeta marea, pero hay una razón para hacerlo así, por ahora confiá en mi).

(entorno_virtual) usuario@equipo:~/path/to/virtual/env/user.github.io/pelican$ pelican-quickstart

De tal modo que la estructura de archivos debería de verse de la siguiente manera.

/path/to/project
├── bin/          # carpeta de virtualenv
├── include/      # carpeta de virtualenv
├── lib/          # carpeta de virtualenv
├── local/        # carpeta de virtualenv
├── share/        # carpeta de virtualenv
└── user.github.io/   # carpeta del repositorio del sitio
    └── pelican/      # carpeta con los archivos fuente del sitio
        ├── content   # Archivos en Markdown
        │   └── (pages)
        ├── output
        ├── tasks.py
        ├── Makefile
        ├── pelicanconf.py
        └── publishconf.py

Generar y ejecutar el sitio

Para generar el contenido del sitio vamos a posicionarnos en la carpeta del repositorio (o la que hemos llamado blog).

Pelican cuenta con el comando pelican content, el cual revisa los archivos necesarios para generar la salida de HTML. La salida se almacena en automático en una carpeta llama output.

En nuestro caso como estamos utilizando GihHub Pages tenemos la restricción de que el contenido sel sitio tiene que encontrarse en la raíz del repositorio en la rama master, por lo cual tenemos que indicar que la salida sea en la raíz del repositorio (ves! así tenemos la salida del sitio en la raíz del repositorio y los archivos fuente en la subcarpeta pelican).

Para lo anterior (y estando en la subcarpeta pelican) ejecutamos:

# Generamos la salida HTML una carpeta arriba de donde estamos
pelican content -o ..

Esto generara los archivos HTML del sitio en la raíz del repositorio.

Para visualizar el sitio contamos con el comando pelican --listen el cual levanta un servidor en el puerto 8080. En nuestro caso (y sin salir de la subcarpeta) tendremos que indicar donde estan los archivos generados, por lo cual vamos a ejecutar el siguiente comando:

# Levantamos el sitio indicando la salida de los archivos HTML
pelican --listen -o ..

Para acceder al sitio visitamos http://localhost:8000/ , y listo, tendríamos que observar el sitio andando.

Para poder estar trabajando con el sitio, es necesario cada vez que hagamos un cambio o modificación volver a generar los archivos.

Creación de contenido

Recordando la estructura del sitio, sabemos que las entradas del mismo van en la carpeta content de nuestra subcarpeta pelican. Ahí es donde podremos comenzar a crear nuestros archivos en Markdown. Esto lo dejaremos para la siguiente entrada, es momento de pararse por un poco de agua, algo de comer y a estirar la espalda y las piernas.


Published

Last Updated

Category

pelican

Tags

Contact