commit ecf8bdb9c9abfd021244034f897dd295253b5093
parent fe9933bfb41b00c99b8eaf8b22f06cca2a26153b
Author: Hugo Soucy <hugo@soucy.cc>
Date: Thu, 14 Oct 2021 19:44:15 -0400
Work on the satelito doc
Diffstat:
2 files changed, 147 insertions(+), 16 deletions(-)
diff --git a/content/satelito.md b/content/satelito.md
@@ -1,34 +1,50 @@
-# Satelito
+# Satelito, est un générateur de site statique
(*Attention Satelito est en cours de développement ainsi que sa documentation*.)
(**Ce texte est un brouillon en cours de rédaction**.)
-**Satelito est un générateur de site statique** en ligne de commande,
-fait avec le langage de programmation lua et destiné aux systèmes
-d'exploitations dérivés de Unix (GNU/Linux, BSD, Mac OS, etc). Le
-support pour Windows viendra peut-être éventuellement.
+**Satelito est un générateur de site statique** (SSG) en ligne de
+commande, fait avec le langage de programmation **lua** et destiné aux
+systèmes d'exploitations dérivés de Unix (GNU/Linux, BSD, Mac OS,
+etc). Le support pour Windows viendra peut-être éventuellement.
**Fonctionnalités:**
-* Converti le markdown, mais également le HTML.
-* Crée automatiquement des fichiers de syndication Atom/RSS, pour toutes
+* Un site statique HTML à partir de fichiers **markdown** (ou **HTML**).
+* Satelito peut générer aussi des pages individuellement ou par
+ répertoire.
+* Crée des automatiquement des listes de sous-pages, pour pour toutes
les pages d'index.
-* Générer des pages individuellement ou par répertoire.
-* Rapide, un site avec des centaines de pages peut être généré en
+* Création de **collections** à partir de nom de répertoire, ou de nom de
+ page.
+* Crée automatiquement des fichiers de syndication **Atom** / RSS, pour
+ toutes les pages d'index.
+* **Rapide**, un site avec des centaines de pages peut être généré en
quelques secondes.
-* Le lua script peut être utilisé dans les templates et les fichiers
- de configuration.
+* **Bidouillable** grâce au lua script qui, peut être utilisé
+ directement dans les gabarits ou les fichiers de configuration.
+* Création automatisée d'un fichier **sitemap.xml**.
* Etc.
<!-- Mettre les features ici -->
Comme la plupart des SSG (Static Site Generator), Satelito crée des
-pages HTML à partir de fichiers markdown. Et utilise des fichiers lua
-script pour les métadonnées. Il n'y a pas de support pour des
-métadonnées directement en markdown (*front matter*). Nous comptons
-plutôt sur la flexibilité des tableaux lua qui nous permmettent
-d'étendre facilement les fonctionnalités des pages.
+pages HTML à partir de fichiers markdown (ou HTML). Le site et les
+pages page sont configurés à partir de fichier lua. Contrairement à
+d'autres SSG, Satelito n'utilise pas de configuration YAML (front
+matter) directement dans le markdown ...
+
+* Cela permet aussi le HTML comme format d'entrée
+* En plus de laisser la porte ouverte pour l'intégration éventuelle de
+ d'autres langages de balisage.
+
+
+<!-- Et utilise des fichiers lua -->
+<!-- script pour les métadonnées. Il n'y a pas de support pour des -->
+<!-- métadonnées directement en markdown (*front matter*). Nous comptons -->
+<!-- plutôt sur la flexibilité des tableaux lua qui nous permmettent -->
+<!-- d'étendre facilement les fonctionnalités des pages. -->
Pour les gabarits, Satelito utilise l'engin [etlua templating
language](https://github.com/leafo/etlua) qui est simple mais
diff --git a/drafts/satelito-api.html b/drafts/satelito-api.html
@@ -0,0 +1,115 @@
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>hs0ucy — {°°}</title>
+ <style>
+ @import url('//hugo.soucy.cc/css/index.min.css');
+
+ dt > code {
+ font-weight: 700;
+ }
+
+ pre {
+ white-space: pre-line;
+ }
+ </style>
+ </head>
+ <body class="layout">
+ <main>
+ <div>
+ <h1>API Satelito</h1>
+ <h2>Champs globaux</h2>
+ <h3>Relatifs à <i>config.lua</i></h3>
+
+ <dl>
+ <dt id="language"><code>language</code></dt>
+ <dd>Détermine la langue globale d'un site. Sert surtout à l'attribut HTML <code>lang</code>. Idéalement avec un code à deux lettres.</dd>
+ <dd>Ce champ peut-être surclasser dans le fichier de configuration d'une page.</dd>
+ <dd>requis <small>oui</small></dd>
+ <dd>type <small>string</small></dd>
+ <dd>
+ <pre>
+ <samp>
+ language = "en",
+ </samp>
+ </pre>
+ </dd>
+
+ <dt id="mimetypes"><code>mimetypes</code></dt>
+ <dd>Liste des autres types de fichiers qui sont acceptés
+ pour faire partie du site.</dd>
+ <dd>type <small>table</small></dd>
+ <dd>requis <small>oui</small></dd>
+ <dd>
+ <pre>
+ <samp>
+ mimetypes = {
+ 'image/svg+xml',
+ 'image/gif',
+ 'image/jpeg',
+ 'image/png',
+ 'application/pdf',
+ },
+ </samp>
+ </pre>
+ </dd>
+
+ <dt id="paths"><code>paths</code></dt>
+ <dd>Contient par défaut trois champs qui correspondent à des
+ chemins vers des répertoires qui permettent de contruire et
+ exporter les pages d'un site.
+ <ul>
+ <li><code>paths.content</code> <small>(string)</small>,
+ représente le chemin qui mène à la source des contenus du
+ site.</li>
+ <li><code>paths.templates</code> <small>(string)</small>,
+ est le chemin vers le répertoire des gabarits HTML/etlua.</li>
+ <li><code>paths.public_html</code> <small>(string)</small>,
+ représente le chemin vers le répertoire de destination du
+ site.</li>
+ </ul>
+ <dd>D'autres sortes de chemins peuvent être ajouté à cette table.</dd>
+ <dd>
+ <pre>
+ <samp>
+ paths = {
+ content = 'content/',
+ templates = 'templates/',
+ public_html = 'public_html/',
+ },
+ </samp>
+ </pre>
+ </dd>
+ </dd>
+
+ <dd>type <small>table</small></dd>
+ <dd>requis <small>oui</small></dd>
+
+ <dt id="sitemapxml"><code>sitemapxml</code></dt>
+ <dd>Permet d'activer la création d'un fichier <samp>sitemap.xml</samp>.</dd>
+ <dd>type <small>boolean</small></dd>
+ <dd>requis <small>non</small></dd>
+ <dd>
+ <pre>
+ <samp>
+ sitemapxml = true,
+ </samp>
+ </pre>
+ </dd>
+
+ <dt id="siteurl"><code>siteurl</code></dt>
+ <dd>Adresse de votre site. Elle est utilisée pour créer les permaliens des pages.</dd>
+ <dd>type <small>string</small></dd>
+ <dd>requis <small>oui</small></dd>
+ <dd>
+ <pre>
+ <samp>siteurl = "https://grgmelies.com",</samp>
+ </pre>
+ </dd>
+
+ </dl>
+ </div>
+ </main>
+ </body>
+</html>