diff --git a/content/_index.eo.md b/content/_index.eo.md index a592414..68d9478 100644 --- a/content/_index.eo.md +++ b/content/_index.eo.md @@ -5,14 +5,14 @@ insert_anchor_links = "left"
{{ service_box(href="https://flim.txmn.tk", title="PeerTube", img="/img/peertube.svg", img_alt="Logotipo PeerTube") }} -{{ service_box(href="/framadate", title="Framadate", img="/img/framadate.png", img_alt="Logotipo Framadate") }} +{{ service_box(href="/framadate", title="Framadate", img="/img/framadate.webp", img_alt="Logotipo Framadate") }} {{ service_box(href="/element", title="Matrix / Element", img="/img/element.svg", img_alt="Logotipo Element") }} -{{ service_box(href="https://forum.progaccess.net", title="Forumo ProgAccess", img="/img/progaccess.png", img_alt="Logotipo ProgAccess") }} +{{ service_box(href="https://forum.progaccess.net", title="Forumo ProgAccess", img="/img/progaccess.webp", img_alt="Logotipo ProgAccess") }} {{ service_box(href="https://cloud.txmn.tk", title="NextCloud", img="/img/nextcloud.svg", img_alt="Logotipo NextCloud") }} {{ service_box(href="/lufi", title="Lufi", img="/img/lufi.svg", img_alt="Logotipo Lufi") }} -{{ service_box(href="/lutim", title="Lutim", img="/img/lutim.png", img_alt="Logotipo Lutim") }} +{{ service_box(href="/lutim", title="Lutim", img="/img/lutim.webp", img_alt="Logotipo Lutim") }} {{ service_box(href="/l", title="LSTU", img="/img/lstu.svg", img_alt="Logotipo LSTU") }} -{{ service_box(href="https://pad.txmn.tk", title="Etherpad", img="/img/etherpad.png", img_alt="Logotipo Etherpad") }} +{{ service_box(href="https://pad.txmn.tk", title="Etherpad", img="/img/etherpad.webp", img_alt="Logotipo Etherpad") }} {{ service_box(href="/mumble", title="Mumble", img="/img/mumble.svg", img_alt="Logotipo Mumble") }}
@@ -30,10 +30,10 @@ insert_anchor_links = "left" ## Projektoj {#projektoj}
-{{ service_box(href="https://progaccess.net", title="ProgAccess", img="/img/progaccess.png", img_alt="Logotipo ProgAccess") }} +{{ service_box(href="https://progaccess.net", title="ProgAccess", img="/img/progaccess.webp", img_alt="Logotipo ProgAccess") }} {{ service_box(href="//zettascript.org/projects/gmixer/", title="ĞMixer", img="/img/gmixer.svg", img_alt="Logotipo ĞMixer") }} {{ service_box(href="https://framagit.org/ZettaScript/syeve", title="Syeve", img="/img/syeve.svg", img_alt="Logotipo Syeve") }} -{{ service_box(href="https://framagit.org/ZettaScript/forceatlas2-rs", title="ForceAtlas2-rs", img="/img/forceatlas2.png", img_alt="Grafo") }} +{{ service_box(href="https://framagit.org/ZettaScript/forceatlas2-rs", title="ForceAtlas2-rs", img="/img/forceatlas2.webp", img_alt="Grafo") }} {{ service_box(href="//worldwotmap.duniter.org", title="WorldWotMap", img="/img/gbreve.svg", img_alt="Ğ") }}
@@ -82,14 +82,14 @@ insert_anchor_links = "left" * [Ğ.ML](//xn--tea.ml): sous-domaines gratuits pour la monnaie libre * Servilo STUN publika: `stun:txmn.tk:3478` * [Historique des données géographiques Cesium+ de la Ğ1](/g1/history/cesiumplusmap) -* Hébergement/installation de site/blog/boutique Odoo, WordPress, ou autres. Payable en Ğ1, me contacter par e-mail. +* Hébergement/installation de site/blog/boutique WordPress, ou autres. Payable en Ğ1, me contacter par e-mail. * 🗒 [Etherpad](https://pad.txmn.tk): document partagé de prise de notes en temps réel ## Ankaŭ gastigas {#gastigas}
-{{ service_box(href="//dubitaristes.fr", title="Les Dubitaristes Girondins", img="/img/dubitaristes.png", img_alt="Logotipo Dubitaristes") }} -{{ service_box(href="https://collectifsources.fr", title="Collectif Sources", img="/img/collectifsources.png", img_alt="Logo Collectif Sources") }} +{{ service_box(href="//dubitaristes.fr", title="Les Dubitaristes Girondins", img="/img/dubitaristes.webp", img_alt="Logotipo Dubitaristes") }} +{{ service_box(href="https://collectifsources.fr", title="Collectif Sources", img="/img/collectifsources.webp", img_alt="Logo Collectif Sources") }} {{ service_box(href="//juneland.fr", title="Juneland", img="/img/minetest.svg", img_alt="Logotipo MineTest") }}
diff --git a/content/_index.fr.md b/content/_index.fr.md index 34bb823..e91f0a4 100644 --- a/content/_index.fr.md +++ b/content/_index.fr.md @@ -5,14 +5,14 @@ insert_anchor_links = "left"
{{ service_box(href="https://flim.txmn.tk", title="PeerTube", img="/img/peertube.svg", img_alt="Logo PeerTube") }} -{{ service_box(href="/framadate", title="Framadate", img="/img/framadate.png", img_alt="Logo Framadate") }} +{{ service_box(href="/framadate", title="Framadate", img="/img/framadate.webp", img_alt="Logo Framadate") }} {{ service_box(href="/element", title="Matrix / Element", img="/img/element.svg", img_alt="Logo Element") }} -{{ service_box(href="https://forum.progaccess.net", title="Forum ProgAccess", img="/img/progaccess.png", img_alt="Logo ProgAccess") }} +{{ service_box(href="https://forum.progaccess.net", title="Forum ProgAccess", img="/img/progaccess.webp", img_alt="Logo ProgAccess") }} {{ service_box(href="https://cloud.txmn.tk", title="NextCloud", img="/img/nextcloud.svg", img_alt="Logo NextCloud") }} {{ service_box(href="/lufi", title="Lufi", img="/img/lufi.svg", img_alt="Logo Lufi") }} -{{ service_box(href="/lutim", title="Lutim", img="/img/lutim.png", img_alt="Logo Lutim") }} +{{ service_box(href="/lutim", title="Lutim", img="/img/lutim.webp", img_alt="Logo Lutim") }} {{ service_box(href="/l", title="LSTU", img="/img/lstu.svg", img_alt="Logo LSTU") }} -{{ service_box(href="https://pad.txmn.tk", title="Etherpad", img="/img/etherpad.png", img_alt="Logo Etherpad") }} +{{ service_box(href="https://pad.txmn.tk", title="Etherpad", img="/img/etherpad.webp", img_alt="Logo Etherpad") }} {{ service_box(href="/mumble", title="Mumble", img="/img/mumble.svg", img_alt="Logo Mumble") }}
@@ -30,10 +30,10 @@ insert_anchor_links = "left" ## Projets {#projets}
-{{ service_box(href="https://progaccess.net", title="ProgAccess", img="/img/progaccess.png", img_alt="Logo ProgAccess") }} +{{ service_box(href="https://progaccess.net", title="ProgAccess", img="/img/progaccess.webp", img_alt="Logo ProgAccess") }} {{ service_box(href="//zettascript.org/projects/gmixer/", title="ĞMixer", img="/img/gmixer.svg", img_alt="Logo ĞMixer") }} {{ service_box(href="https://framagit.org/ZettaScript/syeve", title="Syeve", img="/img/syeve.svg", img_alt="Logo Syeve") }} -{{ service_box(href="https://framagit.org/ZettaScript/forceatlas2-rs", title="ForceAtlas2-rs", img="/img/forceatlas2.png", img_alt="Graphe") }} +{{ service_box(href="https://framagit.org/ZettaScript/forceatlas2-rs", title="ForceAtlas2-rs", img="/img/forceatlas2.webp", img_alt="Graphe") }} {{ service_box(href="//worldwotmap.duniter.org", title="WorldWotMap", img="/img/gbreve.svg", img_alt="Ğ") }}
@@ -82,14 +82,14 @@ insert_anchor_links = "left" * [Ğ.ML](//xn--tea.ml) : sous-domaines gratuits pour la monnaie libre * Serveur STUN public : `stun:txmn.tk:3478` * [Historique des données géographiques Cesium+ de la Ğ1](/g1/history/cesiumplusmap) -* Hébergement/installation de site/blog/boutique Odoo, WordPress, ou autres. Payable en Ğ1, me contacter par e-mail. +* Hébergement/installation de site/blog/boutique WordPress, ou autres. Payable en Ğ1, me contacter par e-mail. * 🗒 [Etherpad](https://pad.txmn.tk) : document partagé de prise de notes en temps réel ## Héberge aussi {#heberge}
-{{ service_box(href="//dubitaristes.fr", title="Les Dubitaristes Girondins", img="/img/dubitaristes.png", img_alt="Logo Dubitaristes") }} -{{ service_box(href="https://collectifsources.fr", title="Collectif Sources", img="/img/collectifsources.png", img_alt="Logo Collectif Sources") }} +{{ service_box(href="//dubitaristes.fr", title="Les Dubitaristes Girondins", img="/img/dubitaristes.webp", img_alt="Logo Dubitaristes") }} +{{ service_box(href="https://collectifsources.fr", title="Collectif Sources", img="/img/collectifsources.webp", img_alt="Logo Collectif Sources") }} {{ service_box(href="//juneland.fr", title="Juneland", img="/img/minetest.svg", img_alt="Logo MineTest") }}
diff --git a/content/_index.md b/content/_index.md index 7824e5b..c7a2cdd 100644 --- a/content/_index.md +++ b/content/_index.md @@ -5,14 +5,14 @@ insert_anchor_links = "left"
{{ service_box(href="https://flim.txmn.tk", title="PeerTube", img="/img/peertube.svg", img_alt="Logo PeerTube") }} -{{ service_box(href="/framadate", title="Framadate", img="/img/framadate.png", img_alt="Logo Framadate") }} +{{ service_box(href="/framadate", title="Framadate", img="/img/framadate.webp", img_alt="Logo Framadate") }} {{ service_box(href="/element", title="Matrix / Element", img="/img/element.svg", img_alt="Logo Element") }} -{{ service_box(href="https://forum.progaccess.net", title="Forum ProgAccess", img="/img/progaccess.png", img_alt="Logo ProgAccess") }} +{{ service_box(href="https://forum.progaccess.net", title="Forum ProgAccess", img="/img/progaccess.webp", img_alt="Logo ProgAccess") }} {{ service_box(href="https://cloud.txmn.tk", title="NextCloud", img="/img/nextcloud.svg", img_alt="Logo NextCloud") }} {{ service_box(href="/lufi", title="Lufi", img="/img/lufi.svg", img_alt="Logo Lufi") }} -{{ service_box(href="/lutim", title="Lutim", img="/img/lutim.png", img_alt="Logo Lutim") }} +{{ service_box(href="/lutim", title="Lutim", img="/img/lutim.webp", img_alt="Logo Lutim") }} {{ service_box(href="/l", title="LSTU", img="/img/lstu.svg", img_alt="Logo LSTU") }} -{{ service_box(href="https://pad.txmn.tk", title="Etherpad", img="/img/etherpad.png", img_alt="Logo Etherpad") }} +{{ service_box(href="https://pad.txmn.tk", title="Etherpad", img="/img/etherpad.webp", img_alt="Logo Etherpad") }} {{ service_box(href="/mumble", title="Mumble", img="/img/mumble.svg", img_alt="Logo Mumble") }}
@@ -30,10 +30,10 @@ insert_anchor_links = "left" ## Projects {#projects}
-{{ service_box(href="https://progaccess.net", title="ProgAccess", img="/img/progaccess.png", img_alt="Logo ProgAccess") }} +{{ service_box(href="https://progaccess.net", title="ProgAccess", img="/img/progaccess.webp", img_alt="Logo ProgAccess") }} {{ service_box(href="//zettascript.org/projects/gmixer/", title="ĞMixer", img="/img/gmixer.svg", img_alt="Logo ĞMixer") }} {{ service_box(href="https://framagit.org/ZettaScript/syeve", title="Syeve", img="/img/syeve.svg", img_alt="Logo Syeve") }} -{{ service_box(href="https://framagit.org/ZettaScript/forceatlas2-rs", title="ForceAtlas2-rs", img="/img/forceatlas2.png", img_alt="Graph") }} +{{ service_box(href="https://framagit.org/ZettaScript/forceatlas2-rs", title="ForceAtlas2-rs", img="/img/forceatlas2.webp", img_alt="Graph") }} {{ service_box(href="//worldwotmap.duniter.org", title="WorldWotMap", img="/img/gbreve.svg", img_alt="Ğ") }}
@@ -82,14 +82,14 @@ insert_anchor_links = "left" * [Ğ.ML](//xn--tea.ml): free subdomains for the libre currency * Public STUN server: `stun:txmn.tk:3478` * [Cesium+ geographical data history of Ğ1](/g1/history/cesiumplusmap) -* Hosting/installation of site/blog/shop Odoo, WordPress, or other. Paid in Ğ1, contact me by email. +* Hosting/installation of site/blog/shop WordPress, or other. Paid in Ğ1, contact me by email. * 🗒 [Etherpad](https://pad.txmn.tk): Real time shared document for note taking ## Also hosting {#host}
-{{ service_box(href="//dubitaristes.fr", title="Les Dubitaristes Girondins", img="/img/dubitaristes.png", img_alt="Logo Dubitaristes") }} -{{ service_box(href="https://collectifsources.fr", title="Collectif Sources", img="/img/collectifsources.png", img_alt="Logo Collectif Sources") }} +{{ service_box(href="//dubitaristes.fr", title="Les Dubitaristes Girondins", img="/img/dubitaristes.webp", img_alt="Logo Dubitaristes") }} +{{ service_box(href="https://collectifsources.fr", title="Collectif Sources", img="/img/collectifsources.webp", img_alt="Logo Collectif Sources") }} {{ service_box(href="//juneland.fr", title="Juneland", img="/img/minetest.svg", img_alt="Logo MineTest") }}
diff --git a/content/blog/install-linux/_index.fr.md b/content/blog/install-linux/_index.fr.md new file mode 100644 index 0000000..612d001 --- /dev/null +++ b/content/blog/install-linux/_index.fr.md @@ -0,0 +1,58 @@ ++++ +title = "Installer GNU/Linux" +date = 2022-12-26 +description = "Installer GNU/Linux sans se prendre la tête et en évitant les ennuis." +draft = true +[taxonomies] +tags = ["informatique", "Linux", "Windows"] ++++ + +## S'informer + +On veut savoir : + +* ce qui est sauvegardé ailleurs, et si cette sauvegarde est accessible depuis ailleurs que l'ordinateur à libérer +* si on a assez de temps pour terminer +* si on est disponible les jours qui suivent pour régler les inévitables problèmes qui apparaîtront + +## S'équiper + +* Une **règle en plastique** servira à appuyer sur toutes les touches Fonction, Échap et Suppr en même temps lors du démarrage, pour accéder à l'interface de paramétrage du BIOS, si la touche précise est inconnue. +* Le **câble d'alimentation** + +## Préparer les supports d'installation + +* `cp` suffit + +## Préparer boot-repair + +## Désactiver fast boot et secure boot + +## Installer Windows avant Linux + +sinon Windows casse tout + +## Faire une sauvegarde + +## Désactiver le chiffrement de Windows + +une partition BitLocker ne peut pas être redimensionnée + +## Désactiver les mises à jour automatiques de Windows + +sinon Windows casse tout y compris lui-même + +## Ajouter un stockage différent + +* évite d'avoir à altérer Windows +* il suffit de retirer le stockage de Linux pour que tout remarche, en cas de problème + +## Vérifier que Linux marche + +* Wifi +* Bouton d'arrêt, capot +* Hibernation +* Lecture de la partition de Windows + +## Vérifier que Windows démarre encore + diff --git a/content/blog/js.md b/content/blog/js.md new file mode 100644 index 0000000..79030ac --- /dev/null +++ b/content/blog/js.md @@ -0,0 +1,65 @@ ++++ +title = "Why I hate JavaScript" +date = 2023-01-20 +draft = true +[taxonomies] +tags = [] ++++ + +Why do people use JavaScript? Because it's a great language or because it's the only one ready-to-use in any web browser? + +Note that several of these arguments also apply to PHP, another _de facto_ application-specific (web server) language, that I think is mostly used because of technical debt. + +This article is about JavaScript for web browsers, not NodeJS or TypeScript. + +## TL; DR + +JavaScript combines all the problems of both high and low level languages. + +## Lack of features + +JavaScript is obviously not made for being used in webpages. + +* need jQuery +* no native HTML escaping function +* no native basic templating system (need `String.replaceAll("{{foo}}", foo)`) +* no easy-to-use bytes array (like `Bytes` in Python or `Vec` in Rust), but many different bytes arrays with weird interfaces +* no native cryptographic tools if you aren't using HTTPS and satisfying other strange "security" requirements (you often end up inefficiently implementing SHA2 or AES in JS, while the browser natively uses OpenSSL) +* no native date/time string formatting +* When defining an anonymous function (such as a callback) you can't reliably move variables to it. + +## What the fuck + +JavaScript doesn't respect anything. + +* You never know whether you're copying or borrowing (a table or an object), and how deeply. + * Python suffers the same problem. +* Time is expressed in milliseconds, while the convention is seconds everywhere else. +* `"1" == true && "2" != true && "2" != false` is true +* ```js + if("2" == true) + console.log("I am not executed."); + if("2") + console.log("I am executed!"); + ``` + * Hence `==`, `===` and `if` have three distinct strictness levels. +* `&&` is not commutative: `(true && "2") === "2" && ("2" && true) === true` is true +* Operators are inconsistent: `"1"+1 === "11" && "1"*2 === 2` are true +* ```js + var n = "1"; + n += 1; + // n is now "11" + n ++; + // n should be "111"? + // but n is now 12 + ``` +* `(-1)%2 == -1` while most of the time the convention is to give the least positive congruent. +* Naming is incoherent. `XMLHttpRequest` is an example mixing all-caps and first-letter-cap conventions for initialisms. It should have been either `XmlHttpRequest` or `XMLHTTPRequest`. +* Is an array really an array, or an object with _some_ of the array's properties? Lua has the same problem. + ```js + var foo = []; + foo["bar"] = 42; + console.log(foo["bar"]); // foo["bar"] exists. + console.log(foo.length); // 0 + ``` +* `document.getElementsByClassName` does not return an array: its return type supports indexing but not for/in loops. diff --git a/content/blog/minitel/index.eo.md b/content/blog/minitel/index.eo.md index 554be3c..7472022 100644 --- a/content/blog/minitel/index.eo.md +++ b/content/blog/minitel/index.eo.md @@ -9,7 +9,7 @@ tags = ["Minitel", "retro", "Arduino"] **Celo: uzi unu [Minitel](https://eo.wikipedia.org/wiki/Minitel) kiel terminalo de sistemo GNU/Linux.** -{{ float_img(alt="Minitel elmontranta la logotipon de Rust.", src="minitel_rust.jpg", style="max-height:100vh;max-width:min(800px,100%)") }} +{{ float_img(alt="Minitel elmontranta la logotipon de Rust.", src="minitel_rust.webp", style="max-height:100vh;max-width:min(800px,100%)") }} Ĉi tio artikolo publikiĝis en la franclingva revuo [_Programmez!_ #256](https://www.programmez.com/magazine/programmez-253-pdf), kio enhavas multajn artikolojn pri la Minitel kaj sia interfacaĵo. @@ -29,7 +29,7 @@ La Minitel enhavas ĉirkaŭ-komputikan kontaktilon (france "prise péri-informat Unue mi programis kontrolilon en Python. Ĝi simulas terminalon, kun USB kiel eneligo. Ĝi legas komandan linion, kaj ĝin efektivigas kiam la klavo "Sendo" frapiĝas. -{{ float_img(alt="Minitel ekmontranta la logotipon de Rust.", src="minitel_fortune.jpg", style="max-height:100vh;max-width:min(800px,100%)") }} +{{ float_img(alt="Minitel ekmontranta la logotipon de Rust.", src="minitel_fortune.webp", style="max-height:100vh;max-width:min(800px,100%)") }} Tio sola malfaciligis: diff --git a/content/blog/minitel/index.fr.md b/content/blog/minitel/index.fr.md index 9353157..4d4034f 100644 --- a/content/blog/minitel/index.fr.md +++ b/content/blog/minitel/index.fr.md @@ -8,7 +8,7 @@ tags = ["Minitel", "rétro", "Arduino"] **Objectif : utiliser un [Minitel](https://fr.wikipedia.org/wiki/Minitel) comme terminal d'un système GNU/Linux.** -{{ float_img(alt="Minitel affichant le logo de Rust.", src="minitel_rust.jpg", style="max-height:100vh;max-width:min(800px,100%)") }} +{{ float_img(alt="Minitel affichant le logo de Rust.", src="minitel_rust.webp", style="max-height:100vh;max-width:min(800px,100%)") }} Cet article est paru dans le magazine [_Programmez!_ #256](https://www.programmez.com/magazine/programmez-253-pdf), qui contient plusieurs autres articles concernant le Minitel et son interfaçage. @@ -28,7 +28,7 @@ Le Minitel dispose d'une prise "péri-informatique", qui est un port série d'en J'ai d'abord codé un contrôleur en Python. C'est une sorte d'émulateur de terminal, avec le port USB comme entrée-sortie. Il prend une ligne de commande et l'exécute à l'appui de la touche Envoi. -{{ float_img(alt="Minitel affichant le logo de Rust.", src="minitel_fortune.jpg", style="max-height:100vh;max-width:min(800px,100%)") }} +{{ float_img(alt="Minitel affichant le logo de Rust.", src="minitel_fortune.webp", style="max-height:100vh;max-width:min(800px,100%)") }} Rien que ça demandait de surmonter plusieurs difficultés : diff --git a/content/blog/minitel/minitel_fortune.jpg b/content/blog/minitel/minitel_fortune.jpg deleted file mode 100644 index 3fb85d1..0000000 Binary files a/content/blog/minitel/minitel_fortune.jpg and /dev/null differ diff --git a/content/blog/minitel/minitel_fortune.webp b/content/blog/minitel/minitel_fortune.webp new file mode 100644 index 0000000..581d857 Binary files /dev/null and b/content/blog/minitel/minitel_fortune.webp differ diff --git a/content/blog/minitel/minitel_rust.jpg b/content/blog/minitel/minitel_rust.jpg deleted file mode 100644 index 75c923b..0000000 Binary files a/content/blog/minitel/minitel_rust.jpg and /dev/null differ diff --git a/content/blog/minitel/minitel_rust.webp b/content/blog/minitel/minitel_rust.webp new file mode 100644 index 0000000..1f97649 Binary files /dev/null and b/content/blog/minitel/minitel_rust.webp differ diff --git a/content/blog/minitel/minitel_snake.jpg b/content/blog/minitel/minitel_snake.jpg deleted file mode 100644 index 14a2164..0000000 Binary files a/content/blog/minitel/minitel_snake.jpg and /dev/null differ diff --git a/content/blog/minitel/minitel_snake.webp b/content/blog/minitel/minitel_snake.webp new file mode 100644 index 0000000..9cef308 Binary files /dev/null and b/content/blog/minitel/minitel_snake.webp differ diff --git a/content/blog/minitel/minitel_tetris.jpg b/content/blog/minitel/minitel_tetris.jpg deleted file mode 100644 index 74ba972..0000000 Binary files a/content/blog/minitel/minitel_tetris.jpg and /dev/null differ diff --git a/content/blog/minitel/minitel_tetris.webp b/content/blog/minitel/minitel_tetris.webp new file mode 100644 index 0000000..facd52b Binary files /dev/null and b/content/blog/minitel/minitel_tetris.webp differ diff --git a/sass/css/style.scss b/sass/css/style.scss index 14b01a1..88a4ae1 100644 --- a/sass/css/style.scss +++ b/sass/css/style.scss @@ -118,6 +118,14 @@ code, pre { font-family: SourceCodePro, monospace, monospace; } +code { + background-color: rgba(255, 128, 0, 0.3); +} + +pre code { + background-color: initial; +} + .anchor, .anchor:visited { margin-left: -1rem; margin-right: 0.75rem; diff --git a/static/img/collectifsources.webp b/static/img/collectifsources.webp new file mode 100644 index 0000000..38d729e Binary files /dev/null and b/static/img/collectifsources.webp differ diff --git a/static/img/dubitaristes.webp b/static/img/dubitaristes.webp new file mode 100644 index 0000000..9ebd44e Binary files /dev/null and b/static/img/dubitaristes.webp differ diff --git a/static/img/etherpad.webp b/static/img/etherpad.webp new file mode 100644 index 0000000..9636cfc Binary files /dev/null and b/static/img/etherpad.webp differ diff --git a/static/img/forceatlas2.webp b/static/img/forceatlas2.webp new file mode 100644 index 0000000..27f4fff Binary files /dev/null and b/static/img/forceatlas2.webp differ diff --git a/static/img/forgejo.svg b/static/img/forgejo.svg new file mode 100644 index 0000000..bcacdc0 --- /dev/null +++ b/static/img/forgejo.svg @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/static/img/framadate.webp b/static/img/framadate.webp new file mode 100644 index 0000000..d11504c Binary files /dev/null and b/static/img/framadate.webp differ diff --git a/static/img/lutim.webp b/static/img/lutim.webp new file mode 100644 index 0000000..6f996b7 Binary files /dev/null and b/static/img/lutim.webp differ diff --git a/static/img/progaccess.webp b/static/img/progaccess.webp new file mode 100644 index 0000000..209390d Binary files /dev/null and b/static/img/progaccess.webp differ diff --git a/templates/blog.html b/templates/blog.html index 5df4adc..ceaff43 100644 --- a/templates/blog.html +++ b/templates/blog.html @@ -58,6 +58,6 @@ Liberapay
- Git | CC BY-SA 4.0 + Forĝejo Git/Forĝejo | CC BY-SA 4.0 {% endblock body %}