Site Tools


informatique:web:pelican:erreur503

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 :

  • pelicanconf.py : configuration générale. C'est elle qui va être exécutée lors de la commande pelican -rl.
  • publishconf.py : configuration pour la publication. Elle importe les variables utilisées dans pelicanconf.py mais va écraser celles modifiées. Utilisée par le makefile ou si le site est généré par la commande pelican content -s publishconf.py.

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 %}
informatique/web/pelican/erreur503.txt · Last modified: 2025/01/27 13:45 by yahiko