====== 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 : * [[https://forge.tedomum.net/yahiko/pelican-themes|Sources du thèmes]] * [[https://forge.tedomum.net/yahiko/erreur-503-blog|Pelican, fichiers et config et contenu]] (hors images) * [[https://forge.tedomum.net/yahiko/python|Outil de génération de template d'articles]], c'est dégueu et en cours de refonte. ===== 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 %} {% endif %}