hugo.soucy.cc

The personnal website source code of Hugo Soucy. Creates from an homebrewed static website generator (Ferron).
Log | Files | Refs

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:
DDOC.md | 102-------------------------------------------------------------------------------
MTODO.md | 10+++++++---
Mconfig.lua | 20++++++++++----------
Dcontent/ce-site-web-explique-markdown.json | 8--------
Dcontent/ce-site-web-explique-markdown.md | 5-----
Acontent/ferron.json | 8++++++++
Acontent/ferron.md | 107+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontent/note/2020/06/adieu-linkedin.json | 8++++++++
Acontent/note/2020/06/adieu-linkedin.md | 4++++
Acontent/note/2020/06/bye-bye-twitter.json | 8++++++++
Acontent/note/2020/06/bye-bye-twitter.md | 18++++++++++++++++++
Mdata/shortlinks.json | 367++++++++++++++++++++++++++++++++++++++++---------------------------------------
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&#39;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