Table of Contents

Erreur503 sous Pleican : comment qu'c'est foutu

Page en cours de rédaction.

Détails du fonctionnement de Pelican pour mon usage.

Les différentes sources sont disponibles sur mon Gitlab :

Le thèmes

Mon thème est basé sur le thème simple fourni avec Pelican. Au fur et à mesure je le réécrit entièrement car certaines pages n'ont plus vraiment grand chose à voir avec celles d'origines. Les CSS sont 100% maison et ça se voit.

La configuration de Pelican

La configuration de Pelican est située dans deux fichiers :

Plugin Pelican

image-process

J'utilise image-process pour générer des miniatures.

Dans pelicanconf.py :

IMAGE_PROCESS = {
    "thumb": {
        "type": "image",
        "ops": ["crop 0 0 50% 50%", "scale_out 150 150 True", "crop 0 0 150 150"],
    },
    "article-image": {
        "type": "image",
        "ops": ["scale_in 600 600 True"],
    },
}

Sera créé dans chaque dossier d'images un sous dossier 'thumb' où seront placées les miniatures.

Pour générer une miniature dans un article :

[![Jack Chirac]({static}/images/JACK.jpg){: .image-process-article-image}

Avec un lien vers le fichier source :

[![Jack Chirac]({static}/images/JACK.jpg){: .image-process-article-image}]({static}/images/JACK.jpg)

Extensions Markdown

Dans pelicanconf.py :

# Markdown extensions
MARKDOWN = {
    'extension_configs': {
        'markdown.extensions.extra': {},
        'markdown.extensions.meta': {},
        'markdown.extensions.codehilite': {},
        # https://facelessuser.github.io/pymdown-extensions
        'pymdownx.tilde':{},
        'pymdownx.blocks.caption':{},
        'pymdownx.blocks.details':{},
        'pymdownx.blocks.html':{},
        'pymdownx.fancylists':{},
    },
    'output_format': 'html5',
}

Les variables

Il va être possible d'insérer dans pelicanconf.py des variables qui vont être utilisée dans le template.

Par exemple :

SITE_PRESENTATION = 'Un super site qui poutre'

Pourra être insérer dans le template de la manière suivante via Jinja :

{% if SITE_PRESENTATION %}
        {{ SITE_PRESENTATION }}
{% endif %}

Cela fonctionne aussi avec des listes, ici de liens :

LINKS = (
    ("Super lien", 'https://supersite.tld'),
    ("Super NUL", 'https://sitepasbien.tld'),
)
{% if LINKS %}
<ul>
        <li><a href="{{ link }}">{{ name }}</a></li>
</ul>
{% endif %}