Astuces pour Pelican

Quelques astuces liées à l'utilisation de Pelican

Ça au-dessus, c'est le titre dans le corps de texte.

Liens spécifiques à Pelican

Pour faire un lien vers une autre page, avant génération par Pelican, on peut utiliser le nom et le chemin des fichiers ainsi :
Ceci :

    [Ici]({filename}/pages/astuces-pelican.md)

Donne cela :

Ici

Publication

Voir les astuces sur le site officiel

Génération

Après avoir ouvert un terminal dans le répertoire de travail,
en mode "classique" hors-ligne

pelican --autoreload --listen

Ă€ la place, on peut utiliser la commande suivante :

invoke livereload

Mais cela nécessite bien entendu l'installation de l'un puis l'autre.

Publication

Si tout est bien configuré, la simple commande suivante permet de générer puis publier (en ssh) le site directement :

invoke publish

Cela signifie que lors de la création initiale du dossier avec un pelican quick-start, il faut demander la publication en ssh. Cela va créer des paramètres de configuration dans le fichier task.py.

    'ssh_user': 'XYZ_system',
    'ssh_host': 'XYZ.ftp.infomaniak.com',
    'ssh_port': '22',
    'ssh_path': '/home/clients/df5ea29924d39c3be8785734f13169c6/sites/nom-site.tld',

Le site est publié sur Infomaniak. Les paramètres de connexion d'utilisateur et hôte se retrouve dans le manager. Information surprenante, ces informations sont identiques pour le ssh et le ftp.
Au début le chemin que j'avais indiqué n'était pas le bon ; j'avais juste mis /sites/nom-site.tld. Finalement en me connectant (avec un terminal) ssh XYZ_system@XYZ.ftp.infomaniak.com puis avec un pwd j'ai pu avoir le début du chemin /home/clients/df5ea29924d39c3be8785734f13169c6. La fin du chemin sites/[…].

Autres commandes

Puis on peut visualiser le site généré en local à l'adresse localhost:8000

Configuration

Dans le fichier pelicanconf.py, penser à décommenter la ligne qui permet d'avoir des URLs relatives :

RELATIVE_URLS = True

Pour appliquer un thème particulier, ajouter la ligne suivante

THEME = "notmyidea"

Création de thèmes

J'ai fouillé un peu ; je n'ai pas trouvé ça très intuitif ; mais c'est souvent le cas avec ce moteur de site. Finalement cela se résume ainsi :

  1. Récupérer un thème, en particulier dans cette grande liste : https://github.com/getpelican/pelican-themes . Dans mon cas j'ai choisi Haerwu, parce qu'il a été mis à jour récemment et que je le trouvais bien sur le site de l'auteur.
  2. Créer un dossier mes-themes
  3. puis un sous-dossier haerwu.
  4. Dans ce dernier dossier y déployer ceux issus du thème : static et templates.
  5. Dans le fichier de conf, ajouter cette ligne :

    THEME = "./mes-themes/haerwu"

« Tadam! »
Renouveler les étapes 3 à 5 pour tester un autre thème.
Avec l'option pelican --autoreload --listen, la génération du site avec le thème se fait à la volée ; il reste nécessaire de rafraîchir la page pour voir le résultat.

Ajustement sur le thème

J'ai dupliqué le thème pour l'appeler mon-haerwu. Dans page.html, en pied-de-page, j'ai ajouté la date de création avec le bloc suivant (il y avait déjà, et uniquement, la date de modification). C'était page.locale_date que je cherchais.

    <p>
    Créé le {{ page.locale_date }}
        {% if page.modified %}
            — dernière mise-à-jour: {{ page.locale_modified }}
        {% endif %}
    </p>

Formatage d'une page lors de sa création

En-tête complémentaire dans le corps de la page

Obligatoire :

title: Astuce
date: 2023-10-27

Facultatif

date: 2010-10-03 10:20
modified: 2010-10-04 18:40
tags: thats, awesome
category: yeah
slug: my-super-post
author: Anne Au-Nîmes
summary: Short version for index and feeds

Une page peut contenir l'en-tête suivant afin d'être la page par-défaut :

save_as: index.html

Aussi le statut peut-ĂŞtre utile pour masquer une page ponctuellement ; on retrouve donc, au choix parmi trois

status: draft
status: hidden
status: published

Syntaxe markdown par défaut

Présentation

On doit - mettre une ligne vide - entre paragraphe et liste

Les citations

multi-niveaux marchent

— en « s'ouvrant », mais pas en se fermant

sauf si on met un chevron avec un ligne vide1

Italique toujours, gras un jour. Et dans le texte sans un_dersco_re par contre.

Le ~~barré~~ ne fonctionne pas,
ni le ==surlignage==.
Avec 2 espaces en fin de ligne, puis un saut de ligne, on reste dans le mĂŞme paragraphe.

un deux
youpi ça
marche !!!
Les blocs de code
c'est OK
avec des `triple-quotes` aussi

Enfin, le site original Daring Fireball indique cette syntaxe :

This is an example reference-style link.

Cela permet de ne pas trop surcharger le paragraphe de rédaction.

Ionos indique cela

Dans le texte ordinaire 2 vous pouvez facilement placer des notes de bas de page 3

Sources

- Les listes
  - doivent
    - avoir 4 espaces d'indentation
    - pour créer une sous-liste.
  - 2 espaces ne sont pas suffisants
* mais utiliser des Ă©toiles est acceptables aussi

On doit 
- mettre une ligne vide
- entre paragraphe et liste

> Les citations
>> multi-niveaux marchent
>>> — en « s'ouvrant », 
> mais pas en se fermant
> 
> sauf si on met un chevron avec un ligne vide[^A1]

[^A1]: Astuce trouvée ici : https://www.markdownguide.org/basic-syntax/

*Italique* _toujours_, __gras__ **un jour**. Et d**an**s le texte sans un_dersco_re par contre. 

Le ~~barré~~ ne fonctionne pas,  
ni le ==surlignage==.  
Avec 2 espaces en fin de ligne, puis un saut de ligne,
on reste dans le mĂŞme paragraphe.

| un     | deux |
| ------ | ---- |
| youpi  | ça   |
| marche | !!!  |

    Les blocs de code
    c'est OK

    ```
    avec des `triple-quotes` aussi
    ```

Enfin, le [site original Daring Fireball](https://daringfireball.net/projects/markdown/syntax) indique cette syntaxe :

This is [an example][id] reference-style link.

Cela permet de ne pas trop surcharger le paragraphe de rédaction. 

[id]: http://example.com/  "Optional Title Here"

[Ionos](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/markdown/) indique cela 

Dans le texte ordinaire [^1] vous pouvez facilement placer des notes de bas de page [^2]
[^1]: Vous trouverez ici le texte de la note de bas de page.
[^2]: **Note de page de page** peut aussi être *formatée*.  
Et celles-ci comprennent mĂŞme plusieurs lignes

Autres ressources

Outre la documentation officielle (qu'il est possible de télécharger en pdf à partir de ReadTheDocs), voici quelques autres ressources :


  1. Astuce trouvĂ©e ici : https://www.markdownguide.org/basic-syntax/ 

  2. Vous trouverez ici le texte de la note de bas de page. 

  3. Note de page de page peut aussi être formatée.
    Et celles-ci comprennent mĂŞme plusieurs lignes 

Dernière mise-à-jour : 2023-12-23