pages.adoc = \ src/content/de/musik.adoc \ src/content/de/ueber.adoc \ src/content/en/about.adoc \ src/content/en/music.adoc \ src/content/eo/muziko.adoc \ src/content/eo/pri.adoc \ src/content/es/acerca.adoc \ src/content/es/musica.adoc \ src/content/fr/a-propos.adoc \ src/content/fr/musique.adoc \ src/content/pt/musica.adoc \ src/content/pt/sobre.adoc \ homes.adoc = \ src/content/de/index.adoc \ src/content/en/index.adoc \ src/content/eo/index.adoc \ src/content/es/index.adoc \ src/content/fr/index.adoc \ src/content/pt/index.adoc \ articles.adoc = \ src/content/en/blog/2018/07/17/guix-nixos.adoc \ src/content/en/blog/2018/08/01/npm-ci-reproducibility.adoc \ src/content/en/blog/2018/12/21/ytdl-subs.adoc \ src/content/en/blog/2019/06/02/nixos-stateless-workstation.adoc \ src/content/en/blog/2020/08/10/guix-srht.adoc \ src/content/en/blog/2020/08/31/database-i-wish-i-had.adoc \ src/content/en/blog/2020/10/05/cargo2nix.adoc \ src/content/en/blog/2020/10/05/swift2nix.adoc \ src/content/en/blog/2020/10/19/feature-flags.adoc \ src/content/en/blog/2020/10/20/wrong-interviewing.adoc \ src/content/en/blog/2020/11/07/diy-bugs.adoc \ src/content/en/blog/2020/11/08/paradigm-shift-review.adoc \ src/content/en/blog/2020/11/12/database-parsers-trees.adoc \ src/content/en/blog/2020/11/14/local-first-review.adoc \ src/content/en/blog/2021/01/26/remembering-ann.adoc \ src/content/en/blog/2021/02/17/fallible.adoc \ src/content/en/blog/2021/04/29/relational-review.adoc \ src/content/en/pastebin/2016/04/05/rpn.adoc \ src/content/en/pastebin/2018/07/11/nix-pinning.adoc \ src/content/en/pastebin/2018/07/13/guix-nixos-systemd.adoc \ src/content/en/pastebin/2018/07/13/guixbuilder-nixos.adoc \ src/content/en/pastebin/2018/07/13/guixbuilder.adoc \ src/content/en/pastebin/2018/07/13/nix-strpad.adoc \ src/content/en/pastebin/2018/07/25/nix-exps.adoc \ src/content/en/pastebin/2018/07/25/nix-showdrv.adoc \ src/content/en/pastebin/2019/06/08/inconsistent-hash.adoc \ src/content/en/pastebin/2019/12/29/raku-tuple-type.adoc \ src/content/en/pastebin/2020/01/04/guix-import-failure.adoc \ src/content/en/pastebin/2020/02/14/guix-shebang.adoc \ src/content/en/pastebin/2020/11/27/guix-build-local.adoc \ src/content/en/pastebin/2020/12/15/guix-pack-fail.adoc \ src/content/en/pastebin/2021/04/03/naive-slugify-js.adoc \ src/content/en/pastebin/2021/06/08/reading-session-pt1.adoc \ src/content/en/pastebin/2021/06/22/curl-wget.adoc \ src/content/en/pastebin/2021/08/11/h1-spacing.adoc \ src/content/en/pastebin/2021/09/02/sicp-3-19.adoc \ src/content/en/pastebin/2021/09/03/sicp-persistent-queue.adoc \ src/content/en/pastebin/2022/07/14/git-cleanup.adoc \ src/content/en/pastebin/2023/07/22/funcallable-amop.adoc \ src/content/en/podcast/2020/12/19/test-entry.adoc \ src/content/en/screencast/2021/02/07/autoqemu.adoc \ src/content/en/slide/2020/10/19/feature-flags.adoc \ src/content/en/slide/2020/11/14/local-first-hype.adoc \ src/content/en/til/2020/08/12/filename-timestamp.adoc \ src/content/en/til/2020/08/13/code-jekyll.adoc \ src/content/en/til/2020/08/14/browse-git.adoc \ src/content/en/til/2020/08/16/git-search.adoc \ src/content/en/til/2020/08/28/grep-online.adoc \ src/content/en/til/2020/09/04/cli-email-fun-profit.adoc \ src/content/en/til/2020/09/05/oldschool-pr.adoc \ src/content/en/til/2020/10/11/search-git-history.adoc \ src/content/en/til/2020/11/08/find-broken-symlink.adoc \ src/content/en/til/2020/11/12/diy-nix-bash-ci.adoc \ src/content/en/til/2020/11/12/git-bisect-automation.adoc \ src/content/en/til/2020/11/12/useful-bashvars.adoc \ src/content/en/til/2020/11/14/gpodder-media.adoc \ src/content/en/til/2020/11/30/git-notes-ci.adoc \ src/content/en/til/2020/12/15/shellcheck-repo.adoc \ src/content/en/til/2020/12/29/svg.adoc \ src/content/en/til/2021/01/12/curl-awk-emails.adoc \ src/content/en/til/2021/01/17/posix-shebang.adoc \ src/content/en/til/2021/04/24/cl-generic-precedence.adoc \ src/content/en/til/2021/04/24/clojure-autocurry.adoc \ src/content/en/til/2021/04/24/scm-nif.adoc \ src/content/en/til/2021/07/23/git-tls-gpg.adoc \ src/content/en/til/2021/08/11/js-bigint-reviver.adoc \ src/content/pt/hea/2020/08/12/arquivo-datado.adoc \ slides.eslaides = \ src/content/en/slide/2020/10/19/feature-flags.eslaides \ src/content/en/slide/2020/11/14/local-first-hype.eslaides \ categories.adoc = \ src/content/de/blog/kategorien.adoc \ src/content/de/folien/kategorien.adoc \ src/content/de/hhg/kategorien.adoc \ src/content/de/pastebin/kategorien.adoc \ src/content/de/podcast/kategorien.adoc \ src/content/de/screencast/kategorien.adoc \ src/content/en/blog/categories.adoc \ src/content/en/pastebin/categories.adoc \ src/content/en/podcast/categories.adoc \ src/content/en/screencast/categories.adoc \ src/content/en/slide/categories.adoc \ src/content/en/til/categories.adoc \ src/content/eo/blog/kategorioj.adoc \ src/content/eo/hml/kategorioj.adoc \ src/content/eo/lumbildoj/kategorioj.adoc \ src/content/eo/pastebin/kategorioj.adoc \ src/content/eo/podkasto/kategorioj.adoc \ src/content/eo/screencast/kategorioj.adoc \ src/content/es/blog/categorias.adoc \ src/content/es/diapositivas/categorias.adoc \ src/content/es/haa/categorias.adoc \ src/content/es/pastebin/categorias.adoc \ src/content/es/podcast/categorias.adoc \ src/content/es/screencast/categorias.adoc \ src/content/fr/aja/categories.adoc \ src/content/fr/blog/categories.adoc \ src/content/fr/diapositives/categories.adoc \ src/content/fr/pastebin/categories.adoc \ src/content/fr/podcast/categories.adoc \ src/content/fr/screencast/categories.adoc \ src/content/pt/blog/categorias.adoc \ src/content/pt/eslaides/categorias.adoc \ src/content/pt/hea/categorias.adoc \ src/content/pt/pastebin/categorias.adoc \ src/content/pt/podcast/categorias.adoc \ src/content/pt/screencast/categorias.adoc \ indexes.adoc = \ src/content/de/blog/index.adoc \ src/content/de/folien/index.adoc \ src/content/de/hhg/index.adoc \ src/content/de/pastebin/index.adoc \ src/content/de/podcast/index.adoc \ src/content/de/screencast/index.adoc \ src/content/en/blog/index.adoc \ src/content/en/pastebin/index.adoc \ src/content/en/podcast/index.adoc \ src/content/en/screencast/index.adoc \ src/content/en/slide/index.adoc \ src/content/en/til/index.adoc \ src/content/eo/blog/index.adoc \ src/content/eo/hml/index.adoc \ src/content/eo/lumbildoj/index.adoc \ src/content/eo/pastebin/index.adoc \ src/content/eo/podkasto/index.adoc \ src/content/eo/screencast/index.adoc \ src/content/es/blog/index.adoc \ src/content/es/diapositivas/index.adoc \ src/content/es/haa/index.adoc \ src/content/es/pastebin/index.adoc \ src/content/es/podcast/index.adoc \ src/content/es/screencast/index.adoc \ src/content/fr/aja/index.adoc \ src/content/fr/blog/index.adoc \ src/content/fr/diapositives/index.adoc \ src/content/fr/pastebin/index.adoc \ src/content/fr/podcast/index.adoc \ src/content/fr/screencast/index.adoc \ src/content/pt/blog/index.adoc \ src/content/pt/eslaides/index.adoc \ src/content/pt/hea/index.adoc \ src/content/pt/pastebin/index.adoc \ src/content/pt/podcast/index.adoc \ src/content/pt/screencast/index.adoc \ feeds.xml = \ src/content/de/blog/feed.xml \ src/content/de/folien/feed.xml \ src/content/de/hhg/feed.xml \ src/content/de/pastebin/feed.xml \ src/content/de/podcast/feed.xml \ src/content/de/screencast/feed.xml \ src/content/en/blog/feed.xml \ src/content/en/pastebin/feed.xml \ src/content/en/podcast/feed.xml \ src/content/en/screencast/feed.xml \ src/content/en/slide/feed.xml \ src/content/en/til/feed.xml \ src/content/eo/blog/feed.xml \ src/content/eo/hml/feed.xml \ src/content/eo/lumbildoj/feed.xml \ src/content/eo/pastebin/feed.xml \ src/content/eo/podkasto/feed.xml \ src/content/eo/screencast/feed.xml \ src/content/es/blog/feed.xml \ src/content/es/diapositivas/feed.xml \ src/content/es/haa/feed.xml \ src/content/es/pastebin/feed.xml \ src/content/es/podcast/feed.xml \ src/content/es/screencast/feed.xml \ src/content/fr/aja/feed.xml \ src/content/fr/blog/feed.xml \ src/content/fr/diapositives/feed.xml \ src/content/fr/pastebin/feed.xml \ src/content/fr/podcast/feed.xml \ src/content/fr/screencast/feed.xml \ src/content/pt/blog/feed.xml \ src/content/pt/eslaides/feed.xml \ src/content/pt/hea/feed.xml \ src/content/pt/pastebin/feed.xml \ src/content/pt/podcast/feed.xml \ src/content/pt/screencast/feed.xml \ images.svg = \ src/content/img/atom.svg \ src/content/img/envelope/dark.svg \ src/content/img/envelope/light.svg \ src/content/img/favicon.svg \ src/content/img/link/dark.svg \ src/content/img/link/light.svg \ src/content/img/lock/dark.svg \ src/content/img/lock/light.svg \ src/content/img/logo/dark.svg \ src/content/img/logo/light.svg \ src/content/img/thumb/dark.svg \ src/content/img/thumb/light.svg \ src/content/img/wordmark/dark.svg \ src/content/img/wordmark/light.svg \ sources.media = \ src/content/en/podcast/2020/12/19/test-entry.flac \ src/content/en/podcast/2020/12/19/test-entry.ogg \ src/content/en/screencast/2021/02/07/autoqemu.webm \ sources.tarballs = \ src/content/en/blog/2020/10/05/cargo2nix-demo.tar.gz \ src/content/en/blog/2020/10/05/cargo2nix.tar.gz \ src/content/en/blog/2020/10/05/swift2nix-demo.tar.gz \ src/content/en/blog/2020/10/05/swift2nix.tar.gz \ src/content/en/blog/2021/02/17/fallible.tar.gz \ src/content/en/screencast/2021/02/07/autoqemu.tar.gz \ sources.extras = \ src/content/en/blog/2020/10/05/cargo2nix-demo.tar.gz \ src/content/en/blog/2020/10/05/cargo2nix.tar.gz \ src/content/en/blog/2020/10/05/swift2nix-demo.tar.gz \ src/content/en/blog/2020/10/05/swift2nix.tar.gz \ src/content/en/blog/2021/02/17/fallible.tar.gz \ src/content/en/podcast/2020/12/19/test-entry.flac \ src/content/en/podcast/2020/12/19/test-entry.ogg \ src/content/en/screencast/2021/02/07/autoqemu.tar.gz \ src/content/en/screencast/2021/02/07/autoqemu.webm \ sources.po = \ po/de.po \ po/en.po \ po/eo.po \ po/es.po \ po/euandre.org.pot \ po/fr.po \ po/pt.po \ music.ly = \ src/content/music/choro-da-saudade.ly \ src/content/music/dengoso.ly \ src/content/music/marcha-dos-marinheiros.ly \ music.ogg = \ src/content/music/choro-da-saudade.ogg \ src/content/music/dengoso.ogg \ src/content/music/marcha-dos-marinheiros.ogg \ music.include = \ src/content/music/common.ly.include \ src/content/music/guitar.ly.include \ src/content/music/choro-da-saudade.pdf: src/content/music/choro-da-saudade.midi src/content/music/dengoso.pdf: src/content/music/dengoso.midi src/content/music/marcha-dos-marinheiros.pdf: src/content/music/marcha-dos-marinheiros.midi src/content/de/musik.htmlbody src/content/de/musik.snippets src/content/de/musik.json: src/content/de/musik.adoc src/content/de/ueber.htmlbody src/content/de/ueber.snippets src/content/de/ueber.json: src/content/de/ueber.adoc src/content/en/about.htmlbody src/content/en/about.snippets src/content/en/about.json: src/content/en/about.adoc src/content/en/music.htmlbody src/content/en/music.snippets src/content/en/music.json: src/content/en/music.adoc src/content/eo/muziko.htmlbody src/content/eo/muziko.snippets src/content/eo/muziko.json: src/content/eo/muziko.adoc src/content/eo/pri.htmlbody src/content/eo/pri.snippets src/content/eo/pri.json: src/content/eo/pri.adoc src/content/es/acerca.htmlbody src/content/es/acerca.snippets src/content/es/acerca.json: src/content/es/acerca.adoc src/content/es/musica.htmlbody src/content/es/musica.snippets src/content/es/musica.json: src/content/es/musica.adoc src/content/fr/a-propos.htmlbody src/content/fr/a-propos.snippets src/content/fr/a-propos.json: src/content/fr/a-propos.adoc src/content/fr/musique.htmlbody src/content/fr/musique.snippets src/content/fr/musique.json: src/content/fr/musique.adoc src/content/pt/musica.htmlbody src/content/pt/musica.snippets src/content/pt/musica.json: src/content/pt/musica.adoc src/content/pt/sobre.htmlbody src/content/pt/sobre.snippets src/content/pt/sobre.json: src/content/pt/sobre.adoc src/content/en/blog/2018/07/17/guix-nixos.htmlbody src/content/en/blog/2018/07/17/guix-nixos.snippets src/content/en/blog/2018/07/17/guix-nixos.json: src/content/en/blog/2018/07/17/guix-nixos.adoc src/content/en/blog/2018/08/01/npm-ci-reproducibility.htmlbody src/content/en/blog/2018/08/01/npm-ci-reproducibility.snippets src/content/en/blog/2018/08/01/npm-ci-reproducibility.json: src/content/en/blog/2018/08/01/npm-ci-reproducibility.adoc src/content/en/blog/2018/12/21/ytdl-subs.htmlbody src/content/en/blog/2018/12/21/ytdl-subs.snippets src/content/en/blog/2018/12/21/ytdl-subs.json: src/content/en/blog/2018/12/21/ytdl-subs.adoc src/content/en/blog/2019/06/02/nixos-stateless-workstation.htmlbody src/content/en/blog/2019/06/02/nixos-stateless-workstation.snippets src/content/en/blog/2019/06/02/nixos-stateless-workstation.json: src/content/en/blog/2019/06/02/nixos-stateless-workstation.adoc src/content/en/blog/2020/08/10/guix-srht.htmlbody src/content/en/blog/2020/08/10/guix-srht.snippets src/content/en/blog/2020/08/10/guix-srht.json: src/content/en/blog/2020/08/10/guix-srht.adoc src/content/en/blog/2020/08/31/database-i-wish-i-had.htmlbody src/content/en/blog/2020/08/31/database-i-wish-i-had.snippets src/content/en/blog/2020/08/31/database-i-wish-i-had.json: src/content/en/blog/2020/08/31/database-i-wish-i-had.adoc src/content/en/blog/2020/10/05/cargo2nix.htmlbody src/content/en/blog/2020/10/05/cargo2nix.snippets src/content/en/blog/2020/10/05/cargo2nix.json: src/content/en/blog/2020/10/05/cargo2nix.adoc src/content/en/blog/2020/10/05/swift2nix.htmlbody src/content/en/blog/2020/10/05/swift2nix.snippets src/content/en/blog/2020/10/05/swift2nix.json: src/content/en/blog/2020/10/05/swift2nix.adoc src/content/en/blog/2020/10/19/feature-flags.htmlbody src/content/en/blog/2020/10/19/feature-flags.snippets src/content/en/blog/2020/10/19/feature-flags.json: src/content/en/blog/2020/10/19/feature-flags.adoc src/content/en/blog/2020/10/20/wrong-interviewing.htmlbody src/content/en/blog/2020/10/20/wrong-interviewing.snippets src/content/en/blog/2020/10/20/wrong-interviewing.json: src/content/en/blog/2020/10/20/wrong-interviewing.adoc src/content/en/blog/2020/11/07/diy-bugs.htmlbody src/content/en/blog/2020/11/07/diy-bugs.snippets src/content/en/blog/2020/11/07/diy-bugs.json: src/content/en/blog/2020/11/07/diy-bugs.adoc src/content/en/blog/2020/11/08/paradigm-shift-review.htmlbody src/content/en/blog/2020/11/08/paradigm-shift-review.snippets src/content/en/blog/2020/11/08/paradigm-shift-review.json: src/content/en/blog/2020/11/08/paradigm-shift-review.adoc src/content/en/blog/2020/11/12/database-parsers-trees.htmlbody src/content/en/blog/2020/11/12/database-parsers-trees.snippets src/content/en/blog/2020/11/12/database-parsers-trees.json: src/content/en/blog/2020/11/12/database-parsers-trees.adoc src/content/en/blog/2020/11/14/local-first-review.htmlbody src/content/en/blog/2020/11/14/local-first-review.snippets src/content/en/blog/2020/11/14/local-first-review.json: src/content/en/blog/2020/11/14/local-first-review.adoc src/content/en/blog/2021/01/26/remembering-ann.htmlbody src/content/en/blog/2021/01/26/remembering-ann.snippets src/content/en/blog/2021/01/26/remembering-ann.json: src/content/en/blog/2021/01/26/remembering-ann.adoc src/content/en/blog/2021/02/17/fallible.htmlbody src/content/en/blog/2021/02/17/fallible.snippets src/content/en/blog/2021/02/17/fallible.json: src/content/en/blog/2021/02/17/fallible.adoc src/content/en/blog/2021/04/29/relational-review.htmlbody src/content/en/blog/2021/04/29/relational-review.snippets src/content/en/blog/2021/04/29/relational-review.json: src/content/en/blog/2021/04/29/relational-review.adoc src/content/en/pastebin/2016/04/05/rpn.htmlbody src/content/en/pastebin/2016/04/05/rpn.snippets src/content/en/pastebin/2016/04/05/rpn.json: src/content/en/pastebin/2016/04/05/rpn.adoc src/content/en/pastebin/2018/07/11/nix-pinning.htmlbody src/content/en/pastebin/2018/07/11/nix-pinning.snippets src/content/en/pastebin/2018/07/11/nix-pinning.json: src/content/en/pastebin/2018/07/11/nix-pinning.adoc src/content/en/pastebin/2018/07/13/guix-nixos-systemd.htmlbody src/content/en/pastebin/2018/07/13/guix-nixos-systemd.snippets src/content/en/pastebin/2018/07/13/guix-nixos-systemd.json: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.adoc src/content/en/pastebin/2018/07/13/guixbuilder-nixos.htmlbody src/content/en/pastebin/2018/07/13/guixbuilder-nixos.snippets src/content/en/pastebin/2018/07/13/guixbuilder-nixos.json: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.adoc src/content/en/pastebin/2018/07/13/guixbuilder.htmlbody src/content/en/pastebin/2018/07/13/guixbuilder.snippets src/content/en/pastebin/2018/07/13/guixbuilder.json: src/content/en/pastebin/2018/07/13/guixbuilder.adoc src/content/en/pastebin/2018/07/13/nix-strpad.htmlbody src/content/en/pastebin/2018/07/13/nix-strpad.snippets src/content/en/pastebin/2018/07/13/nix-strpad.json: src/content/en/pastebin/2018/07/13/nix-strpad.adoc src/content/en/pastebin/2018/07/25/nix-exps.htmlbody src/content/en/pastebin/2018/07/25/nix-exps.snippets src/content/en/pastebin/2018/07/25/nix-exps.json: src/content/en/pastebin/2018/07/25/nix-exps.adoc src/content/en/pastebin/2018/07/25/nix-showdrv.htmlbody src/content/en/pastebin/2018/07/25/nix-showdrv.snippets src/content/en/pastebin/2018/07/25/nix-showdrv.json: src/content/en/pastebin/2018/07/25/nix-showdrv.adoc src/content/en/pastebin/2019/06/08/inconsistent-hash.htmlbody src/content/en/pastebin/2019/06/08/inconsistent-hash.snippets src/content/en/pastebin/2019/06/08/inconsistent-hash.json: src/content/en/pastebin/2019/06/08/inconsistent-hash.adoc src/content/en/pastebin/2019/12/29/raku-tuple-type.htmlbody src/content/en/pastebin/2019/12/29/raku-tuple-type.snippets src/content/en/pastebin/2019/12/29/raku-tuple-type.json: src/content/en/pastebin/2019/12/29/raku-tuple-type.adoc src/content/en/pastebin/2020/01/04/guix-import-failure.htmlbody src/content/en/pastebin/2020/01/04/guix-import-failure.snippets src/content/en/pastebin/2020/01/04/guix-import-failure.json: src/content/en/pastebin/2020/01/04/guix-import-failure.adoc src/content/en/pastebin/2020/02/14/guix-shebang.htmlbody src/content/en/pastebin/2020/02/14/guix-shebang.snippets src/content/en/pastebin/2020/02/14/guix-shebang.json: src/content/en/pastebin/2020/02/14/guix-shebang.adoc src/content/en/pastebin/2020/11/27/guix-build-local.htmlbody src/content/en/pastebin/2020/11/27/guix-build-local.snippets src/content/en/pastebin/2020/11/27/guix-build-local.json: src/content/en/pastebin/2020/11/27/guix-build-local.adoc src/content/en/pastebin/2020/12/15/guix-pack-fail.htmlbody src/content/en/pastebin/2020/12/15/guix-pack-fail.snippets src/content/en/pastebin/2020/12/15/guix-pack-fail.json: src/content/en/pastebin/2020/12/15/guix-pack-fail.adoc src/content/en/pastebin/2021/04/03/naive-slugify-js.htmlbody src/content/en/pastebin/2021/04/03/naive-slugify-js.snippets src/content/en/pastebin/2021/04/03/naive-slugify-js.json: src/content/en/pastebin/2021/04/03/naive-slugify-js.adoc src/content/en/pastebin/2021/06/08/reading-session-pt1.htmlbody src/content/en/pastebin/2021/06/08/reading-session-pt1.snippets src/content/en/pastebin/2021/06/08/reading-session-pt1.json: src/content/en/pastebin/2021/06/08/reading-session-pt1.adoc src/content/en/pastebin/2021/06/22/curl-wget.htmlbody src/content/en/pastebin/2021/06/22/curl-wget.snippets src/content/en/pastebin/2021/06/22/curl-wget.json: src/content/en/pastebin/2021/06/22/curl-wget.adoc src/content/en/pastebin/2021/08/11/h1-spacing.htmlbody src/content/en/pastebin/2021/08/11/h1-spacing.snippets src/content/en/pastebin/2021/08/11/h1-spacing.json: src/content/en/pastebin/2021/08/11/h1-spacing.adoc src/content/en/pastebin/2021/09/02/sicp-3-19.htmlbody src/content/en/pastebin/2021/09/02/sicp-3-19.snippets src/content/en/pastebin/2021/09/02/sicp-3-19.json: src/content/en/pastebin/2021/09/02/sicp-3-19.adoc src/content/en/pastebin/2021/09/03/sicp-persistent-queue.htmlbody src/content/en/pastebin/2021/09/03/sicp-persistent-queue.snippets src/content/en/pastebin/2021/09/03/sicp-persistent-queue.json: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.adoc src/content/en/pastebin/2022/07/14/git-cleanup.htmlbody src/content/en/pastebin/2022/07/14/git-cleanup.snippets src/content/en/pastebin/2022/07/14/git-cleanup.json: src/content/en/pastebin/2022/07/14/git-cleanup.adoc src/content/en/pastebin/2023/07/22/funcallable-amop.htmlbody src/content/en/pastebin/2023/07/22/funcallable-amop.snippets src/content/en/pastebin/2023/07/22/funcallable-amop.json: src/content/en/pastebin/2023/07/22/funcallable-amop.adoc src/content/en/podcast/2020/12/19/test-entry.htmlbody src/content/en/podcast/2020/12/19/test-entry.snippets src/content/en/podcast/2020/12/19/test-entry.json: src/content/en/podcast/2020/12/19/test-entry.adoc src/content/en/screencast/2021/02/07/autoqemu.htmlbody src/content/en/screencast/2021/02/07/autoqemu.snippets src/content/en/screencast/2021/02/07/autoqemu.json: src/content/en/screencast/2021/02/07/autoqemu.adoc src/content/en/slide/2020/10/19/feature-flags.htmlbody src/content/en/slide/2020/10/19/feature-flags.snippets src/content/en/slide/2020/10/19/feature-flags.json: src/content/en/slide/2020/10/19/feature-flags.adoc src/content/en/slide/2020/11/14/local-first-hype.htmlbody src/content/en/slide/2020/11/14/local-first-hype.snippets src/content/en/slide/2020/11/14/local-first-hype.json: src/content/en/slide/2020/11/14/local-first-hype.adoc src/content/en/til/2020/08/12/filename-timestamp.htmlbody src/content/en/til/2020/08/12/filename-timestamp.snippets src/content/en/til/2020/08/12/filename-timestamp.json: src/content/en/til/2020/08/12/filename-timestamp.adoc src/content/en/til/2020/08/13/code-jekyll.htmlbody src/content/en/til/2020/08/13/code-jekyll.snippets src/content/en/til/2020/08/13/code-jekyll.json: src/content/en/til/2020/08/13/code-jekyll.adoc src/content/en/til/2020/08/14/browse-git.htmlbody src/content/en/til/2020/08/14/browse-git.snippets src/content/en/til/2020/08/14/browse-git.json: src/content/en/til/2020/08/14/browse-git.adoc src/content/en/til/2020/08/16/git-search.htmlbody src/content/en/til/2020/08/16/git-search.snippets src/content/en/til/2020/08/16/git-search.json: src/content/en/til/2020/08/16/git-search.adoc src/content/en/til/2020/08/28/grep-online.htmlbody src/content/en/til/2020/08/28/grep-online.snippets src/content/en/til/2020/08/28/grep-online.json: src/content/en/til/2020/08/28/grep-online.adoc src/content/en/til/2020/09/04/cli-email-fun-profit.htmlbody src/content/en/til/2020/09/04/cli-email-fun-profit.snippets src/content/en/til/2020/09/04/cli-email-fun-profit.json: src/content/en/til/2020/09/04/cli-email-fun-profit.adoc src/content/en/til/2020/09/05/oldschool-pr.htmlbody src/content/en/til/2020/09/05/oldschool-pr.snippets src/content/en/til/2020/09/05/oldschool-pr.json: src/content/en/til/2020/09/05/oldschool-pr.adoc src/content/en/til/2020/10/11/search-git-history.htmlbody src/content/en/til/2020/10/11/search-git-history.snippets src/content/en/til/2020/10/11/search-git-history.json: src/content/en/til/2020/10/11/search-git-history.adoc src/content/en/til/2020/11/08/find-broken-symlink.htmlbody src/content/en/til/2020/11/08/find-broken-symlink.snippets src/content/en/til/2020/11/08/find-broken-symlink.json: src/content/en/til/2020/11/08/find-broken-symlink.adoc src/content/en/til/2020/11/12/diy-nix-bash-ci.htmlbody src/content/en/til/2020/11/12/diy-nix-bash-ci.snippets src/content/en/til/2020/11/12/diy-nix-bash-ci.json: src/content/en/til/2020/11/12/diy-nix-bash-ci.adoc src/content/en/til/2020/11/12/git-bisect-automation.htmlbody src/content/en/til/2020/11/12/git-bisect-automation.snippets src/content/en/til/2020/11/12/git-bisect-automation.json: src/content/en/til/2020/11/12/git-bisect-automation.adoc src/content/en/til/2020/11/12/useful-bashvars.htmlbody src/content/en/til/2020/11/12/useful-bashvars.snippets src/content/en/til/2020/11/12/useful-bashvars.json: src/content/en/til/2020/11/12/useful-bashvars.adoc src/content/en/til/2020/11/14/gpodder-media.htmlbody src/content/en/til/2020/11/14/gpodder-media.snippets src/content/en/til/2020/11/14/gpodder-media.json: src/content/en/til/2020/11/14/gpodder-media.adoc src/content/en/til/2020/11/30/git-notes-ci.htmlbody src/content/en/til/2020/11/30/git-notes-ci.snippets src/content/en/til/2020/11/30/git-notes-ci.json: src/content/en/til/2020/11/30/git-notes-ci.adoc src/content/en/til/2020/12/15/shellcheck-repo.htmlbody src/content/en/til/2020/12/15/shellcheck-repo.snippets src/content/en/til/2020/12/15/shellcheck-repo.json: src/content/en/til/2020/12/15/shellcheck-repo.adoc src/content/en/til/2020/12/29/svg.htmlbody src/content/en/til/2020/12/29/svg.snippets src/content/en/til/2020/12/29/svg.json: src/content/en/til/2020/12/29/svg.adoc src/content/en/til/2021/01/12/curl-awk-emails.htmlbody src/content/en/til/2021/01/12/curl-awk-emails.snippets src/content/en/til/2021/01/12/curl-awk-emails.json: src/content/en/til/2021/01/12/curl-awk-emails.adoc src/content/en/til/2021/01/17/posix-shebang.htmlbody src/content/en/til/2021/01/17/posix-shebang.snippets src/content/en/til/2021/01/17/posix-shebang.json: src/content/en/til/2021/01/17/posix-shebang.adoc src/content/en/til/2021/04/24/cl-generic-precedence.htmlbody src/content/en/til/2021/04/24/cl-generic-precedence.snippets src/content/en/til/2021/04/24/cl-generic-precedence.json: src/content/en/til/2021/04/24/cl-generic-precedence.adoc src/content/en/til/2021/04/24/clojure-autocurry.htmlbody src/content/en/til/2021/04/24/clojure-autocurry.snippets src/content/en/til/2021/04/24/clojure-autocurry.json: src/content/en/til/2021/04/24/clojure-autocurry.adoc src/content/en/til/2021/04/24/scm-nif.htmlbody src/content/en/til/2021/04/24/scm-nif.snippets src/content/en/til/2021/04/24/scm-nif.json: src/content/en/til/2021/04/24/scm-nif.adoc src/content/en/til/2021/07/23/git-tls-gpg.htmlbody src/content/en/til/2021/07/23/git-tls-gpg.snippets src/content/en/til/2021/07/23/git-tls-gpg.json: src/content/en/til/2021/07/23/git-tls-gpg.adoc src/content/en/til/2021/08/11/js-bigint-reviver.htmlbody src/content/en/til/2021/08/11/js-bigint-reviver.snippets src/content/en/til/2021/08/11/js-bigint-reviver.json: src/content/en/til/2021/08/11/js-bigint-reviver.adoc src/content/pt/hea/2020/08/12/arquivo-datado.htmlbody src/content/pt/hea/2020/08/12/arquivo-datado.snippets src/content/pt/hea/2020/08/12/arquivo-datado.json: src/content/pt/hea/2020/08/12/arquivo-datado.adoc src/content/de/blog/index.htmlbody src/content/de/blog/index.snippets src/content/de/blog/index.json: src/content/de/blog/index.adoc src/content/de/folien/index.htmlbody src/content/de/folien/index.snippets src/content/de/folien/index.json: src/content/de/folien/index.adoc src/content/de/hhg/index.htmlbody src/content/de/hhg/index.snippets src/content/de/hhg/index.json: src/content/de/hhg/index.adoc src/content/de/pastebin/index.htmlbody src/content/de/pastebin/index.snippets src/content/de/pastebin/index.json: src/content/de/pastebin/index.adoc src/content/de/podcast/index.htmlbody src/content/de/podcast/index.snippets src/content/de/podcast/index.json: src/content/de/podcast/index.adoc src/content/de/screencast/index.htmlbody src/content/de/screencast/index.snippets src/content/de/screencast/index.json: src/content/de/screencast/index.adoc src/content/en/blog/index.htmlbody src/content/en/blog/index.snippets src/content/en/blog/index.json: src/content/en/blog/index.adoc src/content/en/pastebin/index.htmlbody src/content/en/pastebin/index.snippets src/content/en/pastebin/index.json: src/content/en/pastebin/index.adoc src/content/en/podcast/index.htmlbody src/content/en/podcast/index.snippets src/content/en/podcast/index.json: src/content/en/podcast/index.adoc src/content/en/screencast/index.htmlbody src/content/en/screencast/index.snippets src/content/en/screencast/index.json: src/content/en/screencast/index.adoc src/content/en/slide/index.htmlbody src/content/en/slide/index.snippets src/content/en/slide/index.json: src/content/en/slide/index.adoc src/content/en/til/index.htmlbody src/content/en/til/index.snippets src/content/en/til/index.json: src/content/en/til/index.adoc src/content/eo/blog/index.htmlbody src/content/eo/blog/index.snippets src/content/eo/blog/index.json: src/content/eo/blog/index.adoc src/content/eo/hml/index.htmlbody src/content/eo/hml/index.snippets src/content/eo/hml/index.json: src/content/eo/hml/index.adoc src/content/eo/lumbildoj/index.htmlbody src/content/eo/lumbildoj/index.snippets src/content/eo/lumbildoj/index.json: src/content/eo/lumbildoj/index.adoc src/content/eo/pastebin/index.htmlbody src/content/eo/pastebin/index.snippets src/content/eo/pastebin/index.json: src/content/eo/pastebin/index.adoc src/content/eo/podkasto/index.htmlbody src/content/eo/podkasto/index.snippets src/content/eo/podkasto/index.json: src/content/eo/podkasto/index.adoc src/content/eo/screencast/index.htmlbody src/content/eo/screencast/index.snippets src/content/eo/screencast/index.json: src/content/eo/screencast/index.adoc src/content/es/blog/index.htmlbody src/content/es/blog/index.snippets src/content/es/blog/index.json: src/content/es/blog/index.adoc src/content/es/diapositivas/index.htmlbody src/content/es/diapositivas/index.snippets src/content/es/diapositivas/index.json: src/content/es/diapositivas/index.adoc src/content/es/haa/index.htmlbody src/content/es/haa/index.snippets src/content/es/haa/index.json: src/content/es/haa/index.adoc src/content/es/pastebin/index.htmlbody src/content/es/pastebin/index.snippets src/content/es/pastebin/index.json: src/content/es/pastebin/index.adoc src/content/es/podcast/index.htmlbody src/content/es/podcast/index.snippets src/content/es/podcast/index.json: src/content/es/podcast/index.adoc src/content/es/screencast/index.htmlbody src/content/es/screencast/index.snippets src/content/es/screencast/index.json: src/content/es/screencast/index.adoc src/content/fr/aja/index.htmlbody src/content/fr/aja/index.snippets src/content/fr/aja/index.json: src/content/fr/aja/index.adoc src/content/fr/blog/index.htmlbody src/content/fr/blog/index.snippets src/content/fr/blog/index.json: src/content/fr/blog/index.adoc src/content/fr/diapositives/index.htmlbody src/content/fr/diapositives/index.snippets src/content/fr/diapositives/index.json: src/content/fr/diapositives/index.adoc src/content/fr/pastebin/index.htmlbody src/content/fr/pastebin/index.snippets src/content/fr/pastebin/index.json: src/content/fr/pastebin/index.adoc src/content/fr/podcast/index.htmlbody src/content/fr/podcast/index.snippets src/content/fr/podcast/index.json: src/content/fr/podcast/index.adoc src/content/fr/screencast/index.htmlbody src/content/fr/screencast/index.snippets src/content/fr/screencast/index.json: src/content/fr/screencast/index.adoc src/content/pt/blog/index.htmlbody src/content/pt/blog/index.snippets src/content/pt/blog/index.json: src/content/pt/blog/index.adoc src/content/pt/eslaides/index.htmlbody src/content/pt/eslaides/index.snippets src/content/pt/eslaides/index.json: src/content/pt/eslaides/index.adoc src/content/pt/hea/index.htmlbody src/content/pt/hea/index.snippets src/content/pt/hea/index.json: src/content/pt/hea/index.adoc src/content/pt/pastebin/index.htmlbody src/content/pt/pastebin/index.snippets src/content/pt/pastebin/index.json: src/content/pt/pastebin/index.adoc src/content/pt/podcast/index.htmlbody src/content/pt/podcast/index.snippets src/content/pt/podcast/index.json: src/content/pt/podcast/index.adoc src/content/pt/screencast/index.htmlbody src/content/pt/screencast/index.snippets src/content/pt/screencast/index.json: src/content/pt/screencast/index.adoc src/content/de/blog/kategorien.htmlbody src/content/de/blog/kategorien.snippets src/content/de/blog/kategorien.json: src/content/de/blog/kategorien.adoc src/content/de/folien/kategorien.htmlbody src/content/de/folien/kategorien.snippets src/content/de/folien/kategorien.json: src/content/de/folien/kategorien.adoc src/content/de/hhg/kategorien.htmlbody src/content/de/hhg/kategorien.snippets src/content/de/hhg/kategorien.json: src/content/de/hhg/kategorien.adoc src/content/de/pastebin/kategorien.htmlbody src/content/de/pastebin/kategorien.snippets src/content/de/pastebin/kategorien.json: src/content/de/pastebin/kategorien.adoc src/content/de/podcast/kategorien.htmlbody src/content/de/podcast/kategorien.snippets src/content/de/podcast/kategorien.json: src/content/de/podcast/kategorien.adoc src/content/de/screencast/kategorien.htmlbody src/content/de/screencast/kategorien.snippets src/content/de/screencast/kategorien.json: src/content/de/screencast/kategorien.adoc src/content/en/blog/categories.htmlbody src/content/en/blog/categories.snippets src/content/en/blog/categories.json: src/content/en/blog/categories.adoc src/content/en/pastebin/categories.htmlbody src/content/en/pastebin/categories.snippets src/content/en/pastebin/categories.json: src/content/en/pastebin/categories.adoc src/content/en/podcast/categories.htmlbody src/content/en/podcast/categories.snippets src/content/en/podcast/categories.json: src/content/en/podcast/categories.adoc src/content/en/screencast/categories.htmlbody src/content/en/screencast/categories.snippets src/content/en/screencast/categories.json: src/content/en/screencast/categories.adoc src/content/en/slide/categories.htmlbody src/content/en/slide/categories.snippets src/content/en/slide/categories.json: src/content/en/slide/categories.adoc src/content/en/til/categories.htmlbody src/content/en/til/categories.snippets src/content/en/til/categories.json: src/content/en/til/categories.adoc src/content/eo/blog/kategorioj.htmlbody src/content/eo/blog/kategorioj.snippets src/content/eo/blog/kategorioj.json: src/content/eo/blog/kategorioj.adoc src/content/eo/hml/kategorioj.htmlbody src/content/eo/hml/kategorioj.snippets src/content/eo/hml/kategorioj.json: src/content/eo/hml/kategorioj.adoc src/content/eo/lumbildoj/kategorioj.htmlbody src/content/eo/lumbildoj/kategorioj.snippets src/content/eo/lumbildoj/kategorioj.json: src/content/eo/lumbildoj/kategorioj.adoc src/content/eo/pastebin/kategorioj.htmlbody src/content/eo/pastebin/kategorioj.snippets src/content/eo/pastebin/kategorioj.json: src/content/eo/pastebin/kategorioj.adoc src/content/eo/podkasto/kategorioj.htmlbody src/content/eo/podkasto/kategorioj.snippets src/content/eo/podkasto/kategorioj.json: src/content/eo/podkasto/kategorioj.adoc src/content/eo/screencast/kategorioj.htmlbody src/content/eo/screencast/kategorioj.snippets src/content/eo/screencast/kategorioj.json: src/content/eo/screencast/kategorioj.adoc src/content/es/blog/categorias.htmlbody src/content/es/blog/categorias.snippets src/content/es/blog/categorias.json: src/content/es/blog/categorias.adoc src/content/es/diapositivas/categorias.htmlbody src/content/es/diapositivas/categorias.snippets src/content/es/diapositivas/categorias.json: src/content/es/diapositivas/categorias.adoc src/content/es/haa/categorias.htmlbody src/content/es/haa/categorias.snippets src/content/es/haa/categorias.json: src/content/es/haa/categorias.adoc src/content/es/pastebin/categorias.htmlbody src/content/es/pastebin/categorias.snippets src/content/es/pastebin/categorias.json: src/content/es/pastebin/categorias.adoc src/content/es/podcast/categorias.htmlbody src/content/es/podcast/categorias.snippets src/content/es/podcast/categorias.json: src/content/es/podcast/categorias.adoc src/content/es/screencast/categorias.htmlbody src/content/es/screencast/categorias.snippets src/content/es/screencast/categorias.json: src/content/es/screencast/categorias.adoc src/content/fr/aja/categories.htmlbody src/content/fr/aja/categories.snippets src/content/fr/aja/categories.json: src/content/fr/aja/categories.adoc src/content/fr/blog/categories.htmlbody src/content/fr/blog/categories.snippets src/content/fr/blog/categories.json: src/content/fr/blog/categories.adoc src/content/fr/diapositives/categories.htmlbody src/content/fr/diapositives/categories.snippets src/content/fr/diapositives/categories.json: src/content/fr/diapositives/categories.adoc src/content/fr/pastebin/categories.htmlbody src/content/fr/pastebin/categories.snippets src/content/fr/pastebin/categories.json: src/content/fr/pastebin/categories.adoc src/content/fr/podcast/categories.htmlbody src/content/fr/podcast/categories.snippets src/content/fr/podcast/categories.json: src/content/fr/podcast/categories.adoc src/content/fr/screencast/categories.htmlbody src/content/fr/screencast/categories.snippets src/content/fr/screencast/categories.json: src/content/fr/screencast/categories.adoc src/content/pt/blog/categorias.htmlbody src/content/pt/blog/categorias.snippets src/content/pt/blog/categorias.json: src/content/pt/blog/categorias.adoc src/content/pt/eslaides/categorias.htmlbody src/content/pt/eslaides/categorias.snippets src/content/pt/eslaides/categorias.json: src/content/pt/eslaides/categorias.adoc src/content/pt/hea/categorias.htmlbody src/content/pt/hea/categorias.snippets src/content/pt/hea/categorias.json: src/content/pt/hea/categorias.adoc src/content/pt/pastebin/categorias.htmlbody src/content/pt/pastebin/categorias.snippets src/content/pt/pastebin/categorias.json: src/content/pt/pastebin/categorias.adoc src/content/pt/podcast/categorias.htmlbody src/content/pt/podcast/categorias.snippets src/content/pt/podcast/categorias.json: src/content/pt/podcast/categorias.adoc src/content/pt/screencast/categorias.htmlbody src/content/pt/screencast/categorias.snippets src/content/pt/screencast/categorias.json: src/content/pt/screencast/categorias.adoc src/content/de/index.htmlbody src/content/de/index.snippets src/content/de/index.json: src/content/de/index.adoc src/content/en/index.htmlbody src/content/en/index.snippets src/content/en/index.json: src/content/en/index.adoc src/content/eo/index.htmlbody src/content/eo/index.snippets src/content/eo/index.json: src/content/eo/index.adoc src/content/es/index.htmlbody src/content/es/index.snippets src/content/es/index.json: src/content/es/index.adoc src/content/fr/index.htmlbody src/content/fr/index.snippets src/content/fr/index.json: src/content/fr/index.adoc src/content/pt/index.htmlbody src/content/pt/index.snippets src/content/pt/index.json: src/content/pt/index.adoc src/content/de/musik.html: src/content/de/musik.json src/content/de/musik.htmlbody src/content/de/ueber.html: src/content/de/ueber.json src/content/de/ueber.htmlbody src/content/en/about.html: src/content/en/about.json src/content/en/about.htmlbody src/content/en/music.html: src/content/en/music.json src/content/en/music.htmlbody src/content/eo/muziko.html: src/content/eo/muziko.json src/content/eo/muziko.htmlbody src/content/eo/pri.html: src/content/eo/pri.json src/content/eo/pri.htmlbody src/content/es/acerca.html: src/content/es/acerca.json src/content/es/acerca.htmlbody src/content/es/musica.html: src/content/es/musica.json src/content/es/musica.htmlbody src/content/fr/a-propos.html: src/content/fr/a-propos.json src/content/fr/a-propos.htmlbody src/content/fr/musique.html: src/content/fr/musique.json src/content/fr/musique.htmlbody src/content/pt/musica.html: src/content/pt/musica.json src/content/pt/musica.htmlbody src/content/pt/sobre.html: src/content/pt/sobre.json src/content/pt/sobre.htmlbody src/content/en/blog/2018/07/17/guix-nixos.html: src/content/en/blog/2018/07/17/guix-nixos.json src/content/en/blog/2018/07/17/guix-nixos.htmlbody src/content/en/blog/2018/08/01/npm-ci-reproducibility.html: src/content/en/blog/2018/08/01/npm-ci-reproducibility.json src/content/en/blog/2018/08/01/npm-ci-reproducibility.htmlbody src/content/en/blog/2018/12/21/ytdl-subs.html: src/content/en/blog/2018/12/21/ytdl-subs.json src/content/en/blog/2018/12/21/ytdl-subs.htmlbody src/content/en/blog/2019/06/02/nixos-stateless-workstation.html: src/content/en/blog/2019/06/02/nixos-stateless-workstation.json src/content/en/blog/2019/06/02/nixos-stateless-workstation.htmlbody src/content/en/blog/2020/08/10/guix-srht.html: src/content/en/blog/2020/08/10/guix-srht.json src/content/en/blog/2020/08/10/guix-srht.htmlbody src/content/en/blog/2020/08/31/database-i-wish-i-had.html: src/content/en/blog/2020/08/31/database-i-wish-i-had.json src/content/en/blog/2020/08/31/database-i-wish-i-had.htmlbody src/content/en/blog/2020/10/05/cargo2nix.html: src/content/en/blog/2020/10/05/cargo2nix.json src/content/en/blog/2020/10/05/cargo2nix.htmlbody src/content/en/blog/2020/10/05/swift2nix.html: src/content/en/blog/2020/10/05/swift2nix.json src/content/en/blog/2020/10/05/swift2nix.htmlbody src/content/en/blog/2020/10/19/feature-flags.html: src/content/en/blog/2020/10/19/feature-flags.json src/content/en/blog/2020/10/19/feature-flags.htmlbody src/content/en/blog/2020/10/20/wrong-interviewing.html: src/content/en/blog/2020/10/20/wrong-interviewing.json src/content/en/blog/2020/10/20/wrong-interviewing.htmlbody src/content/en/blog/2020/11/07/diy-bugs.html: src/content/en/blog/2020/11/07/diy-bugs.json src/content/en/blog/2020/11/07/diy-bugs.htmlbody src/content/en/blog/2020/11/08/paradigm-shift-review.html: src/content/en/blog/2020/11/08/paradigm-shift-review.json src/content/en/blog/2020/11/08/paradigm-shift-review.htmlbody src/content/en/blog/2020/11/12/database-parsers-trees.html: src/content/en/blog/2020/11/12/database-parsers-trees.json src/content/en/blog/2020/11/12/database-parsers-trees.htmlbody src/content/en/blog/2020/11/14/local-first-review.html: src/content/en/blog/2020/11/14/local-first-review.json src/content/en/blog/2020/11/14/local-first-review.htmlbody src/content/en/blog/2021/01/26/remembering-ann.html: src/content/en/blog/2021/01/26/remembering-ann.json src/content/en/blog/2021/01/26/remembering-ann.htmlbody src/content/en/blog/2021/02/17/fallible.html: src/content/en/blog/2021/02/17/fallible.json src/content/en/blog/2021/02/17/fallible.htmlbody src/content/en/blog/2021/04/29/relational-review.html: src/content/en/blog/2021/04/29/relational-review.json src/content/en/blog/2021/04/29/relational-review.htmlbody src/content/en/pastebin/2016/04/05/rpn.html: src/content/en/pastebin/2016/04/05/rpn.json src/content/en/pastebin/2016/04/05/rpn.htmlbody src/content/en/pastebin/2018/07/11/nix-pinning.html: src/content/en/pastebin/2018/07/11/nix-pinning.json src/content/en/pastebin/2018/07/11/nix-pinning.htmlbody src/content/en/pastebin/2018/07/13/guix-nixos-systemd.html: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.json src/content/en/pastebin/2018/07/13/guix-nixos-systemd.htmlbody src/content/en/pastebin/2018/07/13/guixbuilder-nixos.html: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.json src/content/en/pastebin/2018/07/13/guixbuilder-nixos.htmlbody src/content/en/pastebin/2018/07/13/guixbuilder.html: src/content/en/pastebin/2018/07/13/guixbuilder.json src/content/en/pastebin/2018/07/13/guixbuilder.htmlbody src/content/en/pastebin/2018/07/13/nix-strpad.html: src/content/en/pastebin/2018/07/13/nix-strpad.json src/content/en/pastebin/2018/07/13/nix-strpad.htmlbody src/content/en/pastebin/2018/07/25/nix-exps.html: src/content/en/pastebin/2018/07/25/nix-exps.json src/content/en/pastebin/2018/07/25/nix-exps.htmlbody src/content/en/pastebin/2018/07/25/nix-showdrv.html: src/content/en/pastebin/2018/07/25/nix-showdrv.json src/content/en/pastebin/2018/07/25/nix-showdrv.htmlbody src/content/en/pastebin/2019/06/08/inconsistent-hash.html: src/content/en/pastebin/2019/06/08/inconsistent-hash.json src/content/en/pastebin/2019/06/08/inconsistent-hash.htmlbody src/content/en/pastebin/2019/12/29/raku-tuple-type.html: src/content/en/pastebin/2019/12/29/raku-tuple-type.json src/content/en/pastebin/2019/12/29/raku-tuple-type.htmlbody src/content/en/pastebin/2020/01/04/guix-import-failure.html: src/content/en/pastebin/2020/01/04/guix-import-failure.json src/content/en/pastebin/2020/01/04/guix-import-failure.htmlbody src/content/en/pastebin/2020/02/14/guix-shebang.html: src/content/en/pastebin/2020/02/14/guix-shebang.json src/content/en/pastebin/2020/02/14/guix-shebang.htmlbody src/content/en/pastebin/2020/11/27/guix-build-local.html: src/content/en/pastebin/2020/11/27/guix-build-local.json src/content/en/pastebin/2020/11/27/guix-build-local.htmlbody src/content/en/pastebin/2020/12/15/guix-pack-fail.html: src/content/en/pastebin/2020/12/15/guix-pack-fail.json src/content/en/pastebin/2020/12/15/guix-pack-fail.htmlbody src/content/en/pastebin/2021/04/03/naive-slugify-js.html: src/content/en/pastebin/2021/04/03/naive-slugify-js.json src/content/en/pastebin/2021/04/03/naive-slugify-js.htmlbody src/content/en/pastebin/2021/06/08/reading-session-pt1.html: src/content/en/pastebin/2021/06/08/reading-session-pt1.json src/content/en/pastebin/2021/06/08/reading-session-pt1.htmlbody src/content/en/pastebin/2021/06/22/curl-wget.html: src/content/en/pastebin/2021/06/22/curl-wget.json src/content/en/pastebin/2021/06/22/curl-wget.htmlbody src/content/en/pastebin/2021/08/11/h1-spacing.html: src/content/en/pastebin/2021/08/11/h1-spacing.json src/content/en/pastebin/2021/08/11/h1-spacing.htmlbody src/content/en/pastebin/2021/09/02/sicp-3-19.html: src/content/en/pastebin/2021/09/02/sicp-3-19.json src/content/en/pastebin/2021/09/02/sicp-3-19.htmlbody src/content/en/pastebin/2021/09/03/sicp-persistent-queue.html: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.json src/content/en/pastebin/2021/09/03/sicp-persistent-queue.htmlbody src/content/en/pastebin/2022/07/14/git-cleanup.html: src/content/en/pastebin/2022/07/14/git-cleanup.json src/content/en/pastebin/2022/07/14/git-cleanup.htmlbody src/content/en/pastebin/2023/07/22/funcallable-amop.html: src/content/en/pastebin/2023/07/22/funcallable-amop.json src/content/en/pastebin/2023/07/22/funcallable-amop.htmlbody src/content/en/podcast/2020/12/19/test-entry.html: src/content/en/podcast/2020/12/19/test-entry.json src/content/en/podcast/2020/12/19/test-entry.htmlbody src/content/en/screencast/2021/02/07/autoqemu.html: src/content/en/screencast/2021/02/07/autoqemu.json src/content/en/screencast/2021/02/07/autoqemu.htmlbody src/content/en/slide/2020/10/19/feature-flags.html: src/content/en/slide/2020/10/19/feature-flags.json src/content/en/slide/2020/10/19/feature-flags.htmlbody src/content/en/slide/2020/11/14/local-first-hype.html: src/content/en/slide/2020/11/14/local-first-hype.json src/content/en/slide/2020/11/14/local-first-hype.htmlbody src/content/en/til/2020/08/12/filename-timestamp.html: src/content/en/til/2020/08/12/filename-timestamp.json src/content/en/til/2020/08/12/filename-timestamp.htmlbody src/content/en/til/2020/08/13/code-jekyll.html: src/content/en/til/2020/08/13/code-jekyll.json src/content/en/til/2020/08/13/code-jekyll.htmlbody src/content/en/til/2020/08/14/browse-git.html: src/content/en/til/2020/08/14/browse-git.json src/content/en/til/2020/08/14/browse-git.htmlbody src/content/en/til/2020/08/16/git-search.html: src/content/en/til/2020/08/16/git-search.json src/content/en/til/2020/08/16/git-search.htmlbody src/content/en/til/2020/08/28/grep-online.html: src/content/en/til/2020/08/28/grep-online.json src/content/en/til/2020/08/28/grep-online.htmlbody src/content/en/til/2020/09/04/cli-email-fun-profit.html: src/content/en/til/2020/09/04/cli-email-fun-profit.json src/content/en/til/2020/09/04/cli-email-fun-profit.htmlbody src/content/en/til/2020/09/05/oldschool-pr.html: src/content/en/til/2020/09/05/oldschool-pr.json src/content/en/til/2020/09/05/oldschool-pr.htmlbody src/content/en/til/2020/10/11/search-git-history.html: src/content/en/til/2020/10/11/search-git-history.json src/content/en/til/2020/10/11/search-git-history.htmlbody src/content/en/til/2020/11/08/find-broken-symlink.html: src/content/en/til/2020/11/08/find-broken-symlink.json src/content/en/til/2020/11/08/find-broken-symlink.htmlbody src/content/en/til/2020/11/12/diy-nix-bash-ci.html: src/content/en/til/2020/11/12/diy-nix-bash-ci.json src/content/en/til/2020/11/12/diy-nix-bash-ci.htmlbody src/content/en/til/2020/11/12/git-bisect-automation.html: src/content/en/til/2020/11/12/git-bisect-automation.json src/content/en/til/2020/11/12/git-bisect-automation.htmlbody src/content/en/til/2020/11/12/useful-bashvars.html: src/content/en/til/2020/11/12/useful-bashvars.json src/content/en/til/2020/11/12/useful-bashvars.htmlbody src/content/en/til/2020/11/14/gpodder-media.html: src/content/en/til/2020/11/14/gpodder-media.json src/content/en/til/2020/11/14/gpodder-media.htmlbody src/content/en/til/2020/11/30/git-notes-ci.html: src/content/en/til/2020/11/30/git-notes-ci.json src/content/en/til/2020/11/30/git-notes-ci.htmlbody src/content/en/til/2020/12/15/shellcheck-repo.html: src/content/en/til/2020/12/15/shellcheck-repo.json src/content/en/til/2020/12/15/shellcheck-repo.htmlbody src/content/en/til/2020/12/29/svg.html: src/content/en/til/2020/12/29/svg.json src/content/en/til/2020/12/29/svg.htmlbody src/content/en/til/2021/01/12/curl-awk-emails.html: src/content/en/til/2021/01/12/curl-awk-emails.json src/content/en/til/2021/01/12/curl-awk-emails.htmlbody src/content/en/til/2021/01/17/posix-shebang.html: src/content/en/til/2021/01/17/posix-shebang.json src/content/en/til/2021/01/17/posix-shebang.htmlbody src/content/en/til/2021/04/24/cl-generic-precedence.html: src/content/en/til/2021/04/24/cl-generic-precedence.json src/content/en/til/2021/04/24/cl-generic-precedence.htmlbody src/content/en/til/2021/04/24/clojure-autocurry.html: src/content/en/til/2021/04/24/clojure-autocurry.json src/content/en/til/2021/04/24/clojure-autocurry.htmlbody src/content/en/til/2021/04/24/scm-nif.html: src/content/en/til/2021/04/24/scm-nif.json src/content/en/til/2021/04/24/scm-nif.htmlbody src/content/en/til/2021/07/23/git-tls-gpg.html: src/content/en/til/2021/07/23/git-tls-gpg.json src/content/en/til/2021/07/23/git-tls-gpg.htmlbody src/content/en/til/2021/08/11/js-bigint-reviver.html: src/content/en/til/2021/08/11/js-bigint-reviver.json src/content/en/til/2021/08/11/js-bigint-reviver.htmlbody src/content/pt/hea/2020/08/12/arquivo-datado.html: src/content/pt/hea/2020/08/12/arquivo-datado.json src/content/pt/hea/2020/08/12/arquivo-datado.htmlbody src/content/de/blog/index.html: src/content/de/blog/index.json src/content/de/blog/index.htmlbody src/content/de/folien/index.html: src/content/de/folien/index.json src/content/de/folien/index.htmlbody src/content/de/hhg/index.html: src/content/de/hhg/index.json src/content/de/hhg/index.htmlbody src/content/de/pastebin/index.html: src/content/de/pastebin/index.json src/content/de/pastebin/index.htmlbody src/content/de/podcast/index.html: src/content/de/podcast/index.json src/content/de/podcast/index.htmlbody src/content/de/screencast/index.html: src/content/de/screencast/index.json src/content/de/screencast/index.htmlbody src/content/en/blog/index.html: src/content/en/blog/index.json src/content/en/blog/index.htmlbody src/content/en/pastebin/index.html: src/content/en/pastebin/index.json src/content/en/pastebin/index.htmlbody src/content/en/podcast/index.html: src/content/en/podcast/index.json src/content/en/podcast/index.htmlbody src/content/en/screencast/index.html: src/content/en/screencast/index.json src/content/en/screencast/index.htmlbody src/content/en/slide/index.html: src/content/en/slide/index.json src/content/en/slide/index.htmlbody src/content/en/til/index.html: src/content/en/til/index.json src/content/en/til/index.htmlbody src/content/eo/blog/index.html: src/content/eo/blog/index.json src/content/eo/blog/index.htmlbody src/content/eo/hml/index.html: src/content/eo/hml/index.json src/content/eo/hml/index.htmlbody src/content/eo/lumbildoj/index.html: src/content/eo/lumbildoj/index.json src/content/eo/lumbildoj/index.htmlbody src/content/eo/pastebin/index.html: src/content/eo/pastebin/index.json src/content/eo/pastebin/index.htmlbody src/content/eo/podkasto/index.html: src/content/eo/podkasto/index.json src/content/eo/podkasto/index.htmlbody src/content/eo/screencast/index.html: src/content/eo/screencast/index.json src/content/eo/screencast/index.htmlbody src/content/es/blog/index.html: src/content/es/blog/index.json src/content/es/blog/index.htmlbody src/content/es/diapositivas/index.html: src/content/es/diapositivas/index.json src/content/es/diapositivas/index.htmlbody src/content/es/haa/index.html: src/content/es/haa/index.json src/content/es/haa/index.htmlbody src/content/es/pastebin/index.html: src/content/es/pastebin/index.json src/content/es/pastebin/index.htmlbody src/content/es/podcast/index.html: src/content/es/podcast/index.json src/content/es/podcast/index.htmlbody src/content/es/screencast/index.html: src/content/es/screencast/index.json src/content/es/screencast/index.htmlbody src/content/fr/aja/index.html: src/content/fr/aja/index.json src/content/fr/aja/index.htmlbody src/content/fr/blog/index.html: src/content/fr/blog/index.json src/content/fr/blog/index.htmlbody src/content/fr/diapositives/index.html: src/content/fr/diapositives/index.json src/content/fr/diapositives/index.htmlbody src/content/fr/pastebin/index.html: src/content/fr/pastebin/index.json src/content/fr/pastebin/index.htmlbody src/content/fr/podcast/index.html: src/content/fr/podcast/index.json src/content/fr/podcast/index.htmlbody src/content/fr/screencast/index.html: src/content/fr/screencast/index.json src/content/fr/screencast/index.htmlbody src/content/pt/blog/index.html: src/content/pt/blog/index.json src/content/pt/blog/index.htmlbody src/content/pt/eslaides/index.html: src/content/pt/eslaides/index.json src/content/pt/eslaides/index.htmlbody src/content/pt/hea/index.html: src/content/pt/hea/index.json src/content/pt/hea/index.htmlbody src/content/pt/pastebin/index.html: src/content/pt/pastebin/index.json src/content/pt/pastebin/index.htmlbody src/content/pt/podcast/index.html: src/content/pt/podcast/index.json src/content/pt/podcast/index.htmlbody src/content/pt/screencast/index.html: src/content/pt/screencast/index.json src/content/pt/screencast/index.htmlbody src/content/de/blog/kategorien.html: src/content/de/blog/kategorien.json src/content/de/blog/kategorien.htmlbody src/content/de/folien/kategorien.html: src/content/de/folien/kategorien.json src/content/de/folien/kategorien.htmlbody src/content/de/hhg/kategorien.html: src/content/de/hhg/kategorien.json src/content/de/hhg/kategorien.htmlbody src/content/de/pastebin/kategorien.html: src/content/de/pastebin/kategorien.json src/content/de/pastebin/kategorien.htmlbody src/content/de/podcast/kategorien.html: src/content/de/podcast/kategorien.json src/content/de/podcast/kategorien.htmlbody src/content/de/screencast/kategorien.html: src/content/de/screencast/kategorien.json src/content/de/screencast/kategorien.htmlbody src/content/en/blog/categories.html: src/content/en/blog/categories.json src/content/en/blog/categories.htmlbody src/content/en/pastebin/categories.html: src/content/en/pastebin/categories.json src/content/en/pastebin/categories.htmlbody src/content/en/podcast/categories.html: src/content/en/podcast/categories.json src/content/en/podcast/categories.htmlbody src/content/en/screencast/categories.html: src/content/en/screencast/categories.json src/content/en/screencast/categories.htmlbody src/content/en/slide/categories.html: src/content/en/slide/categories.json src/content/en/slide/categories.htmlbody src/content/en/til/categories.html: src/content/en/til/categories.json src/content/en/til/categories.htmlbody src/content/eo/blog/kategorioj.html: src/content/eo/blog/kategorioj.json src/content/eo/blog/kategorioj.htmlbody src/content/eo/hml/kategorioj.html: src/content/eo/hml/kategorioj.json src/content/eo/hml/kategorioj.htmlbody src/content/eo/lumbildoj/kategorioj.html: src/content/eo/lumbildoj/kategorioj.json src/content/eo/lumbildoj/kategorioj.htmlbody src/content/eo/pastebin/kategorioj.html: src/content/eo/pastebin/kategorioj.json src/content/eo/pastebin/kategorioj.htmlbody src/content/eo/podkasto/kategorioj.html: src/content/eo/podkasto/kategorioj.json src/content/eo/podkasto/kategorioj.htmlbody src/content/eo/screencast/kategorioj.html: src/content/eo/screencast/kategorioj.json src/content/eo/screencast/kategorioj.htmlbody src/content/es/blog/categorias.html: src/content/es/blog/categorias.json src/content/es/blog/categorias.htmlbody src/content/es/diapositivas/categorias.html: src/content/es/diapositivas/categorias.json src/content/es/diapositivas/categorias.htmlbody src/content/es/haa/categorias.html: src/content/es/haa/categorias.json src/content/es/haa/categorias.htmlbody src/content/es/pastebin/categorias.html: src/content/es/pastebin/categorias.json src/content/es/pastebin/categorias.htmlbody src/content/es/podcast/categorias.html: src/content/es/podcast/categorias.json src/content/es/podcast/categorias.htmlbody src/content/es/screencast/categorias.html: src/content/es/screencast/categorias.json src/content/es/screencast/categorias.htmlbody src/content/fr/aja/categories.html: src/content/fr/aja/categories.json src/content/fr/aja/categories.htmlbody src/content/fr/blog/categories.html: src/content/fr/blog/categories.json src/content/fr/blog/categories.htmlbody src/content/fr/diapositives/categories.html: src/content/fr/diapositives/categories.json src/content/fr/diapositives/categories.htmlbody src/content/fr/pastebin/categories.html: src/content/fr/pastebin/categories.json src/content/fr/pastebin/categories.htmlbody src/content/fr/podcast/categories.html: src/content/fr/podcast/categories.json src/content/fr/podcast/categories.htmlbody src/content/fr/screencast/categories.html: src/content/fr/screencast/categories.json src/content/fr/screencast/categories.htmlbody src/content/pt/blog/categorias.html: src/content/pt/blog/categorias.json src/content/pt/blog/categorias.htmlbody src/content/pt/eslaides/categorias.html: src/content/pt/eslaides/categorias.json src/content/pt/eslaides/categorias.htmlbody src/content/pt/hea/categorias.html: src/content/pt/hea/categorias.json src/content/pt/hea/categorias.htmlbody src/content/pt/pastebin/categorias.html: src/content/pt/pastebin/categorias.json src/content/pt/pastebin/categorias.htmlbody src/content/pt/podcast/categorias.html: src/content/pt/podcast/categorias.json src/content/pt/podcast/categorias.htmlbody src/content/pt/screencast/categorias.html: src/content/pt/screencast/categorias.json src/content/pt/screencast/categorias.htmlbody src/content/de/index.html: src/content/de/index.json src/content/de/index.htmlbody src/content/en/index.html: src/content/en/index.json src/content/en/index.htmlbody src/content/eo/index.html: src/content/eo/index.json src/content/eo/index.htmlbody src/content/es/index.html: src/content/es/index.json src/content/es/index.htmlbody src/content/fr/index.html: src/content/fr/index.json src/content/fr/index.htmlbody src/content/pt/index.html: src/content/pt/index.json src/content/pt/index.htmlbody src/content/de/musik.updatedat-check: src/content/de/musik.json src/content/de/ueber.updatedat-check: src/content/de/ueber.json src/content/en/about.updatedat-check: src/content/en/about.json src/content/en/music.updatedat-check: src/content/en/music.json src/content/eo/muziko.updatedat-check: src/content/eo/muziko.json src/content/eo/pri.updatedat-check: src/content/eo/pri.json src/content/es/acerca.updatedat-check: src/content/es/acerca.json src/content/es/musica.updatedat-check: src/content/es/musica.json src/content/fr/a-propos.updatedat-check: src/content/fr/a-propos.json src/content/fr/musique.updatedat-check: src/content/fr/musique.json src/content/pt/musica.updatedat-check: src/content/pt/musica.json src/content/pt/sobre.updatedat-check: src/content/pt/sobre.json src/content/en/blog/2018/07/17/guix-nixos.updatedat-check: src/content/en/blog/2018/07/17/guix-nixos.json src/content/en/blog/2018/08/01/npm-ci-reproducibility.updatedat-check: src/content/en/blog/2018/08/01/npm-ci-reproducibility.json src/content/en/blog/2018/12/21/ytdl-subs.updatedat-check: src/content/en/blog/2018/12/21/ytdl-subs.json src/content/en/blog/2019/06/02/nixos-stateless-workstation.updatedat-check: src/content/en/blog/2019/06/02/nixos-stateless-workstation.json src/content/en/blog/2020/08/10/guix-srht.updatedat-check: src/content/en/blog/2020/08/10/guix-srht.json src/content/en/blog/2020/08/31/database-i-wish-i-had.updatedat-check: src/content/en/blog/2020/08/31/database-i-wish-i-had.json src/content/en/blog/2020/10/05/cargo2nix.updatedat-check: src/content/en/blog/2020/10/05/cargo2nix.json src/content/en/blog/2020/10/05/swift2nix.updatedat-check: src/content/en/blog/2020/10/05/swift2nix.json src/content/en/blog/2020/10/19/feature-flags.updatedat-check: src/content/en/blog/2020/10/19/feature-flags.json src/content/en/blog/2020/10/20/wrong-interviewing.updatedat-check: src/content/en/blog/2020/10/20/wrong-interviewing.json src/content/en/blog/2020/11/07/diy-bugs.updatedat-check: src/content/en/blog/2020/11/07/diy-bugs.json src/content/en/blog/2020/11/08/paradigm-shift-review.updatedat-check: src/content/en/blog/2020/11/08/paradigm-shift-review.json src/content/en/blog/2020/11/12/database-parsers-trees.updatedat-check: src/content/en/blog/2020/11/12/database-parsers-trees.json src/content/en/blog/2020/11/14/local-first-review.updatedat-check: src/content/en/blog/2020/11/14/local-first-review.json src/content/en/blog/2021/01/26/remembering-ann.updatedat-check: src/content/en/blog/2021/01/26/remembering-ann.json src/content/en/blog/2021/02/17/fallible.updatedat-check: src/content/en/blog/2021/02/17/fallible.json src/content/en/blog/2021/04/29/relational-review.updatedat-check: src/content/en/blog/2021/04/29/relational-review.json src/content/en/pastebin/2016/04/05/rpn.updatedat-check: src/content/en/pastebin/2016/04/05/rpn.json src/content/en/pastebin/2018/07/11/nix-pinning.updatedat-check: src/content/en/pastebin/2018/07/11/nix-pinning.json src/content/en/pastebin/2018/07/13/guix-nixos-systemd.updatedat-check: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.json src/content/en/pastebin/2018/07/13/guixbuilder-nixos.updatedat-check: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.json src/content/en/pastebin/2018/07/13/guixbuilder.updatedat-check: src/content/en/pastebin/2018/07/13/guixbuilder.json src/content/en/pastebin/2018/07/13/nix-strpad.updatedat-check: src/content/en/pastebin/2018/07/13/nix-strpad.json src/content/en/pastebin/2018/07/25/nix-exps.updatedat-check: src/content/en/pastebin/2018/07/25/nix-exps.json src/content/en/pastebin/2018/07/25/nix-showdrv.updatedat-check: src/content/en/pastebin/2018/07/25/nix-showdrv.json src/content/en/pastebin/2019/06/08/inconsistent-hash.updatedat-check: src/content/en/pastebin/2019/06/08/inconsistent-hash.json src/content/en/pastebin/2019/12/29/raku-tuple-type.updatedat-check: src/content/en/pastebin/2019/12/29/raku-tuple-type.json src/content/en/pastebin/2020/01/04/guix-import-failure.updatedat-check: src/content/en/pastebin/2020/01/04/guix-import-failure.json src/content/en/pastebin/2020/02/14/guix-shebang.updatedat-check: src/content/en/pastebin/2020/02/14/guix-shebang.json src/content/en/pastebin/2020/11/27/guix-build-local.updatedat-check: src/content/en/pastebin/2020/11/27/guix-build-local.json src/content/en/pastebin/2020/12/15/guix-pack-fail.updatedat-check: src/content/en/pastebin/2020/12/15/guix-pack-fail.json src/content/en/pastebin/2021/04/03/naive-slugify-js.updatedat-check: src/content/en/pastebin/2021/04/03/naive-slugify-js.json src/content/en/pastebin/2021/06/08/reading-session-pt1.updatedat-check: src/content/en/pastebin/2021/06/08/reading-session-pt1.json src/content/en/pastebin/2021/06/22/curl-wget.updatedat-check: src/content/en/pastebin/2021/06/22/curl-wget.json src/content/en/pastebin/2021/08/11/h1-spacing.updatedat-check: src/content/en/pastebin/2021/08/11/h1-spacing.json src/content/en/pastebin/2021/09/02/sicp-3-19.updatedat-check: src/content/en/pastebin/2021/09/02/sicp-3-19.json src/content/en/pastebin/2021/09/03/sicp-persistent-queue.updatedat-check: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.json src/content/en/pastebin/2022/07/14/git-cleanup.updatedat-check: src/content/en/pastebin/2022/07/14/git-cleanup.json src/content/en/pastebin/2023/07/22/funcallable-amop.updatedat-check: src/content/en/pastebin/2023/07/22/funcallable-amop.json src/content/en/podcast/2020/12/19/test-entry.updatedat-check: src/content/en/podcast/2020/12/19/test-entry.json src/content/en/screencast/2021/02/07/autoqemu.updatedat-check: src/content/en/screencast/2021/02/07/autoqemu.json src/content/en/slide/2020/10/19/feature-flags.updatedat-check: src/content/en/slide/2020/10/19/feature-flags.json src/content/en/slide/2020/11/14/local-first-hype.updatedat-check: src/content/en/slide/2020/11/14/local-first-hype.json src/content/en/til/2020/08/12/filename-timestamp.updatedat-check: src/content/en/til/2020/08/12/filename-timestamp.json src/content/en/til/2020/08/13/code-jekyll.updatedat-check: src/content/en/til/2020/08/13/code-jekyll.json src/content/en/til/2020/08/14/browse-git.updatedat-check: src/content/en/til/2020/08/14/browse-git.json src/content/en/til/2020/08/16/git-search.updatedat-check: src/content/en/til/2020/08/16/git-search.json src/content/en/til/2020/08/28/grep-online.updatedat-check: src/content/en/til/2020/08/28/grep-online.json src/content/en/til/2020/09/04/cli-email-fun-profit.updatedat-check: src/content/en/til/2020/09/04/cli-email-fun-profit.json src/content/en/til/2020/09/05/oldschool-pr.updatedat-check: src/content/en/til/2020/09/05/oldschool-pr.json src/content/en/til/2020/10/11/search-git-history.updatedat-check: src/content/en/til/2020/10/11/search-git-history.json src/content/en/til/2020/11/08/find-broken-symlink.updatedat-check: src/content/en/til/2020/11/08/find-broken-symlink.json src/content/en/til/2020/11/12/diy-nix-bash-ci.updatedat-check: src/content/en/til/2020/11/12/diy-nix-bash-ci.json src/content/en/til/2020/11/12/git-bisect-automation.updatedat-check: src/content/en/til/2020/11/12/git-bisect-automation.json src/content/en/til/2020/11/12/useful-bashvars.updatedat-check: src/content/en/til/2020/11/12/useful-bashvars.json src/content/en/til/2020/11/14/gpodder-media.updatedat-check: src/content/en/til/2020/11/14/gpodder-media.json src/content/en/til/2020/11/30/git-notes-ci.updatedat-check: src/content/en/til/2020/11/30/git-notes-ci.json src/content/en/til/2020/12/15/shellcheck-repo.updatedat-check: src/content/en/til/2020/12/15/shellcheck-repo.json src/content/en/til/2020/12/29/svg.updatedat-check: src/content/en/til/2020/12/29/svg.json src/content/en/til/2021/01/12/curl-awk-emails.updatedat-check: src/content/en/til/2021/01/12/curl-awk-emails.json src/content/en/til/2021/01/17/posix-shebang.updatedat-check: src/content/en/til/2021/01/17/posix-shebang.json src/content/en/til/2021/04/24/cl-generic-precedence.updatedat-check: src/content/en/til/2021/04/24/cl-generic-precedence.json src/content/en/til/2021/04/24/clojure-autocurry.updatedat-check: src/content/en/til/2021/04/24/clojure-autocurry.json src/content/en/til/2021/04/24/scm-nif.updatedat-check: src/content/en/til/2021/04/24/scm-nif.json src/content/en/til/2021/07/23/git-tls-gpg.updatedat-check: src/content/en/til/2021/07/23/git-tls-gpg.json src/content/en/til/2021/08/11/js-bigint-reviver.updatedat-check: src/content/en/til/2021/08/11/js-bigint-reviver.json src/content/pt/hea/2020/08/12/arquivo-datado.updatedat-check: src/content/pt/hea/2020/08/12/arquivo-datado.json src/content/de/blog/index.updatedat-check: src/content/de/blog/index.json src/content/de/folien/index.updatedat-check: src/content/de/folien/index.json src/content/de/hhg/index.updatedat-check: src/content/de/hhg/index.json src/content/de/pastebin/index.updatedat-check: src/content/de/pastebin/index.json src/content/de/podcast/index.updatedat-check: src/content/de/podcast/index.json src/content/de/screencast/index.updatedat-check: src/content/de/screencast/index.json src/content/en/blog/index.updatedat-check: src/content/en/blog/index.json src/content/en/pastebin/index.updatedat-check: src/content/en/pastebin/index.json src/content/en/podcast/index.updatedat-check: src/content/en/podcast/index.json src/content/en/screencast/index.updatedat-check: src/content/en/screencast/index.json src/content/en/slide/index.updatedat-check: src/content/en/slide/index.json src/content/en/til/index.updatedat-check: src/content/en/til/index.json src/content/eo/blog/index.updatedat-check: src/content/eo/blog/index.json src/content/eo/hml/index.updatedat-check: src/content/eo/hml/index.json src/content/eo/lumbildoj/index.updatedat-check: src/content/eo/lumbildoj/index.json src/content/eo/pastebin/index.updatedat-check: src/content/eo/pastebin/index.json src/content/eo/podkasto/index.updatedat-check: src/content/eo/podkasto/index.json src/content/eo/screencast/index.updatedat-check: src/content/eo/screencast/index.json src/content/es/blog/index.updatedat-check: src/content/es/blog/index.json src/content/es/diapositivas/index.updatedat-check: src/content/es/diapositivas/index.json src/content/es/haa/index.updatedat-check: src/content/es/haa/index.json src/content/es/pastebin/index.updatedat-check: src/content/es/pastebin/index.json src/content/es/podcast/index.updatedat-check: src/content/es/podcast/index.json src/content/es/screencast/index.updatedat-check: src/content/es/screencast/index.json src/content/fr/aja/index.updatedat-check: src/content/fr/aja/index.json src/content/fr/blog/index.updatedat-check: src/content/fr/blog/index.json src/content/fr/diapositives/index.updatedat-check: src/content/fr/diapositives/index.json src/content/fr/pastebin/index.updatedat-check: src/content/fr/pastebin/index.json src/content/fr/podcast/index.updatedat-check: src/content/fr/podcast/index.json src/content/fr/screencast/index.updatedat-check: src/content/fr/screencast/index.json src/content/pt/blog/index.updatedat-check: src/content/pt/blog/index.json src/content/pt/eslaides/index.updatedat-check: src/content/pt/eslaides/index.json src/content/pt/hea/index.updatedat-check: src/content/pt/hea/index.json src/content/pt/pastebin/index.updatedat-check: src/content/pt/pastebin/index.json src/content/pt/podcast/index.updatedat-check: src/content/pt/podcast/index.json src/content/pt/screencast/index.updatedat-check: src/content/pt/screencast/index.json src/content/de/blog/kategorien.updatedat-check: src/content/de/blog/kategorien.json src/content/de/folien/kategorien.updatedat-check: src/content/de/folien/kategorien.json src/content/de/hhg/kategorien.updatedat-check: src/content/de/hhg/kategorien.json src/content/de/pastebin/kategorien.updatedat-check: src/content/de/pastebin/kategorien.json src/content/de/podcast/kategorien.updatedat-check: src/content/de/podcast/kategorien.json src/content/de/screencast/kategorien.updatedat-check: src/content/de/screencast/kategorien.json src/content/en/blog/categories.updatedat-check: src/content/en/blog/categories.json src/content/en/pastebin/categories.updatedat-check: src/content/en/pastebin/categories.json src/content/en/podcast/categories.updatedat-check: src/content/en/podcast/categories.json src/content/en/screencast/categories.updatedat-check: src/content/en/screencast/categories.json src/content/en/slide/categories.updatedat-check: src/content/en/slide/categories.json src/content/en/til/categories.updatedat-check: src/content/en/til/categories.json src/content/eo/blog/kategorioj.updatedat-check: src/content/eo/blog/kategorioj.json src/content/eo/hml/kategorioj.updatedat-check: src/content/eo/hml/kategorioj.json src/content/eo/lumbildoj/kategorioj.updatedat-check: src/content/eo/lumbildoj/kategorioj.json src/content/eo/pastebin/kategorioj.updatedat-check: src/content/eo/pastebin/kategorioj.json src/content/eo/podkasto/kategorioj.updatedat-check: src/content/eo/podkasto/kategorioj.json src/content/eo/screencast/kategorioj.updatedat-check: src/content/eo/screencast/kategorioj.json src/content/es/blog/categorias.updatedat-check: src/content/es/blog/categorias.json src/content/es/diapositivas/categorias.updatedat-check: src/content/es/diapositivas/categorias.json src/content/es/haa/categorias.updatedat-check: src/content/es/haa/categorias.json src/content/es/pastebin/categorias.updatedat-check: src/content/es/pastebin/categorias.json src/content/es/podcast/categorias.updatedat-check: src/content/es/podcast/categorias.json src/content/es/screencast/categorias.updatedat-check: src/content/es/screencast/categorias.json src/content/fr/aja/categories.updatedat-check: src/content/fr/aja/categories.json src/content/fr/blog/categories.updatedat-check: src/content/fr/blog/categories.json src/content/fr/diapositives/categories.updatedat-check: src/content/fr/diapositives/categories.json src/content/fr/pastebin/categories.updatedat-check: src/content/fr/pastebin/categories.json src/content/fr/podcast/categories.updatedat-check: src/content/fr/podcast/categories.json src/content/fr/screencast/categories.updatedat-check: src/content/fr/screencast/categories.json src/content/pt/blog/categorias.updatedat-check: src/content/pt/blog/categorias.json src/content/pt/eslaides/categorias.updatedat-check: src/content/pt/eslaides/categorias.json src/content/pt/hea/categorias.updatedat-check: src/content/pt/hea/categorias.json src/content/pt/pastebin/categorias.updatedat-check: src/content/pt/pastebin/categorias.json src/content/pt/podcast/categorias.updatedat-check: src/content/pt/podcast/categorias.json src/content/pt/screencast/categorias.updatedat-check: src/content/pt/screencast/categorias.json src/content/de/index.updatedat-check: src/content/de/index.json src/content/en/index.updatedat-check: src/content/en/index.json src/content/eo/index.updatedat-check: src/content/eo/index.json src/content/es/index.updatedat-check: src/content/es/index.json src/content/fr/index.updatedat-check: src/content/fr/index.json src/content/pt/index.updatedat-check: src/content/pt/index.json src/content/de/musik.links-internal-check: src/content/de/musik.links src/content/de/ueber.links-internal-check: src/content/de/ueber.links src/content/en/about.links-internal-check: src/content/en/about.links src/content/en/music.links-internal-check: src/content/en/music.links src/content/eo/muziko.links-internal-check: src/content/eo/muziko.links src/content/eo/pri.links-internal-check: src/content/eo/pri.links src/content/es/acerca.links-internal-check: src/content/es/acerca.links src/content/es/musica.links-internal-check: src/content/es/musica.links src/content/fr/a-propos.links-internal-check: src/content/fr/a-propos.links src/content/fr/musique.links-internal-check: src/content/fr/musique.links src/content/pt/musica.links-internal-check: src/content/pt/musica.links src/content/pt/sobre.links-internal-check: src/content/pt/sobre.links src/content/en/blog/2018/07/17/guix-nixos.links-internal-check: src/content/en/blog/2018/07/17/guix-nixos.links src/content/en/blog/2018/08/01/npm-ci-reproducibility.links-internal-check: src/content/en/blog/2018/08/01/npm-ci-reproducibility.links src/content/en/blog/2018/12/21/ytdl-subs.links-internal-check: src/content/en/blog/2018/12/21/ytdl-subs.links src/content/en/blog/2019/06/02/nixos-stateless-workstation.links-internal-check: src/content/en/blog/2019/06/02/nixos-stateless-workstation.links src/content/en/blog/2020/08/10/guix-srht.links-internal-check: src/content/en/blog/2020/08/10/guix-srht.links src/content/en/blog/2020/08/31/database-i-wish-i-had.links-internal-check: src/content/en/blog/2020/08/31/database-i-wish-i-had.links src/content/en/blog/2020/10/05/cargo2nix.links-internal-check: src/content/en/blog/2020/10/05/cargo2nix.links src/content/en/blog/2020/10/05/swift2nix.links-internal-check: src/content/en/blog/2020/10/05/swift2nix.links src/content/en/blog/2020/10/19/feature-flags.links-internal-check: src/content/en/blog/2020/10/19/feature-flags.links src/content/en/blog/2020/10/20/wrong-interviewing.links-internal-check: src/content/en/blog/2020/10/20/wrong-interviewing.links src/content/en/blog/2020/11/07/diy-bugs.links-internal-check: src/content/en/blog/2020/11/07/diy-bugs.links src/content/en/blog/2020/11/08/paradigm-shift-review.links-internal-check: src/content/en/blog/2020/11/08/paradigm-shift-review.links src/content/en/blog/2020/11/12/database-parsers-trees.links-internal-check: src/content/en/blog/2020/11/12/database-parsers-trees.links src/content/en/blog/2020/11/14/local-first-review.links-internal-check: src/content/en/blog/2020/11/14/local-first-review.links src/content/en/blog/2021/01/26/remembering-ann.links-internal-check: src/content/en/blog/2021/01/26/remembering-ann.links src/content/en/blog/2021/02/17/fallible.links-internal-check: src/content/en/blog/2021/02/17/fallible.links src/content/en/blog/2021/04/29/relational-review.links-internal-check: src/content/en/blog/2021/04/29/relational-review.links src/content/en/pastebin/2016/04/05/rpn.links-internal-check: src/content/en/pastebin/2016/04/05/rpn.links src/content/en/pastebin/2018/07/11/nix-pinning.links-internal-check: src/content/en/pastebin/2018/07/11/nix-pinning.links src/content/en/pastebin/2018/07/13/guix-nixos-systemd.links-internal-check: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.links src/content/en/pastebin/2018/07/13/guixbuilder-nixos.links-internal-check: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.links src/content/en/pastebin/2018/07/13/guixbuilder.links-internal-check: src/content/en/pastebin/2018/07/13/guixbuilder.links src/content/en/pastebin/2018/07/13/nix-strpad.links-internal-check: src/content/en/pastebin/2018/07/13/nix-strpad.links src/content/en/pastebin/2018/07/25/nix-exps.links-internal-check: src/content/en/pastebin/2018/07/25/nix-exps.links src/content/en/pastebin/2018/07/25/nix-showdrv.links-internal-check: src/content/en/pastebin/2018/07/25/nix-showdrv.links src/content/en/pastebin/2019/06/08/inconsistent-hash.links-internal-check: src/content/en/pastebin/2019/06/08/inconsistent-hash.links src/content/en/pastebin/2019/12/29/raku-tuple-type.links-internal-check: src/content/en/pastebin/2019/12/29/raku-tuple-type.links src/content/en/pastebin/2020/01/04/guix-import-failure.links-internal-check: src/content/en/pastebin/2020/01/04/guix-import-failure.links src/content/en/pastebin/2020/02/14/guix-shebang.links-internal-check: src/content/en/pastebin/2020/02/14/guix-shebang.links src/content/en/pastebin/2020/11/27/guix-build-local.links-internal-check: src/content/en/pastebin/2020/11/27/guix-build-local.links src/content/en/pastebin/2020/12/15/guix-pack-fail.links-internal-check: src/content/en/pastebin/2020/12/15/guix-pack-fail.links src/content/en/pastebin/2021/04/03/naive-slugify-js.links-internal-check: src/content/en/pastebin/2021/04/03/naive-slugify-js.links src/content/en/pastebin/2021/06/08/reading-session-pt1.links-internal-check: src/content/en/pastebin/2021/06/08/reading-session-pt1.links src/content/en/pastebin/2021/06/22/curl-wget.links-internal-check: src/content/en/pastebin/2021/06/22/curl-wget.links src/content/en/pastebin/2021/08/11/h1-spacing.links-internal-check: src/content/en/pastebin/2021/08/11/h1-spacing.links src/content/en/pastebin/2021/09/02/sicp-3-19.links-internal-check: src/content/en/pastebin/2021/09/02/sicp-3-19.links src/content/en/pastebin/2021/09/03/sicp-persistent-queue.links-internal-check: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.links src/content/en/pastebin/2022/07/14/git-cleanup.links-internal-check: src/content/en/pastebin/2022/07/14/git-cleanup.links src/content/en/pastebin/2023/07/22/funcallable-amop.links-internal-check: src/content/en/pastebin/2023/07/22/funcallable-amop.links src/content/en/podcast/2020/12/19/test-entry.links-internal-check: src/content/en/podcast/2020/12/19/test-entry.links src/content/en/screencast/2021/02/07/autoqemu.links-internal-check: src/content/en/screencast/2021/02/07/autoqemu.links src/content/en/slide/2020/10/19/feature-flags.links-internal-check: src/content/en/slide/2020/10/19/feature-flags.links src/content/en/slide/2020/11/14/local-first-hype.links-internal-check: src/content/en/slide/2020/11/14/local-first-hype.links src/content/en/til/2020/08/12/filename-timestamp.links-internal-check: src/content/en/til/2020/08/12/filename-timestamp.links src/content/en/til/2020/08/13/code-jekyll.links-internal-check: src/content/en/til/2020/08/13/code-jekyll.links src/content/en/til/2020/08/14/browse-git.links-internal-check: src/content/en/til/2020/08/14/browse-git.links src/content/en/til/2020/08/16/git-search.links-internal-check: src/content/en/til/2020/08/16/git-search.links src/content/en/til/2020/08/28/grep-online.links-internal-check: src/content/en/til/2020/08/28/grep-online.links src/content/en/til/2020/09/04/cli-email-fun-profit.links-internal-check: src/content/en/til/2020/09/04/cli-email-fun-profit.links src/content/en/til/2020/09/05/oldschool-pr.links-internal-check: src/content/en/til/2020/09/05/oldschool-pr.links src/content/en/til/2020/10/11/search-git-history.links-internal-check: src/content/en/til/2020/10/11/search-git-history.links src/content/en/til/2020/11/08/find-broken-symlink.links-internal-check: src/content/en/til/2020/11/08/find-broken-symlink.links src/content/en/til/2020/11/12/diy-nix-bash-ci.links-internal-check: src/content/en/til/2020/11/12/diy-nix-bash-ci.links src/content/en/til/2020/11/12/git-bisect-automation.links-internal-check: src/content/en/til/2020/11/12/git-bisect-automation.links src/content/en/til/2020/11/12/useful-bashvars.links-internal-check: src/content/en/til/2020/11/12/useful-bashvars.links src/content/en/til/2020/11/14/gpodder-media.links-internal-check: src/content/en/til/2020/11/14/gpodder-media.links src/content/en/til/2020/11/30/git-notes-ci.links-internal-check: src/content/en/til/2020/11/30/git-notes-ci.links src/content/en/til/2020/12/15/shellcheck-repo.links-internal-check: src/content/en/til/2020/12/15/shellcheck-repo.links src/content/en/til/2020/12/29/svg.links-internal-check: src/content/en/til/2020/12/29/svg.links src/content/en/til/2021/01/12/curl-awk-emails.links-internal-check: src/content/en/til/2021/01/12/curl-awk-emails.links src/content/en/til/2021/01/17/posix-shebang.links-internal-check: src/content/en/til/2021/01/17/posix-shebang.links src/content/en/til/2021/04/24/cl-generic-precedence.links-internal-check: src/content/en/til/2021/04/24/cl-generic-precedence.links src/content/en/til/2021/04/24/clojure-autocurry.links-internal-check: src/content/en/til/2021/04/24/clojure-autocurry.links src/content/en/til/2021/04/24/scm-nif.links-internal-check: src/content/en/til/2021/04/24/scm-nif.links src/content/en/til/2021/07/23/git-tls-gpg.links-internal-check: src/content/en/til/2021/07/23/git-tls-gpg.links src/content/en/til/2021/08/11/js-bigint-reviver.links-internal-check: src/content/en/til/2021/08/11/js-bigint-reviver.links src/content/pt/hea/2020/08/12/arquivo-datado.links-internal-check: src/content/pt/hea/2020/08/12/arquivo-datado.links src/content/de/blog/index.links-internal-check: src/content/de/blog/index.links src/content/de/folien/index.links-internal-check: src/content/de/folien/index.links src/content/de/hhg/index.links-internal-check: src/content/de/hhg/index.links src/content/de/pastebin/index.links-internal-check: src/content/de/pastebin/index.links src/content/de/podcast/index.links-internal-check: src/content/de/podcast/index.links src/content/de/screencast/index.links-internal-check: src/content/de/screencast/index.links src/content/en/blog/index.links-internal-check: src/content/en/blog/index.links src/content/en/pastebin/index.links-internal-check: src/content/en/pastebin/index.links src/content/en/podcast/index.links-internal-check: src/content/en/podcast/index.links src/content/en/screencast/index.links-internal-check: src/content/en/screencast/index.links src/content/en/slide/index.links-internal-check: src/content/en/slide/index.links src/content/en/til/index.links-internal-check: src/content/en/til/index.links src/content/eo/blog/index.links-internal-check: src/content/eo/blog/index.links src/content/eo/hml/index.links-internal-check: src/content/eo/hml/index.links src/content/eo/lumbildoj/index.links-internal-check: src/content/eo/lumbildoj/index.links src/content/eo/pastebin/index.links-internal-check: src/content/eo/pastebin/index.links src/content/eo/podkasto/index.links-internal-check: src/content/eo/podkasto/index.links src/content/eo/screencast/index.links-internal-check: src/content/eo/screencast/index.links src/content/es/blog/index.links-internal-check: src/content/es/blog/index.links src/content/es/diapositivas/index.links-internal-check: src/content/es/diapositivas/index.links src/content/es/haa/index.links-internal-check: src/content/es/haa/index.links src/content/es/pastebin/index.links-internal-check: src/content/es/pastebin/index.links src/content/es/podcast/index.links-internal-check: src/content/es/podcast/index.links src/content/es/screencast/index.links-internal-check: src/content/es/screencast/index.links src/content/fr/aja/index.links-internal-check: src/content/fr/aja/index.links src/content/fr/blog/index.links-internal-check: src/content/fr/blog/index.links src/content/fr/diapositives/index.links-internal-check: src/content/fr/diapositives/index.links src/content/fr/pastebin/index.links-internal-check: src/content/fr/pastebin/index.links src/content/fr/podcast/index.links-internal-check: src/content/fr/podcast/index.links src/content/fr/screencast/index.links-internal-check: src/content/fr/screencast/index.links src/content/pt/blog/index.links-internal-check: src/content/pt/blog/index.links src/content/pt/eslaides/index.links-internal-check: src/content/pt/eslaides/index.links src/content/pt/hea/index.links-internal-check: src/content/pt/hea/index.links src/content/pt/pastebin/index.links-internal-check: src/content/pt/pastebin/index.links src/content/pt/podcast/index.links-internal-check: src/content/pt/podcast/index.links src/content/pt/screencast/index.links-internal-check: src/content/pt/screencast/index.links src/content/de/blog/kategorien.links-internal-check: src/content/de/blog/kategorien.links src/content/de/folien/kategorien.links-internal-check: src/content/de/folien/kategorien.links src/content/de/hhg/kategorien.links-internal-check: src/content/de/hhg/kategorien.links src/content/de/pastebin/kategorien.links-internal-check: src/content/de/pastebin/kategorien.links src/content/de/podcast/kategorien.links-internal-check: src/content/de/podcast/kategorien.links src/content/de/screencast/kategorien.links-internal-check: src/content/de/screencast/kategorien.links src/content/en/blog/categories.links-internal-check: src/content/en/blog/categories.links src/content/en/pastebin/categories.links-internal-check: src/content/en/pastebin/categories.links src/content/en/podcast/categories.links-internal-check: src/content/en/podcast/categories.links src/content/en/screencast/categories.links-internal-check: src/content/en/screencast/categories.links src/content/en/slide/categories.links-internal-check: src/content/en/slide/categories.links src/content/en/til/categories.links-internal-check: src/content/en/til/categories.links src/content/eo/blog/kategorioj.links-internal-check: src/content/eo/blog/kategorioj.links src/content/eo/hml/kategorioj.links-internal-check: src/content/eo/hml/kategorioj.links src/content/eo/lumbildoj/kategorioj.links-internal-check: src/content/eo/lumbildoj/kategorioj.links src/content/eo/pastebin/kategorioj.links-internal-check: src/content/eo/pastebin/kategorioj.links src/content/eo/podkasto/kategorioj.links-internal-check: src/content/eo/podkasto/kategorioj.links src/content/eo/screencast/kategorioj.links-internal-check: src/content/eo/screencast/kategorioj.links src/content/es/blog/categorias.links-internal-check: src/content/es/blog/categorias.links src/content/es/diapositivas/categorias.links-internal-check: src/content/es/diapositivas/categorias.links src/content/es/haa/categorias.links-internal-check: src/content/es/haa/categorias.links src/content/es/pastebin/categorias.links-internal-check: src/content/es/pastebin/categorias.links src/content/es/podcast/categorias.links-internal-check: src/content/es/podcast/categorias.links src/content/es/screencast/categorias.links-internal-check: src/content/es/screencast/categorias.links src/content/fr/aja/categories.links-internal-check: src/content/fr/aja/categories.links src/content/fr/blog/categories.links-internal-check: src/content/fr/blog/categories.links src/content/fr/diapositives/categories.links-internal-check: src/content/fr/diapositives/categories.links src/content/fr/pastebin/categories.links-internal-check: src/content/fr/pastebin/categories.links src/content/fr/podcast/categories.links-internal-check: src/content/fr/podcast/categories.links src/content/fr/screencast/categories.links-internal-check: src/content/fr/screencast/categories.links src/content/pt/blog/categorias.links-internal-check: src/content/pt/blog/categorias.links src/content/pt/eslaides/categorias.links-internal-check: src/content/pt/eslaides/categorias.links src/content/pt/hea/categorias.links-internal-check: src/content/pt/hea/categorias.links src/content/pt/pastebin/categorias.links-internal-check: src/content/pt/pastebin/categorias.links src/content/pt/podcast/categorias.links-internal-check: src/content/pt/podcast/categorias.links src/content/pt/screencast/categorias.links-internal-check: src/content/pt/screencast/categorias.links src/content/de/index.links-internal-check: src/content/de/index.links src/content/en/index.links-internal-check: src/content/en/index.links src/content/eo/index.links-internal-check: src/content/eo/index.links src/content/es/index.links-internal-check: src/content/es/index.links src/content/fr/index.links-internal-check: src/content/fr/index.links src/content/pt/index.links-internal-check: src/content/pt/index.links src/content/de/musik.caslinks: src/content/de/musik.links src/content/de/ueber.caslinks: src/content/de/ueber.links src/content/en/about.caslinks: src/content/en/about.links src/content/en/music.caslinks: src/content/en/music.links src/content/eo/muziko.caslinks: src/content/eo/muziko.links src/content/eo/pri.caslinks: src/content/eo/pri.links src/content/es/acerca.caslinks: src/content/es/acerca.links src/content/es/musica.caslinks: src/content/es/musica.links src/content/fr/a-propos.caslinks: src/content/fr/a-propos.links src/content/fr/musique.caslinks: src/content/fr/musique.links src/content/pt/musica.caslinks: src/content/pt/musica.links src/content/pt/sobre.caslinks: src/content/pt/sobre.links src/content/en/blog/2018/07/17/guix-nixos.caslinks: src/content/en/blog/2018/07/17/guix-nixos.links src/content/en/blog/2018/08/01/npm-ci-reproducibility.caslinks: src/content/en/blog/2018/08/01/npm-ci-reproducibility.links src/content/en/blog/2018/12/21/ytdl-subs.caslinks: src/content/en/blog/2018/12/21/ytdl-subs.links src/content/en/blog/2019/06/02/nixos-stateless-workstation.caslinks: src/content/en/blog/2019/06/02/nixos-stateless-workstation.links src/content/en/blog/2020/08/10/guix-srht.caslinks: src/content/en/blog/2020/08/10/guix-srht.links src/content/en/blog/2020/08/31/database-i-wish-i-had.caslinks: src/content/en/blog/2020/08/31/database-i-wish-i-had.links src/content/en/blog/2020/10/05/cargo2nix.caslinks: src/content/en/blog/2020/10/05/cargo2nix.links src/content/en/blog/2020/10/05/swift2nix.caslinks: src/content/en/blog/2020/10/05/swift2nix.links src/content/en/blog/2020/10/19/feature-flags.caslinks: src/content/en/blog/2020/10/19/feature-flags.links src/content/en/blog/2020/10/20/wrong-interviewing.caslinks: src/content/en/blog/2020/10/20/wrong-interviewing.links src/content/en/blog/2020/11/07/diy-bugs.caslinks: src/content/en/blog/2020/11/07/diy-bugs.links src/content/en/blog/2020/11/08/paradigm-shift-review.caslinks: src/content/en/blog/2020/11/08/paradigm-shift-review.links src/content/en/blog/2020/11/12/database-parsers-trees.caslinks: src/content/en/blog/2020/11/12/database-parsers-trees.links src/content/en/blog/2020/11/14/local-first-review.caslinks: src/content/en/blog/2020/11/14/local-first-review.links src/content/en/blog/2021/01/26/remembering-ann.caslinks: src/content/en/blog/2021/01/26/remembering-ann.links src/content/en/blog/2021/02/17/fallible.caslinks: src/content/en/blog/2021/02/17/fallible.links src/content/en/blog/2021/04/29/relational-review.caslinks: src/content/en/blog/2021/04/29/relational-review.links src/content/en/pastebin/2016/04/05/rpn.caslinks: src/content/en/pastebin/2016/04/05/rpn.links src/content/en/pastebin/2018/07/11/nix-pinning.caslinks: src/content/en/pastebin/2018/07/11/nix-pinning.links src/content/en/pastebin/2018/07/13/guix-nixos-systemd.caslinks: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.links src/content/en/pastebin/2018/07/13/guixbuilder-nixos.caslinks: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.links src/content/en/pastebin/2018/07/13/guixbuilder.caslinks: src/content/en/pastebin/2018/07/13/guixbuilder.links src/content/en/pastebin/2018/07/13/nix-strpad.caslinks: src/content/en/pastebin/2018/07/13/nix-strpad.links src/content/en/pastebin/2018/07/25/nix-exps.caslinks: src/content/en/pastebin/2018/07/25/nix-exps.links src/content/en/pastebin/2018/07/25/nix-showdrv.caslinks: src/content/en/pastebin/2018/07/25/nix-showdrv.links src/content/en/pastebin/2019/06/08/inconsistent-hash.caslinks: src/content/en/pastebin/2019/06/08/inconsistent-hash.links src/content/en/pastebin/2019/12/29/raku-tuple-type.caslinks: src/content/en/pastebin/2019/12/29/raku-tuple-type.links src/content/en/pastebin/2020/01/04/guix-import-failure.caslinks: src/content/en/pastebin/2020/01/04/guix-import-failure.links src/content/en/pastebin/2020/02/14/guix-shebang.caslinks: src/content/en/pastebin/2020/02/14/guix-shebang.links src/content/en/pastebin/2020/11/27/guix-build-local.caslinks: src/content/en/pastebin/2020/11/27/guix-build-local.links src/content/en/pastebin/2020/12/15/guix-pack-fail.caslinks: src/content/en/pastebin/2020/12/15/guix-pack-fail.links src/content/en/pastebin/2021/04/03/naive-slugify-js.caslinks: src/content/en/pastebin/2021/04/03/naive-slugify-js.links src/content/en/pastebin/2021/06/08/reading-session-pt1.caslinks: src/content/en/pastebin/2021/06/08/reading-session-pt1.links src/content/en/pastebin/2021/06/22/curl-wget.caslinks: src/content/en/pastebin/2021/06/22/curl-wget.links src/content/en/pastebin/2021/08/11/h1-spacing.caslinks: src/content/en/pastebin/2021/08/11/h1-spacing.links src/content/en/pastebin/2021/09/02/sicp-3-19.caslinks: src/content/en/pastebin/2021/09/02/sicp-3-19.links src/content/en/pastebin/2021/09/03/sicp-persistent-queue.caslinks: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.links src/content/en/pastebin/2022/07/14/git-cleanup.caslinks: src/content/en/pastebin/2022/07/14/git-cleanup.links src/content/en/pastebin/2023/07/22/funcallable-amop.caslinks: src/content/en/pastebin/2023/07/22/funcallable-amop.links src/content/en/podcast/2020/12/19/test-entry.caslinks: src/content/en/podcast/2020/12/19/test-entry.links src/content/en/screencast/2021/02/07/autoqemu.caslinks: src/content/en/screencast/2021/02/07/autoqemu.links src/content/en/slide/2020/10/19/feature-flags.caslinks: src/content/en/slide/2020/10/19/feature-flags.links src/content/en/slide/2020/11/14/local-first-hype.caslinks: src/content/en/slide/2020/11/14/local-first-hype.links src/content/en/til/2020/08/12/filename-timestamp.caslinks: src/content/en/til/2020/08/12/filename-timestamp.links src/content/en/til/2020/08/13/code-jekyll.caslinks: src/content/en/til/2020/08/13/code-jekyll.links src/content/en/til/2020/08/14/browse-git.caslinks: src/content/en/til/2020/08/14/browse-git.links src/content/en/til/2020/08/16/git-search.caslinks: src/content/en/til/2020/08/16/git-search.links src/content/en/til/2020/08/28/grep-online.caslinks: src/content/en/til/2020/08/28/grep-online.links src/content/en/til/2020/09/04/cli-email-fun-profit.caslinks: src/content/en/til/2020/09/04/cli-email-fun-profit.links src/content/en/til/2020/09/05/oldschool-pr.caslinks: src/content/en/til/2020/09/05/oldschool-pr.links src/content/en/til/2020/10/11/search-git-history.caslinks: src/content/en/til/2020/10/11/search-git-history.links src/content/en/til/2020/11/08/find-broken-symlink.caslinks: src/content/en/til/2020/11/08/find-broken-symlink.links src/content/en/til/2020/11/12/diy-nix-bash-ci.caslinks: src/content/en/til/2020/11/12/diy-nix-bash-ci.links src/content/en/til/2020/11/12/git-bisect-automation.caslinks: src/content/en/til/2020/11/12/git-bisect-automation.links src/content/en/til/2020/11/12/useful-bashvars.caslinks: src/content/en/til/2020/11/12/useful-bashvars.links src/content/en/til/2020/11/14/gpodder-media.caslinks: src/content/en/til/2020/11/14/gpodder-media.links src/content/en/til/2020/11/30/git-notes-ci.caslinks: src/content/en/til/2020/11/30/git-notes-ci.links src/content/en/til/2020/12/15/shellcheck-repo.caslinks: src/content/en/til/2020/12/15/shellcheck-repo.links src/content/en/til/2020/12/29/svg.caslinks: src/content/en/til/2020/12/29/svg.links src/content/en/til/2021/01/12/curl-awk-emails.caslinks: src/content/en/til/2021/01/12/curl-awk-emails.links src/content/en/til/2021/01/17/posix-shebang.caslinks: src/content/en/til/2021/01/17/posix-shebang.links src/content/en/til/2021/04/24/cl-generic-precedence.caslinks: src/content/en/til/2021/04/24/cl-generic-precedence.links src/content/en/til/2021/04/24/clojure-autocurry.caslinks: src/content/en/til/2021/04/24/clojure-autocurry.links src/content/en/til/2021/04/24/scm-nif.caslinks: src/content/en/til/2021/04/24/scm-nif.links src/content/en/til/2021/07/23/git-tls-gpg.caslinks: src/content/en/til/2021/07/23/git-tls-gpg.links src/content/en/til/2021/08/11/js-bigint-reviver.caslinks: src/content/en/til/2021/08/11/js-bigint-reviver.links src/content/pt/hea/2020/08/12/arquivo-datado.caslinks: src/content/pt/hea/2020/08/12/arquivo-datado.links src/content/de/blog/index.caslinks: src/content/de/blog/index.links src/content/de/folien/index.caslinks: src/content/de/folien/index.links src/content/de/hhg/index.caslinks: src/content/de/hhg/index.links src/content/de/pastebin/index.caslinks: src/content/de/pastebin/index.links src/content/de/podcast/index.caslinks: src/content/de/podcast/index.links src/content/de/screencast/index.caslinks: src/content/de/screencast/index.links src/content/en/blog/index.caslinks: src/content/en/blog/index.links src/content/en/pastebin/index.caslinks: src/content/en/pastebin/index.links src/content/en/podcast/index.caslinks: src/content/en/podcast/index.links src/content/en/screencast/index.caslinks: src/content/en/screencast/index.links src/content/en/slide/index.caslinks: src/content/en/slide/index.links src/content/en/til/index.caslinks: src/content/en/til/index.links src/content/eo/blog/index.caslinks: src/content/eo/blog/index.links src/content/eo/hml/index.caslinks: src/content/eo/hml/index.links src/content/eo/lumbildoj/index.caslinks: src/content/eo/lumbildoj/index.links src/content/eo/pastebin/index.caslinks: src/content/eo/pastebin/index.links src/content/eo/podkasto/index.caslinks: src/content/eo/podkasto/index.links src/content/eo/screencast/index.caslinks: src/content/eo/screencast/index.links src/content/es/blog/index.caslinks: src/content/es/blog/index.links src/content/es/diapositivas/index.caslinks: src/content/es/diapositivas/index.links src/content/es/haa/index.caslinks: src/content/es/haa/index.links src/content/es/pastebin/index.caslinks: src/content/es/pastebin/index.links src/content/es/podcast/index.caslinks: src/content/es/podcast/index.links src/content/es/screencast/index.caslinks: src/content/es/screencast/index.links src/content/fr/aja/index.caslinks: src/content/fr/aja/index.links src/content/fr/blog/index.caslinks: src/content/fr/blog/index.links src/content/fr/diapositives/index.caslinks: src/content/fr/diapositives/index.links src/content/fr/pastebin/index.caslinks: src/content/fr/pastebin/index.links src/content/fr/podcast/index.caslinks: src/content/fr/podcast/index.links src/content/fr/screencast/index.caslinks: src/content/fr/screencast/index.links src/content/pt/blog/index.caslinks: src/content/pt/blog/index.links src/content/pt/eslaides/index.caslinks: src/content/pt/eslaides/index.links src/content/pt/hea/index.caslinks: src/content/pt/hea/index.links src/content/pt/pastebin/index.caslinks: src/content/pt/pastebin/index.links src/content/pt/podcast/index.caslinks: src/content/pt/podcast/index.links src/content/pt/screencast/index.caslinks: src/content/pt/screencast/index.links src/content/de/blog/kategorien.caslinks: src/content/de/blog/kategorien.links src/content/de/folien/kategorien.caslinks: src/content/de/folien/kategorien.links src/content/de/hhg/kategorien.caslinks: src/content/de/hhg/kategorien.links src/content/de/pastebin/kategorien.caslinks: src/content/de/pastebin/kategorien.links src/content/de/podcast/kategorien.caslinks: src/content/de/podcast/kategorien.links src/content/de/screencast/kategorien.caslinks: src/content/de/screencast/kategorien.links src/content/en/blog/categories.caslinks: src/content/en/blog/categories.links src/content/en/pastebin/categories.caslinks: src/content/en/pastebin/categories.links src/content/en/podcast/categories.caslinks: src/content/en/podcast/categories.links src/content/en/screencast/categories.caslinks: src/content/en/screencast/categories.links src/content/en/slide/categories.caslinks: src/content/en/slide/categories.links src/content/en/til/categories.caslinks: src/content/en/til/categories.links src/content/eo/blog/kategorioj.caslinks: src/content/eo/blog/kategorioj.links src/content/eo/hml/kategorioj.caslinks: src/content/eo/hml/kategorioj.links src/content/eo/lumbildoj/kategorioj.caslinks: src/content/eo/lumbildoj/kategorioj.links src/content/eo/pastebin/kategorioj.caslinks: src/content/eo/pastebin/kategorioj.links src/content/eo/podkasto/kategorioj.caslinks: src/content/eo/podkasto/kategorioj.links src/content/eo/screencast/kategorioj.caslinks: src/content/eo/screencast/kategorioj.links src/content/es/blog/categorias.caslinks: src/content/es/blog/categorias.links src/content/es/diapositivas/categorias.caslinks: src/content/es/diapositivas/categorias.links src/content/es/haa/categorias.caslinks: src/content/es/haa/categorias.links src/content/es/pastebin/categorias.caslinks: src/content/es/pastebin/categorias.links src/content/es/podcast/categorias.caslinks: src/content/es/podcast/categorias.links src/content/es/screencast/categorias.caslinks: src/content/es/screencast/categorias.links src/content/fr/aja/categories.caslinks: src/content/fr/aja/categories.links src/content/fr/blog/categories.caslinks: src/content/fr/blog/categories.links src/content/fr/diapositives/categories.caslinks: src/content/fr/diapositives/categories.links src/content/fr/pastebin/categories.caslinks: src/content/fr/pastebin/categories.links src/content/fr/podcast/categories.caslinks: src/content/fr/podcast/categories.links src/content/fr/screencast/categories.caslinks: src/content/fr/screencast/categories.links src/content/pt/blog/categorias.caslinks: src/content/pt/blog/categorias.links src/content/pt/eslaides/categorias.caslinks: src/content/pt/eslaides/categorias.links src/content/pt/hea/categorias.caslinks: src/content/pt/hea/categorias.links src/content/pt/pastebin/categorias.caslinks: src/content/pt/pastebin/categorias.links src/content/pt/podcast/categorias.caslinks: src/content/pt/podcast/categorias.links src/content/pt/screencast/categorias.caslinks: src/content/pt/screencast/categorias.links src/content/de/index.caslinks: src/content/de/index.links src/content/en/index.caslinks: src/content/en/index.links src/content/eo/index.caslinks: src/content/eo/index.links src/content/es/index.caslinks: src/content/es/index.links src/content/fr/index.caslinks: src/content/fr/index.links src/content/pt/index.caslinks: src/content/pt/index.links src/content/en/blog/2018/07/17/guix-nixos.feedentry: src/content/en/blog/2018/07/17/guix-nixos.json src/content/en/blog/2018/07/17/guix-nixos.htmlbody src/content/en/blog/2018/08/01/npm-ci-reproducibility.feedentry: src/content/en/blog/2018/08/01/npm-ci-reproducibility.json src/content/en/blog/2018/08/01/npm-ci-reproducibility.htmlbody src/content/en/blog/2018/12/21/ytdl-subs.feedentry: src/content/en/blog/2018/12/21/ytdl-subs.json src/content/en/blog/2018/12/21/ytdl-subs.htmlbody src/content/en/blog/2019/06/02/nixos-stateless-workstation.feedentry: src/content/en/blog/2019/06/02/nixos-stateless-workstation.json src/content/en/blog/2019/06/02/nixos-stateless-workstation.htmlbody src/content/en/blog/2020/08/10/guix-srht.feedentry: src/content/en/blog/2020/08/10/guix-srht.json src/content/en/blog/2020/08/10/guix-srht.htmlbody src/content/en/blog/2020/08/31/database-i-wish-i-had.feedentry: src/content/en/blog/2020/08/31/database-i-wish-i-had.json src/content/en/blog/2020/08/31/database-i-wish-i-had.htmlbody src/content/en/blog/2020/10/05/cargo2nix.feedentry: src/content/en/blog/2020/10/05/cargo2nix.json src/content/en/blog/2020/10/05/cargo2nix.htmlbody src/content/en/blog/2020/10/05/swift2nix.feedentry: src/content/en/blog/2020/10/05/swift2nix.json src/content/en/blog/2020/10/05/swift2nix.htmlbody src/content/en/blog/2020/10/19/feature-flags.feedentry: src/content/en/blog/2020/10/19/feature-flags.json src/content/en/blog/2020/10/19/feature-flags.htmlbody src/content/en/blog/2020/10/20/wrong-interviewing.feedentry: src/content/en/blog/2020/10/20/wrong-interviewing.json src/content/en/blog/2020/10/20/wrong-interviewing.htmlbody src/content/en/blog/2020/11/07/diy-bugs.feedentry: src/content/en/blog/2020/11/07/diy-bugs.json src/content/en/blog/2020/11/07/diy-bugs.htmlbody src/content/en/blog/2020/11/08/paradigm-shift-review.feedentry: src/content/en/blog/2020/11/08/paradigm-shift-review.json src/content/en/blog/2020/11/08/paradigm-shift-review.htmlbody src/content/en/blog/2020/11/12/database-parsers-trees.feedentry: src/content/en/blog/2020/11/12/database-parsers-trees.json src/content/en/blog/2020/11/12/database-parsers-trees.htmlbody src/content/en/blog/2020/11/14/local-first-review.feedentry: src/content/en/blog/2020/11/14/local-first-review.json src/content/en/blog/2020/11/14/local-first-review.htmlbody src/content/en/blog/2021/01/26/remembering-ann.feedentry: src/content/en/blog/2021/01/26/remembering-ann.json src/content/en/blog/2021/01/26/remembering-ann.htmlbody src/content/en/blog/2021/02/17/fallible.feedentry: src/content/en/blog/2021/02/17/fallible.json src/content/en/blog/2021/02/17/fallible.htmlbody src/content/en/blog/2021/04/29/relational-review.feedentry: src/content/en/blog/2021/04/29/relational-review.json src/content/en/blog/2021/04/29/relational-review.htmlbody src/content/en/pastebin/2016/04/05/rpn.feedentry: src/content/en/pastebin/2016/04/05/rpn.json src/content/en/pastebin/2016/04/05/rpn.htmlbody src/content/en/pastebin/2018/07/11/nix-pinning.feedentry: src/content/en/pastebin/2018/07/11/nix-pinning.json src/content/en/pastebin/2018/07/11/nix-pinning.htmlbody src/content/en/pastebin/2018/07/13/guix-nixos-systemd.feedentry: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.json src/content/en/pastebin/2018/07/13/guix-nixos-systemd.htmlbody src/content/en/pastebin/2018/07/13/guixbuilder-nixos.feedentry: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.json src/content/en/pastebin/2018/07/13/guixbuilder-nixos.htmlbody src/content/en/pastebin/2018/07/13/guixbuilder.feedentry: src/content/en/pastebin/2018/07/13/guixbuilder.json src/content/en/pastebin/2018/07/13/guixbuilder.htmlbody src/content/en/pastebin/2018/07/13/nix-strpad.feedentry: src/content/en/pastebin/2018/07/13/nix-strpad.json src/content/en/pastebin/2018/07/13/nix-strpad.htmlbody src/content/en/pastebin/2018/07/25/nix-exps.feedentry: src/content/en/pastebin/2018/07/25/nix-exps.json src/content/en/pastebin/2018/07/25/nix-exps.htmlbody src/content/en/pastebin/2018/07/25/nix-showdrv.feedentry: src/content/en/pastebin/2018/07/25/nix-showdrv.json src/content/en/pastebin/2018/07/25/nix-showdrv.htmlbody src/content/en/pastebin/2019/06/08/inconsistent-hash.feedentry: src/content/en/pastebin/2019/06/08/inconsistent-hash.json src/content/en/pastebin/2019/06/08/inconsistent-hash.htmlbody src/content/en/pastebin/2019/12/29/raku-tuple-type.feedentry: src/content/en/pastebin/2019/12/29/raku-tuple-type.json src/content/en/pastebin/2019/12/29/raku-tuple-type.htmlbody src/content/en/pastebin/2020/01/04/guix-import-failure.feedentry: src/content/en/pastebin/2020/01/04/guix-import-failure.json src/content/en/pastebin/2020/01/04/guix-import-failure.htmlbody src/content/en/pastebin/2020/02/14/guix-shebang.feedentry: src/content/en/pastebin/2020/02/14/guix-shebang.json src/content/en/pastebin/2020/02/14/guix-shebang.htmlbody src/content/en/pastebin/2020/11/27/guix-build-local.feedentry: src/content/en/pastebin/2020/11/27/guix-build-local.json src/content/en/pastebin/2020/11/27/guix-build-local.htmlbody src/content/en/pastebin/2020/12/15/guix-pack-fail.feedentry: src/content/en/pastebin/2020/12/15/guix-pack-fail.json src/content/en/pastebin/2020/12/15/guix-pack-fail.htmlbody src/content/en/pastebin/2021/04/03/naive-slugify-js.feedentry: src/content/en/pastebin/2021/04/03/naive-slugify-js.json src/content/en/pastebin/2021/04/03/naive-slugify-js.htmlbody src/content/en/pastebin/2021/06/08/reading-session-pt1.feedentry: src/content/en/pastebin/2021/06/08/reading-session-pt1.json src/content/en/pastebin/2021/06/08/reading-session-pt1.htmlbody src/content/en/pastebin/2021/06/22/curl-wget.feedentry: src/content/en/pastebin/2021/06/22/curl-wget.json src/content/en/pastebin/2021/06/22/curl-wget.htmlbody src/content/en/pastebin/2021/08/11/h1-spacing.feedentry: src/content/en/pastebin/2021/08/11/h1-spacing.json src/content/en/pastebin/2021/08/11/h1-spacing.htmlbody src/content/en/pastebin/2021/09/02/sicp-3-19.feedentry: src/content/en/pastebin/2021/09/02/sicp-3-19.json src/content/en/pastebin/2021/09/02/sicp-3-19.htmlbody src/content/en/pastebin/2021/09/03/sicp-persistent-queue.feedentry: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.json src/content/en/pastebin/2021/09/03/sicp-persistent-queue.htmlbody src/content/en/pastebin/2022/07/14/git-cleanup.feedentry: src/content/en/pastebin/2022/07/14/git-cleanup.json src/content/en/pastebin/2022/07/14/git-cleanup.htmlbody src/content/en/pastebin/2023/07/22/funcallable-amop.feedentry: src/content/en/pastebin/2023/07/22/funcallable-amop.json src/content/en/pastebin/2023/07/22/funcallable-amop.htmlbody src/content/en/podcast/2020/12/19/test-entry.feedentry: src/content/en/podcast/2020/12/19/test-entry.json src/content/en/podcast/2020/12/19/test-entry.htmlbody src/content/en/screencast/2021/02/07/autoqemu.feedentry: src/content/en/screencast/2021/02/07/autoqemu.json src/content/en/screencast/2021/02/07/autoqemu.htmlbody src/content/en/slide/2020/10/19/feature-flags.feedentry: src/content/en/slide/2020/10/19/feature-flags.json src/content/en/slide/2020/10/19/feature-flags.htmlbody src/content/en/slide/2020/11/14/local-first-hype.feedentry: src/content/en/slide/2020/11/14/local-first-hype.json src/content/en/slide/2020/11/14/local-first-hype.htmlbody src/content/en/til/2020/08/12/filename-timestamp.feedentry: src/content/en/til/2020/08/12/filename-timestamp.json src/content/en/til/2020/08/12/filename-timestamp.htmlbody src/content/en/til/2020/08/13/code-jekyll.feedentry: src/content/en/til/2020/08/13/code-jekyll.json src/content/en/til/2020/08/13/code-jekyll.htmlbody src/content/en/til/2020/08/14/browse-git.feedentry: src/content/en/til/2020/08/14/browse-git.json src/content/en/til/2020/08/14/browse-git.htmlbody src/content/en/til/2020/08/16/git-search.feedentry: src/content/en/til/2020/08/16/git-search.json src/content/en/til/2020/08/16/git-search.htmlbody src/content/en/til/2020/08/28/grep-online.feedentry: src/content/en/til/2020/08/28/grep-online.json src/content/en/til/2020/08/28/grep-online.htmlbody src/content/en/til/2020/09/04/cli-email-fun-profit.feedentry: src/content/en/til/2020/09/04/cli-email-fun-profit.json src/content/en/til/2020/09/04/cli-email-fun-profit.htmlbody src/content/en/til/2020/09/05/oldschool-pr.feedentry: src/content/en/til/2020/09/05/oldschool-pr.json src/content/en/til/2020/09/05/oldschool-pr.htmlbody src/content/en/til/2020/10/11/search-git-history.feedentry: src/content/en/til/2020/10/11/search-git-history.json src/content/en/til/2020/10/11/search-git-history.htmlbody src/content/en/til/2020/11/08/find-broken-symlink.feedentry: src/content/en/til/2020/11/08/find-broken-symlink.json src/content/en/til/2020/11/08/find-broken-symlink.htmlbody src/content/en/til/2020/11/12/diy-nix-bash-ci.feedentry: src/content/en/til/2020/11/12/diy-nix-bash-ci.json src/content/en/til/2020/11/12/diy-nix-bash-ci.htmlbody src/content/en/til/2020/11/12/git-bisect-automation.feedentry: src/content/en/til/2020/11/12/git-bisect-automation.json src/content/en/til/2020/11/12/git-bisect-automation.htmlbody src/content/en/til/2020/11/12/useful-bashvars.feedentry: src/content/en/til/2020/11/12/useful-bashvars.json src/content/en/til/2020/11/12/useful-bashvars.htmlbody src/content/en/til/2020/11/14/gpodder-media.feedentry: src/content/en/til/2020/11/14/gpodder-media.json src/content/en/til/2020/11/14/gpodder-media.htmlbody src/content/en/til/2020/11/30/git-notes-ci.feedentry: src/content/en/til/2020/11/30/git-notes-ci.json src/content/en/til/2020/11/30/git-notes-ci.htmlbody src/content/en/til/2020/12/15/shellcheck-repo.feedentry: src/content/en/til/2020/12/15/shellcheck-repo.json src/content/en/til/2020/12/15/shellcheck-repo.htmlbody src/content/en/til/2020/12/29/svg.feedentry: src/content/en/til/2020/12/29/svg.json src/content/en/til/2020/12/29/svg.htmlbody src/content/en/til/2021/01/12/curl-awk-emails.feedentry: src/content/en/til/2021/01/12/curl-awk-emails.json src/content/en/til/2021/01/12/curl-awk-emails.htmlbody src/content/en/til/2021/01/17/posix-shebang.feedentry: src/content/en/til/2021/01/17/posix-shebang.json src/content/en/til/2021/01/17/posix-shebang.htmlbody src/content/en/til/2021/04/24/cl-generic-precedence.feedentry: src/content/en/til/2021/04/24/cl-generic-precedence.json src/content/en/til/2021/04/24/cl-generic-precedence.htmlbody src/content/en/til/2021/04/24/clojure-autocurry.feedentry: src/content/en/til/2021/04/24/clojure-autocurry.json src/content/en/til/2021/04/24/clojure-autocurry.htmlbody src/content/en/til/2021/04/24/scm-nif.feedentry: src/content/en/til/2021/04/24/scm-nif.json src/content/en/til/2021/04/24/scm-nif.htmlbody src/content/en/til/2021/07/23/git-tls-gpg.feedentry: src/content/en/til/2021/07/23/git-tls-gpg.json src/content/en/til/2021/07/23/git-tls-gpg.htmlbody src/content/en/til/2021/08/11/js-bigint-reviver.feedentry: src/content/en/til/2021/08/11/js-bigint-reviver.json src/content/en/til/2021/08/11/js-bigint-reviver.htmlbody src/content/pt/hea/2020/08/12/arquivo-datado.feedentry: src/content/pt/hea/2020/08/12/arquivo-datado.json src/content/pt/hea/2020/08/12/arquivo-datado.htmlbody src/content/en/blog/2018/07/17/guix-nixos.sortdata: src/content/en/blog/2018/07/17/guix-nixos.json src/content/en/blog/2018/08/01/npm-ci-reproducibility.sortdata: src/content/en/blog/2018/08/01/npm-ci-reproducibility.json src/content/en/blog/2018/12/21/ytdl-subs.sortdata: src/content/en/blog/2018/12/21/ytdl-subs.json src/content/en/blog/2019/06/02/nixos-stateless-workstation.sortdata: src/content/en/blog/2019/06/02/nixos-stateless-workstation.json src/content/en/blog/2020/08/10/guix-srht.sortdata: src/content/en/blog/2020/08/10/guix-srht.json src/content/en/blog/2020/08/31/database-i-wish-i-had.sortdata: src/content/en/blog/2020/08/31/database-i-wish-i-had.json src/content/en/blog/2020/10/05/cargo2nix.sortdata: src/content/en/blog/2020/10/05/cargo2nix.json src/content/en/blog/2020/10/05/swift2nix.sortdata: src/content/en/blog/2020/10/05/swift2nix.json src/content/en/blog/2020/10/19/feature-flags.sortdata: src/content/en/blog/2020/10/19/feature-flags.json src/content/en/blog/2020/10/20/wrong-interviewing.sortdata: src/content/en/blog/2020/10/20/wrong-interviewing.json src/content/en/blog/2020/11/07/diy-bugs.sortdata: src/content/en/blog/2020/11/07/diy-bugs.json src/content/en/blog/2020/11/08/paradigm-shift-review.sortdata: src/content/en/blog/2020/11/08/paradigm-shift-review.json src/content/en/blog/2020/11/12/database-parsers-trees.sortdata: src/content/en/blog/2020/11/12/database-parsers-trees.json src/content/en/blog/2020/11/14/local-first-review.sortdata: src/content/en/blog/2020/11/14/local-first-review.json src/content/en/blog/2021/01/26/remembering-ann.sortdata: src/content/en/blog/2021/01/26/remembering-ann.json src/content/en/blog/2021/02/17/fallible.sortdata: src/content/en/blog/2021/02/17/fallible.json src/content/en/blog/2021/04/29/relational-review.sortdata: src/content/en/blog/2021/04/29/relational-review.json src/content/en/pastebin/2016/04/05/rpn.sortdata: src/content/en/pastebin/2016/04/05/rpn.json src/content/en/pastebin/2018/07/11/nix-pinning.sortdata: src/content/en/pastebin/2018/07/11/nix-pinning.json src/content/en/pastebin/2018/07/13/guix-nixos-systemd.sortdata: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.json src/content/en/pastebin/2018/07/13/guixbuilder-nixos.sortdata: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.json src/content/en/pastebin/2018/07/13/guixbuilder.sortdata: src/content/en/pastebin/2018/07/13/guixbuilder.json src/content/en/pastebin/2018/07/13/nix-strpad.sortdata: src/content/en/pastebin/2018/07/13/nix-strpad.json src/content/en/pastebin/2018/07/25/nix-exps.sortdata: src/content/en/pastebin/2018/07/25/nix-exps.json src/content/en/pastebin/2018/07/25/nix-showdrv.sortdata: src/content/en/pastebin/2018/07/25/nix-showdrv.json src/content/en/pastebin/2019/06/08/inconsistent-hash.sortdata: src/content/en/pastebin/2019/06/08/inconsistent-hash.json src/content/en/pastebin/2019/12/29/raku-tuple-type.sortdata: src/content/en/pastebin/2019/12/29/raku-tuple-type.json src/content/en/pastebin/2020/01/04/guix-import-failure.sortdata: src/content/en/pastebin/2020/01/04/guix-import-failure.json src/content/en/pastebin/2020/02/14/guix-shebang.sortdata: src/content/en/pastebin/2020/02/14/guix-shebang.json src/content/en/pastebin/2020/11/27/guix-build-local.sortdata: src/content/en/pastebin/2020/11/27/guix-build-local.json src/content/en/pastebin/2020/12/15/guix-pack-fail.sortdata: src/content/en/pastebin/2020/12/15/guix-pack-fail.json src/content/en/pastebin/2021/04/03/naive-slugify-js.sortdata: src/content/en/pastebin/2021/04/03/naive-slugify-js.json src/content/en/pastebin/2021/06/08/reading-session-pt1.sortdata: src/content/en/pastebin/2021/06/08/reading-session-pt1.json src/content/en/pastebin/2021/06/22/curl-wget.sortdata: src/content/en/pastebin/2021/06/22/curl-wget.json src/content/en/pastebin/2021/08/11/h1-spacing.sortdata: src/content/en/pastebin/2021/08/11/h1-spacing.json src/content/en/pastebin/2021/09/02/sicp-3-19.sortdata: src/content/en/pastebin/2021/09/02/sicp-3-19.json src/content/en/pastebin/2021/09/03/sicp-persistent-queue.sortdata: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.json src/content/en/pastebin/2022/07/14/git-cleanup.sortdata: src/content/en/pastebin/2022/07/14/git-cleanup.json src/content/en/pastebin/2023/07/22/funcallable-amop.sortdata: src/content/en/pastebin/2023/07/22/funcallable-amop.json src/content/en/podcast/2020/12/19/test-entry.sortdata: src/content/en/podcast/2020/12/19/test-entry.json src/content/en/screencast/2021/02/07/autoqemu.sortdata: src/content/en/screencast/2021/02/07/autoqemu.json src/content/en/slide/2020/10/19/feature-flags.sortdata: src/content/en/slide/2020/10/19/feature-flags.json src/content/en/slide/2020/11/14/local-first-hype.sortdata: src/content/en/slide/2020/11/14/local-first-hype.json src/content/en/til/2020/08/12/filename-timestamp.sortdata: src/content/en/til/2020/08/12/filename-timestamp.json src/content/en/til/2020/08/13/code-jekyll.sortdata: src/content/en/til/2020/08/13/code-jekyll.json src/content/en/til/2020/08/14/browse-git.sortdata: src/content/en/til/2020/08/14/browse-git.json src/content/en/til/2020/08/16/git-search.sortdata: src/content/en/til/2020/08/16/git-search.json src/content/en/til/2020/08/28/grep-online.sortdata: src/content/en/til/2020/08/28/grep-online.json src/content/en/til/2020/09/04/cli-email-fun-profit.sortdata: src/content/en/til/2020/09/04/cli-email-fun-profit.json src/content/en/til/2020/09/05/oldschool-pr.sortdata: src/content/en/til/2020/09/05/oldschool-pr.json src/content/en/til/2020/10/11/search-git-history.sortdata: src/content/en/til/2020/10/11/search-git-history.json src/content/en/til/2020/11/08/find-broken-symlink.sortdata: src/content/en/til/2020/11/08/find-broken-symlink.json src/content/en/til/2020/11/12/diy-nix-bash-ci.sortdata: src/content/en/til/2020/11/12/diy-nix-bash-ci.json src/content/en/til/2020/11/12/git-bisect-automation.sortdata: src/content/en/til/2020/11/12/git-bisect-automation.json src/content/en/til/2020/11/12/useful-bashvars.sortdata: src/content/en/til/2020/11/12/useful-bashvars.json src/content/en/til/2020/11/14/gpodder-media.sortdata: src/content/en/til/2020/11/14/gpodder-media.json src/content/en/til/2020/11/30/git-notes-ci.sortdata: src/content/en/til/2020/11/30/git-notes-ci.json src/content/en/til/2020/12/15/shellcheck-repo.sortdata: src/content/en/til/2020/12/15/shellcheck-repo.json src/content/en/til/2020/12/29/svg.sortdata: src/content/en/til/2020/12/29/svg.json src/content/en/til/2021/01/12/curl-awk-emails.sortdata: src/content/en/til/2021/01/12/curl-awk-emails.json src/content/en/til/2021/01/17/posix-shebang.sortdata: src/content/en/til/2021/01/17/posix-shebang.json src/content/en/til/2021/04/24/cl-generic-precedence.sortdata: src/content/en/til/2021/04/24/cl-generic-precedence.json src/content/en/til/2021/04/24/clojure-autocurry.sortdata: src/content/en/til/2021/04/24/clojure-autocurry.json src/content/en/til/2021/04/24/scm-nif.sortdata: src/content/en/til/2021/04/24/scm-nif.json src/content/en/til/2021/07/23/git-tls-gpg.sortdata: src/content/en/til/2021/07/23/git-tls-gpg.json src/content/en/til/2021/08/11/js-bigint-reviver.sortdata: src/content/en/til/2021/08/11/js-bigint-reviver.json src/content/pt/hea/2020/08/12/arquivo-datado.sortdata: src/content/pt/hea/2020/08/12/arquivo-datado.json src/content/en/blog/2018/07/17/guix-nixos.categorydata: src/content/en/blog/2018/07/17/guix-nixos.json src/content/en/blog/2018/08/01/npm-ci-reproducibility.categorydata: src/content/en/blog/2018/08/01/npm-ci-reproducibility.json src/content/en/blog/2018/12/21/ytdl-subs.categorydata: src/content/en/blog/2018/12/21/ytdl-subs.json src/content/en/blog/2019/06/02/nixos-stateless-workstation.categorydata: src/content/en/blog/2019/06/02/nixos-stateless-workstation.json src/content/en/blog/2020/08/10/guix-srht.categorydata: src/content/en/blog/2020/08/10/guix-srht.json src/content/en/blog/2020/08/31/database-i-wish-i-had.categorydata: src/content/en/blog/2020/08/31/database-i-wish-i-had.json src/content/en/blog/2020/10/05/cargo2nix.categorydata: src/content/en/blog/2020/10/05/cargo2nix.json src/content/en/blog/2020/10/05/swift2nix.categorydata: src/content/en/blog/2020/10/05/swift2nix.json src/content/en/blog/2020/10/19/feature-flags.categorydata: src/content/en/blog/2020/10/19/feature-flags.json src/content/en/blog/2020/10/20/wrong-interviewing.categorydata: src/content/en/blog/2020/10/20/wrong-interviewing.json src/content/en/blog/2020/11/07/diy-bugs.categorydata: src/content/en/blog/2020/11/07/diy-bugs.json src/content/en/blog/2020/11/08/paradigm-shift-review.categorydata: src/content/en/blog/2020/11/08/paradigm-shift-review.json src/content/en/blog/2020/11/12/database-parsers-trees.categorydata: src/content/en/blog/2020/11/12/database-parsers-trees.json src/content/en/blog/2020/11/14/local-first-review.categorydata: src/content/en/blog/2020/11/14/local-first-review.json src/content/en/blog/2021/01/26/remembering-ann.categorydata: src/content/en/blog/2021/01/26/remembering-ann.json src/content/en/blog/2021/02/17/fallible.categorydata: src/content/en/blog/2021/02/17/fallible.json src/content/en/blog/2021/04/29/relational-review.categorydata: src/content/en/blog/2021/04/29/relational-review.json src/content/en/pastebin/2016/04/05/rpn.categorydata: src/content/en/pastebin/2016/04/05/rpn.json src/content/en/pastebin/2018/07/11/nix-pinning.categorydata: src/content/en/pastebin/2018/07/11/nix-pinning.json src/content/en/pastebin/2018/07/13/guix-nixos-systemd.categorydata: src/content/en/pastebin/2018/07/13/guix-nixos-systemd.json src/content/en/pastebin/2018/07/13/guixbuilder-nixos.categorydata: src/content/en/pastebin/2018/07/13/guixbuilder-nixos.json src/content/en/pastebin/2018/07/13/guixbuilder.categorydata: src/content/en/pastebin/2018/07/13/guixbuilder.json src/content/en/pastebin/2018/07/13/nix-strpad.categorydata: src/content/en/pastebin/2018/07/13/nix-strpad.json src/content/en/pastebin/2018/07/25/nix-exps.categorydata: src/content/en/pastebin/2018/07/25/nix-exps.json src/content/en/pastebin/2018/07/25/nix-showdrv.categorydata: src/content/en/pastebin/2018/07/25/nix-showdrv.json src/content/en/pastebin/2019/06/08/inconsistent-hash.categorydata: src/content/en/pastebin/2019/06/08/inconsistent-hash.json src/content/en/pastebin/2019/12/29/raku-tuple-type.categorydata: src/content/en/pastebin/2019/12/29/raku-tuple-type.json src/content/en/pastebin/2020/01/04/guix-import-failure.categorydata: src/content/en/pastebin/2020/01/04/guix-import-failure.json src/content/en/pastebin/2020/02/14/guix-shebang.categorydata: src/content/en/pastebin/2020/02/14/guix-shebang.json src/content/en/pastebin/2020/11/27/guix-build-local.categorydata: src/content/en/pastebin/2020/11/27/guix-build-local.json src/content/en/pastebin/2020/12/15/guix-pack-fail.categorydata: src/content/en/pastebin/2020/12/15/guix-pack-fail.json src/content/en/pastebin/2021/04/03/naive-slugify-js.categorydata: src/content/en/pastebin/2021/04/03/naive-slugify-js.json src/content/en/pastebin/2021/06/08/reading-session-pt1.categorydata: src/content/en/pastebin/2021/06/08/reading-session-pt1.json src/content/en/pastebin/2021/06/22/curl-wget.categorydata: src/content/en/pastebin/2021/06/22/curl-wget.json src/content/en/pastebin/2021/08/11/h1-spacing.categorydata: src/content/en/pastebin/2021/08/11/h1-spacing.json src/content/en/pastebin/2021/09/02/sicp-3-19.categorydata: src/content/en/pastebin/2021/09/02/sicp-3-19.json src/content/en/pastebin/2021/09/03/sicp-persistent-queue.categorydata: src/content/en/pastebin/2021/09/03/sicp-persistent-queue.json src/content/en/pastebin/2022/07/14/git-cleanup.categorydata: src/content/en/pastebin/2022/07/14/git-cleanup.json src/content/en/pastebin/2023/07/22/funcallable-amop.categorydata: src/content/en/pastebin/2023/07/22/funcallable-amop.json src/content/en/podcast/2020/12/19/test-entry.categorydata: src/content/en/podcast/2020/12/19/test-entry.json src/content/en/screencast/2021/02/07/autoqemu.categorydata: src/content/en/screencast/2021/02/07/autoqemu.json src/content/en/slide/2020/10/19/feature-flags.categorydata: src/content/en/slide/2020/10/19/feature-flags.json src/content/en/slide/2020/11/14/local-first-hype.categorydata: src/content/en/slide/2020/11/14/local-first-hype.json src/content/en/til/2020/08/12/filename-timestamp.categorydata: src/content/en/til/2020/08/12/filename-timestamp.json src/content/en/til/2020/08/13/code-jekyll.categorydata: src/content/en/til/2020/08/13/code-jekyll.json src/content/en/til/2020/08/14/browse-git.categorydata: src/content/en/til/2020/08/14/browse-git.json src/content/en/til/2020/08/16/git-search.categorydata: src/content/en/til/2020/08/16/git-search.json src/content/en/til/2020/08/28/grep-online.categorydata: src/content/en/til/2020/08/28/grep-online.json src/content/en/til/2020/09/04/cli-email-fun-profit.categorydata: src/content/en/til/2020/09/04/cli-email-fun-profit.json src/content/en/til/2020/09/05/oldschool-pr.categorydata: src/content/en/til/2020/09/05/oldschool-pr.json src/content/en/til/2020/10/11/search-git-history.categorydata: src/content/en/til/2020/10/11/search-git-history.json src/content/en/til/2020/11/08/find-broken-symlink.categorydata: src/content/en/til/2020/11/08/find-broken-symlink.json src/content/en/til/2020/11/12/diy-nix-bash-ci.categorydata: src/content/en/til/2020/11/12/diy-nix-bash-ci.json src/content/en/til/2020/11/12/git-bisect-automation.categorydata: src/content/en/til/2020/11/12/git-bisect-automation.json src/content/en/til/2020/11/12/useful-bashvars.categorydata: src/content/en/til/2020/11/12/useful-bashvars.json src/content/en/til/2020/11/14/gpodder-media.categorydata: src/content/en/til/2020/11/14/gpodder-media.json src/content/en/til/2020/11/30/git-notes-ci.categorydata: src/content/en/til/2020/11/30/git-notes-ci.json src/content/en/til/2020/12/15/shellcheck-repo.categorydata: src/content/en/til/2020/12/15/shellcheck-repo.json src/content/en/til/2020/12/29/svg.categorydata: src/content/en/til/2020/12/29/svg.json src/content/en/til/2021/01/12/curl-awk-emails.categorydata: src/content/en/til/2021/01/12/curl-awk-emails.json src/content/en/til/2021/01/17/posix-shebang.categorydata: src/content/en/til/2021/01/17/posix-shebang.json src/content/en/til/2021/04/24/cl-generic-precedence.categorydata: src/content/en/til/2021/04/24/cl-generic-precedence.json src/content/en/til/2021/04/24/clojure-autocurry.categorydata: src/content/en/til/2021/04/24/clojure-autocurry.json src/content/en/til/2021/04/24/scm-nif.categorydata: src/content/en/til/2021/04/24/scm-nif.json src/content/en/til/2021/07/23/git-tls-gpg.categorydata: src/content/en/til/2021/07/23/git-tls-gpg.json src/content/en/til/2021/08/11/js-bigint-reviver.categorydata: src/content/en/til/2021/08/11/js-bigint-reviver.json src/content/pt/hea/2020/08/12/arquivo-datado.categorydata: src/content/pt/hea/2020/08/12/arquivo-datado.json src/content/de/blog/index.htmlheader src/content/de/blog/index.htmlfooter: src/content/de/blog/index.json src/content/de/folien/index.htmlheader src/content/de/folien/index.htmlfooter: src/content/de/folien/index.json src/content/de/hhg/index.htmlheader src/content/de/hhg/index.htmlfooter: src/content/de/hhg/index.json src/content/de/pastebin/index.htmlheader src/content/de/pastebin/index.htmlfooter: src/content/de/pastebin/index.json src/content/de/podcast/index.htmlheader src/content/de/podcast/index.htmlfooter: src/content/de/podcast/index.json src/content/de/screencast/index.htmlheader src/content/de/screencast/index.htmlfooter: src/content/de/screencast/index.json src/content/en/blog/index.htmlheader src/content/en/blog/index.htmlfooter: src/content/en/blog/index.json src/content/en/pastebin/index.htmlheader src/content/en/pastebin/index.htmlfooter: src/content/en/pastebin/index.json src/content/en/podcast/index.htmlheader src/content/en/podcast/index.htmlfooter: src/content/en/podcast/index.json src/content/en/screencast/index.htmlheader src/content/en/screencast/index.htmlfooter: src/content/en/screencast/index.json src/content/en/slide/index.htmlheader src/content/en/slide/index.htmlfooter: src/content/en/slide/index.json src/content/en/til/index.htmlheader src/content/en/til/index.htmlfooter: src/content/en/til/index.json src/content/eo/blog/index.htmlheader src/content/eo/blog/index.htmlfooter: src/content/eo/blog/index.json src/content/eo/hml/index.htmlheader src/content/eo/hml/index.htmlfooter: src/content/eo/hml/index.json src/content/eo/lumbildoj/index.htmlheader src/content/eo/lumbildoj/index.htmlfooter: src/content/eo/lumbildoj/index.json src/content/eo/pastebin/index.htmlheader src/content/eo/pastebin/index.htmlfooter: src/content/eo/pastebin/index.json src/content/eo/podkasto/index.htmlheader src/content/eo/podkasto/index.htmlfooter: src/content/eo/podkasto/index.json src/content/eo/screencast/index.htmlheader src/content/eo/screencast/index.htmlfooter: src/content/eo/screencast/index.json src/content/es/blog/index.htmlheader src/content/es/blog/index.htmlfooter: src/content/es/blog/index.json src/content/es/diapositivas/index.htmlheader src/content/es/diapositivas/index.htmlfooter: src/content/es/diapositivas/index.json src/content/es/haa/index.htmlheader src/content/es/haa/index.htmlfooter: src/content/es/haa/index.json src/content/es/pastebin/index.htmlheader src/content/es/pastebin/index.htmlfooter: src/content/es/pastebin/index.json src/content/es/podcast/index.htmlheader src/content/es/podcast/index.htmlfooter: src/content/es/podcast/index.json src/content/es/screencast/index.htmlheader src/content/es/screencast/index.htmlfooter: src/content/es/screencast/index.json src/content/fr/aja/index.htmlheader src/content/fr/aja/index.htmlfooter: src/content/fr/aja/index.json src/content/fr/blog/index.htmlheader src/content/fr/blog/index.htmlfooter: src/content/fr/blog/index.json src/content/fr/diapositives/index.htmlheader src/content/fr/diapositives/index.htmlfooter: src/content/fr/diapositives/index.json src/content/fr/pastebin/index.htmlheader src/content/fr/pastebin/index.htmlfooter: src/content/fr/pastebin/index.json src/content/fr/podcast/index.htmlheader src/content/fr/podcast/index.htmlfooter: src/content/fr/podcast/index.json src/content/fr/screencast/index.htmlheader src/content/fr/screencast/index.htmlfooter: src/content/fr/screencast/index.json src/content/pt/blog/index.htmlheader src/content/pt/blog/index.htmlfooter: src/content/pt/blog/index.json src/content/pt/eslaides/index.htmlheader src/content/pt/eslaides/index.htmlfooter: src/content/pt/eslaides/index.json src/content/pt/hea/index.htmlheader src/content/pt/hea/index.htmlfooter: src/content/pt/hea/index.json src/content/pt/pastebin/index.htmlheader src/content/pt/pastebin/index.htmlfooter: src/content/pt/pastebin/index.json src/content/pt/podcast/index.htmlheader src/content/pt/podcast/index.htmlfooter: src/content/pt/podcast/index.json src/content/pt/screencast/index.htmlheader src/content/pt/screencast/index.htmlfooter: src/content/pt/screencast/index.json src/content/de/blog/kategorien.htmlheader src/content/de/blog/kategorien.htmlfooter: src/content/de/blog/kategorien.json src/content/de/folien/kategorien.htmlheader src/content/de/folien/kategorien.htmlfooter: src/content/de/folien/kategorien.json src/content/de/hhg/kategorien.htmlheader src/content/de/hhg/kategorien.htmlfooter: src/content/de/hhg/kategorien.json src/content/de/pastebin/kategorien.htmlheader src/content/de/pastebin/kategorien.htmlfooter: src/content/de/pastebin/kategorien.json src/content/de/podcast/kategorien.htmlheader src/content/de/podcast/kategorien.htmlfooter: src/content/de/podcast/kategorien.json src/content/de/screencast/kategorien.htmlheader src/content/de/screencast/kategorien.htmlfooter: src/content/de/screencast/kategorien.json src/content/en/blog/categories.htmlheader src/content/en/blog/categories.htmlfooter: src/content/en/blog/categories.json src/content/en/pastebin/categories.htmlheader src/content/en/pastebin/categories.htmlfooter: src/content/en/pastebin/categories.json src/content/en/podcast/categories.htmlheader src/content/en/podcast/categories.htmlfooter: src/content/en/podcast/categories.json src/content/en/screencast/categories.htmlheader src/content/en/screencast/categories.htmlfooter: src/content/en/screencast/categories.json src/content/en/slide/categories.htmlheader src/content/en/slide/categories.htmlfooter: src/content/en/slide/categories.json src/content/en/til/categories.htmlheader src/content/en/til/categories.htmlfooter: src/content/en/til/categories.json src/content/eo/blog/kategorioj.htmlheader src/content/eo/blog/kategorioj.htmlfooter: src/content/eo/blog/kategorioj.json src/content/eo/hml/kategorioj.htmlheader src/content/eo/hml/kategorioj.htmlfooter: src/content/eo/hml/kategorioj.json src/content/eo/lumbildoj/kategorioj.htmlheader src/content/eo/lumbildoj/kategorioj.htmlfooter: src/content/eo/lumbildoj/kategorioj.json src/content/eo/pastebin/kategorioj.htmlheader src/content/eo/pastebin/kategorioj.htmlfooter: src/content/eo/pastebin/kategorioj.json src/content/eo/podkasto/kategorioj.htmlheader src/content/eo/podkasto/kategorioj.htmlfooter: src/content/eo/podkasto/kategorioj.json src/content/eo/screencast/kategorioj.htmlheader src/content/eo/screencast/kategorioj.htmlfooter: src/content/eo/screencast/kategorioj.json src/content/es/blog/categorias.htmlheader src/content/es/blog/categorias.htmlfooter: src/content/es/blog/categorias.json src/content/es/diapositivas/categorias.htmlheader src/content/es/diapositivas/categorias.htmlfooter: src/content/es/diapositivas/categorias.json src/content/es/haa/categorias.htmlheader src/content/es/haa/categorias.htmlfooter: src/content/es/haa/categorias.json src/content/es/pastebin/categorias.htmlheader src/content/es/pastebin/categorias.htmlfooter: src/content/es/pastebin/categorias.json src/content/es/podcast/categorias.htmlheader src/content/es/podcast/categorias.htmlfooter: src/content/es/podcast/categorias.json src/content/es/screencast/categorias.htmlheader src/content/es/screencast/categorias.htmlfooter: src/content/es/screencast/categorias.json src/content/fr/aja/categories.htmlheader src/content/fr/aja/categories.htmlfooter: src/content/fr/aja/categories.json src/content/fr/blog/categories.htmlheader src/content/fr/blog/categories.htmlfooter: src/content/fr/blog/categories.json src/content/fr/diapositives/categories.htmlheader src/content/fr/diapositives/categories.htmlfooter: src/content/fr/diapositives/categories.json src/content/fr/pastebin/categories.htmlheader src/content/fr/pastebin/categories.htmlfooter: src/content/fr/pastebin/categories.json src/content/fr/podcast/categories.htmlheader src/content/fr/podcast/categories.htmlfooter: src/content/fr/podcast/categories.json src/content/fr/screencast/categories.htmlheader src/content/fr/screencast/categories.htmlfooter: src/content/fr/screencast/categories.json src/content/pt/blog/categorias.htmlheader src/content/pt/blog/categorias.htmlfooter: src/content/pt/blog/categorias.json src/content/pt/eslaides/categorias.htmlheader src/content/pt/eslaides/categorias.htmlfooter: src/content/pt/eslaides/categorias.json src/content/pt/hea/categorias.htmlheader src/content/pt/hea/categorias.htmlfooter: src/content/pt/hea/categorias.json src/content/pt/pastebin/categorias.htmlheader src/content/pt/pastebin/categorias.htmlfooter: src/content/pt/pastebin/categorias.json src/content/pt/podcast/categorias.htmlheader src/content/pt/podcast/categorias.htmlfooter: src/content/pt/podcast/categorias.json src/content/pt/screencast/categorias.htmlheader src/content/pt/screencast/categorias.htmlfooter: src/content/pt/screencast/categorias.json src/content/de/index.htmlheader src/content/de/index.htmlfooter: src/content/de/index.json src/content/en/index.htmlheader src/content/en/index.htmlfooter: src/content/en/index.json src/content/eo/index.htmlheader src/content/eo/index.htmlfooter: src/content/eo/index.json src/content/es/index.htmlheader src/content/es/index.htmlfooter: src/content/es/index.json src/content/fr/index.htmlheader src/content/fr/index.htmlfooter: src/content/fr/index.json src/content/pt/index.htmlheader src/content/pt/index.htmlfooter: src/content/pt/index.json src/content/de/blog/index.htmllisting: src/content/de/blog/index.json src/content/de/folien/index.htmllisting: src/content/de/folien/index.json src/content/de/hhg/index.htmllisting: src/content/de/hhg/index.json src/content/de/pastebin/index.htmllisting: src/content/de/pastebin/index.json src/content/de/podcast/index.htmllisting: src/content/de/podcast/index.json src/content/de/screencast/index.htmllisting: src/content/de/screencast/index.json src/content/en/blog/index.htmllisting: src/content/en/blog/index.json src/content/en/pastebin/index.htmllisting: src/content/en/pastebin/index.json src/content/en/podcast/index.htmllisting: src/content/en/podcast/index.json src/content/en/screencast/index.htmllisting: src/content/en/screencast/index.json src/content/en/slide/index.htmllisting: src/content/en/slide/index.json src/content/en/til/index.htmllisting: src/content/en/til/index.json src/content/eo/blog/index.htmllisting: src/content/eo/blog/index.json src/content/eo/hml/index.htmllisting: src/content/eo/hml/index.json src/content/eo/lumbildoj/index.htmllisting: src/content/eo/lumbildoj/index.json src/content/eo/pastebin/index.htmllisting: src/content/eo/pastebin/index.json src/content/eo/podkasto/index.htmllisting: src/content/eo/podkasto/index.json src/content/eo/screencast/index.htmllisting: src/content/eo/screencast/index.json src/content/es/blog/index.htmllisting: src/content/es/blog/index.json src/content/es/diapositivas/index.htmllisting: src/content/es/diapositivas/index.json src/content/es/haa/index.htmllisting: src/content/es/haa/index.json src/content/es/pastebin/index.htmllisting: src/content/es/pastebin/index.json src/content/es/podcast/index.htmllisting: src/content/es/podcast/index.json src/content/es/screencast/index.htmllisting: src/content/es/screencast/index.json src/content/fr/aja/index.htmllisting: src/content/fr/aja/index.json src/content/fr/blog/index.htmllisting: src/content/fr/blog/index.json src/content/fr/diapositives/index.htmllisting: src/content/fr/diapositives/index.json src/content/fr/pastebin/index.htmllisting: src/content/fr/pastebin/index.json src/content/fr/podcast/index.htmllisting: src/content/fr/podcast/index.json src/content/fr/screencast/index.htmllisting: src/content/fr/screencast/index.json src/content/pt/blog/index.htmllisting: src/content/pt/blog/index.json src/content/pt/eslaides/index.htmllisting: src/content/pt/eslaides/index.json src/content/pt/hea/index.htmllisting: src/content/pt/hea/index.json src/content/pt/pastebin/index.htmllisting: src/content/pt/pastebin/index.json src/content/pt/podcast/index.htmllisting: src/content/pt/podcast/index.json src/content/pt/screencast/index.htmllisting: src/content/pt/screencast/index.json src/content/de/blog/kategorien.htmllisting: src/content/de/blog/kategorien.json src/content/de/folien/kategorien.htmllisting: src/content/de/folien/kategorien.json src/content/de/hhg/kategorien.htmllisting: src/content/de/hhg/kategorien.json src/content/de/pastebin/kategorien.htmllisting: src/content/de/pastebin/kategorien.json src/content/de/podcast/kategorien.htmllisting: src/content/de/podcast/kategorien.json src/content/de/screencast/kategorien.htmllisting: src/content/de/screencast/kategorien.json src/content/en/blog/categories.htmllisting: src/content/en/blog/categories.json src/content/en/pastebin/categories.htmllisting: src/content/en/pastebin/categories.json src/content/en/podcast/categories.htmllisting: src/content/en/podcast/categories.json src/content/en/screencast/categories.htmllisting: src/content/en/screencast/categories.json src/content/en/slide/categories.htmllisting: src/content/en/slide/categories.json src/content/en/til/categories.htmllisting: src/content/en/til/categories.json src/content/eo/blog/kategorioj.htmllisting: src/content/eo/blog/kategorioj.json src/content/eo/hml/kategorioj.htmllisting: src/content/eo/hml/kategorioj.json src/content/eo/lumbildoj/kategorioj.htmllisting: src/content/eo/lumbildoj/kategorioj.json src/content/eo/pastebin/kategorioj.htmllisting: src/content/eo/pastebin/kategorioj.json src/content/eo/podkasto/kategorioj.htmllisting: src/content/eo/podkasto/kategorioj.json src/content/eo/screencast/kategorioj.htmllisting: src/content/eo/screencast/kategorioj.json src/content/es/blog/categorias.htmllisting: src/content/es/blog/categorias.json src/content/es/diapositivas/categorias.htmllisting: src/content/es/diapositivas/categorias.json src/content/es/haa/categorias.htmllisting: src/content/es/haa/categorias.json src/content/es/pastebin/categorias.htmllisting: src/content/es/pastebin/categorias.json src/content/es/podcast/categorias.htmllisting: src/content/es/podcast/categorias.json src/content/es/screencast/categorias.htmllisting: src/content/es/screencast/categorias.json src/content/fr/aja/categories.htmllisting: src/content/fr/aja/categories.json src/content/fr/blog/categories.htmllisting: src/content/fr/blog/categories.json src/content/fr/diapositives/categories.htmllisting: src/content/fr/diapositives/categories.json src/content/fr/pastebin/categories.htmllisting: src/content/fr/pastebin/categories.json src/content/fr/podcast/categories.htmllisting: src/content/fr/podcast/categories.json src/content/fr/screencast/categories.htmllisting: src/content/fr/screencast/categories.json src/content/pt/blog/categorias.htmllisting: src/content/pt/blog/categorias.json src/content/pt/eslaides/categorias.htmllisting: src/content/pt/eslaides/categorias.json src/content/pt/hea/categorias.htmllisting: src/content/pt/hea/categorias.json src/content/pt/pastebin/categorias.htmllisting: src/content/pt/pastebin/categorias.json src/content/pt/podcast/categorias.htmllisting: src/content/pt/podcast/categorias.json src/content/pt/screencast/categorias.htmllisting: src/content/pt/screencast/categorias.json src/content/de/index.htmllisting: src/content/de/index.json src/content/en/index.htmllisting: src/content/en/index.json src/content/eo/index.htmllisting: src/content/eo/index.json src/content/es/index.htmllisting: src/content/es/index.json src/content/fr/index.htmllisting: src/content/fr/index.json src/content/pt/index.htmllisting: src/content/pt/index.json src/content/de/blog/index.html: src/content/de/blog/index.htmlheader src/content/de/blog/index.htmlfooter src/content/de/folien/index.html: src/content/de/folien/index.htmlheader src/content/de/folien/index.htmlfooter src/content/de/hhg/index.html: src/content/de/hhg/index.htmlheader src/content/de/hhg/index.htmlfooter src/content/de/pastebin/index.html: src/content/de/pastebin/index.htmlheader src/content/de/pastebin/index.htmlfooter src/content/de/podcast/index.html: src/content/de/podcast/index.htmlheader src/content/de/podcast/index.htmlfooter src/content/de/screencast/index.html: src/content/de/screencast/index.htmlheader src/content/de/screencast/index.htmlfooter src/content/en/blog/index.html: src/content/en/blog/index.htmlheader src/content/en/blog/index.htmlfooter src/content/en/pastebin/index.html: src/content/en/pastebin/index.htmlheader src/content/en/pastebin/index.htmlfooter src/content/en/podcast/index.html: src/content/en/podcast/index.htmlheader src/content/en/podcast/index.htmlfooter src/content/en/screencast/index.html: src/content/en/screencast/index.htmlheader src/content/en/screencast/index.htmlfooter src/content/en/slide/index.html: src/content/en/slide/index.htmlheader src/content/en/slide/index.htmlfooter src/content/en/til/index.html: src/content/en/til/index.htmlheader src/content/en/til/index.htmlfooter src/content/eo/blog/index.html: src/content/eo/blog/index.htmlheader src/content/eo/blog/index.htmlfooter src/content/eo/hml/index.html: src/content/eo/hml/index.htmlheader src/content/eo/hml/index.htmlfooter src/content/eo/lumbildoj/index.html: src/content/eo/lumbildoj/index.htmlheader src/content/eo/lumbildoj/index.htmlfooter src/content/eo/pastebin/index.html: src/content/eo/pastebin/index.htmlheader src/content/eo/pastebin/index.htmlfooter src/content/eo/podkasto/index.html: src/content/eo/podkasto/index.htmlheader src/content/eo/podkasto/index.htmlfooter src/content/eo/screencast/index.html: src/content/eo/screencast/index.htmlheader src/content/eo/screencast/index.htmlfooter src/content/es/blog/index.html: src/content/es/blog/index.htmlheader src/content/es/blog/index.htmlfooter src/content/es/diapositivas/index.html: src/content/es/diapositivas/index.htmlheader src/content/es/diapositivas/index.htmlfooter src/content/es/haa/index.html: src/content/es/haa/index.htmlheader src/content/es/haa/index.htmlfooter src/content/es/pastebin/index.html: src/content/es/pastebin/index.htmlheader src/content/es/pastebin/index.htmlfooter src/content/es/podcast/index.html: src/content/es/podcast/index.htmlheader src/content/es/podcast/index.htmlfooter src/content/es/screencast/index.html: src/content/es/screencast/index.htmlheader src/content/es/screencast/index.htmlfooter src/content/fr/aja/index.html: src/content/fr/aja/index.htmlheader src/content/fr/aja/index.htmlfooter src/content/fr/blog/index.html: src/content/fr/blog/index.htmlheader src/content/fr/blog/index.htmlfooter src/content/fr/diapositives/index.html: src/content/fr/diapositives/index.htmlheader src/content/fr/diapositives/index.htmlfooter src/content/fr/pastebin/index.html: src/content/fr/pastebin/index.htmlheader src/content/fr/pastebin/index.htmlfooter src/content/fr/podcast/index.html: src/content/fr/podcast/index.htmlheader src/content/fr/podcast/index.htmlfooter src/content/fr/screencast/index.html: src/content/fr/screencast/index.htmlheader src/content/fr/screencast/index.htmlfooter src/content/pt/blog/index.html: src/content/pt/blog/index.htmlheader src/content/pt/blog/index.htmlfooter src/content/pt/eslaides/index.html: src/content/pt/eslaides/index.htmlheader src/content/pt/eslaides/index.htmlfooter src/content/pt/hea/index.html: src/content/pt/hea/index.htmlheader src/content/pt/hea/index.htmlfooter src/content/pt/pastebin/index.html: src/content/pt/pastebin/index.htmlheader src/content/pt/pastebin/index.htmlfooter src/content/pt/podcast/index.html: src/content/pt/podcast/index.htmlheader src/content/pt/podcast/index.htmlfooter src/content/pt/screencast/index.html: src/content/pt/screencast/index.htmlheader src/content/pt/screencast/index.htmlfooter src/content/de/blog/kategorien.html: src/content/de/blog/kategorien.htmlheader src/content/de/blog/kategorien.htmlfooter src/content/de/folien/kategorien.html: src/content/de/folien/kategorien.htmlheader src/content/de/folien/kategorien.htmlfooter src/content/de/hhg/kategorien.html: src/content/de/hhg/kategorien.htmlheader src/content/de/hhg/kategorien.htmlfooter src/content/de/pastebin/kategorien.html: src/content/de/pastebin/kategorien.htmlheader src/content/de/pastebin/kategorien.htmlfooter src/content/de/podcast/kategorien.html: src/content/de/podcast/kategorien.htmlheader src/content/de/podcast/kategorien.htmlfooter src/content/de/screencast/kategorien.html: src/content/de/screencast/kategorien.htmlheader src/content/de/screencast/kategorien.htmlfooter src/content/en/blog/categories.html: src/content/en/blog/categories.htmlheader src/content/en/blog/categories.htmlfooter src/content/en/pastebin/categories.html: src/content/en/pastebin/categories.htmlheader src/content/en/pastebin/categories.htmlfooter src/content/en/podcast/categories.html: src/content/en/podcast/categories.htmlheader src/content/en/podcast/categories.htmlfooter src/content/en/screencast/categories.html: src/content/en/screencast/categories.htmlheader src/content/en/screencast/categories.htmlfooter src/content/en/slide/categories.html: src/content/en/slide/categories.htmlheader src/content/en/slide/categories.htmlfooter src/content/en/til/categories.html: src/content/en/til/categories.htmlheader src/content/en/til/categories.htmlfooter src/content/eo/blog/kategorioj.html: src/content/eo/blog/kategorioj.htmlheader src/content/eo/blog/kategorioj.htmlfooter src/content/eo/hml/kategorioj.html: src/content/eo/hml/kategorioj.htmlheader src/content/eo/hml/kategorioj.htmlfooter src/content/eo/lumbildoj/kategorioj.html: src/content/eo/lumbildoj/kategorioj.htmlheader src/content/eo/lumbildoj/kategorioj.htmlfooter src/content/eo/pastebin/kategorioj.html: src/content/eo/pastebin/kategorioj.htmlheader src/content/eo/pastebin/kategorioj.htmlfooter src/content/eo/podkasto/kategorioj.html: src/content/eo/podkasto/kategorioj.htmlheader src/content/eo/podkasto/kategorioj.htmlfooter src/content/eo/screencast/kategorioj.html: src/content/eo/screencast/kategorioj.htmlheader src/content/eo/screencast/kategorioj.htmlfooter src/content/es/blog/categorias.html: src/content/es/blog/categorias.htmlheader src/content/es/blog/categorias.htmlfooter src/content/es/diapositivas/categorias.html: src/content/es/diapositivas/categorias.htmlheader src/content/es/diapositivas/categorias.htmlfooter src/content/es/haa/categorias.html: src/content/es/haa/categorias.htmlheader src/content/es/haa/categorias.htmlfooter src/content/es/pastebin/categorias.html: src/content/es/pastebin/categorias.htmlheader src/content/es/pastebin/categorias.htmlfooter src/content/es/podcast/categorias.html: src/content/es/podcast/categorias.htmlheader src/content/es/podcast/categorias.htmlfooter src/content/es/screencast/categorias.html: src/content/es/screencast/categorias.htmlheader src/content/es/screencast/categorias.htmlfooter src/content/fr/aja/categories.html: src/content/fr/aja/categories.htmlheader src/content/fr/aja/categories.htmlfooter src/content/fr/blog/categories.html: src/content/fr/blog/categories.htmlheader src/content/fr/blog/categories.htmlfooter src/content/fr/diapositives/categories.html: src/content/fr/diapositives/categories.htmlheader src/content/fr/diapositives/categories.htmlfooter src/content/fr/pastebin/categories.html: src/content/fr/pastebin/categories.htmlheader src/content/fr/pastebin/categories.htmlfooter src/content/fr/podcast/categories.html: src/content/fr/podcast/categories.htmlheader src/content/fr/podcast/categories.htmlfooter src/content/fr/screencast/categories.html: src/content/fr/screencast/categories.htmlheader src/content/fr/screencast/categories.htmlfooter src/content/pt/blog/categorias.html: src/content/pt/blog/categorias.htmlheader src/content/pt/blog/categorias.htmlfooter src/content/pt/eslaides/categorias.html: src/content/pt/eslaides/categorias.htmlheader src/content/pt/eslaides/categorias.htmlfooter src/content/pt/hea/categorias.html: src/content/pt/hea/categorias.htmlheader src/content/pt/hea/categorias.htmlfooter src/content/pt/pastebin/categorias.html: src/content/pt/pastebin/categorias.htmlheader src/content/pt/pastebin/categorias.htmlfooter src/content/pt/podcast/categorias.html: src/content/pt/podcast/categorias.htmlheader src/content/pt/podcast/categorias.htmlfooter src/content/pt/screencast/categorias.html: src/content/pt/screencast/categorias.htmlheader src/content/pt/screencast/categorias.htmlfooter src/content/de/index.html: src/content/de/index.htmlheader src/content/de/index.htmlfooter src/content/en/index.html: src/content/en/index.htmlheader src/content/en/index.htmlfooter src/content/eo/index.html: src/content/eo/index.htmlheader src/content/eo/index.htmlfooter src/content/es/index.html: src/content/es/index.htmlheader src/content/es/index.htmlfooter src/content/fr/index.html: src/content/fr/index.htmlheader src/content/fr/index.htmlfooter src/content/pt/index.html: src/content/pt/index.htmlheader src/content/pt/index.htmlfooter src/content/de/blog/index.html: src/content/de/blog/index.htmllisting src/content/de/blog/index.htmlbody src/content/de/folien/index.html: src/content/de/folien/index.htmllisting src/content/de/folien/index.htmlbody src/content/de/hhg/index.html: src/content/de/hhg/index.htmllisting src/content/de/hhg/index.htmlbody src/content/de/pastebin/index.html: src/content/de/pastebin/index.htmllisting src/content/de/pastebin/index.htmlbody src/content/de/podcast/index.html: src/content/de/podcast/index.htmllisting src/content/de/podcast/index.htmlbody src/content/de/screencast/index.html: src/content/de/screencast/index.htmllisting src/content/de/screencast/index.htmlbody src/content/en/blog/index.html: src/content/en/blog/index.htmllisting src/content/en/blog/index.htmlbody src/content/en/pastebin/index.html: src/content/en/pastebin/index.htmllisting src/content/en/pastebin/index.htmlbody src/content/en/podcast/index.html: src/content/en/podcast/index.htmllisting src/content/en/podcast/index.htmlbody src/content/en/screencast/index.html: src/content/en/screencast/index.htmllisting src/content/en/screencast/index.htmlbody src/content/en/slide/index.html: src/content/en/slide/index.htmllisting src/content/en/slide/index.htmlbody src/content/en/til/index.html: src/content/en/til/index.htmllisting src/content/en/til/index.htmlbody src/content/eo/blog/index.html: src/content/eo/blog/index.htmllisting src/content/eo/blog/index.htmlbody src/content/eo/hml/index.html: src/content/eo/hml/index.htmllisting src/content/eo/hml/index.htmlbody src/content/eo/lumbildoj/index.html: src/content/eo/lumbildoj/index.htmllisting src/content/eo/lumbildoj/index.htmlbody src/content/eo/pastebin/index.html: src/content/eo/pastebin/index.htmllisting src/content/eo/pastebin/index.htmlbody src/content/eo/podkasto/index.html: src/content/eo/podkasto/index.htmllisting src/content/eo/podkasto/index.htmlbody src/content/eo/screencast/index.html: src/content/eo/screencast/index.htmllisting src/content/eo/screencast/index.htmlbody src/content/es/blog/index.html: src/content/es/blog/index.htmllisting src/content/es/blog/index.htmlbody src/content/es/diapositivas/index.html: src/content/es/diapositivas/index.htmllisting src/content/es/diapositivas/index.htmlbody src/content/es/haa/index.html: src/content/es/haa/index.htmllisting src/content/es/haa/index.htmlbody src/content/es/pastebin/index.html: src/content/es/pastebin/index.htmllisting src/content/es/pastebin/index.htmlbody src/content/es/podcast/index.html: src/content/es/podcast/index.htmllisting src/content/es/podcast/index.htmlbody src/content/es/screencast/index.html: src/content/es/screencast/index.htmllisting src/content/es/screencast/index.htmlbody src/content/fr/aja/index.html: src/content/fr/aja/index.htmllisting src/content/fr/aja/index.htmlbody src/content/fr/blog/index.html: src/content/fr/blog/index.htmllisting src/content/fr/blog/index.htmlbody src/content/fr/diapositives/index.html: src/content/fr/diapositives/index.htmllisting src/content/fr/diapositives/index.htmlbody src/content/fr/pastebin/index.html: src/content/fr/pastebin/index.htmllisting src/content/fr/pastebin/index.htmlbody src/content/fr/podcast/index.html: src/content/fr/podcast/index.htmllisting src/content/fr/podcast/index.htmlbody src/content/fr/screencast/index.html: src/content/fr/screencast/index.htmllisting src/content/fr/screencast/index.htmlbody src/content/pt/blog/index.html: src/content/pt/blog/index.htmllisting src/content/pt/blog/index.htmlbody src/content/pt/eslaides/index.html: src/content/pt/eslaides/index.htmllisting src/content/pt/eslaides/index.htmlbody src/content/pt/hea/index.html: src/content/pt/hea/index.htmllisting src/content/pt/hea/index.htmlbody src/content/pt/pastebin/index.html: src/content/pt/pastebin/index.htmllisting src/content/pt/pastebin/index.htmlbody src/content/pt/podcast/index.html: src/content/pt/podcast/index.htmllisting src/content/pt/podcast/index.htmlbody src/content/pt/screencast/index.html: src/content/pt/screencast/index.htmllisting src/content/pt/screencast/index.htmlbody src/content/de/blog/kategorien.html: src/content/de/blog/kategorien.htmllisting src/content/de/blog/kategorien.htmlbody src/content/de/folien/kategorien.html: src/content/de/folien/kategorien.htmllisting src/content/de/folien/kategorien.htmlbody src/content/de/hhg/kategorien.html: src/content/de/hhg/kategorien.htmllisting src/content/de/hhg/kategorien.htmlbody src/content/de/pastebin/kategorien.html: src/content/de/pastebin/kategorien.htmllisting src/content/de/pastebin/kategorien.htmlbody src/content/de/podcast/kategorien.html: src/content/de/podcast/kategorien.htmllisting src/content/de/podcast/kategorien.htmlbody src/content/de/screencast/kategorien.html: src/content/de/screencast/kategorien.htmllisting src/content/de/screencast/kategorien.htmlbody src/content/en/blog/categories.html: src/content/en/blog/categories.htmllisting src/content/en/blog/categories.htmlbody src/content/en/pastebin/categories.html: src/content/en/pastebin/categories.htmllisting src/content/en/pastebin/categories.htmlbody src/content/en/podcast/categories.html: src/content/en/podcast/categories.htmllisting src/content/en/podcast/categories.htmlbody src/content/en/screencast/categories.html: src/content/en/screencast/categories.htmllisting src/content/en/screencast/categories.htmlbody src/content/en/slide/categories.html: src/content/en/slide/categories.htmllisting src/content/en/slide/categories.htmlbody src/content/en/til/categories.html: src/content/en/til/categories.htmllisting src/content/en/til/categories.htmlbody src/content/eo/blog/kategorioj.html: src/content/eo/blog/kategorioj.htmllisting src/content/eo/blog/kategorioj.htmlbody src/content/eo/hml/kategorioj.html: src/content/eo/hml/kategorioj.htmllisting src/content/eo/hml/kategorioj.htmlbody src/content/eo/lumbildoj/kategorioj.html: src/content/eo/lumbildoj/kategorioj.htmllisting src/content/eo/lumbildoj/kategorioj.htmlbody src/content/eo/pastebin/kategorioj.html: src/content/eo/pastebin/kategorioj.htmllisting src/content/eo/pastebin/kategorioj.htmlbody src/content/eo/podkasto/kategorioj.html: src/content/eo/podkasto/kategorioj.htmllisting src/content/eo/podkasto/kategorioj.htmlbody src/content/eo/screencast/kategorioj.html: src/content/eo/screencast/kategorioj.htmllisting src/content/eo/screencast/kategorioj.htmlbody src/content/es/blog/categorias.html: src/content/es/blog/categorias.htmllisting src/content/es/blog/categorias.htmlbody src/content/es/diapositivas/categorias.html: src/content/es/diapositivas/categorias.htmllisting src/content/es/diapositivas/categorias.htmlbody src/content/es/haa/categorias.html: src/content/es/haa/categorias.htmllisting src/content/es/haa/categorias.htmlbody src/content/es/pastebin/categorias.html: src/content/es/pastebin/categorias.htmllisting src/content/es/pastebin/categorias.htmlbody src/content/es/podcast/categorias.html: src/content/es/podcast/categorias.htmllisting src/content/es/podcast/categorias.htmlbody src/content/es/screencast/categorias.html: src/content/es/screencast/categorias.htmllisting src/content/es/screencast/categorias.htmlbody src/content/fr/aja/categories.html: src/content/fr/aja/categories.htmllisting src/content/fr/aja/categories.htmlbody src/content/fr/blog/categories.html: src/content/fr/blog/categories.htmllisting src/content/fr/blog/categories.htmlbody src/content/fr/diapositives/categories.html: src/content/fr/diapositives/categories.htmllisting src/content/fr/diapositives/categories.htmlbody src/content/fr/pastebin/categories.html: src/content/fr/pastebin/categories.htmllisting src/content/fr/pastebin/categories.htmlbody src/content/fr/podcast/categories.html: src/content/fr/podcast/categories.htmllisting src/content/fr/podcast/categories.htmlbody src/content/fr/screencast/categories.html: src/content/fr/screencast/categories.htmllisting src/content/fr/screencast/categories.htmlbody src/content/pt/blog/categorias.html: src/content/pt/blog/categorias.htmllisting src/content/pt/blog/categorias.htmlbody src/content/pt/eslaides/categorias.html: src/content/pt/eslaides/categorias.htmllisting src/content/pt/eslaides/categorias.htmlbody src/content/pt/hea/categorias.html: src/content/pt/hea/categorias.htmllisting src/content/pt/hea/categorias.htmlbody src/content/pt/pastebin/categorias.html: src/content/pt/pastebin/categorias.htmllisting src/content/pt/pastebin/categorias.htmlbody src/content/pt/podcast/categorias.html: src/content/pt/podcast/categorias.htmllisting src/content/pt/podcast/categorias.htmlbody src/content/pt/screencast/categorias.html: src/content/pt/screencast/categorias.htmllisting src/content/pt/screencast/categorias.htmlbody src/content/de/index.html: src/content/de/index.htmllisting src/content/de/index.htmlbody src/content/en/index.html: src/content/en/index.htmllisting src/content/en/index.htmlbody src/content/eo/index.html: src/content/eo/index.htmllisting src/content/eo/index.htmlbody src/content/es/index.html: src/content/es/index.htmllisting src/content/es/index.htmlbody src/content/fr/index.html: src/content/fr/index.htmllisting src/content/fr/index.htmlbody src/content/pt/index.html: src/content/pt/index.htmllisting src/content/pt/index.htmlbody src/content/en/podcast/2020/12/19/test-entry.flac.torrent: src/content/en/podcast/2020/12/19/test-entry.flac src/content/en/podcast/2020/12/19/test-entry.ogg.torrent: src/content/en/podcast/2020/12/19/test-entry.ogg src/content/en/screencast/2021/02/07/autoqemu.webm.torrent: src/content/en/screencast/2021/02/07/autoqemu.webm src/content/en/slide/2020/10/19/feature-flags.ps: src/content/en/slide/2020/10/19/feature-flags.eslaides src/content/en/slide/2020/11/14/local-first-hype.ps: src/content/en/slide/2020/11/14/local-first-hype.eslaides src/content/en/slide/2020/10/19/feature-flags.pdf: src/content/en/slide/2020/10/19/feature-flags.ps src/content/en/slide/2020/11/14/local-first-hype.pdf: src/content/en/slide/2020/11/14/local-first-hype.ps articles.de.blog.adoc = \ articles.de.blog.sortdata = $(articles.de.blog.adoc:.adoc=.sortdata) articles.de.blog.indexentry = $(articles.de.blog.adoc:.adoc=.indexentry) articles.de.blog.feedentry = $(articles.de.blog.adoc:.adoc=.feedentry) articles.de.blog.categorydata = $(articles.de.blog.adoc:.adoc=.categorydata) articles.de.blog.homeentry = $(articles.de.blog.adoc:.adoc=.homeentry) src/content/de/blog/sortdata.txt: deps.mk printf '%s\n' $(articles.de.blog.sortdata) > $@ src/content/de/blog/feed.xml: src/content/de/blog/sortdata.txt src/content/de/blog/feed.xml: $(articles.de.blog.sortdata) src/content/de/blog/index.htmllisting: src/content/de/blog/sortdata.txt src/content/de/blog/index.htmllisting: $(articles.de.blog.sortdata) src/content/de/blog/kategorien.htmllisting: src/content/de/blog/sortdata.txt src/content/de/blog/kategorien.htmllisting: $(articles.de.blog.sortdata) src/content/de/blog/kategorien.txt: src/content/de/blog/sortdata.txt src/content/de/blog/kategorien.txt: $(articles.de.blog.sortdata) src/content/de/blog/index.htmllisting src/content/de/blog/kategorien.htmllisting: $(articles.de.blog.indexentry) src/content/de/blog/kategorien.txt: $(articles.de.blog.categorydata) src/content/de/blog/kategorien.txt src/content/de/blog/feed.xml: $(articles.de.blog.feedentry) src/content/de/blog/kategorien.htmllisting src/content/de/blog/kategorien.xml: src/content/de/blog/kategorien.txt articles.de.folien.adoc = \ articles.de.folien.sortdata = $(articles.de.folien.adoc:.adoc=.sortdata) articles.de.folien.indexentry = $(articles.de.folien.adoc:.adoc=.indexentry) articles.de.folien.feedentry = $(articles.de.folien.adoc:.adoc=.feedentry) articles.de.folien.categorydata = $(articles.de.folien.adoc:.adoc=.categorydata) articles.de.folien.homeentry = $(articles.de.folien.adoc:.adoc=.homeentry) src/content/de/folien/sortdata.txt: deps.mk printf '%s\n' $(articles.de.folien.sortdata) > $@ src/content/de/folien/feed.xml: src/content/de/folien/sortdata.txt src/content/de/folien/feed.xml: $(articles.de.folien.sortdata) src/content/de/folien/index.htmllisting: src/content/de/folien/sortdata.txt src/content/de/folien/index.htmllisting: $(articles.de.folien.sortdata) src/content/de/folien/kategorien.htmllisting: src/content/de/folien/sortdata.txt src/content/de/folien/kategorien.htmllisting: $(articles.de.folien.sortdata) src/content/de/folien/kategorien.txt: src/content/de/folien/sortdata.txt src/content/de/folien/kategorien.txt: $(articles.de.folien.sortdata) src/content/de/folien/index.htmllisting src/content/de/folien/kategorien.htmllisting: $(articles.de.folien.indexentry) src/content/de/folien/kategorien.txt: $(articles.de.folien.categorydata) src/content/de/folien/kategorien.txt src/content/de/folien/feed.xml: $(articles.de.folien.feedentry) src/content/de/folien/kategorien.htmllisting src/content/de/folien/kategorien.xml: src/content/de/folien/kategorien.txt articles.de.hhg.adoc = \ articles.de.hhg.sortdata = $(articles.de.hhg.adoc:.adoc=.sortdata) articles.de.hhg.indexentry = $(articles.de.hhg.adoc:.adoc=.indexentry) articles.de.hhg.feedentry = $(articles.de.hhg.adoc:.adoc=.feedentry) articles.de.hhg.categorydata = $(articles.de.hhg.adoc:.adoc=.categorydata) articles.de.hhg.homeentry = $(articles.de.hhg.adoc:.adoc=.homeentry) src/content/de/hhg/sortdata.txt: deps.mk printf '%s\n' $(articles.de.hhg.sortdata) > $@ src/content/de/hhg/feed.xml: src/content/de/hhg/sortdata.txt src/content/de/hhg/feed.xml: $(articles.de.hhg.sortdata) src/content/de/hhg/index.htmllisting: src/content/de/hhg/sortdata.txt src/content/de/hhg/index.htmllisting: $(articles.de.hhg.sortdata) src/content/de/hhg/kategorien.htmllisting: src/content/de/hhg/sortdata.txt src/content/de/hhg/kategorien.htmllisting: $(articles.de.hhg.sortdata) src/content/de/hhg/kategorien.txt: src/content/de/hhg/sortdata.txt src/content/de/hhg/kategorien.txt: $(articles.de.hhg.sortdata) src/content/de/hhg/index.htmllisting src/content/de/hhg/kategorien.htmllisting: $(articles.de.hhg.indexentry) src/content/de/hhg/kategorien.txt: $(articles.de.hhg.categorydata) src/content/de/hhg/kategorien.txt src/content/de/hhg/feed.xml: $(articles.de.hhg.feedentry) src/content/de/hhg/kategorien.htmllisting src/content/de/hhg/kategorien.xml: src/content/de/hhg/kategorien.txt articles.de.pastebin.adoc = \ articles.de.pastebin.sortdata = $(articles.de.pastebin.adoc:.adoc=.sortdata) articles.de.pastebin.indexentry = $(articles.de.pastebin.adoc:.adoc=.indexentry) articles.de.pastebin.feedentry = $(articles.de.pastebin.adoc:.adoc=.feedentry) articles.de.pastebin.categorydata = $(articles.de.pastebin.adoc:.adoc=.categorydata) articles.de.pastebin.homeentry = $(articles.de.pastebin.adoc:.adoc=.homeentry) src/content/de/pastebin/sortdata.txt: deps.mk printf '%s\n' $(articles.de.pastebin.sortdata) > $@ src/content/de/pastebin/feed.xml: src/content/de/pastebin/sortdata.txt src/content/de/pastebin/feed.xml: $(articles.de.pastebin.sortdata) src/content/de/pastebin/index.htmllisting: src/content/de/pastebin/sortdata.txt src/content/de/pastebin/index.htmllisting: $(articles.de.pastebin.sortdata) src/content/de/pastebin/kategorien.htmllisting: src/content/de/pastebin/sortdata.txt src/content/de/pastebin/kategorien.htmllisting: $(articles.de.pastebin.sortdata) src/content/de/pastebin/kategorien.txt: src/content/de/pastebin/sortdata.txt src/content/de/pastebin/kategorien.txt: $(articles.de.pastebin.sortdata) src/content/de/pastebin/index.htmllisting src/content/de/pastebin/kategorien.htmllisting: $(articles.de.pastebin.indexentry) src/content/de/pastebin/kategorien.txt: $(articles.de.pastebin.categorydata) src/content/de/pastebin/kategorien.txt src/content/de/pastebin/feed.xml: $(articles.de.pastebin.feedentry) src/content/de/pastebin/kategorien.htmllisting src/content/de/pastebin/kategorien.xml: src/content/de/pastebin/kategorien.txt articles.de.podcast.adoc = \ articles.de.podcast.sortdata = $(articles.de.podcast.adoc:.adoc=.sortdata) articles.de.podcast.indexentry = $(articles.de.podcast.adoc:.adoc=.indexentry) articles.de.podcast.feedentry = $(articles.de.podcast.adoc:.adoc=.feedentry) articles.de.podcast.categorydata = $(articles.de.podcast.adoc:.adoc=.categorydata) articles.de.podcast.homeentry = $(articles.de.podcast.adoc:.adoc=.homeentry) src/content/de/podcast/sortdata.txt: deps.mk printf '%s\n' $(articles.de.podcast.sortdata) > $@ src/content/de/podcast/feed.xml: src/content/de/podcast/sortdata.txt src/content/de/podcast/feed.xml: $(articles.de.podcast.sortdata) src/content/de/podcast/index.htmllisting: src/content/de/podcast/sortdata.txt src/content/de/podcast/index.htmllisting: $(articles.de.podcast.sortdata) src/content/de/podcast/kategorien.htmllisting: src/content/de/podcast/sortdata.txt src/content/de/podcast/kategorien.htmllisting: $(articles.de.podcast.sortdata) src/content/de/podcast/kategorien.txt: src/content/de/podcast/sortdata.txt src/content/de/podcast/kategorien.txt: $(articles.de.podcast.sortdata) src/content/de/podcast/index.htmllisting src/content/de/podcast/kategorien.htmllisting: $(articles.de.podcast.indexentry) src/content/de/podcast/kategorien.txt: $(articles.de.podcast.categorydata) src/content/de/podcast/kategorien.txt src/content/de/podcast/feed.xml: $(articles.de.podcast.feedentry) src/content/de/podcast/kategorien.htmllisting src/content/de/podcast/kategorien.xml: src/content/de/podcast/kategorien.txt articles.de.screencast.adoc = \ articles.de.screencast.sortdata = $(articles.de.screencast.adoc:.adoc=.sortdata) articles.de.screencast.indexentry = $(articles.de.screencast.adoc:.adoc=.indexentry) articles.de.screencast.feedentry = $(articles.de.screencast.adoc:.adoc=.feedentry) articles.de.screencast.categorydata = $(articles.de.screencast.adoc:.adoc=.categorydata) articles.de.screencast.homeentry = $(articles.de.screencast.adoc:.adoc=.homeentry) src/content/de/screencast/sortdata.txt: deps.mk printf '%s\n' $(articles.de.screencast.sortdata) > $@ src/content/de/screencast/feed.xml: src/content/de/screencast/sortdata.txt src/content/de/screencast/feed.xml: $(articles.de.screencast.sortdata) src/content/de/screencast/index.htmllisting: src/content/de/screencast/sortdata.txt src/content/de/screencast/index.htmllisting: $(articles.de.screencast.sortdata) src/content/de/screencast/kategorien.htmllisting: src/content/de/screencast/sortdata.txt src/content/de/screencast/kategorien.htmllisting: $(articles.de.screencast.sortdata) src/content/de/screencast/kategorien.txt: src/content/de/screencast/sortdata.txt src/content/de/screencast/kategorien.txt: $(articles.de.screencast.sortdata) src/content/de/screencast/index.htmllisting src/content/de/screencast/kategorien.htmllisting: $(articles.de.screencast.indexentry) src/content/de/screencast/kategorien.txt: $(articles.de.screencast.categorydata) src/content/de/screencast/kategorien.txt src/content/de/screencast/feed.xml: $(articles.de.screencast.feedentry) src/content/de/screencast/kategorien.htmllisting src/content/de/screencast/kategorien.xml: src/content/de/screencast/kategorien.txt articles.en.blog.adoc = \ src/content/en/blog/2018/07/17/guix-nixos.adoc \ src/content/en/blog/2018/08/01/npm-ci-reproducibility.adoc \ src/content/en/blog/2018/12/21/ytdl-subs.adoc \ src/content/en/blog/2019/06/02/nixos-stateless-workstation.adoc \ src/content/en/blog/2020/08/10/guix-srht.adoc \ src/content/en/blog/2020/08/31/database-i-wish-i-had.adoc \ src/content/en/blog/2020/10/05/cargo2nix.adoc \ src/content/en/blog/2020/10/05/swift2nix.adoc \ src/content/en/blog/2020/10/19/feature-flags.adoc \ src/content/en/blog/2020/10/20/wrong-interviewing.adoc \ src/content/en/blog/2020/11/07/diy-bugs.adoc \ src/content/en/blog/2020/11/08/paradigm-shift-review.adoc \ src/content/en/blog/2020/11/12/database-parsers-trees.adoc \ src/content/en/blog/2020/11/14/local-first-review.adoc \ src/content/en/blog/2021/01/26/remembering-ann.adoc \ src/content/en/blog/2021/02/17/fallible.adoc \ src/content/en/blog/2021/04/29/relational-review.adoc \ articles.en.blog.sortdata = $(articles.en.blog.adoc:.adoc=.sortdata) articles.en.blog.indexentry = $(articles.en.blog.adoc:.adoc=.indexentry) articles.en.blog.feedentry = $(articles.en.blog.adoc:.adoc=.feedentry) articles.en.blog.categorydata = $(articles.en.blog.adoc:.adoc=.categorydata) articles.en.blog.homeentry = $(articles.en.blog.adoc:.adoc=.homeentry) src/content/en/blog/sortdata.txt: deps.mk printf '%s\n' $(articles.en.blog.sortdata) > $@ src/content/en/blog/feed.xml: src/content/en/blog/sortdata.txt src/content/en/blog/feed.xml: $(articles.en.blog.sortdata) src/content/en/blog/index.htmllisting: src/content/en/blog/sortdata.txt src/content/en/blog/index.htmllisting: $(articles.en.blog.sortdata) src/content/en/blog/categories.htmllisting: src/content/en/blog/sortdata.txt src/content/en/blog/categories.htmllisting: $(articles.en.blog.sortdata) src/content/en/blog/categories.txt: src/content/en/blog/sortdata.txt src/content/en/blog/categories.txt: $(articles.en.blog.sortdata) src/content/en/blog/index.htmllisting src/content/en/blog/categories.htmllisting: $(articles.en.blog.indexentry) src/content/en/blog/categories.txt: $(articles.en.blog.categorydata) src/content/en/blog/categories.txt src/content/en/blog/feed.xml: $(articles.en.blog.feedentry) src/content/en/blog/categories.htmllisting src/content/en/blog/categories.xml: src/content/en/blog/categories.txt articles.en.pastebin.adoc = \ src/content/en/pastebin/2016/04/05/rpn.adoc \ src/content/en/pastebin/2018/07/11/nix-pinning.adoc \ src/content/en/pastebin/2018/07/13/guix-nixos-systemd.adoc \ src/content/en/pastebin/2018/07/13/guixbuilder-nixos.adoc \ src/content/en/pastebin/2018/07/13/guixbuilder.adoc \ src/content/en/pastebin/2018/07/13/nix-strpad.adoc \ src/content/en/pastebin/2018/07/25/nix-exps.adoc \ src/content/en/pastebin/2018/07/25/nix-showdrv.adoc \ src/content/en/pastebin/2019/06/08/inconsistent-hash.adoc \ src/content/en/pastebin/2019/12/29/raku-tuple-type.adoc \ src/content/en/pastebin/2020/01/04/guix-import-failure.adoc \ src/content/en/pastebin/2020/02/14/guix-shebang.adoc \ src/content/en/pastebin/2020/11/27/guix-build-local.adoc \ src/content/en/pastebin/2020/12/15/guix-pack-fail.adoc \ src/content/en/pastebin/2021/04/03/naive-slugify-js.adoc \ src/content/en/pastebin/2021/06/08/reading-session-pt1.adoc \ src/content/en/pastebin/2021/06/22/curl-wget.adoc \ src/content/en/pastebin/2021/08/11/h1-spacing.adoc \ src/content/en/pastebin/2021/09/02/sicp-3-19.adoc \ src/content/en/pastebin/2021/09/03/sicp-persistent-queue.adoc \ src/content/en/pastebin/2022/07/14/git-cleanup.adoc \ src/content/en/pastebin/2023/07/22/funcallable-amop.adoc \ articles.en.pastebin.sortdata = $(articles.en.pastebin.adoc:.adoc=.sortdata) articles.en.pastebin.indexentry = $(articles.en.pastebin.adoc:.adoc=.indexentry) articles.en.pastebin.feedentry = $(articles.en.pastebin.adoc:.adoc=.feedentry) articles.en.pastebin.categorydata = $(articles.en.pastebin.adoc:.adoc=.categorydata) articles.en.pastebin.homeentry = $(articles.en.pastebin.adoc:.adoc=.homeentry) src/content/en/pastebin/sortdata.txt: deps.mk printf '%s\n' $(articles.en.pastebin.sortdata) > $@ src/content/en/pastebin/feed.xml: src/content/en/pastebin/sortdata.txt src/content/en/pastebin/feed.xml: $(articles.en.pastebin.sortdata) src/content/en/pastebin/index.htmllisting: src/content/en/pastebin/sortdata.txt src/content/en/pastebin/index.htmllisting: $(articles.en.pastebin.sortdata) src/content/en/pastebin/categories.htmllisting: src/content/en/pastebin/sortdata.txt src/content/en/pastebin/categories.htmllisting: $(articles.en.pastebin.sortdata) src/content/en/pastebin/categories.txt: src/content/en/pastebin/sortdata.txt src/content/en/pastebin/categories.txt: $(articles.en.pastebin.sortdata) src/content/en/pastebin/index.htmllisting src/content/en/pastebin/categories.htmllisting: $(articles.en.pastebin.indexentry) src/content/en/pastebin/categories.txt: $(articles.en.pastebin.categorydata) src/content/en/pastebin/categories.txt src/content/en/pastebin/feed.xml: $(articles.en.pastebin.feedentry) src/content/en/pastebin/categories.htmllisting src/content/en/pastebin/categories.xml: src/content/en/pastebin/categories.txt articles.en.podcast.adoc = \ src/content/en/podcast/2020/12/19/test-entry.adoc \ articles.en.podcast.sortdata = $(articles.en.podcast.adoc:.adoc=.sortdata) articles.en.podcast.indexentry = $(articles.en.podcast.adoc:.adoc=.indexentry) articles.en.podcast.feedentry = $(articles.en.podcast.adoc:.adoc=.feedentry) articles.en.podcast.categorydata = $(articles.en.podcast.adoc:.adoc=.categorydata) articles.en.podcast.homeentry = $(articles.en.podcast.adoc:.adoc=.homeentry) src/content/en/podcast/sortdata.txt: deps.mk printf '%s\n' $(articles.en.podcast.sortdata) > $@ src/content/en/podcast/feed.xml: src/content/en/podcast/sortdata.txt src/content/en/podcast/feed.xml: $(articles.en.podcast.sortdata) src/content/en/podcast/index.htmllisting: src/content/en/podcast/sortdata.txt src/content/en/podcast/index.htmllisting: $(articles.en.podcast.sortdata) src/content/en/podcast/categories.htmllisting: src/content/en/podcast/sortdata.txt src/content/en/podcast/categories.htmllisting: $(articles.en.podcast.sortdata) src/content/en/podcast/categories.txt: src/content/en/podcast/sortdata.txt src/content/en/podcast/categories.txt: $(articles.en.podcast.sortdata) src/content/en/podcast/index.htmllisting src/content/en/podcast/categories.htmllisting: $(articles.en.podcast.indexentry) src/content/en/podcast/categories.txt: $(articles.en.podcast.categorydata) src/content/en/podcast/categories.txt src/content/en/podcast/feed.xml: $(articles.en.podcast.feedentry) src/content/en/podcast/categories.htmllisting src/content/en/podcast/categories.xml: src/content/en/podcast/categories.txt articles.en.screencast.adoc = \ src/content/en/screencast/2021/02/07/autoqemu.adoc \ articles.en.screencast.sortdata = $(articles.en.screencast.adoc:.adoc=.sortdata) articles.en.screencast.indexentry = $(articles.en.screencast.adoc:.adoc=.indexentry) articles.en.screencast.feedentry = $(articles.en.screencast.adoc:.adoc=.feedentry) articles.en.screencast.categorydata = $(articles.en.screencast.adoc:.adoc=.categorydata) articles.en.screencast.homeentry = $(articles.en.screencast.adoc:.adoc=.homeentry) src/content/en/screencast/sortdata.txt: deps.mk printf '%s\n' $(articles.en.screencast.sortdata) > $@ src/content/en/screencast/feed.xml: src/content/en/screencast/sortdata.txt src/content/en/screencast/feed.xml: $(articles.en.screencast.sortdata) src/content/en/screencast/index.htmllisting: src/content/en/screencast/sortdata.txt src/content/en/screencast/index.htmllisting: $(articles.en.screencast.sortdata) src/content/en/screencast/categories.htmllisting: src/content/en/screencast/sortdata.txt src/content/en/screencast/categories.htmllisting: $(articles.en.screencast.sortdata) src/content/en/screencast/categories.txt: src/content/en/screencast/sortdata.txt src/content/en/screencast/categories.txt: $(articles.en.screencast.sortdata) src/content/en/screencast/index.htmllisting src/content/en/screencast/categories.htmllisting: $(articles.en.screencast.indexentry) src/content/en/screencast/categories.txt: $(articles.en.screencast.categorydata) src/content/en/screencast/categories.txt src/content/en/screencast/feed.xml: $(articles.en.screencast.feedentry) src/content/en/screencast/categories.htmllisting src/content/en/screencast/categories.xml: src/content/en/screencast/categories.txt articles.en.slide.adoc = \ src/content/en/slide/2020/10/19/feature-flags.adoc \ src/content/en/slide/2020/11/14/local-first-hype.adoc \ articles.en.slide.sortdata = $(articles.en.slide.adoc:.adoc=.sortdata) articles.en.slide.indexentry = $(articles.en.slide.adoc:.adoc=.indexentry) articles.en.slide.feedentry = $(articles.en.slide.adoc:.adoc=.feedentry) articles.en.slide.categorydata = $(articles.en.slide.adoc:.adoc=.categorydata) articles.en.slide.homeentry = $(articles.en.slide.adoc:.adoc=.homeentry) src/content/en/slide/sortdata.txt: deps.mk printf '%s\n' $(articles.en.slide.sortdata) > $@ src/content/en/slide/feed.xml: src/content/en/slide/sortdata.txt src/content/en/slide/feed.xml: $(articles.en.slide.sortdata) src/content/en/slide/index.htmllisting: src/content/en/slide/sortdata.txt src/content/en/slide/index.htmllisting: $(articles.en.slide.sortdata) src/content/en/slide/categories.htmllisting: src/content/en/slide/sortdata.txt src/content/en/slide/categories.htmllisting: $(articles.en.slide.sortdata) src/content/en/slide/categories.txt: src/content/en/slide/sortdata.txt src/content/en/slide/categories.txt: $(articles.en.slide.sortdata) src/content/en/slide/index.htmllisting src/content/en/slide/categories.htmllisting: $(articles.en.slide.indexentry) src/content/en/slide/categories.txt: $(articles.en.slide.categorydata) src/content/en/slide/categories.txt src/content/en/slide/feed.xml: $(articles.en.slide.feedentry) src/content/en/slide/categories.htmllisting src/content/en/slide/categories.xml: src/content/en/slide/categories.txt articles.en.til.adoc = \ src/content/en/til/2020/08/12/filename-timestamp.adoc \ src/content/en/til/2020/08/13/code-jekyll.adoc \ src/content/en/til/2020/08/14/browse-git.adoc \ src/content/en/til/2020/08/16/git-search.adoc \ src/content/en/til/2020/08/28/grep-online.adoc \ src/content/en/til/2020/09/04/cli-email-fun-profit.adoc \ src/content/en/til/2020/09/05/oldschool-pr.adoc \ src/content/en/til/2020/10/11/search-git-history.adoc \ src/content/en/til/2020/11/08/find-broken-symlink.adoc \ src/content/en/til/2020/11/12/diy-nix-bash-ci.adoc \ src/content/en/til/2020/11/12/git-bisect-automation.adoc \ src/content/en/til/2020/11/12/useful-bashvars.adoc \ src/content/en/til/2020/11/14/gpodder-media.adoc \ src/content/en/til/2020/11/30/git-notes-ci.adoc \ src/content/en/til/2020/12/15/shellcheck-repo.adoc \ src/content/en/til/2020/12/29/svg.adoc \ src/content/en/til/2021/01/12/curl-awk-emails.adoc \ src/content/en/til/2021/01/17/posix-shebang.adoc \ src/content/en/til/2021/04/24/cl-generic-precedence.adoc \ src/content/en/til/2021/04/24/clojure-autocurry.adoc \ src/content/en/til/2021/04/24/scm-nif.adoc \ src/content/en/til/2021/07/23/git-tls-gpg.adoc \ src/content/en/til/2021/08/11/js-bigint-reviver.adoc \ articles.en.til.sortdata = $(articles.en.til.adoc:.adoc=.sortdata) articles.en.til.indexentry = $(articles.en.til.adoc:.adoc=.indexentry) articles.en.til.feedentry = $(articles.en.til.adoc:.adoc=.feedentry) articles.en.til.categorydata = $(articles.en.til.adoc:.adoc=.categorydata) articles.en.til.homeentry = $(articles.en.til.adoc:.adoc=.homeentry) src/content/en/til/sortdata.txt: deps.mk printf '%s\n' $(articles.en.til.sortdata) > $@ src/content/en/til/feed.xml: src/content/en/til/sortdata.txt src/content/en/til/feed.xml: $(articles.en.til.sortdata) src/content/en/til/index.htmllisting: src/content/en/til/sortdata.txt src/content/en/til/index.htmllisting: $(articles.en.til.sortdata) src/content/en/til/categories.htmllisting: src/content/en/til/sortdata.txt src/content/en/til/categories.htmllisting: $(articles.en.til.sortdata) src/content/en/til/categories.txt: src/content/en/til/sortdata.txt src/content/en/til/categories.txt: $(articles.en.til.sortdata) src/content/en/til/index.htmllisting src/content/en/til/categories.htmllisting: $(articles.en.til.indexentry) src/content/en/til/categories.txt: $(articles.en.til.categorydata) src/content/en/til/categories.txt src/content/en/til/feed.xml: $(articles.en.til.feedentry) src/content/en/til/categories.htmllisting src/content/en/til/categories.xml: src/content/en/til/categories.txt articles.eo.blog.adoc = \ articles.eo.blog.sortdata = $(articles.eo.blog.adoc:.adoc=.sortdata) articles.eo.blog.indexentry = $(articles.eo.blog.adoc:.adoc=.indexentry) articles.eo.blog.feedentry = $(articles.eo.blog.adoc:.adoc=.feedentry) articles.eo.blog.categorydata = $(articles.eo.blog.adoc:.adoc=.categorydata) articles.eo.blog.homeentry = $(articles.eo.blog.adoc:.adoc=.homeentry) src/content/eo/blog/sortdata.txt: deps.mk printf '%s\n' $(articles.eo.blog.sortdata) > $@ src/content/eo/blog/feed.xml: src/content/eo/blog/sortdata.txt src/content/eo/blog/feed.xml: $(articles.eo.blog.sortdata) src/content/eo/blog/index.htmllisting: src/content/eo/blog/sortdata.txt src/content/eo/blog/index.htmllisting: $(articles.eo.blog.sortdata) src/content/eo/blog/kategorioj.htmllisting: src/content/eo/blog/sortdata.txt src/content/eo/blog/kategorioj.htmllisting: $(articles.eo.blog.sortdata) src/content/eo/blog/kategorioj.txt: src/content/eo/blog/sortdata.txt src/content/eo/blog/kategorioj.txt: $(articles.eo.blog.sortdata) src/content/eo/blog/index.htmllisting src/content/eo/blog/kategorioj.htmllisting: $(articles.eo.blog.indexentry) src/content/eo/blog/kategorioj.txt: $(articles.eo.blog.categorydata) src/content/eo/blog/kategorioj.txt src/content/eo/blog/feed.xml: $(articles.eo.blog.feedentry) src/content/eo/blog/kategorioj.htmllisting src/content/eo/blog/kategorioj.xml: src/content/eo/blog/kategorioj.txt articles.eo.hml.adoc = \ articles.eo.hml.sortdata = $(articles.eo.hml.adoc:.adoc=.sortdata) articles.eo.hml.indexentry = $(articles.eo.hml.adoc:.adoc=.indexentry) articles.eo.hml.feedentry = $(articles.eo.hml.adoc:.adoc=.feedentry) articles.eo.hml.categorydata = $(articles.eo.hml.adoc:.adoc=.categorydata) articles.eo.hml.homeentry = $(articles.eo.hml.adoc:.adoc=.homeentry) src/content/eo/hml/sortdata.txt: deps.mk printf '%s\n' $(articles.eo.hml.sortdata) > $@ src/content/eo/hml/feed.xml: src/content/eo/hml/sortdata.txt src/content/eo/hml/feed.xml: $(articles.eo.hml.sortdata) src/content/eo/hml/index.htmllisting: src/content/eo/hml/sortdata.txt src/content/eo/hml/index.htmllisting: $(articles.eo.hml.sortdata) src/content/eo/hml/kategorioj.htmllisting: src/content/eo/hml/sortdata.txt src/content/eo/hml/kategorioj.htmllisting: $(articles.eo.hml.sortdata) src/content/eo/hml/kategorioj.txt: src/content/eo/hml/sortdata.txt src/content/eo/hml/kategorioj.txt: $(articles.eo.hml.sortdata) src/content/eo/hml/index.htmllisting src/content/eo/hml/kategorioj.htmllisting: $(articles.eo.hml.indexentry) src/content/eo/hml/kategorioj.txt: $(articles.eo.hml.categorydata) src/content/eo/hml/kategorioj.txt src/content/eo/hml/feed.xml: $(articles.eo.hml.feedentry) src/content/eo/hml/kategorioj.htmllisting src/content/eo/hml/kategorioj.xml: src/content/eo/hml/kategorioj.txt articles.eo.lumbildoj.adoc = \ articles.eo.lumbildoj.sortdata = $(articles.eo.lumbildoj.adoc:.adoc=.sortdata) articles.eo.lumbildoj.indexentry = $(articles.eo.lumbildoj.adoc:.adoc=.indexentry) articles.eo.lumbildoj.feedentry = $(articles.eo.lumbildoj.adoc:.adoc=.feedentry) articles.eo.lumbildoj.categorydata = $(articles.eo.lumbildoj.adoc:.adoc=.categorydata) articles.eo.lumbildoj.homeentry = $(articles.eo.lumbildoj.adoc:.adoc=.homeentry) src/content/eo/lumbildoj/sortdata.txt: deps.mk printf '%s\n' $(articles.eo.lumbildoj.sortdata) > $@ src/content/eo/lumbildoj/feed.xml: src/content/eo/lumbildoj/sortdata.txt src/content/eo/lumbildoj/feed.xml: $(articles.eo.lumbildoj.sortdata) src/content/eo/lumbildoj/index.htmllisting: src/content/eo/lumbildoj/sortdata.txt src/content/eo/lumbildoj/index.htmllisting: $(articles.eo.lumbildoj.sortdata) src/content/eo/lumbildoj/kategorioj.htmllisting: src/content/eo/lumbildoj/sortdata.txt src/content/eo/lumbildoj/kategorioj.htmllisting: $(articles.eo.lumbildoj.sortdata) src/content/eo/lumbildoj/kategorioj.txt: src/content/eo/lumbildoj/sortdata.txt src/content/eo/lumbildoj/kategorioj.txt: $(articles.eo.lumbildoj.sortdata) src/content/eo/lumbildoj/index.htmllisting src/content/eo/lumbildoj/kategorioj.htmllisting: $(articles.eo.lumbildoj.indexentry) src/content/eo/lumbildoj/kategorioj.txt: $(articles.eo.lumbildoj.categorydata) src/content/eo/lumbildoj/kategorioj.txt src/content/eo/lumbildoj/feed.xml: $(articles.eo.lumbildoj.feedentry) src/content/eo/lumbildoj/kategorioj.htmllisting src/content/eo/lumbildoj/kategorioj.xml: src/content/eo/lumbildoj/kategorioj.txt articles.eo.pastebin.adoc = \ articles.eo.pastebin.sortdata = $(articles.eo.pastebin.adoc:.adoc=.sortdata) articles.eo.pastebin.indexentry = $(articles.eo.pastebin.adoc:.adoc=.indexentry) articles.eo.pastebin.feedentry = $(articles.eo.pastebin.adoc:.adoc=.feedentry) articles.eo.pastebin.categorydata = $(articles.eo.pastebin.adoc:.adoc=.categorydata) articles.eo.pastebin.homeentry = $(articles.eo.pastebin.adoc:.adoc=.homeentry) src/content/eo/pastebin/sortdata.txt: deps.mk printf '%s\n' $(articles.eo.pastebin.sortdata) > $@ src/content/eo/pastebin/feed.xml: src/content/eo/pastebin/sortdata.txt src/content/eo/pastebin/feed.xml: $(articles.eo.pastebin.sortdata) src/content/eo/pastebin/index.htmllisting: src/content/eo/pastebin/sortdata.txt src/content/eo/pastebin/index.htmllisting: $(articles.eo.pastebin.sortdata) src/content/eo/pastebin/kategorioj.htmllisting: src/content/eo/pastebin/sortdata.txt src/content/eo/pastebin/kategorioj.htmllisting: $(articles.eo.pastebin.sortdata) src/content/eo/pastebin/kategorioj.txt: src/content/eo/pastebin/sortdata.txt src/content/eo/pastebin/kategorioj.txt: $(articles.eo.pastebin.sortdata) src/content/eo/pastebin/index.htmllisting src/content/eo/pastebin/kategorioj.htmllisting: $(articles.eo.pastebin.indexentry) src/content/eo/pastebin/kategorioj.txt: $(articles.eo.pastebin.categorydata) src/content/eo/pastebin/kategorioj.txt src/content/eo/pastebin/feed.xml: $(articles.eo.pastebin.feedentry) src/content/eo/pastebin/kategorioj.htmllisting src/content/eo/pastebin/kategorioj.xml: src/content/eo/pastebin/kategorioj.txt articles.eo.podkasto.adoc = \ articles.eo.podkasto.sortdata = $(articles.eo.podkasto.adoc:.adoc=.sortdata) articles.eo.podkasto.indexentry = $(articles.eo.podkasto.adoc:.adoc=.indexentry) articles.eo.podkasto.feedentry = $(articles.eo.podkasto.adoc:.adoc=.feedentry) articles.eo.podkasto.categorydata = $(articles.eo.podkasto.adoc:.adoc=.categorydata) articles.eo.podkasto.homeentry = $(articles.eo.podkasto.adoc:.adoc=.homeentry) src/content/eo/podkasto/sortdata.txt: deps.mk printf '%s\n' $(articles.eo.podkasto.sortdata) > $@ src/content/eo/podkasto/feed.xml: src/content/eo/podkasto/sortdata.txt src/content/eo/podkasto/feed.xml: $(articles.eo.podkasto.sortdata) src/content/eo/podkasto/index.htmllisting: src/content/eo/podkasto/sortdata.txt src/content/eo/podkasto/index.htmllisting: $(articles.eo.podkasto.sortdata) src/content/eo/podkasto/kategorioj.htmllisting: src/content/eo/podkasto/sortdata.txt src/content/eo/podkasto/kategorioj.htmllisting: $(articles.eo.podkasto.sortdata) src/content/eo/podkasto/kategorioj.txt: src/content/eo/podkasto/sortdata.txt src/content/eo/podkasto/kategorioj.txt: $(articles.eo.podkasto.sortdata) src/content/eo/podkasto/index.htmllisting src/content/eo/podkasto/kategorioj.htmllisting: $(articles.eo.podkasto.indexentry) src/content/eo/podkasto/kategorioj.txt: $(articles.eo.podkasto.categorydata) src/content/eo/podkasto/kategorioj.txt src/content/eo/podkasto/feed.xml: $(articles.eo.podkasto.feedentry) src/content/eo/podkasto/kategorioj.htmllisting src/content/eo/podkasto/kategorioj.xml: src/content/eo/podkasto/kategorioj.txt articles.eo.screencast.adoc = \ articles.eo.screencast.sortdata = $(articles.eo.screencast.adoc:.adoc=.sortdata) articles.eo.screencast.indexentry = $(articles.eo.screencast.adoc:.adoc=.indexentry) articles.eo.screencast.feedentry = $(articles.eo.screencast.adoc:.adoc=.feedentry) articles.eo.screencast.categorydata = $(articles.eo.screencast.adoc:.adoc=.categorydata) articles.eo.screencast.homeentry = $(articles.eo.screencast.adoc:.adoc=.homeentry) src/content/eo/screencast/sortdata.txt: deps.mk printf '%s\n' $(articles.eo.screencast.sortdata) > $@ src/content/eo/screencast/feed.xml: src/content/eo/screencast/sortdata.txt src/content/eo/screencast/feed.xml: $(articles.eo.screencast.sortdata) src/content/eo/screencast/index.htmllisting: src/content/eo/screencast/sortdata.txt src/content/eo/screencast/index.htmllisting: $(articles.eo.screencast.sortdata) src/content/eo/screencast/kategorioj.htmllisting: src/content/eo/screencast/sortdata.txt src/content/eo/screencast/kategorioj.htmllisting: $(articles.eo.screencast.sortdata) src/content/eo/screencast/kategorioj.txt: src/content/eo/screencast/sortdata.txt src/content/eo/screencast/kategorioj.txt: $(articles.eo.screencast.sortdata) src/content/eo/screencast/index.htmllisting src/content/eo/screencast/kategorioj.htmllisting: $(articles.eo.screencast.indexentry) src/content/eo/screencast/kategorioj.txt: $(articles.eo.screencast.categorydata) src/content/eo/screencast/kategorioj.txt src/content/eo/screencast/feed.xml: $(articles.eo.screencast.feedentry) src/content/eo/screencast/kategorioj.htmllisting src/content/eo/screencast/kategorioj.xml: src/content/eo/screencast/kategorioj.txt articles.es.blog.adoc = \ articles.es.blog.sortdata = $(articles.es.blog.adoc:.adoc=.sortdata) articles.es.blog.indexentry = $(articles.es.blog.adoc:.adoc=.indexentry) articles.es.blog.feedentry = $(articles.es.blog.adoc:.adoc=.feedentry) articles.es.blog.categorydata = $(articles.es.blog.adoc:.adoc=.categorydata) articles.es.blog.homeentry = $(articles.es.blog.adoc:.adoc=.homeentry) src/content/es/blog/sortdata.txt: deps.mk printf '%s\n' $(articles.es.blog.sortdata) > $@ src/content/es/blog/feed.xml: src/content/es/blog/sortdata.txt src/content/es/blog/feed.xml: $(articles.es.blog.sortdata) src/content/es/blog/index.htmllisting: src/content/es/blog/sortdata.txt src/content/es/blog/index.htmllisting: $(articles.es.blog.sortdata) src/content/es/blog/categorias.htmllisting: src/content/es/blog/sortdata.txt src/content/es/blog/categorias.htmllisting: $(articles.es.blog.sortdata) src/content/es/blog/categorias.txt: src/content/es/blog/sortdata.txt src/content/es/blog/categorias.txt: $(articles.es.blog.sortdata) src/content/es/blog/index.htmllisting src/content/es/blog/categorias.htmllisting: $(articles.es.blog.indexentry) src/content/es/blog/categorias.txt: $(articles.es.blog.categorydata) src/content/es/blog/categorias.txt src/content/es/blog/feed.xml: $(articles.es.blog.feedentry) src/content/es/blog/categorias.htmllisting src/content/es/blog/categorias.xml: src/content/es/blog/categorias.txt articles.es.diapositivas.adoc = \ articles.es.diapositivas.sortdata = $(articles.es.diapositivas.adoc:.adoc=.sortdata) articles.es.diapositivas.indexentry = $(articles.es.diapositivas.adoc:.adoc=.indexentry) articles.es.diapositivas.feedentry = $(articles.es.diapositivas.adoc:.adoc=.feedentry) articles.es.diapositivas.categorydata = $(articles.es.diapositivas.adoc:.adoc=.categorydata) articles.es.diapositivas.homeentry = $(articles.es.diapositivas.adoc:.adoc=.homeentry) src/content/es/diapositivas/sortdata.txt: deps.mk printf '%s\n' $(articles.es.diapositivas.sortdata) > $@ src/content/es/diapositivas/feed.xml: src/content/es/diapositivas/sortdata.txt src/content/es/diapositivas/feed.xml: $(articles.es.diapositivas.sortdata) src/content/es/diapositivas/index.htmllisting: src/content/es/diapositivas/sortdata.txt src/content/es/diapositivas/index.htmllisting: $(articles.es.diapositivas.sortdata) src/content/es/diapositivas/categorias.htmllisting: src/content/es/diapositivas/sortdata.txt src/content/es/diapositivas/categorias.htmllisting: $(articles.es.diapositivas.sortdata) src/content/es/diapositivas/categorias.txt: src/content/es/diapositivas/sortdata.txt src/content/es/diapositivas/categorias.txt: $(articles.es.diapositivas.sortdata) src/content/es/diapositivas/index.htmllisting src/content/es/diapositivas/categorias.htmllisting: $(articles.es.diapositivas.indexentry) src/content/es/diapositivas/categorias.txt: $(articles.es.diapositivas.categorydata) src/content/es/diapositivas/categorias.txt src/content/es/diapositivas/feed.xml: $(articles.es.diapositivas.feedentry) src/content/es/diapositivas/categorias.htmllisting src/content/es/diapositivas/categorias.xml: src/content/es/diapositivas/categorias.txt articles.es.haa.adoc = \ articles.es.haa.sortdata = $(articles.es.haa.adoc:.adoc=.sortdata) articles.es.haa.indexentry = $(articles.es.haa.adoc:.adoc=.indexentry) articles.es.haa.feedentry = $(articles.es.haa.adoc:.adoc=.feedentry) articles.es.haa.categorydata = $(articles.es.haa.adoc:.adoc=.categorydata) articles.es.haa.homeentry = $(articles.es.haa.adoc:.adoc=.homeentry) src/content/es/haa/sortdata.txt: deps.mk printf '%s\n' $(articles.es.haa.sortdata) > $@ src/content/es/haa/feed.xml: src/content/es/haa/sortdata.txt src/content/es/haa/feed.xml: $(articles.es.haa.sortdata) src/content/es/haa/index.htmllisting: src/content/es/haa/sortdata.txt src/content/es/haa/index.htmllisting: $(articles.es.haa.sortdata) src/content/es/haa/categorias.htmllisting: src/content/es/haa/sortdata.txt src/content/es/haa/categorias.htmllisting: $(articles.es.haa.sortdata) src/content/es/haa/categorias.txt: src/content/es/haa/sortdata.txt src/content/es/haa/categorias.txt: $(articles.es.haa.sortdata) src/content/es/haa/index.htmllisting src/content/es/haa/categorias.htmllisting: $(articles.es.haa.indexentry) src/content/es/haa/categorias.txt: $(articles.es.haa.categorydata) src/content/es/haa/categorias.txt src/content/es/haa/feed.xml: $(articles.es.haa.feedentry) src/content/es/haa/categorias.htmllisting src/content/es/haa/categorias.xml: src/content/es/haa/categorias.txt articles.es.pastebin.adoc = \ articles.es.pastebin.sortdata = $(articles.es.pastebin.adoc:.adoc=.sortdata) articles.es.pastebin.indexentry = $(articles.es.pastebin.adoc:.adoc=.indexentry) articles.es.pastebin.feedentry = $(articles.es.pastebin.adoc:.adoc=.feedentry) articles.es.pastebin.categorydata = $(articles.es.pastebin.adoc:.adoc=.categorydata) articles.es.pastebin.homeentry = $(articles.es.pastebin.adoc:.adoc=.homeentry) src/content/es/pastebin/sortdata.txt: deps.mk printf '%s\n' $(articles.es.pastebin.sortdata) > $@ src/content/es/pastebin/feed.xml: src/content/es/pastebin/sortdata.txt src/content/es/pastebin/feed.xml: $(articles.es.pastebin.sortdata) src/content/es/pastebin/index.htmllisting: src/content/es/pastebin/sortdata.txt src/content/es/pastebin/index.htmllisting: $(articles.es.pastebin.sortdata) src/content/es/pastebin/categorias.htmllisting: src/content/es/pastebin/sortdata.txt src/content/es/pastebin/categorias.htmllisting: $(articles.es.pastebin.sortdata) src/content/es/pastebin/categorias.txt: src/content/es/pastebin/sortdata.txt src/content/es/pastebin/categorias.txt: $(articles.es.pastebin.sortdata) src/content/es/pastebin/index.htmllisting src/content/es/pastebin/categorias.htmllisting: $(articles.es.pastebin.indexentry) src/content/es/pastebin/categorias.txt: $(articles.es.pastebin.categorydata) src/content/es/pastebin/categorias.txt src/content/es/pastebin/feed.xml: $(articles.es.pastebin.feedentry) src/content/es/pastebin/categorias.htmllisting src/content/es/pastebin/categorias.xml: src/content/es/pastebin/categorias.txt articles.es.podcast.adoc = \ articles.es.podcast.sortdata = $(articles.es.podcast.adoc:.adoc=.sortdata) articles.es.podcast.indexentry = $(articles.es.podcast.adoc:.adoc=.indexentry) articles.es.podcast.feedentry = $(articles.es.podcast.adoc:.adoc=.feedentry) articles.es.podcast.categorydata = $(articles.es.podcast.adoc:.adoc=.categorydata) articles.es.podcast.homeentry = $(articles.es.podcast.adoc:.adoc=.homeentry) src/content/es/podcast/sortdata.txt: deps.mk printf '%s\n' $(articles.es.podcast.sortdata) > $@ src/content/es/podcast/feed.xml: src/content/es/podcast/sortdata.txt src/content/es/podcast/feed.xml: $(articles.es.podcast.sortdata) src/content/es/podcast/index.htmllisting: src/content/es/podcast/sortdata.txt src/content/es/podcast/index.htmllisting: $(articles.es.podcast.sortdata) src/content/es/podcast/categorias.htmllisting: src/content/es/podcast/sortdata.txt src/content/es/podcast/categorias.htmllisting: $(articles.es.podcast.sortdata) src/content/es/podcast/categorias.txt: src/content/es/podcast/sortdata.txt src/content/es/podcast/categorias.txt: $(articles.es.podcast.sortdata) src/content/es/podcast/index.htmllisting src/content/es/podcast/categorias.htmllisting: $(articles.es.podcast.indexentry) src/content/es/podcast/categorias.txt: $(articles.es.podcast.categorydata) src/content/es/podcast/categorias.txt src/content/es/podcast/feed.xml: $(articles.es.podcast.feedentry) src/content/es/podcast/categorias.htmllisting src/content/es/podcast/categorias.xml: src/content/es/podcast/categorias.txt articles.es.screencast.adoc = \ articles.es.screencast.sortdata = $(articles.es.screencast.adoc:.adoc=.sortdata) articles.es.screencast.indexentry = $(articles.es.screencast.adoc:.adoc=.indexentry) articles.es.screencast.feedentry = $(articles.es.screencast.adoc:.adoc=.feedentry) articles.es.screencast.categorydata = $(articles.es.screencast.adoc:.adoc=.categorydata) articles.es.screencast.homeentry = $(articles.es.screencast.adoc:.adoc=.homeentry) src/content/es/screencast/sortdata.txt: deps.mk printf '%s\n' $(articles.es.screencast.sortdata) > $@ src/content/es/screencast/feed.xml: src/content/es/screencast/sortdata.txt src/content/es/screencast/feed.xml: $(articles.es.screencast.sortdata) src/content/es/screencast/index.htmllisting: src/content/es/screencast/sortdata.txt src/content/es/screencast/index.htmllisting: $(articles.es.screencast.sortdata) src/content/es/screencast/categorias.htmllisting: src/content/es/screencast/sortdata.txt src/content/es/screencast/categorias.htmllisting: $(articles.es.screencast.sortdata) src/content/es/screencast/categorias.txt: src/content/es/screencast/sortdata.txt src/content/es/screencast/categorias.txt: $(articles.es.screencast.sortdata) src/content/es/screencast/index.htmllisting src/content/es/screencast/categorias.htmllisting: $(articles.es.screencast.indexentry) src/content/es/screencast/categorias.txt: $(articles.es.screencast.categorydata) src/content/es/screencast/categorias.txt src/content/es/screencast/feed.xml: $(articles.es.screencast.feedentry) src/content/es/screencast/categorias.htmllisting src/content/es/screencast/categorias.xml: src/content/es/screencast/categorias.txt articles.fr.aja.adoc = \ articles.fr.aja.sortdata = $(articles.fr.aja.adoc:.adoc=.sortdata) articles.fr.aja.indexentry = $(articles.fr.aja.adoc:.adoc=.indexentry) articles.fr.aja.feedentry = $(articles.fr.aja.adoc:.adoc=.feedentry) articles.fr.aja.categorydata = $(articles.fr.aja.adoc:.adoc=.categorydata) articles.fr.aja.homeentry = $(articles.fr.aja.adoc:.adoc=.homeentry) src/content/fr/aja/sortdata.txt: deps.mk printf '%s\n' $(articles.fr.aja.sortdata) > $@ src/content/fr/aja/feed.xml: src/content/fr/aja/sortdata.txt src/content/fr/aja/feed.xml: $(articles.fr.aja.sortdata) src/content/fr/aja/index.htmllisting: src/content/fr/aja/sortdata.txt src/content/fr/aja/index.htmllisting: $(articles.fr.aja.sortdata) src/content/fr/aja/categories.htmllisting: src/content/fr/aja/sortdata.txt src/content/fr/aja/categories.htmllisting: $(articles.fr.aja.sortdata) src/content/fr/aja/categories.txt: src/content/fr/aja/sortdata.txt src/content/fr/aja/categories.txt: $(articles.fr.aja.sortdata) src/content/fr/aja/index.htmllisting src/content/fr/aja/categories.htmllisting: $(articles.fr.aja.indexentry) src/content/fr/aja/categories.txt: $(articles.fr.aja.categorydata) src/content/fr/aja/categories.txt src/content/fr/aja/feed.xml: $(articles.fr.aja.feedentry) src/content/fr/aja/categories.htmllisting src/content/fr/aja/categories.xml: src/content/fr/aja/categories.txt articles.fr.blog.adoc = \ articles.fr.blog.sortdata = $(articles.fr.blog.adoc:.adoc=.sortdata) articles.fr.blog.indexentry = $(articles.fr.blog.adoc:.adoc=.indexentry) articles.fr.blog.feedentry = $(articles.fr.blog.adoc:.adoc=.feedentry) articles.fr.blog.categorydata = $(articles.fr.blog.adoc:.adoc=.categorydata) articles.fr.blog.homeentry = $(articles.fr.blog.adoc:.adoc=.homeentry) src/content/fr/blog/sortdata.txt: deps.mk printf '%s\n' $(articles.fr.blog.sortdata) > $@ src/content/fr/blog/feed.xml: src/content/fr/blog/sortdata.txt src/content/fr/blog/feed.xml: $(articles.fr.blog.sortdata) src/content/fr/blog/index.htmllisting: src/content/fr/blog/sortdata.txt src/content/fr/blog/index.htmllisting: $(articles.fr.blog.sortdata) src/content/fr/blog/categories.htmllisting: src/content/fr/blog/sortdata.txt src/content/fr/blog/categories.htmllisting: $(articles.fr.blog.sortdata) src/content/fr/blog/categories.txt: src/content/fr/blog/sortdata.txt src/content/fr/blog/categories.txt: $(articles.fr.blog.sortdata) src/content/fr/blog/index.htmllisting src/content/fr/blog/categories.htmllisting: $(articles.fr.blog.indexentry) src/content/fr/blog/categories.txt: $(articles.fr.blog.categorydata) src/content/fr/blog/categories.txt src/content/fr/blog/feed.xml: $(articles.fr.blog.feedentry) src/content/fr/blog/categories.htmllisting src/content/fr/blog/categories.xml: src/content/fr/blog/categories.txt articles.fr.diapositives.adoc = \ articles.fr.diapositives.sortdata = $(articles.fr.diapositives.adoc:.adoc=.sortdata) articles.fr.diapositives.indexentry = $(articles.fr.diapositives.adoc:.adoc=.indexentry) articles.fr.diapositives.feedentry = $(articles.fr.diapositives.adoc:.adoc=.feedentry) articles.fr.diapositives.categorydata = $(articles.fr.diapositives.adoc:.adoc=.categorydata) articles.fr.diapositives.homeentry = $(articles.fr.diapositives.adoc:.adoc=.homeentry) src/content/fr/diapositives/sortdata.txt: deps.mk printf '%s\n' $(articles.fr.diapositives.sortdata) > $@ src/content/fr/diapositives/feed.xml: src/content/fr/diapositives/sortdata.txt src/content/fr/diapositives/feed.xml: $(articles.fr.diapositives.sortdata) src/content/fr/diapositives/index.htmllisting: src/content/fr/diapositives/sortdata.txt src/content/fr/diapositives/index.htmllisting: $(articles.fr.diapositives.sortdata) src/content/fr/diapositives/categories.htmllisting: src/content/fr/diapositives/sortdata.txt src/content/fr/diapositives/categories.htmllisting: $(articles.fr.diapositives.sortdata) src/content/fr/diapositives/categories.txt: src/content/fr/diapositives/sortdata.txt src/content/fr/diapositives/categories.txt: $(articles.fr.diapositives.sortdata) src/content/fr/diapositives/index.htmllisting src/content/fr/diapositives/categories.htmllisting: $(articles.fr.diapositives.indexentry) src/content/fr/diapositives/categories.txt: $(articles.fr.diapositives.categorydata) src/content/fr/diapositives/categories.txt src/content/fr/diapositives/feed.xml: $(articles.fr.diapositives.feedentry) src/content/fr/diapositives/categories.htmllisting src/content/fr/diapositives/categories.xml: src/content/fr/diapositives/categories.txt articles.fr.pastebin.adoc = \ articles.fr.pastebin.sortdata = $(articles.fr.pastebin.adoc:.adoc=.sortdata) articles.fr.pastebin.indexentry = $(articles.fr.pastebin.adoc:.adoc=.indexentry) articles.fr.pastebin.feedentry = $(articles.fr.pastebin.adoc:.adoc=.feedentry) articles.fr.pastebin.categorydata = $(articles.fr.pastebin.adoc:.adoc=.categorydata) articles.fr.pastebin.homeentry = $(articles.fr.pastebin.adoc:.adoc=.homeentry) src/content/fr/pastebin/sortdata.txt: deps.mk printf '%s\n' $(articles.fr.pastebin.sortdata) > $@ src/content/fr/pastebin/feed.xml: src/content/fr/pastebin/sortdata.txt src/content/fr/pastebin/feed.xml: $(articles.fr.pastebin.sortdata) src/content/fr/pastebin/index.htmllisting: src/content/fr/pastebin/sortdata.txt src/content/fr/pastebin/index.htmllisting: $(articles.fr.pastebin.sortdata) src/content/fr/pastebin/categories.htmllisting: src/content/fr/pastebin/sortdata.txt src/content/fr/pastebin/categories.htmllisting: $(articles.fr.pastebin.sortdata) src/content/fr/pastebin/categories.txt: src/content/fr/pastebin/sortdata.txt src/content/fr/pastebin/categories.txt: $(articles.fr.pastebin.sortdata) src/content/fr/pastebin/index.htmllisting src/content/fr/pastebin/categories.htmllisting: $(articles.fr.pastebin.indexentry) src/content/fr/pastebin/categories.txt: $(articles.fr.pastebin.categorydata) src/content/fr/pastebin/categories.txt src/content/fr/pastebin/feed.xml: $(articles.fr.pastebin.feedentry) src/content/fr/pastebin/categories.htmllisting src/content/fr/pastebin/categories.xml: src/content/fr/pastebin/categories.txt articles.fr.podcast.adoc = \ articles.fr.podcast.sortdata = $(articles.fr.podcast.adoc:.adoc=.sortdata) articles.fr.podcast.indexentry = $(articles.fr.podcast.adoc:.adoc=.indexentry) articles.fr.podcast.feedentry = $(articles.fr.podcast.adoc:.adoc=.feedentry) articles.fr.podcast.categorydata = $(articles.fr.podcast.adoc:.adoc=.categorydata) articles.fr.podcast.homeentry = $(articles.fr.podcast.adoc:.adoc=.homeentry) src/content/fr/podcast/sortdata.txt: deps.mk printf '%s\n' $(articles.fr.podcast.sortdata) > $@ src/content/fr/podcast/feed.xml: src/content/fr/podcast/sortdata.txt src/content/fr/podcast/feed.xml: $(articles.fr.podcast.sortdata) src/content/fr/podcast/index.htmllisting: src/content/fr/podcast/sortdata.txt src/content/fr/podcast/index.htmllisting: $(articles.fr.podcast.sortdata) src/content/fr/podcast/categories.htmllisting: src/content/fr/podcast/sortdata.txt src/content/fr/podcast/categories.htmllisting: $(articles.fr.podcast.sortdata) src/content/fr/podcast/categories.txt: src/content/fr/podcast/sortdata.txt src/content/fr/podcast/categories.txt: $(articles.fr.podcast.sortdata) src/content/fr/podcast/index.htmllisting src/content/fr/podcast/categories.htmllisting: $(articles.fr.podcast.indexentry) src/content/fr/podcast/categories.txt: $(articles.fr.podcast.categorydata) src/content/fr/podcast/categories.txt src/content/fr/podcast/feed.xml: $(articles.fr.podcast.feedentry) src/content/fr/podcast/categories.htmllisting src/content/fr/podcast/categories.xml: src/content/fr/podcast/categories.txt articles.fr.screencast.adoc = \ articles.fr.screencast.sortdata = $(articles.fr.screencast.adoc:.adoc=.sortdata) articles.fr.screencast.indexentry = $(articles.fr.screencast.adoc:.adoc=.indexentry) articles.fr.screencast.feedentry = $(articles.fr.screencast.adoc:.adoc=.feedentry) articles.fr.screencast.categorydata = $(articles.fr.screencast.adoc:.adoc=.categorydata) articles.fr.screencast.homeentry = $(articles.fr.screencast.adoc:.adoc=.homeentry) src/content/fr/screencast/sortdata.txt: deps.mk printf '%s\n' $(articles.fr.screencast.sortdata) > $@ src/content/fr/screencast/feed.xml: src/content/fr/screencast/sortdata.txt src/content/fr/screencast/feed.xml: $(articles.fr.screencast.sortdata) src/content/fr/screencast/index.htmllisting: src/content/fr/screencast/sortdata.txt src/content/fr/screencast/index.htmllisting: $(articles.fr.screencast.sortdata) src/content/fr/screencast/categories.htmllisting: src/content/fr/screencast/sortdata.txt src/content/fr/screencast/categories.htmllisting: $(articles.fr.screencast.sortdata) src/content/fr/screencast/categories.txt: src/content/fr/screencast/sortdata.txt src/content/fr/screencast/categories.txt: $(articles.fr.screencast.sortdata) src/content/fr/screencast/index.htmllisting src/content/fr/screencast/categories.htmllisting: $(articles.fr.screencast.indexentry) src/content/fr/screencast/categories.txt: $(articles.fr.screencast.categorydata) src/content/fr/screencast/categories.txt src/content/fr/screencast/feed.xml: $(articles.fr.screencast.feedentry) src/content/fr/screencast/categories.htmllisting src/content/fr/screencast/categories.xml: src/content/fr/screencast/categories.txt articles.pt.blog.adoc = \ articles.pt.blog.sortdata = $(articles.pt.blog.adoc:.adoc=.sortdata) articles.pt.blog.indexentry = $(articles.pt.blog.adoc:.adoc=.indexentry) articles.pt.blog.feedentry = $(articles.pt.blog.adoc:.adoc=.feedentry) articles.pt.blog.categorydata = $(articles.pt.blog.adoc:.adoc=.categorydata) articles.pt.blog.homeentry = $(articles.pt.blog.adoc:.adoc=.homeentry) src/content/pt/blog/sortdata.txt: deps.mk printf '%s\n' $(articles.pt.blog.sortdata) > $@ src/content/pt/blog/feed.xml: src/content/pt/blog/sortdata.txt src/content/pt/blog/feed.xml: $(articles.pt.blog.sortdata) src/content/pt/blog/index.htmllisting: src/content/pt/blog/sortdata.txt src/content/pt/blog/index.htmllisting: $(articles.pt.blog.sortdata) src/content/pt/blog/categorias.htmllisting: src/content/pt/blog/sortdata.txt src/content/pt/blog/categorias.htmllisting: $(articles.pt.blog.sortdata) src/content/pt/blog/categorias.txt: src/content/pt/blog/sortdata.txt src/content/pt/blog/categorias.txt: $(articles.pt.blog.sortdata) src/content/pt/blog/index.htmllisting src/content/pt/blog/categorias.htmllisting: $(articles.pt.blog.indexentry) src/content/pt/blog/categorias.txt: $(articles.pt.blog.categorydata) src/content/pt/blog/categorias.txt src/content/pt/blog/feed.xml: $(articles.pt.blog.feedentry) src/content/pt/blog/categorias.htmllisting src/content/pt/blog/categorias.xml: src/content/pt/blog/categorias.txt articles.pt.eslaides.adoc = \ articles.pt.eslaides.sortdata = $(articles.pt.eslaides.adoc:.adoc=.sortdata) articles.pt.eslaides.indexentry = $(articles.pt.eslaides.adoc:.adoc=.indexentry) articles.pt.eslaides.feedentry = $(articles.pt.eslaides.adoc:.adoc=.feedentry) articles.pt.eslaides.categorydata = $(articles.pt.eslaides.adoc:.adoc=.categorydata) articles.pt.eslaides.homeentry = $(articles.pt.eslaides.adoc:.adoc=.homeentry) src/content/pt/eslaides/sortdata.txt: deps.mk printf '%s\n' $(articles.pt.eslaides.sortdata) > $@ src/content/pt/eslaides/feed.xml: src/content/pt/eslaides/sortdata.txt src/content/pt/eslaides/feed.xml: $(articles.pt.eslaides.sortdata) src/content/pt/eslaides/index.htmllisting: src/content/pt/eslaides/sortdata.txt src/content/pt/eslaides/index.htmllisting: $(articles.pt.eslaides.sortdata) src/content/pt/eslaides/categorias.htmllisting: src/content/pt/eslaides/sortdata.txt src/content/pt/eslaides/categorias.htmllisting: $(articles.pt.eslaides.sortdata) src/content/pt/eslaides/categorias.txt: src/content/pt/eslaides/sortdata.txt src/content/pt/eslaides/categorias.txt: $(articles.pt.eslaides.sortdata) src/content/pt/eslaides/index.htmllisting src/content/pt/eslaides/categorias.htmllisting: $(articles.pt.eslaides.indexentry) src/content/pt/eslaides/categorias.txt: $(articles.pt.eslaides.categorydata) src/content/pt/eslaides/categorias.txt src/content/pt/eslaides/feed.xml: $(articles.pt.eslaides.feedentry) src/content/pt/eslaides/categorias.htmllisting src/content/pt/eslaides/categorias.xml: src/content/pt/eslaides/categorias.txt articles.pt.hea.adoc = \ src/content/pt/hea/2020/08/12/arquivo-datado.adoc \ articles.pt.hea.sortdata = $(articles.pt.hea.adoc:.adoc=.sortdata) articles.pt.hea.indexentry = $(articles.pt.hea.adoc:.adoc=.indexentry) articles.pt.hea.feedentry = $(articles.pt.hea.adoc:.adoc=.feedentry) articles.pt.hea.categorydata = $(articles.pt.hea.adoc:.adoc=.categorydata) articles.pt.hea.homeentry = $(articles.pt.hea.adoc:.adoc=.homeentry) src/content/pt/hea/sortdata.txt: deps.mk printf '%s\n' $(articles.pt.hea.sortdata) > $@ src/content/pt/hea/feed.xml: src/content/pt/hea/sortdata.txt src/content/pt/hea/feed.xml: $(articles.pt.hea.sortdata) src/content/pt/hea/index.htmllisting: src/content/pt/hea/sortdata.txt src/content/pt/hea/index.htmllisting: $(articles.pt.hea.sortdata) src/content/pt/hea/categorias.htmllisting: src/content/pt/hea/sortdata.txt src/content/pt/hea/categorias.htmllisting: $(articles.pt.hea.sortdata) src/content/pt/hea/categorias.txt: src/content/pt/hea/sortdata.txt src/content/pt/hea/categorias.txt: $(articles.pt.hea.sortdata) src/content/pt/hea/index.htmllisting src/content/pt/hea/categorias.htmllisting: $(articles.pt.hea.indexentry) src/content/pt/hea/categorias.txt: $(articles.pt.hea.categorydata) src/content/pt/hea/categorias.txt src/content/pt/hea/feed.xml: $(articles.pt.hea.feedentry) src/content/pt/hea/categorias.htmllisting src/content/pt/hea/categorias.xml: src/content/pt/hea/categorias.txt articles.pt.pastebin.adoc = \ articles.pt.pastebin.sortdata = $(articles.pt.pastebin.adoc:.adoc=.sortdata) articles.pt.pastebin.indexentry = $(articles.pt.pastebin.adoc:.adoc=.indexentry) articles.pt.pastebin.feedentry = $(articles.pt.pastebin.adoc:.adoc=.feedentry) articles.pt.pastebin.categorydata = $(articles.pt.pastebin.adoc:.adoc=.categorydata) articles.pt.pastebin.homeentry = $(articles.pt.pastebin.adoc:.adoc=.homeentry) src/content/pt/pastebin/sortdata.txt: deps.mk printf '%s\n' $(articles.pt.pastebin.sortdata) > $@ src/content/pt/pastebin/feed.xml: src/content/pt/pastebin/sortdata.txt src/content/pt/pastebin/feed.xml: $(articles.pt.pastebin.sortdata) src/content/pt/pastebin/index.htmllisting: src/content/pt/pastebin/sortdata.txt src/content/pt/pastebin/index.htmllisting: $(articles.pt.pastebin.sortdata) src/content/pt/pastebin/categorias.htmllisting: src/content/pt/pastebin/sortdata.txt src/content/pt/pastebin/categorias.htmllisting: $(articles.pt.pastebin.sortdata) src/content/pt/pastebin/categorias.txt: src/content/pt/pastebin/sortdata.txt src/content/pt/pastebin/categorias.txt: $(articles.pt.pastebin.sortdata) src/content/pt/pastebin/index.htmllisting src/content/pt/pastebin/categorias.htmllisting: $(articles.pt.pastebin.indexentry) src/content/pt/pastebin/categorias.txt: $(articles.pt.pastebin.categorydata) src/content/pt/pastebin/categorias.txt src/content/pt/pastebin/feed.xml: $(articles.pt.pastebin.feedentry) src/content/pt/pastebin/categorias.htmllisting src/content/pt/pastebin/categorias.xml: src/content/pt/pastebin/categorias.txt articles.pt.podcast.adoc = \ articles.pt.podcast.sortdata = $(articles.pt.podcast.adoc:.adoc=.sortdata) articles.pt.podcast.indexentry = $(articles.pt.podcast.adoc:.adoc=.indexentry) articles.pt.podcast.feedentry = $(articles.pt.podcast.adoc:.adoc=.feedentry) articles.pt.podcast.categorydata = $(articles.pt.podcast.adoc:.adoc=.categorydata) articles.pt.podcast.homeentry = $(articles.pt.podcast.adoc:.adoc=.homeentry) src/content/pt/podcast/sortdata.txt: deps.mk printf '%s\n' $(articles.pt.podcast.sortdata) > $@ src/content/pt/podcast/feed.xml: src/content/pt/podcast/sortdata.txt src/content/pt/podcast/feed.xml: $(articles.pt.podcast.sortdata) src/content/pt/podcast/index.htmllisting: src/content/pt/podcast/sortdata.txt src/content/pt/podcast/index.htmllisting: $(articles.pt.podcast.sortdata) src/content/pt/podcast/categorias.htmllisting: src/content/pt/podcast/sortdata.txt src/content/pt/podcast/categorias.htmllisting: $(articles.pt.podcast.sortdata) src/content/pt/podcast/categorias.txt: src/content/pt/podcast/sortdata.txt src/content/pt/podcast/categorias.txt: $(articles.pt.podcast.sortdata) src/content/pt/podcast/index.htmllisting src/content/pt/podcast/categorias.htmllisting: $(articles.pt.podcast.indexentry) src/content/pt/podcast/categorias.txt: $(articles.pt.podcast.categorydata) src/content/pt/podcast/categorias.txt src/content/pt/podcast/feed.xml: $(articles.pt.podcast.feedentry) src/content/pt/podcast/categorias.htmllisting src/content/pt/podcast/categorias.xml: src/content/pt/podcast/categorias.txt articles.pt.screencast.adoc = \ articles.pt.screencast.sortdata = $(articles.pt.screencast.adoc:.adoc=.sortdata) articles.pt.screencast.indexentry = $(articles.pt.screencast.adoc:.adoc=.indexentry) articles.pt.screencast.feedentry = $(articles.pt.screencast.adoc:.adoc=.feedentry) articles.pt.screencast.categorydata = $(articles.pt.screencast.adoc:.adoc=.categorydata) articles.pt.screencast.homeentry = $(articles.pt.screencast.adoc:.adoc=.homeentry) src/content/pt/screencast/sortdata.txt: deps.mk printf '%s\n' $(articles.pt.screencast.sortdata) > $@ src/content/pt/screencast/feed.xml: src/content/pt/screencast/sortdata.txt src/content/pt/screencast/feed.xml: $(articles.pt.screencast.sortdata) src/content/pt/screencast/index.htmllisting: src/content/pt/screencast/sortdata.txt src/content/pt/screencast/index.htmllisting: $(articles.pt.screencast.sortdata) src/content/pt/screencast/categorias.htmllisting: src/content/pt/screencast/sortdata.txt src/content/pt/screencast/categorias.htmllisting: $(articles.pt.screencast.sortdata) src/content/pt/screencast/categorias.txt: src/content/pt/screencast/sortdata.txt src/content/pt/screencast/categorias.txt: $(articles.pt.screencast.sortdata) src/content/pt/screencast/index.htmllisting src/content/pt/screencast/categorias.htmllisting: $(articles.pt.screencast.indexentry) src/content/pt/screencast/categorias.txt: $(articles.pt.screencast.categorydata) src/content/pt/screencast/categorias.txt src/content/pt/screencast/feed.xml: $(articles.pt.screencast.feedentry) src/content/pt/screencast/categorias.htmllisting src/content/pt/screencast/categorias.xml: src/content/pt/screencast/categorias.txt src/content/de/index.htmllisting: src/content/de/blog/sortdata.txt $(articles.de.blog.homeentry) src/content/de/folien/sortdata.txt $(articles.de.folien.homeentry) src/content/de/hhg/sortdata.txt $(articles.de.hhg.homeentry) src/content/de/pastebin/sortdata.txt $(articles.de.pastebin.homeentry) src/content/de/podcast/sortdata.txt $(articles.de.podcast.homeentry) src/content/de/screencast/sortdata.txt $(articles.de.screencast.homeentry) src/content/en/index.htmllisting: src/content/en/blog/sortdata.txt $(articles.en.blog.homeentry) src/content/en/pastebin/sortdata.txt $(articles.en.pastebin.homeentry) src/content/en/podcast/sortdata.txt $(articles.en.podcast.homeentry) src/content/en/screencast/sortdata.txt $(articles.en.screencast.homeentry) src/content/en/slide/sortdata.txt $(articles.en.slide.homeentry) src/content/en/til/sortdata.txt $(articles.en.til.homeentry) src/content/eo/index.htmllisting: src/content/eo/blog/sortdata.txt $(articles.eo.blog.homeentry) src/content/eo/hml/sortdata.txt $(articles.eo.hml.homeentry) src/content/eo/lumbildoj/sortdata.txt $(articles.eo.lumbildoj.homeentry) src/content/eo/pastebin/sortdata.txt $(articles.eo.pastebin.homeentry) src/content/eo/podkasto/sortdata.txt $(articles.eo.podkasto.homeentry) src/content/eo/screencast/sortdata.txt $(articles.eo.screencast.homeentry) src/content/es/index.htmllisting: src/content/es/blog/sortdata.txt $(articles.es.blog.homeentry) src/content/es/diapositivas/sortdata.txt $(articles.es.diapositivas.homeentry) src/content/es/haa/sortdata.txt $(articles.es.haa.homeentry) src/content/es/pastebin/sortdata.txt $(articles.es.pastebin.homeentry) src/content/es/podcast/sortdata.txt $(articles.es.podcast.homeentry) src/content/es/screencast/sortdata.txt $(articles.es.screencast.homeentry) src/content/fr/index.htmllisting: src/content/fr/aja/sortdata.txt $(articles.fr.aja.homeentry) src/content/fr/blog/sortdata.txt $(articles.fr.blog.homeentry) src/content/fr/diapositives/sortdata.txt $(articles.fr.diapositives.homeentry) src/content/fr/pastebin/sortdata.txt $(articles.fr.pastebin.homeentry) src/content/fr/podcast/sortdata.txt $(articles.fr.podcast.homeentry) src/content/fr/screencast/sortdata.txt $(articles.fr.screencast.homeentry) src/content/pt/index.htmllisting: src/content/pt/blog/sortdata.txt $(articles.pt.blog.homeentry) src/content/pt/eslaides/sortdata.txt $(articles.pt.eslaides.homeentry) src/content/pt/hea/sortdata.txt $(articles.pt.hea.homeentry) src/content/pt/pastebin/sortdata.txt $(articles.pt.pastebin.homeentry) src/content/pt/podcast/sortdata.txt $(articles.pt.podcast.homeentry) src/content/pt/screencast/sortdata.txt $(articles.pt.screencast.homeentry) translations.map = src/translations.map src/translations.map: deps.mk printf '%s\n' \ 'src/content/en/index.adoc src/content/pt/index.adoc src/content/fr/index.adoc src/content/eo/index.adoc src/content/es/index.adoc src/content/de/index.adoc' \ 'src/content/en/about.adoc src/content/pt/sobre.adoc src/content/fr/a-propos.adoc src/content/eo/pri.adoc src/content/es/acerca.adoc src/content/de/ueber.adoc' \ 'src/content/en/music.adoc src/content/pt/musica.adoc src/content/fr/musique.adoc src/content/eo/muziko.adoc src/content/es/musica.adoc src/content/de/musik.adoc' \ 'src/content/en/blog/index.adoc src/content/pt/blog/index.adoc src/content/fr/blog/index.adoc src/content/eo/blog/index.adoc src/content/es/blog/index.adoc src/content/de/blog/index.adoc' \ 'src/content/en/blog/categories.adoc src/content/pt/blog/categorias.adoc src/content/fr/blog/categories.adoc src/content/eo/blog/kategorioj.adoc src/content/es/blog/categorias.adoc src/content/de/blog/kategorien.adoc' \ 'src/content/en/til/index.adoc src/content/pt/hea/index.adoc src/content/fr/aja/index.adoc src/content/eo/hml/index.adoc src/content/es/haa/index.adoc src/content/de/hhg/index.adoc' \ 'src/content/en/til/categories.adoc src/content/pt/hea/categorias.adoc src/content/fr/aja/categories.adoc src/content/eo/hml/kategorioj.adoc src/content/es/haa/categorias.adoc src/content/de/hhg/kategorien.adoc' \ 'src/content/en/pastebin/index.adoc src/content/pt/pastebin/index.adoc src/content/fr/pastebin/index.adoc src/content/eo/pastebin/index.adoc src/content/es/pastebin/index.adoc src/content/de/pastebin/index.adoc' \ 'src/content/en/pastebin/categories.adoc src/content/pt/pastebin/categorias.adoc src/content/fr/pastebin/categories.adoc src/content/eo/pastebin/kategorioj.adoc src/content/es/pastebin/categorias.adoc src/content/de/pastebin/kategorien.adoc' \ 'src/content/en/podcast/index.adoc src/content/pt/podcast/index.adoc src/content/fr/podcast/index.adoc src/content/eo/podkasto/index.adoc src/content/es/podcast/index.adoc src/content/de/podcast/index.adoc' \ 'src/content/en/podcast/categories.adoc src/content/pt/podcast/categorias.adoc src/content/fr/podcast/categories.adoc src/content/eo/podkasto/kategorioj.adoc src/content/es/podcast/categorias.adoc src/content/de/podcast/kategorien.adoc' \ 'src/content/en/screencast/index.adoc src/content/pt/screencast/index.adoc src/content/fr/screencast/index.adoc src/content/eo/screencast/index.adoc src/content/es/screencast/index.adoc src/content/de/screencast/index.adoc' \ 'src/content/en/screencast/categories.adoc src/content/pt/screencast/categorias.adoc src/content/fr/screencast/categories.adoc src/content/eo/screencast/kategorioj.adoc src/content/es/screencast/categorias.adoc src/content/de/screencast/kategorien.adoc' \ 'src/content/en/slide/index.adoc src/content/pt/eslaides/index.adoc src/content/fr/diapositives/index.adoc src/content/eo/lumbildoj/index.adoc src/content/es/diapositivas/index.adoc src/content/de/folien/index.adoc' \ 'src/content/en/slide/categories.adoc src/content/pt/eslaides/categorias.adoc src/content/fr/diapositives/categories.adoc src/content/eo/lumbildoj/kategorioj.adoc src/content/es/diapositivas/categorias.adoc src/content/de/folien/kategorien.adoc' \ 'src/content/en/til/2020/08/12/filename-timestamp.adoc src/content/pt/hea/2020/08/12/arquivo-datado.adoc' \ > $@ ## mkwb canonical site rules. Sites consume this content by ## inlining it at the end of their generated deps.mk: mkdeps.sh ## runs `mkwb rules` (which cats this file) so deps.mk ends up ## self-contained -- no make-time `include` of an external file. ## The site Makefile only needs an `all:` anchor followed by ## `include deps.mk`. Order matters: `all:` must come first ## (otherwise deps.mk's first target becomes the default), and ## the canonical rules below must follow deps.mk's variable ## assignments so that `all: $(derived-assets)` can resolve its ## prereq list at parse time. ## ## The including Makefile is expected to define at minimum: ## ## NAME -- site name (used for SRCDIR/HTMLDIR install paths) ## VERSION ## DATE ## ## To override any of PREFIX / BINDIR / SHAREDIR / SRCDIR / ## HTMLDIR / PUBURL / BASEURL / FFMFLAGS, set them AFTER the ## include (plain `=`, POSIX -- no `?=` conditional assignment), ## or pass `-e` to make to let env vars take precedence. ## Default values. Sites override AFTER the include or via env. PREFIX = /usr BINDIR = $(PREFIX)/bin LIBDIR = $(PREFIX)/lib INCLUDEDIR = $(PREFIX)/include SHAREDIR = $(PREFIX)/share LOCALEDIR = $(SHAREDIR)/locale MANDIR = $(SHAREDIR)/man DOCDIR = $(SHAREDIR)/doc/$(NAME) HTMLDIR = $(SHAREDIR)/html/$(NAME) SRCDIR = $(PREFIX)/src/$(NAME) DESTDIR = ## How many of each collection a front page lists. HOMECOUNT = 3 PUBURL = public.asc.txt BASEURL = / FFMFLAGS = -y -hide_banner -loglevel warning .SUFFIXES: .SUFFIXES: .adoc .json .snippets .indexentry .feedentry .mapentry .sortdata .xml .SUFFIXES: .htmlbody .htmlheader .htmlfooter .htmllisting .html .links .caslinks .SUFFIXES: .comments .homeentry .SUFFIXES: .txt .categorydata .torrent .flac .ogg .ps .pdf .sentinel .SUFFIXES: .ly .midi .eslaides .adoc.json: mkwb conf src/global.json $< > $@ .adoc.htmlbody: mkwb htmlbody $< > $@ .htmlbody.html: mkwb html $< > $@ .json.htmlheader: mkwb html -H $< > $@ .json.htmlfooter: mkwb html -F $< > $@ .adoc.snippets: mkwb snippets $< > $@ .json.indexentry: mkwb indexentry $< > $@ ## The same entry, linked from the root of the language rather ## than the root of the collection, for a front page. .json.homeentry: mkwb indexentry -l $< > $@ .htmlbody.feedentry: mkwb feedentry $< > $@ .json.comments: mkwb comments $< > $@ .json.mapentry: mkwb mapentry $< > $@ .json.sortdata: mkwb sortdata $< > $@ .json.categorydata: mkwb categorydata $< > $@ .adoc.links: mkwb links $< > $@ .links.caslinks: mkwb caslinks $< > $@ .flac.ogg: ffmpeg $(FFMFLAGS) -i $< -ar 48000 -vn -c:a libvorbis -b:a 320k $@ .eslaides.ps: eslaides < $< > $@ .ly.midi: lilypond -o $* $< .ps.pdf: ps2pdf - < $< > $@ ## Derived file lists from auto-generated source lists in deps.mk. listings.adoc = $(categories.adoc) $(indexes.adoc) \ $(homes.adoc) homes.htmllisting = $(homes.adoc:.adoc=.htmllisting) sources.adoc = $(articles.adoc) $(listings.adoc) $(pages.adoc) sources.htmlbody = $(sources.adoc:.adoc=.htmlbody) sources.html = $(sources.adoc:.adoc=.html) sources.snippets = $(sources.adoc:.adoc=.snippets) sources.json = $(sources.adoc:.adoc=.json) sources.links = $(sources.adoc:.adoc=.links) sources.caslinks = $(sources.adoc:.adoc=.caslinks) sources.comments = $(sources.adoc:.adoc=.comments) sources.mapentry = $(sources.adoc:.adoc=.mapentry) articles.indexentry = $(articles.adoc:.adoc=.indexentry) articles.homeentry = $(articles.adoc:.adoc=.homeentry) articles.feedentry = $(articles.adoc:.adoc=.feedentry) articles.sortdata = $(articles.adoc:.adoc=.sortdata) articles.categorydata = $(articles.adoc:.adoc=.categorydata) listings.htmlheader = $(listings.adoc:.adoc=.htmlheader) listings.htmlfooter = $(listings.adoc:.adoc=.htmlfooter) listings.html = $(listings.adoc:.adoc=.html) indexes.htmllisting = $(indexes.adoc:.adoc=.htmllisting) categories.htmllisting = $(categories.adoc:.adoc=.htmllisting) categories.txt = $(categories.adoc:.adoc=.txt) categories.xml = $(categories.adoc:.adoc=.xml) sources.media.torrent = $(sources.media:=.torrent) music.midi = $(music.ly:.ly=.midi) music.pdf = $(music.ly:.ly=.pdf) slides.ps = $(slides.eslaides:.eslaides=.ps) slides.pdf = $(slides.eslaides:.eslaides=.pdf) sources = \ $(sources.adoc) \ $(sources.extras) \ $(images.svg) \ src/content/favicon.ico \ src/content/favicon.png \ src/content/style.css \ src/content/$(PUBURL) \ dynamic-contents = \ $(sources.html) \ $(slides.pdf) \ $(feeds.xml) \ $(sources.media.torrent) \ src/content/sitemap.xml \ static-contents = \ $(sources.extras) \ $(music.ly) \ $(music.include) \ $(music.ogg) \ $(music.midi) \ $(music.pdf) \ $(images.svg) \ src/content/favicon.ico \ src/content/favicon.png \ src/content/style.css \ src/content/$(PUBURL) \ src/content/.well-known/security.txt \ contents = \ $(dynamic-contents) \ $(static-contents) \ all-filelists = \ $(sources.snippets) \ $(categories.xml) \ all-contents = \ $(contents) \ captured-assets = \ src/content/$(PUBURL) \ src/content/favicon.ico \ src/content/favicon.png \ captured-assets.sentinel = $(captured-assets:=.sentinel) derived-assets = \ $(dynamic-contents) \ $(music.midi) \ $(music.pdf) \ $(sources.html) \ $(sources.htmlbody) \ $(sources.snippets) \ $(sources.json) \ $(sources.links) \ $(sources.caslinks) \ $(sources.comments) \ src/comments.stamp \ $(sources.mapentry) \ src/dyn.conf \ src/base.conf \ src/global.json \ $(translations.map) \ $(articles.indexentry) \ $(articles.homeentry) \ $(articles.feedentry) \ $(articles.sortdata) \ $(articles.categorydata) \ $(listings.htmlheader) \ $(listings.htmlfooter) \ $(listings.html) \ $(indexes.htmllisting) \ $(categories.htmllisting) \ $(homes.htmllisting) \ $(categories.txt) \ $(categories.xml) \ $(slides.ps) \ $(slides.pdf) \ email.txt \ baseurl.txt \ fingerprint.txt \ expiry.txt \ expiry-epoch.txt \ now.txt \ src/content/.well-known/security.txt \ src/all-contents.txt \ src/all-filelists.txt \ src/all-symlinks.txt \ src/install.txt \ src/sort-expected.txt \ src/sort-given.txt \ src/sources.txt \ install.txt \ sources.txt \ src/content/.gitignore \ $(captured-assets.sentinel) \ side-assets = \ src/collections/*/*/*/*/*/*.html.*.txt \ src/collections/*/*/index.html.*.txt \ src/collections/*/*/sortdata.txt \ src/collections/*/*/feed.*.xml \ src/collections/*/*/*.sortdata \ src/pages/*/*.html.*.txt \ src/content/.well-known/ \ src/comments/ \ $$(cat src/all-symlinks.txt 2>/dev/null) \ ## Default target -- builds all derived + captured artifacts. ## $(static-contents) is named too: most of it the site ships, but ## the fallback rules below craft what it doesn't (style.css, the ## favicon), and nothing else asks for those now that no .gz twin ## does. all: $(derived-assets) $(captured-assets) $(static-contents) ## A page's configuration names the same page in the other ## languages, so it is built after the map that says which those ## are. A site with no translations sets no map, and the variable ## is empty. $(sources.json): src/global.json $(translations.map) ## Optional inputs default to empty / stub when the site doesn't ## ship them, so make doesn't bail on a missing prerequisite. src/symlinks.txt: : > $@ ## The list archive as the list exports it, and the messages split ## out of it. One file is what gets committed; make cuts it up. ## The names are not known in advance, so a stamp stands for them. src/comments.mbox: : > $@ src/comments.stamp: src/comments.mbox mkwb mbox src/comments < src/comments.mbox > /dev/null touch $@ $(sources.comments): src/comments.stamp src/comments.map ## A page renders the thread belonging to it, so it is built after ## the whole archive is: a message arriving anywhere can be the one ## that belongs here. $(sources.html): $(sources.comments) src/content/style.css: mkdir -p $(@D) : > $@ src/content/img/favicon.svg: mkdir -p $(@D) printf '%s\n' \ '' \ '' \ ' ' \ '' > $@ src/content/.gitignore: src/symlinks.txt cd src/content/ && mkwb symlinks ../symlinks.txt > $(@F) src/dyn.conf: email.txt baseurl.txt fingerprint.txt printf "export url_pre='%s'\n" "$$(cat baseurl.txt)" > $@ printf "export email='%s'\n" "$$(cat email.txt)" >> $@ printf "export publickey='%s'\n" "$$(cat fingerprint.txt)" >> $@ printf "export publickey_url='$(PUBURL)'\n" >> $@ printf 'export sourcecode_url="$$url_pre/git/$(NAME)"\n' >> $@ ## Expose the site's LANGUAGES so mkwb conf can decide ## whether to path-derive lang (multi-lang sites with ## src/content//...) or use empty (flat / single- ## idiom sites with src/content/X.adoc directly). Skip ## the var entirely when empty so flat-layout sites' confs ## stay clean -- mkwb conf treats unset and empty the same. if [ -n '$(LANGUAGES)' ]; then \ printf "export languages='%s'\n" '$(LANGUAGES)' >> $@; \ fi ## Defaults for globals previously required in every site's ## static.conf. base.conf concatenates dyn.conf then ## static.conf, so anything the site sets in static.conf ## overrides these (shell honours the last export). Keeping ## them defined lets a content-only site with no static.conf ## still build, and protects downstream consumers under set -u ## from undefined vars. printf 'export site_name=$(NAME)\n' >> $@ printf 'export author=$(NAME)\n' >> $@ printf 'export headers_dir=src/headers\n' >> $@ printf 'export names_dir=src/names\n' >> $@ printf 'export comments_dir=src/comments\n' >> $@ printf 'export comments_map=src/comments.map\n' >> $@ printf 'export me_urls=\n' >> $@ printf 'export translations_map=$(translations.map)\n' >> $@ printf 'export root_dir=src/content\n' >> $@ printf 'export feed_title=""\n' >> $@ printf 'export feed_url=""\n' >> $@ printf 'export feed_alternate_url=""\n' >> $@ printf 'export list_addr=""\n' >> $@ printf 'export discussions_url_prefix=""\n' >> $@ printf 'export sourcecode_url_prefix=""\n' >> $@ ## src/static.conf is optional: when the site doesn't ship one, ## dyn.conf's defaults (above) suffice. Default to empty so ## `cat dyn.conf static.conf > base.conf` doesn't fail. src/static.conf: : > $@ src/base.conf: src/dyn.conf src/static.conf cat src/dyn.conf src/static.conf > $@ src/global.json: src/base.conf mkwb conf -G src/base.conf > $@ ## POSIX make defines $* only for inference (suffix) rules. These ## explicit rules derive their stem from $@ via shell instead. $(listings.html): stem=$$(echo $@ | sed 's/\.html$$//'); \ cat $$stem.htmlheader $$stem.htmlbody \ $$stem.htmllisting $$stem.htmlfooter > $@ $(indexes.htmllisting): stem=$$(echo $@ | sed 's/\.htmllisting$$//'); \ mkwb indexbody $$stem.json > $@ ## A language's front page: each collection the navigation lists, ## with the newest $(HOMECOUNT) of it. $(homes.htmllisting): stem=$$(echo $@ | sed 's/\.htmllisting$$//'); \ mkwb homebody -c $(HOMECOUNT) $$stem.json > $@ $(categories.htmllisting): stem=$$(echo $@ | sed 's/\.htmllisting$$//'); \ mkwb categoriesbody $$stem.json > $@ $(categories.txt): src/global.json mkwb categories src/global.json $(@D) > $@ $(categories.xml): src/global.json stem=$$(echo $@ | sed 's/\.xml$$//'); \ for f in $$(cat $$stem.txt); do \ c="$$(printf '%s\n' "$$f" | cut -d. -f2)"; \ mkwb feed src/global.json "$$f" \ $(@D)/feed."$$c".xml > $(@D)/feed."$$c".xml; \ printf '%s\n' $(@D)/feed."$$c".xml; \ done > $@ $(feeds.xml): src/global.json mkwb feed src/global.json $(@D)/sortdata.txt $@ > $@ src/content/$(PUBURL): mkdir -p $(@D) : > $@ src/content/$(PUBURL).sentinel: email.txt src/content/$(PUBURL) out=$$(echo $@ | sed 's/\.sentinel$$//'); \ gpg --export --armour "$$(cat email.txt)" | ifne ifnew "$$out" touch $@ src/content/favicon.ico.sentinel: src/content/img/favicon.svg out=$$(echo $@ | sed 's/\.sentinel$$//'); \ convert src/content/img/favicon.svg -strip ico:- | ifnew "$$out" touch $@ src/content/favicon.png.sentinel: src/content/img/favicon.svg out=$$(echo $@ | sed 's/\.sentinel$$//'); \ convert src/content/img/favicon.svg -strip png:- | ifnew "$$out" touch $@ $(sources.media.torrent): src=$$(echo $@ | sed 's/\.torrent$$//'); \ rel=$$(echo "$$src" | cut -d/ -f3-); \ base=$$(basename "$$src"); \ mktorrent -xfd -n "$$base" -o $@ \ -w "https://$(NAME)$(BASEURL)$$rel" "$$src" src/content/sitemap.xml: $(sources.mapentry) mkwb sitemap $(sources.mapentry) > $@ email.txt: meta.capim cat meta.capim | awk '$$1 == ":email" && $$0=$$2' | tr -d '"' > $@ baseurl.txt: meta.capim cat meta.capim | awk '$$1 == ":baseurl" && $$0=$$2' | tr -d '"' > $@ ## fingerprint.txt / expiry.txt tolerate a missing public key: if ## src/content/$(PUBURL) is empty (no key was exported), fall back ## to an empty fingerprint and a fixed far-future expiry (2099-12-31 ## UTC, epoch 4102444800). check-unit-expiry stays meaningful ## because expiry > now holds; security.txt stays valid (RFC 9116 ## requires an Expires line). fingerprint.txt: src/content/$(PUBURL) if [ -s $< ]; then \ gpg --always-trust --no-keyring --show-key --with-colons \ $< | \ awk -F: '/^pub:/ { print $$5 }' > $@; \ else \ : > $@; \ fi expiry.txt: src/content/$(PUBURL) if [ -s $< ]; then \ gpg --always-trust --no-keyring --show-key --with-colons \ $< | \ awk -F: '/^pub:/ { print $$7 }' | \ xargs -I% date -Is -d@% > $@; \ else \ date -Is -d '@4102444800' > $@; \ fi expiry-epoch.txt: expiry.txt date -d "$$(cat expiry.txt)" '+%s' > $@ now.txt: now > $@ src/content/.well-known/security.txt: email.txt baseurl.txt expiry.txt \ src/content/$(PUBURL) mkdir -p $(@D) printf 'Contact: mailto:%s\n' "$$(cat email.txt)" > $@ printf 'Expires: %s\n' "$$(cat expiry.txt)" >> $@ if [ -s src/content/$(PUBURL) ]; then \ printf 'Encryption: %s/$(PUBURL)\n' "$$(cat baseurl.txt)" >> $@; \ fi printf 'Preferred-Languages: en, pt, fr, eo, es, de\n' >> $@ src/sources.txt: printf '%s\n' $(sources) > $@ src/all-contents.txt: printf '%s\n' $(all-contents) > $@ src/all-filelists.txt: src/all-symlinks.txt printf '%s\n' $(all-filelists) src/all-symlinks.txt > $@ src/all-symlinks.txt: src/content/.gitignore sed 's|^|src/content|' src/content/.gitignore > $@ src/install.txt: src/all-contents.txt src/all-filelists.txt $(all-filelists) cat src/all-contents.txt $$(cat src/all-filelists.txt) > $@ sources.txt: src/sources.txt install.txt: src/install.txt sources.txt install.txt: sed 's|^src/content/||' src/$(@F) > $@ ## ---- check-unit-* targets --------------------------------------- src/sort-expected.txt: if [ -n "$(articles.adoc)" ]; then \ dirname $(articles.adoc) | env LANG=POSIX.UTF-8 sort | \ uniq -c | \ awk '{ printf "%s\t%s\n", $$2, $$1 }'; \ fi > $@ src/sort-given.txt: $(sources.json) src/sort-expected.txt awk '{ \ "grep \"\\\"sort\\\":\" " $$1 "/*.json | wc -l" | \ getline cnt; \ printf "%s\t%s\n", $$1, cnt; \ }' src/sort-expected.txt > $@ check-unit-sorting: src/sort-expected.txt src/sort-given.txt diff -U10 src/sort-expected.txt src/sort-given.txt .SUFFIXES: .updatedat-check sources.updatedat-check = $(sources.adoc:.adoc=.updatedat-check) $(sources.updatedat-check): stem=$$(echo $@ | sed 's/\.updatedat-check$$//'); \ u=$$(mkwb get updatedat_epoch $$stem.json); \ d=$$(mkwb get date_epoch $$stem.json); \ if [ -n "$$u" ] && [ "$$u" -le "$$d" ]; then exit 3; fi check-unit-updatedat: $(sources.updatedat-check) .SUFFIXES: .links-internal-check sources.links-internal-check = $(sources.adoc:.adoc=.links-internal-check) $(sources.links-internal-check): $(sources.html) $(slides.pdf) stem=$$(echo $@ | sed 's/\.links-internal-check$$//'); \ dir=$$(dirname "$$stem"); \ grep -E '^(link|image):' $$stem.links | cut -d: -f2- | \ xargs -I% test -e "$$dir"/% check-unit-links-internal: $(sources.links-internal-check) check-unit-links-external: ## Every page carries a title. A source the transformer could not ## read one from -- a deck in another format, say -- renders one ## that is empty, and nothing downstream notices. .SUFFIXES: .title-check sources.title-check = $(sources.adoc:.adoc=.title-check) $(sources.title-check): $(sources.html) stem=$$(echo $@ | sed 's/\.title-check$$//'); \ grep -q '[^<]' $$stem.html || { \ printf '%s: rendered with an empty title\n' "$$stem.html" >&2; \ exit 1; \ } check-unit-titles: $(sources.title-check) ## A listing block that renders empty means the transformer lost ## the code it was handed, and usually the prose after it too. .SUFFIXES: .listing-check sources.listing-check = $(sources.adoc:.adoc=.listing-check) $(sources.listing-check): $(sources.html) stem=$$(echo $@ | sed 's/\.listing-check$$//'); \ if grep -q '<div class="content"></div>' $$stem.html; then \ printf '%s: a listing block rendered empty\n' "$$stem.html" >&2; \ exit 1; \ fi check-unit-listings: $(sources.listing-check) ## check-unit-links-internal sees only the link: and image: macros ## a page wrote. This sees what the templates emitted around it: ## the feed, the stylesheet, the icons, the navigation. .SUFFIXES: .links-html-check sources.links-html-check = $(sources.adoc:.adoc=.links-html-check) $(sources.links-html-check): $(sources.html) stem=$$(echo $@ | sed 's/\.links-html-check$$//'); \ dir=$$(dirname "$$stem"); \ missing=$$(grep -oE '(href|src)="[^"#?:]+"' $$stem.html | \ sed -e 's/.*="//' -e 's/"$$//' | \ while read -r h; do \ case "$$h" in /*|'') continue;; esac; \ test -e "$$dir/$$h" || printf '%s ' "$$h"; \ done); \ if [ -n "$$missing" ]; then \ printf '%s: unresolved: %s\n' "$$stem.html" "$$missing" >&2; \ exit 1; \ fi check-unit-links-html: $(sources.links-html-check) ## Atom gives every feed a distinct id. A site that pins one feed ## URL for the whole build publishes several feeds claiming to be ## the same one. check-unit-feed-ids: $(feeds.xml) $(categories.xml) dupes=$$(grep -h 'rel="self"' \ $$(find src/content -name 'feed*.xml' -type f) | \ sort | uniq -d); \ if [ -n "$$dupes" ]; then \ printf 'feeds sharing an id:\n%s\n' "$$dupes" >&2; \ exit 1; \ fi ## Only meaningful where content is partitioned by language: the ## directory a page sits in is what it should say it speaks. check-unit-lang: $(sources.html) if [ -z '$(LANGUAGES)' ]; then exit 0; fi; \ bad=''; \ for f in $(sources.html); do \ l=$$(printf '%s\n' "$${f#src/content/}" | cut -d/ -f1); \ case "$$l" in ??) ;; *) continue;; esac; \ d=$$(grep -m1 -o '<html lang="[^"]*"' "$$f" | \ sed -e 's/.*="//' -e 's/"//'); \ if [ "$$d" != "$$l" ]; then bad="$$bad $$f($$d)"; fi; \ done; \ if [ -n "$$bad" ]; then \ printf 'pages declaring a language their path does not:%s\n' \ "$$bad" >&2; \ exit 1; \ fi ## po4a writes a translation only when it has one, and a stale ## fuzzy flag is enough to skip a page without saying so. check-unit-i18n: if [ ! -f po/po4a.cfg ]; then exit 0; fi; \ missing=$$(grep -oE '[a-z][a-z]:src/content/[^[:space:]]+' \ po/po4a.cfg | \ cut -d: -f2 | \ while read -r t; do \ test -e "$$t" || printf '%s ' "$$t"; \ done); \ if [ -n "$$missing" ]; then \ printf 'declared in po4a.cfg, never generated: %s\n' \ "$$missing" >&2; \ exit 1; \ fi ## "clean" removes what the current deps.mk lists, so an artifact ## whose source was renamed or deleted stays behind for good -- ## and gitignored, so no status command shows it either. ## ## Three rules cover everything whose name says what produced it: ## nearly every artifact is <source>.<ext>, a code sidecar is ## <page>.html.<n>.txt, and a torrent or a sentinel is named for ## the file it describes. What is left out is derived from a ## directory rather than from one named file -- the dated sortdata ## markers, the feeds, the collection lists -- and so carries no ## name to check a source against. check-unit-orphans: $(derived-assets) orphans=$$(find src/content -type f | \ while read -r f; do \ case "$$f" in \ *.html.*.txt) \ [ -e "$${f%.html.*.txt}.adoc" ] || \ printf '%s ' "$$f";; \ *.torrent|*.sentinel) \ [ -e "$${f%.*}" ] || printf '%s ' "$$f";; \ *.htmlbody|*.json|*.snippets|*.links|*.caslinks|\ *.html|*.indexentry|*.feedentry|*.mapentry|\ *.categorydata|*.htmlheader|*.htmlfooter|\ *.htmllisting|*.ps|*.pdf|*.midi) \ s=$${f%.*}; \ [ -e "$$s.adoc" ] || [ -e "$$s.eslaides" ] || \ [ -e "$$s.ly" ] || printf '%s ' "$$f";; \ esac; \ done); \ if [ -n "$$orphans" ]; then \ printf 'built artifacts whose source is gone: %s\n' \ "$$orphans" >&2; \ exit 1; \ fi symlink-deps = \ $(sources.html) \ $(feeds.xml) \ $(categories.xml) \ src/content/.well-known/security.txt \ $(sources.media.torrent) \ ## A symlink naming a FILE.gz is satisfied by FILE: the twin is ## the packager's to craft over the installed tree, not this ## build's -- see gzipdir(1). Every other link has to resolve ## here and now. check-unit-links-symlinks: src/all-symlinks.txt $(symlink-deps) dangling=''; \ for l in $$(cat src/all-symlinks.txt); do \ if [ -e "$$l" ]; then continue; fi; \ t=$$(readlink "$$l"); \ case "$$t" in \ *.gz) test -e "$$(dirname "$$l")/$${t%.gz}" && \ continue;; \ esac; \ dangling="$$dangling $$l"; \ done; \ if [ -n "$$dangling" ]; then \ printf 'symlinks resolving to nothing:%s\n' \ "$$dangling" >&2; \ exit 1; \ fi check-unit-links: check-unit-links-internal check-unit-links-external check-unit-links: check-unit-links-symlinks check-unit-links-html MAXSIZE = 52428800 # from spec: https://www.sitemaps.org/protocol.html check-unit-sitemap-size: src/content/sitemap.xml test "$$(stat --printf='%s' src/content/sitemap.xml)" -le $(MAXSIZE) check-unit-sitemap-count: src/content/sitemap.xml test "$$(grep -cF '</url>' src/content/sitemap.xml)" -le 50000 check-unit-sitemap: check-unit-sitemap-count check-unit-sitemap-size check-unit-expiry: expiry-epoch.txt now.txt test "$$(cat expiry-epoch.txt)" -gt "$$(cat now.txt)" check-unit: check-unit-sorting check-unit-updatedat check-unit-links check-unit: check-unit-sitemap check-unit-expiry check-unit: check-unit-titles check-unit-listings check-unit-feed-ids check-unit: check-unit-lang check-unit-i18n check-unit-orphans ## ---- standard housekeeping -------------------------------------- ## Remove all derived artifacts produced during the build. clean: rm -rf $(derived-assets) $(side-assets) ## The legacy-URL symlinks sit in directories mkwb symlinks had ## to create; removing the links leaves those empty. Naming ## them drifts the moment a link is added --- which it did --- ## so let rmdir decide: git cannot track an empty directory, so ## under the content root an empty one is always residue. ## -depth walks bottom-up, which is what prunes a whole branch. find src/content -depth -type d -exec rmdir {} + 2>/dev/null || true ## Install into $(DESTDIR)$(PREFIX). A tar(1) pipe rather than ## rsync(1): one fewer dependency outside the fleet, and the file ## lists name exactly what to carry. Unlike rsync --delete it ## adds without pruning -- an install over a tree still holding a ## page whose source is gone leaves that page there. Install into ## an empty $(DESTDIR), or uninstall first. install: all mkdir -p '$(DESTDIR)$(HTMLDIR)' '$(DESTDIR)$(SRCDIR)' tar -c -f - -C src/content $$(cat install.txt) | \ tar -x -f - -C '$(DESTDIR)$(HTMLDIR)' tar -c -f - -C src/content $$(cat sources.txt) | \ tar -x -f - -C '$(DESTDIR)$(SRCDIR)' ## Remove what install placed. uninstall: rm -rf \ '$(DESTDIR)$(SRCDIR)' \ '$(DESTDIR)$(HTMLDIR)' \ ALWAYS: