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 content
y 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