Publication du build mkdocs de Savanewiki via Ansible

Utilisation de mkdocs

Pour démarrer le serveur mkdocs

Positionner le terminal à la racine du dossier du site mkdocs.

mkdocs serve

La mise à jour est dynamique, elle suit la mise à jour des pages.

Création d'une page.

vi ./docs/rubrique/$(date '+%Y-%m-%d')-nouvelle_page.md

Référencement de la page dans l'arborescence du site

Ajouter le nom de la page dans le fichier.

vi mkdocs.yml
site_name: Savanewiki
site_url: https://docs.savaneprod.fr
nav:
  - Home: index.md
  - Rubrique:
    - "Rubrique/index.md"
    - "Rubrique/$(date '+%Y-%m-%d')-nouvelle_page.md"
  - About: about.md
theme: readthedocs

Contenu minimal de la page :

---
title: "Nouvelle page"
summary: "Description brève"
author:
  - JF
date: $(date '+%Y-%m-%d')
---

Compilation du site

mkdocs build --clean

Le playbook ansible

Rsync étant compliqué à utilser avec Synology. Utiliser Gitea pour télécharger les fichiers au bon endroit, un peu tordu. J'ai décidé d'utiliser Ansible pour publier les builds de Savanewiki. Toujours parce que rsync n'est pas standard avec Synology, je n'ai pas cherché à utiliser le module ansible.posix.synchronize. Ce n'est pas très efficace d'un point de vue du mécanisme, mais ça l'est d'un point de vue simplicité et temps de mise en place.

---
- name: Déploiement de SavaneWiki
  hosts: savaneprod.fr

  tasks:
    - name: Remove dest files
      ansible.builtin.file:
        path: /volume1/web/docs/
        state: absent

    - name: Copie des fichier de site/
      ansible.builtin.copy:
        dest: /volume1/web/docs/
        group: http
        mode: 600
        owner: root
        src: "{{ playbook_dir }}/../site/"