hscc

Soure code of <https://hugo.soucy.cc>.
git clone git://soucy.cc/hscc.git
Log | Files | Refs

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:
Mcontent/satelito.md | 48++++++++++++++++++++++++++++++++----------------
Adrafts/satelito-api.html | 115+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 &mdash; {°°}</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 = { + &nbsp;&nbsp;content = 'content/', + &nbsp;&nbsp;templates = 'templates/', + &nbsp;&nbsp;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>