Es un generador de sitios web estáticos, escrito en Python que permite escribir las entradas de blog directamente con el editor que se prefiera [reStructuredText o Markdown], y luego genera un sitio web estático [HTML, CSS, JS] listo para alojar en cualquier servidor.
$ pelican-quickstart
> Where do you want to create your new web site? [.] ~/blog
> What will be the title of this web site? linux
> Who will be the author of this web site? templix
> What will be the default language of this web site? [ca] es
> Do you want to specify a URL prefix? e.g., https://example.com (Y/n)
> What is your URL prefix? (see above example; no trailing slash) localhost
> Do you want to enable article pagination? (Y/n)
> How many articles per page do you want? [10]
> What is your time zone? [Europe/Madrid]
> Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n)
> Do you want to upload your website using FTP? (y/N)
> Do you want to upload your website using SSH? (y/N)
> Do you want to upload your website using Dropbox? (y/N)
> Do you want to upload your website using S3? (y/N)
> Do you want to upload your website using Rackspace Cloud Files? (y/N)
> Do you want to upload your website using GitHub Pages? (y/N)
Done. Your new project is available at /home/pep/blog
La estructura básica de un proyecto Pelican es:
$ ls -C blog
content output Makefile pelicanconf.py publishconf.py tasks.py
content/ --> Aquí se coloca las entradas y páginas. Pelican busca archivos .md o .rst en este directorio y sus subdirectorios.
content/posts/ --> Para entradas de blog con la fecha [en formato inglés] en el nombre del archivo.
content/pages/ --> Para páginas estáticas sin fecha, como "Acerca de" o "Contacto".
output/ --> Directorio generado automáticamente con el sitio estático. No se debe editar manualmente.
pelicanconf.py --> Archivo de configuración principal: título, tema, plugins, etc. generado automaticamente)
$ pelican-themes -l
$ pelican content
$ pelican -r content
$ pelican --listen
$ python -m pelican.server
Luego se puede subir el contenido de output/ al servidor web [GitHub Pages, Netlify, un VPS, etc.]
Descargar nuevos temas:
$ git clone --recursive https://github.com/getpelican/pelican-themes.git
$ sudo cp -r pelican-themes/* /usr/lib/python3/dist-packages/pelican/themes/