Pelican es un generador de sitios web estáticos, escrito en Python, que no requiere ninguna base de datos o servidor. Algunas de sus características incluyen:
Instalar Pelican) es realmente muy fácil, simplemente debemos ejecutar el siguiente comando:
sudo pip install pelican
Github Pages son sitios publicados en la web que se encuentran hosteados directamente en un repositorio de Github. Van a tener una URL del tipo usuarioGithub.github.io.
Para Poder utilizar Github Pages, debermos ingresar a nuestra cuenta de Github y crear un repositorio nuevo con el nombre usuarioGithub.github.io (el mismo nombre que va a tener la dirección web del sitio).
Una vez que ya tenemos nuestro repositorio creado, lo clonamos para poder generarle el contenido.
git clone https://github.com/usuarioGithub/usuarioGithub.github.io.git
También clonamos el repositrio blog_template, que va a tener la plantilla para poder crear el contenido más facilmente con Pelican. Esto lo hacemos con el siguiente comando:
git clone https://github.com/blogen5minutos/blog_template.git
Si no queremos usar este template, podemos crearnos una nueva carpeta y iniciar el sitio Pelican con el siguiente comando:
pelican-quickstart
Las principales configuraciones que le van a decir a Pelican como crear nuestro sitio estan contenidas en el archivo pelicanconf.py. Adicionalmente también debemos tener en cuenta al archivo publishconf.py que va a tener configuraciones adicionales para la publicación final del sitio.
Si utilizamos el blog_template; basicamente lo que deberíamos cambiar del archivo son las variables SITENAME y SITESUBTITLE del arvhivo pelicanconf.py y la variable SITEURL del archivo publishconf.py.
Para generar los artículos, debemos crear archivos de Markdown o de reStructuredText según nuestras preferencias. Un ejemplo con Markdown sería el siguiente:
Title: Mi Blog
Date: 2015-10-13
Category: Python
Tags: python
Author: Raul E. Lopez Briega
Este es un artículo de prueba para demostrar que fácil es crear un blog con [github pages](https://pages.github.com/).
Para más información visitar la documentación de Pelican
Otra buena alternativa que tenemos para generar los artículos es utilizar Jupyter notebooks. Para realizar esto debemos utilizar el plugin liquid_tags.
Una vez habilitado este plugin en el archivo de configuración pelicanconf.py; podemos guardar nuestras notebooks en una subcarpeta llamada notebooks dentro de la carpeta contenty luego en lugar de escribir todo el contenido con del artículo con Markdown, utilizamos la siguiente sitaxis:
{% notebook filename.ipynb [ cells[start:end] ]%}
Un ejemplo, sería el siguiente:
Title: Batman, ecuaciones y python
Date: 2015-10-13
Category: Python
Tags: python, matematica, programacion, batman
Author: Raul E. Lopez Briega
{% notebook Batman.ipynb cells[2:] %}
Una vez que ya tenemos el proyecto de Pelican configurado y los artículos creados; para generar un sitio de prueba debemos ejecutar el comando:
make html
Esto va a generar una nueva carpeta, llamada output donde va a estar todo el contenido estático de nuestro sitio web. Podemos ver como nos quedó con el comando:
make serve
Y consultando la dirección localhost:8000.
Si esta todo ok, podemos crear la version definitiva para publicar con el comando:
make publish
Para publicar nuestro sitio, copiamos el contenido de la carpeta output a la carpeta usuarioGithub.github.io y hacemos el push del repositorio.
git add --all
git commit -m "publicando blog"
git push -u origin master
y listo! ahora ya podemos consultar nuestro sitio en la web en la direeción http://usuarioGithub.github.io.
http://relopezbriega.github.io/
Twitter: @relopezbriega