Pelican

De Banane Atomic
Révision datée du 4 août 2016 à 18:37 par Nicolas (discussion | contributions) (→‎Générer le site)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Structure de fichiers

  • website/
    • content/
      • category/
        • article1.md
      • article2.md
      • pages/
        • about.md
    • pelicanconf.py
    • output/

Settings (pelicanconf.py, publishconf.py)

pelicanconf.py
# en-tête du fichier
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals

AUTHOR = 'Moi'
SITENAME = "Mon site"
SITEURL = 'http://www.monsite.fr'
TIMEZONE = "Europe/Paris"

PATH = 'content'
DEFAULT_LANG = 'fr'

# spécifier les dossiers qui seront copiés sans modification vers output
STATIC_PATHS = ['images', 'pdfs', '.']
# . désigne le dossier content lui-même

# permet de visualiser le site sans démarrer de serveur web
# can be useful in development, but set to False when you're ready to publish
RELATIVE_URLS = True

THEME = 'mon-theme'

Articles

MonArticle.md
Title: My super title
Date: 2010-12-03 10:20
Modified: 2010-12-05 19:30
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Authors: Me, You
Summary: Short version for index and feeds

Retour à la ligne(2 espaces)
Ligne suivante

Liens

[Article]({filename}/category/article.md)
![Alt text interne]({filename}/images/image.jpg)
[Fichier PDF]({filename}/pdfs/fichier.pdf)

Citations

> Avec retrait et en italique

Code

    :::python
    print("Hello")

Avec les numéros de ligne

    #!python
    print("Hello")
Ne pas oublier de changer STATIC_PATHS pour les liens.

Publier le site

Générer le site

Bash.svg
pelican [PATH] [-s pelicanconf.py] [-t theme]
# PATH, chemin vers le dossier content, il peut être définit dans les settings pelicanconf.py

# générer seulement une page
pelican --write-selected output/article-1.html

# debugguer la génération
pelican --debug

Visualiser le site

L'option « RELATIVE_URLS = True » permet de visualiser le site sans lancer de serveur web.
Bash.svg
# lancer un serveur pour afficher le résultat
cd output
python -m http.server
# le site est accessible via http://localhost:8000/

Déployer le site

Bash.svg
# regénérer le site avec les settings finaux
pelican content -s publishconf.py
# copie via ssh
rsync -avc --delete output/ host.example.com:/var/www/your-site/

Thèmes

Bash.svg
# lister les thèmes installés
pelican-theme -l

# installer un thème
sudo pelican-themes -vi dossier_contenant_mon_theme

# générer le site avec un thème spécifique
pelican -t mon_theme

# désinstaller un thème
sudo pelican-themes -r mon_theme -v

Plugins

pelicanconf.py
PLUGIN_PATHS = ["pelican-plugins"]
PLUGINS = ["gallery", "tipue_search"]

Installation

Bash.svg
sudo pacman -S pelican python-markdown

# avec pip
sudo pip install pelican markdown