commit 379c511f9a0f19c1814539c56ca7e2087980dfc6
parent f86a60dad3e3e315970282739b69a6e052fcfea1
Author: Hugo Soucy <hugo.soucy@toumoro.com>
Date: Thu, 18 Jun 2020 08:20:45 -0400
Merge branch 'master' of github.com:hs0ucy/hugo.soucy.cc
Diffstat:
12 files changed, 355 insertions(+), 310 deletions(-)
diff --git a/DOC.md b/DOC.md
@@ -1,102 +0,0 @@
-Documentation
-=============
-
-En cours de développement ...
-
-Introduction
-------------
-
-Ferron est un générateur de site statique (SSG) écrit avec le langage
-de programmation [Lua](https://lua.org/).
-
-Les bases
----------
-
-### Le contenu (`content/`)
-
-* Le contenu doit être en **markdown/html**
- (https://daringfireball.net/projects/markdown/) avec l'extension
- `.md`. La librairie
- [lua-discount](http://asbradbury.org/projects/lua-discount/) est
- utilisé par Ferron pour convertir le markdown en HTML.
- * Pour une page simple aucun répertoire est nécessaire:
- `ma-premiere-page.md`, `ma-seconde-page.md`, etc.
- * Pour une page de type index, vous créez un répertoire avec le nom
- de votre choix, contenant un fichier index:
- `mon-premier-repertoire/index.md`.
- * La page `index.md` à la racine du répertoire `content/` est la
- page d'accueil de votre site.
- * À partir d'une page `index.md`, vous avez accès au contenu de
- toutes les autres pages de même niveau ou des niveaux
- inférieurs. Ce qui vous permet de créer granulairement des listes
- de contenus assez complètes à partir de n'importe où dans
- l'arborescence.
-* Les métadonnées (configuration) d'une page sont à part dans un
- fichier avec l'extension `.json` ou `.lua`; celui-ci est lié par le
- nom avec le fichier markdown; ce qui veut dire que, si votre page
- s'appelle `ma-premiere-page.md`, dans le même répertoire vous devez
- avoir un fichier de configuration qui s'appelle
- `ma-premiere-page.{json,lua}`.
- * JSON est un format commun et pratique; on peut le parser, le
- convertir et générer facilement. Si malheureursement vous quittez
- Ferron pour un autre générateur de site statique, vous pourrez
- facilement porter vos données sans trop de soucis.
- * Sinon le principal avantage d'utiliser Lua pour vos métadonnées
- est que vous pourrez créer des fonctions directement dans ces
- fichiers pour manipuler plus finement votre contenu, ce qui n'est
- pas possible avec le JSON.
- * Dans un même site rien ne vous empêche d'alterner les formats
- selon vos besoins. Toutefois, veuillez noter que le format Lua
- aura priorité si deux fichiers de configuration sont présent pour
- un même markdown.
-* Un site dans sa plus simple expression doit avoir au minimum un
- fichier `index.md` et un fichier `index.{json,lua}`.
-
-### Les templates (`templates/`)
-
-* Pour l'instant, le seul moteur de templates disponible est
- Mustache. Mais j'ai comme projet d'en utiliser un deuxième qui
- permettra d'intégrer de la logique directement dans les templates,
- ce que Mustache ne permet pas.
-* Les fichiers Mustache doivent porter l'extension `.mustache`.
-* Les templates des flux de syndication tels que ATOM, RSS ou JSON
- Feed doivent être dans un sous-répertoire nommé `feed/`.
-* Les sous-templates doivent être dans un sous-répertoire nommé
- `partials`.
-
-## Concepts et conventions de base
- Par défaut, une page type index, liste toutes les pages de type
- simple présentes dans le répertoire courant et dans ses
- sous-répertoires. Donc la page d'accueil aura dans sa portée toutes
- les pages du site.
-
- Chaque page de type index permet de générer automatiquement les flux
- atom, rss2 et éventuellement json.
-
- Par défaut seules les pages de type simple qui ont été modifié
- (ainsi que les gabarits et la configuration de la page en question)
- vont être regénérées. Cela est possible en compararant la date de
- modifications de ces fichiers et celle du fichier `lastbuild`
- (généré au premier build) qui se retrouve à la racine de Ferron. Si
- vous voulez forcer un rebuild complet du site vous pouvez simplement
- supprimer ce fichier avant de lancer la commande du build.
-
- * Site
- * Lister
- * Choisir
- * Générer
- * Contenu
- * markdown ou meta (json, lua)
- * statique (images d'interface, css, js)
- * Page
- * Lister
- * Choisir
- * Générer
- * Type
- * Simple
- * Index
- * Asset
- * Template
- * Lien
- * Fil
- * Extension
diff --git a/TODO.md b/TODO.md
@@ -10,11 +10,11 @@
* ~~Corriger la fonction `dispatch-nontextuals.lua` pour quelle tienne
compte de la nouvelle façon de créer des pages d'index de section.~~
~~* Ajouter un mécanisme de plugins dans Ferron.~~
-* Améliorer le texte de la page d'accueil.
+* ~~Améliorer le texte de la page d'accueil.~~
* Améliorer le texte de la page à propos.
* Rendre Ferron encore plus «IndieWeb friendly».
-* Comment ajouter un mécanisme de «page courante» à la navigation;
- pour styler le menu en conséquence?
+* ~~Comment ajouter un mécanisme de «page courante» à la navigation;
+ pour styler le menu en conséquence?~~
* Documenter d'avantage les changements et les améliorations.
* Avoir une documentation plus complète pour Ferron.
* ~~Faire le CLI (rhino) pour Ferron.~~
@@ -27,3 +27,7 @@
* ~~Trouver les sysmlinks morts. D'abord trouver les sysmlinks, puis
ensuite tester les destinations. Voir
https://keplerproject.github.io/luafilesystem/manual.html#symlinkattributes.~~
+* Faire un mécanisme pour avoir des sites qui seraient seulement des
+ galeries d'images (voir Koken). Exemple: les fichiers images qui
+ auraient un fichier meta (.json, .lua) pourraient générer des
+ fichiers gallery avec les images de même niveau qu'elles.
diff --git a/config.lua b/config.lua
@@ -66,14 +66,14 @@ return {
plugins = "/plugins",
},
- -- feedtypes = {
- -- atom = {
- -- name = "feed.atom",
- -- extension = ".xml",
- -- },
- -- rss2 = {
- -- name = "feed.rss2",
- -- extension = ".xml",
- -- },
- -- },
+ feedtypes = {
+ atom = {
+ name = "feed.atom",
+ extension = ".xml",
+ },
+ rss2 = {
+ name = "feed.rss2",
+ extension = ".xml",
+ },
+ }
}
diff --git a/content/ce-site-web-explique-markdown.json b/content/ce-site-web-explique-markdown.json
@@ -1,8 +0,0 @@
-{
- "date":"2017-10-09",
- "datetime":"00:00:00",
- "id":"tag:hugo.soucy.cc,2017-10-09:2017/10/ce-site-web-explique-markdown",
- "shortlink":"t",
- "template":"default",
- "title":"Ce site Web expliqué : Le markdown",
-}
diff --git a/content/ce-site-web-explique-markdown.md b/content/ce-site-web-explique-markdown.md
@@ -1,5 +0,0 @@
-# Ce site Web expliqué : Le markdown
-
-
-
-
diff --git a/content/ferron.json b/content/ferron.json
@@ -0,0 +1,8 @@
+{
+ "title": "Ferron",
+ "date": "2020-04-27",
+ "datetime": "15:09:24",
+ "template": "default",
+ "bridgy": "false",
+ "keywords": ["Ferron", "static site generator", "ssg"]
+}
diff --git a/content/ferron.md b/content/ferron.md
@@ -0,0 +1,107 @@
+Ferron
+======
+
+En cours de développement ...
+
+Introduction
+------------
+
+[Ferron](https://soucy.cc/git/ferron) est un générateur de site
+statique (SSG) écrit avec le langage de programmation
+[Lua](https://lua.org/).
+
+Les bases et les conventions
+----------------------------
+
+### Le contenu (`content/`)
+
+### Le contenu (`content/`)
+
+* Le contenu doit être en
+ [markdown/html](https://daringfireball.net/projects/markdown/) avec
+ l'extension `.md`. La librairie
+ [lua-discount](http://asbradbury.org/projects/lua-discount/) est
+ utilisé par Ferron pour convertir le markdown en HTML.
+ * Pour une page simple aucun répertoire est nécessaire:
+ `ma-premiere-page.md`, `ma-seconde-page.md`, etc.
+ * Pour une page de type index, vous créez un répertoire avec le nom
+ de votre choix, contenant un fichier `index.md`:
+ `mon-premier-repertoire/index.md`. Vous pouvez voir ces pages
+ comme des accueils de section.
+ * La page `index.md` à la racine du répertoire `content/` est la
+ page d'accueil de votre site.
+ * À partir d'une page `index.md`, vous avez accès au contenu de
+ toutes les autres pages de même niveau ou des niveaux
+ inférieurs. Ce qui vous permet de créer granulairement des listes
+ de contenus assez complètes à partir de n'importe où dans
+ l'arborescence.
+* Les **métadonnées** (configuration) d'une page sont à part dans un
+ fichier avec l'extension `.json` ou `.lua` et non du type
+ frontmatter directement dand le markdown; celui-ci est lié par le
+ nom avec le fichier markdown; ce qui veut dire que, si votre page
+ s'appelle `ma-premiere-page.md`, dans le même répertoire vous devez
+ avoir un fichier de configuration qui s'appelle
+ `ma-premiere-page.{json,lua}`.
+ * JSON est un format commun et pratique; on peut le parser, le
+ convertir et générer facilement. Si malheureursement vous quittez
+ Ferron pour un autre générateur de site statique, vous pourrez
+ facilement porter vos données sans trop de soucis.
+ * Sinon le principal avantage d'utiliser Lua pour vos métadonnées
+ est que vous pourrez créer des fonctions directement dans ces
+ fichiers pour manipuler plus finement votre contenu, ce qui n'est
+ pas possible avec le JSON.
+ * Dans un même site rien ne vous empêche d'alterner les formats
+ selon vos besoins. Toutefois, veuillez noter que le format Lua
+ aura priorité si deux fichiers de configuration sont présent pour
+ un même markdown.
+* Un site dans sa plus simple expression doit avoir au minimum un
+ fichier `index.md` et un fichier `index.{json,lua}`.
+
+### Les templates (`templates/`)
+
+* Pour l'instant, le seul moteur de templates disponible est
+ Mustache. Mais j'ai comme projet d'en utiliser un deuxième qui
+ permettra d'intégrer de la logique directement dans les templates,
+ ce que Mustache ne permet pas.
+* Les fichiers Mustache doivent porter l'extension `.mustache`.
+* Les templates des flux de syndication tels que ATOM, RSS ou JSON
+ Feed doivent être dans un sous-répertoire nommé `feed/`.
+* Les sous-templates doivent être dans un sous-répertoire nommé
+ `partials`.
+
+## Concepts et conventions de base
+ Par défaut, une page type index, liste toutes les pages de type
+ simple présentes dans le répertoire courant et dans ses
+ sous-répertoires. Donc la page d'accueil aura dans sa portée toutes
+ les pages du site.
+
+ Chaque page de type index permet de générer automatiquement les flux
+ atom, rss2 et éventuellement json.
+
+ Par défaut seules les pages de type simple qui ont été modifié
+ (ainsi que les gabarits et la configuration de la page en question)
+ vont être regénérées. Cela est possible en compararant la date de
+ modifications de ces fichiers et celle du fichier `lastbuild`
+ (généré au premier build) qui se retrouve à la racine de Ferron. Si
+ vous voulez forcer un rebuild complet du site vous pouvez simplement
+ supprimer ce fichier avant de lancer la commande du build.
+
+ * Site
+ * Lister
+ * Choisir
+ * Générer
+ * Contenu
+ * markdown ou meta (json, lua)
+ * statique (images d'interface, css, js)
+ * Page
+ * Lister
+ * Choisir
+ * Générer
+ * Type
+ * Simple
+ * Index
+ * Asset
+ * Template
+ * Lien
+ * Fil
+ * Extension
diff --git a/content/note/2020/06/adieu-linkedin.json b/content/note/2020/06/adieu-linkedin.json
@@ -0,0 +1,8 @@
+{
+ "title": "DAMessage d'adieu LinkedIn",
+ "date": "2020-06-15",
+ "datetime": "22:03:04",
+ "template": "note",
+ "bridgy": "true",
+ "keywords": ["réseaux sociaux","quitting","linkedin"]
+}
diff --git a/content/note/2020/06/adieu-linkedin.md b/content/note/2020/06/adieu-linkedin.md
@@ -0,0 +1,4 @@
+Je viens d'annoncer sur #Linkedin que j'allais fermer mon compte d'ici
+la fin de la semaine.
+
+Haha, c'est l'hécatombe :)
diff --git a/content/note/2020/06/bye-bye-twitter.json b/content/note/2020/06/bye-bye-twitter.json
@@ -0,0 +1,8 @@
+{
+ "title": "Bye bye Twitter",
+ "date": "2020-06-14",
+ "datetime": "14:58:50",
+ "template": "note",
+ "bridgy": "true",
+ "keywords": ["twitter","réseaux sociaux"]
+}
diff --git a/content/note/2020/06/bye-bye-twitter.md b/content/note/2020/06/bye-bye-twitter.md
@@ -0,0 +1,18 @@
+Bon j'ai finalement supprimé mon compte Twitter. J'y étais
+depuis 2008! J'ai fait une sauvegarde de mes données, au cas où ça
+pourrait servir.
+
+[Récemment, j'avais tenté de me discipliner pour limiter mon
+utilisation](https://hugo.soucy.cc/note/2020/02/pause-de-twitter.html),
+mais avec la covid puis l'histoire de la mort de George Floyd, j'ai
+fait une rechute et, je l'utilisais finalement 3 fois plus qu'avant.
+
+Sinon, cela faisait quelques années que mon nombre d'abonnés
+plafonnait à un peu plus de 600, et les échanges intéressants y
+étaient rares. Twitter reste une bonne façon de s'informer et de
+découvrir de nouvelles choses, quoiqu'il y a d'autres manières de
+faire cela plus efficacement, sans se perdre à "swiper" maladivement
+dans ce chaos d'information et d'opinions.
+
+Pour l'instant je reste sur LinkedIn et Mastodon. Je n'écarte pas la
+possibilité de les abandonner eux aussi. À suivre ...
diff --git a/data/shortlinks.json b/data/shortlinks.json
@@ -1,209 +1,212 @@
{
- "/txt/2020/04/autoheberger-ses-depots-git.html":"58",
- "/note/2018/09/concretiser-mastodonquebec-et-mammouthquebec.html":"43",
- "/note/2018/12/laisse-le-fatbike-a-la-maison.html":"4f",
- "/note/2019/01/hi-noorul.html":"4m",
- "/note/2016/02/what-is-it-about-society-that-disappoints-you-so-much.html":"3c",
- "/note/2018/01/orbots-16th-makes-using-tor-on-android-better.html":"f",
- "/note/2017/01/la-ville-facteur-majeur-d-evolution-des-especes.html":"2q",
- "/txt/openbsd/2017/11/aide-memoire-openbsd.html":"r",
- "/note/2020/02/lost-connection-to-the-earth.html":"4X",
- "/note/2016/09/ma-vie-obeit-a-l-attraction-des-livres-nikolski-nicolas-dickner.html":"2F",
- "/note/2020/02/pause-de-twitter.html":"4Z",
- "/note/2018/12/please-support-mozilla.html":"4j",
- "/note/2016/08/programming-languages-hyperpolyglot.html":"2V",
- "/note/2018/04/test-de-rponse-sur-mastodonsocial.html":"3F",
+ "/note/2020/06/adieu-linkedin.html":"5c",
+ "/note/2018/08/publier-sur-le-web-avec-simplicite.html":"3Z",
+ "/note/2016/07/emacs-sort-delete-matching-duplicate-lines.html":"3",
"/note/2016/01/tiens-un-article-sur-le-darknet-que-plusieurs-devraient-lire.html":"3d",
- "/note/2017/09/le-poil-de-la-bete.html":"B",
- "/note/2016/08/txti.html":"2_",
- "/note/2018/02/the-radical-idea-of-a-world-without-jobs.html":"2",
- "/note/2018/09/abonnement-a-distance-a-rezodevfacilservices.html":"44",
+ "/file/curriculum-vitae.html":"cv",
+ "/note/2018/05/robespierre-les-subsistances-1792.html":"3H",
+ "/note/2017/10/test-de-repost-en-posse-3.html":"v",
+ "/note/2017/06/petite-contribution-bash-au-task-runner-manuel.html":"M",
+ "/note/2018/12/please-support-mozilla.html":"4j",
+ "/note/2018/01/test-vers-mastodon.html":"b",
+ "/note/2017/03/poutine-et-bal-masque.html":"2g",
+ "/note/2018/01/activitypub-is-now-a-w3c-recommendation.html":"5",
"/note/2019/01/for-the-love-of-pipes.html":"4p",
- "/note/2018/01/test-vers-mastodon-v2.html":"9",
- "/note/2016/10/who-pays-for-the-decentralized-web.html":"2D",
- "/note/2018/09/expect-to-be-tracked-anyway.html":"4",
- "/note/2017/03/moi-jaime-pas-les-courriels-juste-en-html.html":"24",
- "/note/2019/02/born-from-stardust.html":"4r",
- "/note/2017/05/pandoc-for-openbsd.html":"T",
- "/note/2018/11/trunk-to-massfollow-on-the-fediverse.html":"4c",
- "/note/2016/11/indieweb-make-your-social-media-posts-open-first.html":"2z",
- "/note/2018/02/m4-bakery-make-and-m4-static-website-generator.html":"3r",
- "/note/2019/08/react.html":"4C",
+ "/note/2018/12/laisse-le-fatbike-a-la-maison.html":"4f",
+ "/note/2018/02/ah-zut-va-falloir-que-je-m-assume.html":"3s",
+ "/note/2020/02/pixels-avec-decimals.html":"54",
+ "/note/2017/01/lemprise-de-wallstreet-sur-trump.html":"2p",
+ "/note/2018/02/the-radical-idea-of-a-world-without-jobs.html":"2",
"/note/2017/07/why-the-indie-web-movement-is-so-important.html":"H",
+ "/note/2017/06/politique-numerique-que-jaimerais.html":"N",
+ "/txt/2014/02/les-partis-politiques-nuisent-ils-a-la-democratie.html":"3k",
+ "/note/2016/04/tiens-tiens-tiens-le-projet-gnu-revamp-la-page-web.html":"37",
+ "/note/2019/08/our-deficiencies.html":"4B",
+ "/note/2018/02/m4-bakery-make-and-m4-static-website-generator.html":"3r",
+ "/note/2017/09/bacteries-communiqueraient-avec-des-decharges-electriques.html":"G",
+ "/note/2017/09/lesbricodeurs-replyto-status-909427743573577728.html":"C",
+ "/note/2019/04/rss-is-better-than-twitter.html":"4t",
+ "/note/2018/07/tant-de-manieres-de-fuire.html":"3W",
"/note/2016/06/nous-sommes-eduques-a-croire.html":"32",
- "/note/2019/07/main-invisible-du-marche.html":"4G",
- "/note/2016/11/browsers-not-apps-are-the-future-of-mobile.html":"2y",
+ "/note/2020/02/xenophobie-vs-racisme.html":"4T",
"/note/2018/10/pleroma-less-moving-parts.html":"48",
- "/note/2016/08/shipping-is-a-feature.html":"2X",
- "/note/2016/09/radio-canada-publicitaire-pour-apple.html":"2K",
- "/note/2017/01/est-ce-une-fausse-nouvelle-car-trop-beau-pour-etre-vrai.html":"2m",
+ "/txt/openbsd/2017/11/aide-memoire-openbsd.html":"r",
+ "/note/2016/04/encore-une-fois-je-viens-de-supprimer-mon-compte-facebook.html":"38",
+ "/note/2018/09/expect-to-be-tracked-anyway.html":"4",
+ "/note/2018/01/what-emacs-theme-is-that-3.html":"6",
+ "/note/2018/07/une-autre-balade-aux-chutes.html":"3T",
+ "/note/2018/03/les-pods-diaspora-communiquent.html":"3x",
+ "/note/2017/05/pandoc-for-openbsd.html":"T",
+ "/note/2016/10/how-can-i-handle-command-line-arguments-options-to-my-script-easily.html":"2B",
+ "/note/2016/10/who-pays-for-the-decentralized-web.html":"2D",
+ "/note/2016/08/programming-languages-hyperpolyglot.html":"2V",
+ "/note/2017/05/fai-associatifs-au-canada.html":"W",
+ "/note/2017/01/how-machines-learned-to-speak-human-language.html":"2j",
+ "/note/2018/01/reflechissez-avant-de-poster.html":"3",
+ "/note/2017/03/presentation-de-manuel-un-task-runner-bash.html":"2b",
+ "/note/2017/12/normaliser-la-meute.html":"k",
+ "/note/2016/05/indieweb-in-a-nutshellown-your-identity-domain-website-content-uiux.html":"36",
+ "/txt/emacs/2015/06/emacs-101-la-configuration.html":"3f",
+ "/note/2017/12/salut-bien-bas-aux-infimieres-et-infirmiers.html":"j",
+ "/note/2018/06/cotoyer-l-art-vivant-statique.html":"3S",
"/note/2019/10/une-nouvelle-version-de-salut-a-toi.html":"4F",
- "/note/2016/04/tiens-tiens-tiens-le-projet-gnu-revamp-la-page-web.html":"37",
- "/note/2017/05/retirer-la-couche-pandoc-de-fakestache-ssg.html":"S",
- "/note/2018/06/cotoyer-art-vivant-et-art-statique.html":"3R",
- "/note/2018/09/omg-quelquun-a-structure-ma-pensee.html":"47",
+ "/note/2018/06/velo-chutes-polices-et-escargots.html":"3Q",
+ "/note/2016/08/m4-as-css-pre-processor.html":"2Z",
+ "/note/2017/12/halt-and-catch-fire-soundtrack.html":"h",
+ "/ce-site-web-explique-markdown.html":"t",
+ "/note/2016/12/le-peuple-nest-pas-juridiquement-souverain.html":"2s",
+ "/note/2018/04/test-de-rponse-sur-mastodonsocial.html":"3F",
+ "/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.html":"3w",
+ "/note/2016/08/add-key-bindings-to-moving-faster-between-emacs-windows.html":"2M",
+ "/note/2018/09/what-is-activitypub.html":"42",
"/note/2017/05/why-i-love-openbsd.html":"X",
+ "/note/2018/10/now-i-get-it-emacs-is-the-best.html":"49",
+ "/note/2016/03/javascript-vanille-underscorejs-font-selon-moi-une-excellente-quipe-youmightnotneedjquery-webdev.html":"39",
+ "/note/2018/12/goodbye-edgehtml.html":"4h",
+ "/note/2018/09/abonnement-a-distance-a-rezodevfacilservices.html":"44",
"/note/2018/03/thanks-to-qb1t-about-cabal.html":"3v",
- "/note/2020/02/si-jetais-les-femmes.html":"4L",
- "/note/2017/09/lesbricodeurs-jaime-votre-nom.html":"D",
- "/note/2017/01/3-500-proces-au-cours-des-30-dernieres-annees.html":"2k",
- "/note/2018/04/est-ce-que-facil-a-une-canal-irc.html":"3z",
- "/note/2016/05/firefox-print-background-color.html":"33",
- "/note/2016/07/emacs-sort-delete-matching-duplicate-lines.html":"3",
- "/txt/2018/02/un-raccourcisseur-d-url-pour-site-statique.html":"3w",
"/note/2016/12/larnaque-de-la-dictature-bancaire-continue.html":"2v",
- "/note/2016/12/michel-chartrand-aurait-eu-cent-ans-hier.html":"2r",
- "/note/2017/06/politique-numerique-que-jaimerais.html":"N",
- "/note/2018/02/ceci-est-le-test-2.html":"3q",
- "/note/2018/12/lisp-is-ugly-not.html":"4g",
- "/note/2018/10/design-of-lua.html":"4b",
- "/note/2018/08/publier-sur-le-web-avec-simplicite.html":"3Z",
- "/note/2017/12/normaliser-la-meute.html":"k",
- "/note/2016/10/how-can-i-handle-command-line-arguments-options-to-my-script-easily.html":"2B",
- "/note/2016/11/would-the-web-s-inventor-give-up-on-free-standards.html":"2w",
- "/note/2017/03/appnet-is-another-silo-who-is-shutting-down.html":"27",
+ "/note/2017/11/rip-au-capitaine-crochet-de-la-pop-quebecoise.html":"q",
+ "/note/2020/02/lost-connection-to-the-earth.html":"4X",
+ "/note/2017/05/switching-to-openbsd.html":"Y",
+ "/txt/bash/2017/03/manuel-taskrunner.html":"2c",
+ "/note/2018/12/surveillance-capitalism-has-led-us-into-a-dystopia.html":"4k",
+ "/note/2018/09/omg-quelquun-a-structure-ma-pensee.html":"47",
+ "/note/2019/09/dit-moi-de-quoi.html":"4D",
+ "/note/2019/02/follow-a-style-guide.html":"4q",
+ "/note/2018/07/vive-le-quebec-vive-la-creation-vive-luniversel.html":"3Y",
+ "/note/2016/09/ce-que-le-quebec-gagnerait-a-nationaliser-internet.html":"2J",
+ "/note/2017/10/openbsd-6.2-sen-vient-a-la-mi-octobre.html":"x",
+ "/note/2016/12/le-travail-aujourdhui-est-en-voie-de-disparition.html":"2t",
"/note/2018/05/bandes-cyclables-limoilou.html":"3K",
+ "/note/2017/06/100-millions-de-certificats-pour-lets-encrypt.html":"J",
+ "/note/2016/05/jeunes-liberaux-ringards.html":"35",
+ "/note/2017/05/utilisation-des-variables-css.html":"R",
+ "/txt/2014/09/mes-logiciels-libres-preferes.html":"3h",
+ "/note/2019/12/cactus-pour-capter-l-humidite.html":"4H",
+ "/note/2018/04/yo-yoyo.html":"3B",
+ "/note/2018/09/concretiser-mastodonquebec-et-mammouthquebec.html":"43",
+ "/note/2018/04/presentation-openbsd-concise-et-exhaustive.html":"3y",
+ "/ferron.html":"59",
+ "/note/2016/11/the-average-american-now-downloads-zero-apps-per-month.html":"2x",
+ "/note/2018/11/trunk-to-massfollow-on-the-fediverse.html":"4c",
+ "/note/2019/02/born-from-stardust.html":"4r",
+ "/note/2020/02/confiture-dabricot.html":"4K",
+ "/note/2016/08/vimgifs-et-emacs_gifs.html":"2T",
+ "/note/2018/11/plusieurs-remote-origin-avec-git.html":"4d",
"/note/2016/02/encryption-is-the-nsas-friend-20160127nsa_loves_it_when_you_use_pgp.html":"3b",
- "/file/pgp.html":"3m",
- "/note/2019/02/follow-a-style-guide.html":"4q",
+ "/note/2016/05/justin-jackson-is-a-fucking-webmaster.html":"34",
+ "/note/2017/03/github-and-copyleft.html":"26",
+ "/note/2020/02/power-of-passive.html":"4Y",
+ "/note/2016/08/ssh-chat-server-written-ingo.html":"2R",
+ "/note/2020/02/jonathan-wilkinson-ensuite-steven-guilbeault.html":"4R",
+ "/note/2017/03/moi-jaime-pas-les-courriels-juste-en-html.html":"24",
+ "/note/2018/01/alec-helps-companies-activate-onion-services.html":"7",
"/txt/2019/04/flux-atom-rss-de-firefox-a-elfeed.html":"4x",
- "/note/2017/01/how-machines-learned-to-speak-human-language.html":"2j",
- "/note/2017/04/duckduckgo-hacks-for-developers.html":"Z",
- "/now.html":"4V",
- "/note/2018/01/what-emacs-theme-is-that-3.html":"6",
- "/note/2016/08/matane-budget-participatif.html":"2Y",
- "/txt/2014/04/bronto-politiciens-de-silos.html":"3j",
- "/note/2016/08/pokemon-go-et-societe-de-surveillance.html":"2P",
- "/note/2018/12/surveillance-capitalism-has-led-us-into-a-dystopia.html":"4k",
- "/note/2016/12/le-peuple-nest-pas-juridiquement-souverain.html":"2s",
- "/note/2020/02/etat-de-droit-mon-cul.html":"56",
- "/note/2018/09/what-is-activitypub.html":"42",
- "/note/2016/08/everybody-should-be-twitter-verified.html":"2W",
- "/note/2017/09/barbares-se-substitus-aux-piliers.html":"F",
- "/note/2017/10/ghandi-je-suis-pret-a-mourir-pour-plusieurs-causes-a-tuer-pour-aucune.html":"y",
- "/albums-preferes.html":"22",
- "/note/2018/04/presentation-openbsd-concise-et-exhaustive.html":"3y",
- "/note/2017/12/betty-davis-is-wonderwoman.html":"m",
- "/note/2019/04/essaie-du-theme-cyberpunk-2019.html":"4v",
- "/note/2016/08/snowden-pardon-petition-on-facebook.html":"2Q",
- "/note/2016/08/add-key-bindings-to-moving-faster-between-emacs-windows.html":"2M",
- "/note/2018/05/blockchain-and-the-future-of-the-internet.html":"3N",
- "/note/2018/07/une-autre-balade-aux-chutes.html":"3T",
- "/note/2018/06/youre-not-that-big-a-deal.html":"3P",
+ "/note/2016/09/radio-canada-publicitaire-pour-apple.html":"2K",
+ "/note/2017/03/animista-css-animations-on-demand.html":"23",
+ "/note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.html":"2H",
+ "/file/pgp.html":"3m",
"/note/2020/02/bigoterie-de-la-croissance.html":"4S",
- "/note/2018/02/ceci-est-le-test-1.html":"3p",
- "/note/2018/03/les-pods-diaspora-communiquent.html":"3x",
- "/a-propos.html":"25",
- "/note/2017/12/halt-and-catch-fire-soundtrack.html":"h",
- "/note/2019/04/essaie-du-theme-cyberpunk2019.html":"4w",
+ "/note/2019/01/why-im-worried-about-google.html":"4n",
+ "/note/2020/02/pause-de-twitter.html":"4Z",
+ "/note/2017/01/est-ce-une-fausse-nouvelle-car-trop-beau-pour-etre-vrai.html":"2m",
+ "/note/2020/02/test-websub.html":"5",
+ "/note/2019/01/hi-noorul.html":"4m",
+ "/note/2016/09/ma-vie-obeit-a-l-attraction-des-livres-nikolski-nicolas-dickner.html":"2F",
+ "/note/2017/10/reply-to-saralfddin93-for-status-914965952898457600.html":"w",
"/note/2017/06/using-css-variables-correctly.html":"K",
- "/note/2018/01/activitypub-is-now-a-w3c-recommendation.html":"5",
- "/txt/emacs/2015/06/emacs-101-la-configuration.html":"3f",
- "/note/2018/01/alec-helps-companies-activate-onion-services.html":"7",
- "/note/2018/05/gratuite-pour-l-indispensable.html":"3J",
- "/note/2017/03/presentation-de-manuel-un-task-runner-bash.html":"2b",
+ "/note/2018/06/cotoyer-art-vivant-et-art-statique.html":"3R",
+ "/note/2018/05/linkedin-un-ramassi-tout-et-nimporte-quoi.html":"3M",
+ "/note/2018/04/est-ce-que-facil-a-une-canal-irc.html":"3z",
+ "/note/2019/07/main-invisible-du-marche.html":"4G",
+ "/note/2018/05/blockchain-and-the-future-of-the-internet.html":"3N",
+ "/albums-preferes.html":"22",
+ "/note/2019/03/passe-a-openbsd-64.html":"4s",
+ "/note/2016/11/would-the-web-s-inventor-give-up-on-free-standards.html":"2w",
+ "/note/2018/02/ceci-est-le-test-2.html":"3q",
+ "/note/2017/10/ghandi-je-suis-pret-a-mourir-pour-plusieurs-causes-a-tuer-pour-aucune.html":"y",
"/note/2017/11/les-voyants-riront-de-ne-plus-avoir-de-pieds.html":"p",
- "/note/2016/08/nathalie-normandeau-et-la-radio-de-quebec.html":"2S",
- "/note/2019/06/coreens-pour-enfer-russe.html":"4z",
+ "/note/2016/12/michel-chartrand-aurait-eu-cent-ans-hier.html":"2r",
+ "/note/2017/12/openbsd-mise-a-jour-reussie.html":"n",
+ "/note/2016/08/snowden-pardon-petition-on-facebook.html":"2Q",
+ "/note/2018/01/ceci-n-est-qu-un-test-de-publication-websub.html":"8",
+ "/note/2017/01/because-protest-is-an-industry.html":"2n",
+ "/note/2018/08/demission-de-nicolas-hulot.html":"3_",
+ "/note/2016/11/indieweb-make-your-social-media-posts-open-first.html":"2z",
+ "/note/2016/02/what-is-it-about-society-that-disappoints-you-so-much.html":"3c",
+ "/note/2017/06/le-velo-cest-dangereux.html":"P",
"/note/2017/03/vider-le-filelist-dun-input-type-file.html":"28",
- "/note/2017/05/twitter-partage-vos-donnees-personnelles.html":"Q",
- "/note/2017/05/fai-associatifs-au-canada.html":"W",
- "/file/curriculum-vitae.html":"cv",
- "/note/2018/01/reflechissez-avant-de-poster.html":"3",
+ "/note/2018/05/gratuite-pour-l-indispensable.html":"3J",
+ "/note/2017/04/duckduckgo-hacks-for-developers.html":"Z",
+ "/note/2016/08/txti.html":"2_",
+ "/note/2020/02/etat-de-droit-mon-cul.html":"56",
"/note/2020/02/Etat-de-droit-mon-cul.html":"53",
- "/note/2017/03/poutine-et-bal-masque.html":"2g",
- "/note/2018/10/now-i-get-it-emacs-is-the-best.html":"49",
- "/note/2017/10/test-de-repost-en-posse-3.html":"v",
- "/note/2016/11/the-average-american-now-downloads-zero-apps-per-month.html":"2x",
- "/note/2017/12/mother-s-maiden-name-not-secure.html":"g",
- "/note/2018/07/tant-de-manieres-de-fuire.html":"3W",
- "/note/2019/04/rss-is-better-than-twitter.html":"4t",
+ "/note/2016/11/browsers-not-apps-are-the-future-of-mobile.html":"2y",
+ "/note/2017/03/revanche-des-librairies-independantes.html":"2h",
+ "/note/2016/08/nathalie-normandeau-et-la-radio-de-quebec.html":"2S",
+ "/note/2018/01/orbots-16th-makes-using-tor-on-android-better.html":"f",
+ "/note/2019/06/coreens-pour-enfer-russe.html":"4z",
+ "/note/2018/05/location-api-surveillance.html":"3L",
+ "/note/2019/04/essaie-du-theme-cyberpunk2019.html":"4w",
+ "/note/2018/10/design-of-lua.html":"4b",
+ "/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.html":"s",
+ "/note/2017/03/why-apple-avoid-the-gpl-3.html":"29",
"/note/2020/02/un-autre-test.html":"52",
- "/note/2019/08/our-deficiencies.html":"4B",
+ "/note/2018/07/madeleine-et-ses-vetements.html":"3V",
+ "/note/2020/02/le-travail.html":"55",
+ "/note/2017/05/twitter-partage-vos-donnees-personnelles.html":"Q",
+ "/note/2016/10/linux-foundation-takes-javascript-under-its-wings.html":"2C",
+ "/note/2018/06/youre-not-that-big-a-deal.html":"3P",
+ "/note/2018/04/le-temps-dune-chasse.html":"3C",
+ "/note/2018/02/ceci-est-le-test-1.html":"3p",
"/note/2017/10/why-we-sleep.html":"z",
- "/note/2018/01/ceci-n-est-qu-un-test-de-publication-websub.html":"8",
- "/note/2017/12/salut-bien-bas-aux-infimieres-et-infirmiers.html":"j",
- "/note/2020/03/decouverte-st-et-tmux.html":"57",
- "/note/2018/01/nos-courriels-pistes.html":"d",
- "/note/2017/10/setup-a-desktop-environment-under-openbsd-with-xfce.html":"s",
- "/note/2018/04/yo-yoyo.html":"3B",
- "/note/2018/01/an-introduction-to-the-indieweb.html":"c",
- "/note/2016/08/m4-as-css-pre-processor.html":"2Z",
+ "/note/2019/11/shell-script-compiler-et-surveiller-le-scss.html":"4J",
+ "/note/2017/04/fait-le-respirer-un-peu-ton-code.html":"2",
+ "/note/2016/08/shipping-is-a-feature.html":"2X",
+ "/note/2020/06/bye-bye-twitter.html":"5b",
+ "/note/2020/02/le-syndicalisme-selon-taillefer.html":"4W",
+ "/note/2018/01/premier-pullrequest-lua-accepte.html":"4",
+ "/note/2018/09/reponse-au-tweet-1043158958469537794.html":"46",
+ "/note/2019/06/je-me-souviens-la.html":"4y",
"/txt/emacs/2015/06/emacs-101-l-introduction.html":"3g",
- "/note/2018/05/linkedin-un-ramassi-tout-et-nimporte-quoi.html":"3M",
- "/note/2017/09/lesbricodeurs-replyto-status-909427743573577728.html":"C",
- "/note/2017/06/petite-contribution-bash-au-task-runner-manuel.html":"M",
- "/note/2017/03/github-and-copyleft.html":"26",
- "/note/2020/02/pixels-avec-decimals.html":"54",
- "/note/2017/05/utilisation-des-variables-css.html":"R",
- "/note/2016/12/le-travail-aujourdhui-est-en-voie-de-disparition.html":"2t",
- "/note/2017/06/le-velo-cest-dangereux.html":"P",
- "/note/2016/08/vimgifs-et-emacs_gifs.html":"2T",
+ "/note/2017/12/mother-s-maiden-name-not-secure.html":"g",
+ "/note/2020/03/decouverte-st-et-tmux.html":"57",
+ "/note/2018/04/cryptoqc-temoignage-de-zuckerberg.html":"3G",
+ "/note/2016/09/why-we-use-progressive-enhancement-to-build-gov-uk.html":"2G",
"/note/2017/04/updating-all-packages-in-go.html":"_",
- "/note/2018/09/reponse-au-tweet-1043158958469537794.html":"46",
- "/note/2018/11/plusieurs-remote-origin-avec-git.html":"4d",
- "/note/2018/09/merci-pierasselin-pour-le-retweet.html":"45",
- "/note/2018/01/test-vers-mastodon.html":"b",
- "/note/2017/11/rip-au-capitaine-crochet-de-la-pop-quebecoise.html":"q",
- "/note/2018/07/madeleine-et-ses-vetements.html":"3V",
- "/note/2020/02/xenophobie-vs-racisme.html":"4T",
- "/note/2017/01/lemprise-de-wallstreet-sur-trump.html":"2p",
- "/note/2016/05/jeunes-liberaux-ringards.html":"35",
- "/note/2020/02/le-syndicalisme-selon-taillefer.html":"4W",
- "/note/2016/09/ce-que-le-quebec-gagnerait-a-nationaliser-internet.html":"2J",
- "/note/2016/08/ssh-chat-server-written-ingo.html":"2R",
- "/note/2017/09/bacteries-communiqueraient-avec-des-decharges-electriques.html":"G",
+ "/txt/2014/04/bronto-politiciens-de-silos.html":"3j",
+ "/note/2018/01/nos-courriels-pistes.html":"d",
+ "/note/2020/02/jaime-regler-des-bogues.html":"4Q",
"/note/2017/05/mg-is-micro-gnu-emacs.html":"V",
- "/note/2019/09/dit-moi-de-quoi.html":"4D",
- "/note/2017/03/revanche-des-librairies-independantes.html":"2h",
- "/note/2017/03/si-les-etats-unis-envahissaient-le-canada.html":"2f",
- "/note/2017/01/because-protest-is-an-industry.html":"2n",
- "/ce-site-web-explique-markdown.html":"t",
- "/note/2017/04/fait-le-respirer-un-peu-ton-code.html":"2",
- "/note/2019/03/passe-a-openbsd-64.html":"4s",
- "/note/2017/10/reply-to-saralfddin93-for-status-914965952898457600.html":"w",
- "/txt/bash/2017/03/manuel-taskrunner.html":"2c",
- "/note/2018/07/does-meditation-work.html":"3X",
- "/note/2018/04/le-temps-dune-chasse.html":"3C",
- "/note/2016/03/javascript-vanille-underscorejs-font-selon-moi-une-excellente-quipe-youmightnotneedjquery-webdev.html":"39",
+ "/note/2017/01/3-500-proces-au-cours-des-30-dernieres-annees.html":"2k",
+ "/a-propos.html":"25",
+ "/note/2016/08/matane-budget-participatif.html":"2Y",
+ "/note/2017/09/le-poil-de-la-bete.html":"B",
+ "/note/2018/09/merci-pierasselin-pour-le-retweet.html":"45",
+ "/note/2019/04/essaie-du-theme-cyberpunk-2019.html":"4v",
+ "/note/2017/09/lesbricodeurs-jaime-votre-nom.html":"D",
+ "/now.html":"4V",
"/note/2018/02/return-of-the-decentralized-web.html":"3t",
- "/note/2017/12/openbsd-mise-a-jour-reussie.html":"n",
- "/note/2016/10/linux-foundation-takes-javascript-under-its-wings.html":"2C",
- "/note/2017/06/100-millions-de-certificats-pour-lets-encrypt.html":"J",
- "/note/2016/05/justin-jackson-is-a-fucking-webmaster.html":"34",
- "/note/2018/04/parti-rhinoceros-sur-wikipedia.html":"3D",
- "/note/2016/04/encore-une-fois-je-viens-de-supprimer-mon-compte-facebook.html":"38",
- "/note/2020/02/jonathan-wilkinson-ensuite-steven-guilbeault.html":"4R",
- "/txt/2014/09/mes-logiciels-libres-preferes.html":"3h",
- "/note/2020/02/le-travail.html":"55",
- "/note/2019/06/je-me-souviens-la.html":"4y",
- "/note/2018/06/cotoyer-l-art-vivant-statique.html":"3S",
- "/note/2016/08/openbsd-pour-tous.html":"2N",
- "/note/2017/03/animista-css-animations-on-demand.html":"23",
- "/note/2019/01/why-im-worried-about-google.html":"4n",
- "/note/2019/11/shell-script-compiler-et-surveiller-le-scss.html":"4J",
- "/note/2017/03/why-apple-avoid-the-gpl-3.html":"29",
+ "/note/2016/05/firefox-print-background-color.html":"33",
+ "/note/2017/06/sesame-street-lgbt-pride.html":"L",
+ "/note/2018/01/an-introduction-to-the-indieweb.html":"c",
+ "/note/2017/03/si-les-etats-unis-envahissaient-le-canada.html":"2f",
"/note/2016/08/quoi-ce-n-est-pas-des-femmes-grenouilles.html":"2L",
- "/note/2019/12/cactus-pour-capter-l-humidite.html":"4H",
- "/note/2020/02/jaime-regler-des-bogues.html":"4Q",
- "/note/2018/06/velo-chutes-polices-et-escargots.html":"3Q",
- "/note/2018/05/location-api-surveillance.html":"3L",
- "/note/2016/09/internet-3-0-peut-on-reprendre-le-controle-des-geants.html":"2H",
- "/note/2018/12/goodbye-edgehtml.html":"4h",
- "/note/2018/05/robespierre-les-subsistances-1792.html":"3H",
- "/note/2018/04/cryptoqc-temoignage-de-zuckerberg.html":"3G",
+ "/note/2018/12/lisp-is-ugly-not.html":"4g",
+ "/txt/2020/04/autoheberger-ses-depots-git.html":"58",
+ "/note/2020/02/si-jetais-les-femmes.html":"4L",
+ "/note/2016/08/pokemon-go-et-societe-de-surveillance.html":"2P",
+ "/note/2017/01/la-ville-facteur-majeur-d-evolution-des-especes.html":"2q",
+ "/note/2017/09/barbares-se-substitus-aux-piliers.html":"F",
+ "/note/2016/08/everybody-should-be-twitter-verified.html":"2W",
+ "/note/2018/07/does-meditation-work.html":"3X",
+ "/note/2017/03/appnet-is-another-silo-who-is-shutting-down.html":"27",
"/note/2017/03/vuejs-templates-a-maintenant-son-mode-dans-emacs.html":"2d",
- "/note/2018/07/vive-le-quebec-vive-la-creation-vive-luniversel.html":"3Y",
- "/note/2020/02/confiture-dabricot.html":"4K",
- "/note/2016/05/indieweb-in-a-nutshellown-your-identity-domain-website-content-uiux.html":"36",
- "/txt/2014/02/les-partis-politiques-nuisent-ils-a-la-democratie.html":"3k",
- "/note/2017/10/openbsd-6.2-sen-vient-a-la-mi-octobre.html":"x",
- "/note/2020/02/power-of-passive.html":"4Y",
- "/note/2016/09/why-we-use-progressive-enhancement-to-build-gov-uk.html":"2G",
- "/note/2018/02/ah-zut-va-falloir-que-je-m-assume.html":"3s",
- "/note/2017/05/switching-to-openbsd.html":"Y",
- "/note/2018/01/premier-pullrequest-lua-accepte.html":"4",
- "/note/2018/08/demission-de-nicolas-hulot.html":"3_",
- "/note/2017/06/sesame-street-lgbt-pride.html":"L",
- "/note/2020/02/test-websub.html":"5"
+ "/note/2017/12/betty-davis-is-wonderwoman.html":"m",
+ "/note/2018/01/test-vers-mastodon-v2.html":"9",
+ "/note/2016/08/openbsd-pour-tous.html":"2N",
+ "/note/2017/05/retirer-la-couche-pandoc-de-fakestache-ssg.html":"S",
+ "/note/2019/08/react.html":"4C",
+ "/note/2018/04/parti-rhinoceros-sur-wikipedia.html":"3D"
}
\ No newline at end of file