Compressed images, use WebP, mention Forgejo
|
@ -5,14 +5,14 @@ insert_anchor_links = "left"
|
|||
|
||||
<div class="service_boxes">
|
||||
{{ 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") }}
|
||||
</div>
|
||||
|
||||
|
@ -30,10 +30,10 @@ insert_anchor_links = "left"
|
|||
## Projektoj {#projektoj}
|
||||
|
||||
<div class="service_boxes">
|
||||
{{ 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="Ğ") }}
|
||||
</div>
|
||||
|
||||
|
@ -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}
|
||||
|
||||
<div class="service_boxes">
|
||||
{{ 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") }}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -5,14 +5,14 @@ insert_anchor_links = "left"
|
|||
|
||||
<div class="service_boxes">
|
||||
{{ 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") }}
|
||||
</div>
|
||||
|
||||
|
@ -30,10 +30,10 @@ insert_anchor_links = "left"
|
|||
## Projets {#projets}
|
||||
|
||||
<div class="service_boxes">
|
||||
{{ 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="Ğ") }}
|
||||
</div>
|
||||
|
||||
|
@ -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}
|
||||
|
||||
<div class="service_boxes">
|
||||
{{ 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") }}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -5,14 +5,14 @@ insert_anchor_links = "left"
|
|||
|
||||
<div class="service_boxes">
|
||||
{{ 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") }}
|
||||
</div>
|
||||
|
||||
|
@ -30,10 +30,10 @@ insert_anchor_links = "left"
|
|||
## Projects {#projects}
|
||||
|
||||
<div class="service_boxes">
|
||||
{{ 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="Ğ") }}
|
||||
</div>
|
||||
|
||||
|
@ -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}
|
||||
|
||||
<div class="service_boxes">
|
||||
{{ 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") }}
|
||||
</div>
|
||||
|
||||
|
|
58
content/blog/install-linux/_index.fr.md
Normal file
|
@ -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
|
||||
|
65
content/blog/js.md
Normal file
|
@ -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<u8>` 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.
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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 :
|
||||
|
||||
|
|
Before Width: | Height: | Size: 4.2 MiB |
BIN
content/blog/minitel/minitel_fortune.webp
Normal file
After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 4.1 MiB |
BIN
content/blog/minitel/minitel_rust.webp
Normal file
After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 3.3 MiB |
BIN
content/blog/minitel/minitel_snake.webp
Normal file
After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 3.4 MiB |
BIN
content/blog/minitel/minitel_tetris.webp
Normal file
After Width: | Height: | Size: 1.2 MiB |
|
@ -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;
|
||||
|
|
BIN
static/img/collectifsources.webp
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
static/img/dubitaristes.webp
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
static/img/etherpad.webp
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
static/img/forceatlas2.webp
Normal file
After Width: | Height: | Size: 11 KiB |
27
static/img/forgejo.svg
Normal file
|
@ -0,0 +1,27 @@
|
|||
<svg viewBox="0 0 212 212" xmlns="http://www.w3.org/2000/svg">
|
||||
<style type="text/css">
|
||||
circle {
|
||||
fill: none;
|
||||
stroke: #000;
|
||||
stroke-width: 15;
|
||||
}
|
||||
path {
|
||||
fill: none;
|
||||
stroke: #000;
|
||||
stroke-width: 25;
|
||||
}
|
||||
.orange {
|
||||
stroke:#ff6600;
|
||||
}
|
||||
.red {
|
||||
stroke:#d40000;
|
||||
}
|
||||
</style>
|
||||
<g transform="translate(6,6)">
|
||||
<path d="M58 168 v-98 a50 50 0 0 1 50-50 h20" class="orange" />
|
||||
<path d="M58 168 v-30 a50 50 0 0 1 50-50 h20" class="red" />
|
||||
<circle cx="142" cy="20" r="18" class="orange" />
|
||||
<circle cx="142" cy="88" r="18" class="red" />
|
||||
<circle cx="58" cy="180" r="18" class="red" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 677 B |
BIN
static/img/framadate.webp
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
static/img/lutim.webp
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
static/img/progaccess.webp
Normal file
After Width: | Height: | Size: 27 KiB |
|
@ -58,6 +58,6 @@
|
|||
<a href="https://liberapay.com/tuxmain/donate" title="Liberapay"><img alt="Liberapay" src="/img/liberapay-donate.svg"/></a>
|
||||
</div>
|
||||
<br/>
|
||||
<a href="https://git.txmn.tk/tuxmain/website">Git</a> | <a rel="license" href="//creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>
|
||||
<a href="https://git.txmn.tk/tuxmain/website"><img alt="Forĝejo" src="/img/forgejo.svg" style="width:32px;"/> Git/Forĝejo</a> | <a rel="license" href="//creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>
|
||||
</footer>
|
||||
{% endblock body %}
|
||||
|
|