Nuova raccolta emblemi, Aggiornamento script traduzioni e fix

This commit is contained in:
octospacc 2024-12-03 01:14:46 +01:00
parent b698cee8fd
commit 88197c17bd
9 changed files with 243 additions and 186 deletions

View File

@ -3,7 +3,12 @@ ModificationMetadataKey = "lastmod"
KeepOriginalMetadata = ["draft", "date", "lastmod"] KeepOriginalMetadata = ["draft", "date", "lastmod"]
DestinationLanguages = ["it", "en", "es", "fr"] # "de", "eo" DestinationLanguages = ["it", "en", "es", "fr"] # "de", "eo"
IncludePaths = ["/"] IncludePaths = ["/"]
ExcludePaths = ["/note/2024-09-19-Raspberry-Output-Audio-Both.md", "/miscellanea/Devlogs.md", "/admin.md"] # "/miscellanea/PicoBlog.md" ExcludePaths = ["/miscellanea/Devlogs.md", "/admin.md"] # "/miscellanea/PicoBlog.md"
TranslationFixes = {
"{{<assetsRoot>}}_/": "{{< assetsRoot>}}/",
"{{< assetsRoot >}}_/": "{{< assetsRoot >}}/",
" ``` _": " ``` ",
}
import subprocess import subprocess
from os import getcwd, listdir from os import getcwd, listdir
@ -100,16 +105,18 @@ def number_to_ascii(number:int) -> str:
return ''.join(chr(int(binary[(i * 8):((i * 8) + 8)], 2)) for i in range(len(binary) // 8)) return ''.join(chr(int(binary[(i * 8):((i * 8) + 8)], 2)) for i in range(len(binary) // 8))
# TODO add checks for number-strings to ensure they aren't already in the literal text # TODO add checks for number-strings to ensure they aren't already in the literal text
# TODO handle code blocks and .notranslate HTML elements # TODO handle .notranslate HTML elements
# TODO fix strange bugs # TODO fix strange bugs, including bug of autoinserted trailing underscores '_', and HTML closing tags breaking
def wrap_for_translation(original_text): def wrap_for_translation(original_text):
original_text = (original_text original_text = (original_text
.replace("{{%", "{{@%").replace("%}}", "%@}}") .replace("{{%", "{{@%").replace("%}}", "%@}}") # Hugo shortcodes
.replace("{{<", "{{@<").replace(">}}", ">@}}")) .replace("{{<", "{{@<").replace(">}}", ">@}}")
.replace("```" , "{{@```" ) # Markdown fenced code blocks
.replace(" {{@``` ", " ``` @}}"))
original_tokens = original_text.split("{{@") original_tokens = original_text.split("{{@")
for i in range(1, len(original_tokens)): for i in range(1, len(original_tokens)):
token_tokens = original_tokens[i].split("@}}") token_tokens = original_tokens[i].split("@}}")
token_tokens[0] = (f"{TranslationMagic}__" + str(ascii_to_number("{{@" + token_tokens[0] + "@}}")) + "__").replace("9", "9_") token_tokens[0] = (f"{TranslationMagic}__" + str(ascii_to_number("{{@" + token_tokens[0] + "@}}")).replace("1", "1_").replace("9", "9_") + "__")
original_tokens[i] = ''.join(token_tokens) original_tokens[i] = ''.join(token_tokens)
return ''.join(original_tokens) return ''.join(original_tokens)
@ -120,8 +127,13 @@ def unwrap_from_translation(translated_text):
token_tokens[0] = number_to_ascii(token_tokens[0].replace(' ', '').replace('_', '')) token_tokens[0] = number_to_ascii(token_tokens[0].replace(' ', '').replace('_', ''))
translated_tokens[i] = (token_tokens[0] + "__".join(token_tokens[1:])) translated_tokens[i] = (token_tokens[0] + "__".join(token_tokens[1:]))
return (''.join(translated_tokens) return (''.join(translated_tokens)
.replace("{{@%", "{{%").replace("%@}}", "%}}") .replace("{{@%", "{{%").replace("%@}}", "%}}") # Hugo shortcodes
.replace("{{@<", "{{<").replace(">@}}", ">}}")) .replace("{{@<", "{{<").replace(">@}}", ">}}")
.replace(" ``` @}}", " ``` ") # Markdown fenced code blocks
.replace("{{@```" , "```" ))
#.replace("{{@```" , "```" )
#.replace(" ``` @}}", " ``` ")
#.replace(" {{@``` ", " ``` "))
def translate_document(document_path, documents): def translate_document(document_path, documents):
printf(f"* {document_path} ->") printf(f"* {document_path} ->")
@ -163,9 +175,12 @@ def translate_document(document_path, documents):
translated_text = ''.join(translated_tokens) translated_text = ''.join(translated_tokens)
elif translated_text.strip(): elif translated_text.strip():
translated_text = (translated_preamble + translated_text) translated_text = (translated_preamble + translated_text)
translated_text = unwrap_from_translation(translated_text)
for replacement in TranslationFixes:
translated_text = translated_text.replace(replacement, TranslationFixes[replacement])
destination_path = make_destination_path(document_path, destination_language) destination_path = make_destination_path(document_path, destination_language)
Path('/'.join(destination_path.split('/')[:-1])).mkdir(parents=True, exist_ok=True) Path('/'.join(destination_path.split('/')[:-1])).mkdir(parents=True, exist_ok=True)
open(destination_path, 'w').write(unwrap_from_translation(translated_text)) open(destination_path, 'w').write(translated_text)
printf('\n') printf('\n')
def main(): def main():

View File

@ -67,6 +67,11 @@ alt = "Download Offline Version"
file = "OFF-LINE-VERSION.png" file = "OFF-LINE-VERSION.png"
href = "/miscellanea/Copie-sitoctt/#archivi-offline" href = "/miscellanea/Copie-sitoctt/#archivi-offline"
[[10-site]]
alt = "Written by Human, not by AI"
file = "written-by-human-not-by-ai-white.svg"
href = "https://notbyai.fyi"
####################################### #######################################
[[20-me]] [[20-me]]
@ -184,3 +189,135 @@ file = "Powered-by-THE-VOID.png"
alt = "Powered by Bob" alt = "Powered by Bob"
file = "POWERED-BY-bob.gif" file = "POWERED-BY-bob.gif"
#######################################
[[50-fun]]
alt = "Internet Archive"
file = "Sites/Internet-Archive.png"
href = "https://archive.org"
spam = true
[[50-fun]]
alt = "Wikipedia"
file = "Sites/Wikipedia.png"
href = "https://www.wikipedia.org"
title = "hu:User:Boro, CC BY-SA 3.0 &lt;https://creativecommons.org/licenses/by-sa/3.0&gt;, via Wikimedia Commons"
linkback = "https://commons.wikimedia.org/wiki/File:Wikipedia-microbar-hu.png"
spam = true
[[50-fun]]
alt = "Firefox"
file = "Firefox-Modern.png"
href = "https://www.mozilla.org/it/firefox"
spam = true
[[50-fun]]
alt = "The Onion Router"
file = "Tor.png"
href = "https://www.torproject.org/it"
spam = true
[[50-fun]]
alt = "uBlock Origin Now!"
file = "uBlock-Origin-Now.png"
href = "https://ublockorigin.com"
spam = true
# Linux Now badge with Xenia the Linux Fox made by Volt: https://meow.social/@voltbun/109600348286574222
[[50-fun]]
alt = "Linux Now!"
file = "Linux-NOW-Xenia.png"
href = "https://kernel.org"
spam = true
[[50-fun]]
alt = "Use Linux Online"
file = "Linux-Online.png"
href = "https://www.onworks.net"
spam = true
[[50-fun]]
alt = "Haiku OS Now!"
file = "HAIKU-NOW.png"
href = "https://www.haiku-os.org"
spam = true
[[50-fun]]
alt = "Join the Fediverse!!!"
file = "Join-the-Fediverse.gif"
href = "https://jointhefediverse.net"
spam = true
[[50-fun]]
alt = "matrix"
file = "matrix.png"
href = "https://matrix.org"
spam = true
[[50-fun]]
alt = "VOCALOID Now!"
file = "VOCALOID-Now.png"
href = "https://www.vocaloid.com"
spam = true
#######################################
[[60-fun]]
alt = "ISO 8601 now!"
file = "ISO-8601-now.png"
href = "https://www.w3.org/QA/Tips/iso-date"
spam = true
[[60-fun]]
alt = "I support net neutrality"
file = "I-SUPPORT-NET-NEUTRALITY.png"
href = "https://en.wikipedia.org/wiki/Net_neutrality"
spam = true
[[60-fun]]
alt = "I support right to repair"
file = "I-SUPPORT-RIGHT-TO-REPAIR.png"
href = "https://en.wikipedia.org/wiki/Right_to_repair"
spam = true
[[60-fun]]
alt = "Trans Your Gender"
file = "TRANS-YOUR-GENDER.gif"
[[60-fun]]
alt = "Ban Porn"
file = "BAN-PORN.png"
[[60-fun]]
alt = "Defective by Design"
file = "DEFECTIVE-by-design-ELIMINATE-DRM-NOW.webp"
href = "https://www.defectivebydesign.org"
spam = true
[[60-fun]]
alt = "Illegal number"
file = "aacs.2925462440.png"
href = "https://en.wikipedia.org/wiki/Illegal_number"
spam = true
[[60-fun]]
alt = "Piracy Now!"
file = "Piracy-Now.png"
href = "https://fmhy.pages.dev"
spam = true
[[60-fun]]
alt = "Sharing is caring, seed your torrents"
file = "Sharing-is-caring-seed-your-torrents.gif"
# “Emulate Now!” badge from Neon with a Zero on Tumblr: https://ne0nwithazero.tumblr.com/post/702936474323206144
[[60-fun]]
alt = "Emulate Now!"
file = "Emulate-Now.png"
href = "https://rentry.org/emulation"
spam = true
[[60-fun]]
alt = "Campaign against iFrames!"
file = "Campaign-against-FRAMES.gif"

View File

@ -8,7 +8,7 @@ Oltre alla versione "normale" del sito, cioè servita dagli indirizzi web uffici
## Archivi Offline ## Archivi Offline
A parte [il codice sorgente disponibile]({{< relref "/miscellanea/Open-Source-sitoctt/#repository" >}}), che può essere archiviato e riutilizzato da chiunque ne abbia le competenze per rigenerare le pagine dalle loro parti essenziali, il sito è progettato per poter essere agevolmente accessibile a tutti senza dipendere dal mio server. A parte [il codice sorgente disponibile]({{< relref "/miscellanea/Open-Source-sitoctt/#repository" >}}), che può essere archiviato e riutilizzato da chiunque ne abbia le competenze per rigenerare le pagine dalle loro parti essenziali, il sito è progettato per poter essere agevolmente accessibile a tutti senza dipendere dal mio server; per di più, lo si può facilmente ricondividere per intero tramite pennette USB, email, messaggistica istantanea, ecc...
Senza bisogno di strumenti speciali (come ne esistono per clonare qualsiasi sito web), è possibile scaricare una copia precompilata di tutti i file del sito in formato di cartella ZIP, altamente compatibile con qualsiasi sistema. Basta scaricare una delle varianti di seguito, scompattare l'intero archivio, ed aprire `index.html` (o qualsiasi altro file HTML) con il browser per navigare offline. Senza bisogno di strumenti speciali (come ne esistono per clonare qualsiasi sito web), è possibile scaricare una copia precompilata di tutti i file del sito in formato di cartella ZIP, altamente compatibile con qualsiasi sistema. Basta scaricare una delle varianti di seguito, scompattare l'intero archivio, ed aprire `index.html` (o qualsiasi altro file HTML) con il browser per navigare offline.
@ -21,7 +21,7 @@ Sul web esistono alcuni servizi che tengono copie di pagine o di interi siti, pi
Il sitoctt non è escluso dall'archivio più grosso al mondo, la _Wayback Machine_ dell'_Internet Archive_: se ne possono cercare le pagine, per URL e data, da <http://web.archive.org/web/*/https://sitoctt.octt.eu.org>. Pagine specifiche vengono salvate solo quando qualcuno o qualcosa ne fa richiesta al servizio, quindi la disponibilità dei contenuti può essere limitata. Il sitoctt non è escluso dall'archivio più grosso al mondo, la _Wayback Machine_ dell'_Internet Archive_: se ne possono cercare le pagine, per URL e data, da <http://web.archive.org/web/*/https://sitoctt.octt.eu.org>. Pagine specifiche vengono salvate solo quando qualcuno o qualcosa ne fa richiesta al servizio, quindi la disponibilità dei contenuti può essere limitata.
Esistono inoltre in giro archivi privati o aperti al pubblico, che potrebbero ospitare anche copie del mio sito. Non ne conosco nessuno, quindi consiglio di esercitare la giusta cautela nel consultarli, casomai dovessero uscirne fuori alcuni. Esistono inoltre in giro archivi privati o aperti al pubblico, che potrebbero ospitare anche copie del mio sito. Non ne conosco nessuno, quindi consiglio di esercitare la giusta cautela nel consultarli, casomai dovessero uscirne fuori alcuni. Magari lasciatene qualcuno nei commenti a questa pagina.
Chiunque voglia mettere a disposizione una copia del sitoctt su un proprio server può tranquillamente farlo, senza chiedermi esplicito permesso, [secondo i termini della licenza]({{< relref "/miscellanea/Open-Source-sitoctt/" >}}); chiedo soltanto che si renda chiaro si tratti di copie (con banner o simili inseriti sulle pagine), e che non si alterino i cosidetti "link canonical" nelle pagine HTML (`<link rel="canonical" ... />`, tag usati dai motori di ricerca per determinare la fonte dei contenuti). Chiunque voglia mettere a disposizione una copia del sitoctt su un proprio server può tranquillamente farlo, senza chiedermi esplicito permesso, [secondo i termini della licenza]({{< relref "/miscellanea/Open-Source-sitoctt/" >}}); chiedo soltanto che si renda chiaro si tratti di copie (con banner o simili inseriti sulle pagine), e che non si alterino i cosidetti "link canonical" nelle pagine HTML (`<link rel="canonical" ... />`, tag usati dai motori di ricerca per determinare la fonte dei contenuti).
@ -29,6 +29,6 @@ Chiunque voglia mettere a disposizione una copia del sitoctt su un proprio serve
Queste non sono propriamente copie nel senso che ho finora descritto, ma il sito è disponibile ufficialmente anche da domini e server secondari forniti da me. I contenuti sono esattamente gli stessi del dominio principale, ma può capitare che subiscano ritardi nell'aggiornamento. ...Dovrei listarli su qualche pagina specifica, ma per ora è bene almeno piazzarli da qualche parte, ecco qua: Queste non sono propriamente copie nel senso che ho finora descritto, ma il sito è disponibile ufficialmente anche da domini e server secondari forniti da me. I contenuti sono esattamente gli stessi del dominio principale, ma può capitare che subiscano ritardi nell'aggiornamento. ...Dovrei listarli su qualche pagina specifica, ma per ora è bene almeno piazzarli da qualche parte, ecco qua:
* Principale, solo HTTPS: <https://sitoctt.octt.eu.org/> * Principale, solo HTTPS: <https://sitoctt.octt.eu.org>
* Secondario, solo HTTP non cifrato: <http://http.sitoctt.octt.eu.org/> * Secondario, solo HTTP non cifrato: <http://http.sitoctt.octt.eu.org>
* Secondario, _hidden service_ sulla rete Tor: <http://sitoctt2fxjvx3lc2iqqef2aeulflprjaasv2xl4zi7sxxbmvjy5b5yd.onion> (momentaneamente fuori servizio) * Secondario, _hidden service_ sulla rete Tor: <http://sitoctt2fxjvx3lc2iqqef2aeulflprjaasv2xl4zi7sxxbmvjy5b5yd.onion> (momentaneamente fuori servizio)

View File

@ -0,0 +1,49 @@
+++
Title = "⚜️ Raccolta Emblemi"
Categories = [ "Fritto-Misto" ]
Lastmod = 2024-12-02
+++
Piastrellati sul sitoctt, così come sui siti di altre persone _che vivono nel mio computer_, ci sono queste immaginette colorate. A volte animate, a volte con qualcosa di sensato scritto dentro ed altre no, ed alcune che linkano ad altre pagine o comunque fanno qualcosa di utile.
Ce ne sono di diversi tipi, con diversi nomi: bottoni o banner (di solito grandi 88x31 pixel), _blinkie_ (più bassi e larghi, di solito 150x20 e animati), o vattelappesca. Alla fine sono in qualche modo tutti assimilabili a degli emblemi, e quindi ho creato questa pagina per raccoglierli; elencando innanzitutto quelli che uso in generale nel sito, aggiungendo maggiori informazioni, e magari piazzandone altri che mi piacciono trovati in giro.
_In costruzione..._
## Quelli usati qui
{{< footer-buttons extended=true >}}
## Altre Risorse
Ovviamente, ci sono sia siti che raccolgono e catalogano quantità industriali di queste immagini, sia paginette come questa su altri siti personali. Ecco quindi altre raccolte che conosco e consiglio (chi ne conosce altre può lasciarle nei commenti a questa pagina):
* (11K+) _The 88x31 GIF Banner Database_: https://88x31db.com
* (4K+) _The 88x31 GIF Collection_: https://cyber.dabamos.de/88x31/
* Mirror: https://www.deadnet.se/88x31/
* (31K+) _THE 88×31 ARCHIVE_: https://hellnet.work/8831/
* _88x31 Button Library_: https://lazerdart.uk/buttons
* (27K+) _The 88x31 GIF Collection_: http://www.textfiles.com/underconstruction/88x31/ (attenzione: pagina pesantissima)
* _kate's 88x31 button archive_: https://88x31.kate.pet — https://github.com/ktwrd/88x31
* ![]({{< assetsRoot >}}/Media/Buttons/88x31/Sites/the-largest-88x31-collection-2.png) _the largest 88x31 collection on the internet_: https://capstasher.neocities.org/88x31collection-page1
* _A.N. Lucas's 88x31 button Collection_: https://anlucas.neocities.org/88x31Buttons — https://news.ycombinator.com/item?id=33793273
* https://winter.entities.org.uk/buttons/
* _Fustilugz's Button Collection_: https://fustilugz.neocities.org
* _My 88x31 Button Store_: https://88x31.nekoweb.org/
* _88x31 (Now) Buttons_: https://dannarchy.com/now
* _Neko Buttons_: https://buttons.nekoweb.org
* _DOKODEMO Buttons_: https://dokode.moe/buttons
Ci sono anche strumenti di creazione e simili risorse, a proposito:
* _blinkie maker | generate blinkie gifs with custom text!_: https://blinkies.cafe — https://github.com/piconaut/blinkies.cafe — offre vari template e permette di usarli per creare blinkie con il testo che si vuole
* _88x31 Web Button Maker_: https://hekate2.github.io/buttonmaker/ — https://github.com/hekate2/buttonmaker
* _88x31 Button Maker_: https://sadgrlonline.github.io/88x31-button-maker/ — https://github.com/sadgrlonline/88x31-button-maker
Ancora altre informazioni e risorse sull'argomento:
* _How2 - 88x31 Buttons | BMH Online_: https://bmh.neocities.org/how2/buttons — spiega ancora cose sui bottoni 88x31
* <https://eightyeightthirty.one> — https://breq.dev/projects/eightyeightthirtyone — servizio che fa crawling di tutti i possibili siti seguendo i link dei bottoni 88x31, mostrando un grafico a rami
Consiglio: Gli emblemi usati sul mio sito sono tutti ri-hostati da me, e nel processo di ricaricarli mi assicuro di comprimerli con i migliori algoritmi lossless in circolazione, così che occupino il minor spazio possibile pur senza perdere alcun grado di qualità dell'immagine. Consiglio a tutti gli altri di adoperarsi per fare lo stesso, ci sono solo vantaggi.

View File

@ -62,13 +62,13 @@ Raccolte: <!-- (basta cercare per parole chiave `separator`, `separatori`, `sepa
Per i separatori di testo, ci sono per fortuna svariati siti e pagine che ne raccolgono di ogni genere, anche se non immediati da trovare. Eccone alcuni che ho beccato sui motori di ricerca e mi sono sembrati decenti: Per i separatori di testo, ci sono per fortuna svariati siti e pagine che ne raccolgono di ogni genere, anche se non immediati da trovare. Eccone alcuni che ho beccato sui motori di ricerca e mi sono sembrati decenti:
* Copy Paste 🎉 Text dividers and separators: https://copy-paste.net/en/text-dividers.php * _Copy Paste 🎉 Text dividers and separators_: https://copy-paste.net/en/text-dividers.php
* Free Text Dividers (ASCII) - InspireMari.nl: https://inspiremari.nl/resources/free-text-dividers-ascii/ * _Free Text Dividers (ASCII) - InspireMari.nl_: https://inspiremari.nl/resources/free-text-dividers-ascii/
* Aesthetic Divider Symbols ┊ ┊ ┊. ➶ ˚ — https://www.aestheticsymbols.me/dividers.html * _Aesthetic Divider Symbols ┊ ┊ ┊. ➶ ˚_ — https://www.aestheticsymbols.me/dividers.html
* Aesthetic Text Dividers Symbols Copy and Paste ┆彡 TextCopyAndPaste: https://textcopyandpaste.org/aesthetic-text-dividers/ * _Aesthetic Text Dividers Symbols Copy and Paste ┆彡 TextCopyAndPaste_: https://textcopyandpaste.org/aesthetic-text-dividers/
* ♕✦Cute aesthetic borders copy and paste (Headers, Text dividers): https://www.copyandpastesymbols.net/aesthetic-borders-copy-and-paste-text-line.html * _♕✦Cute aesthetic borders copy and paste (Headers, Text dividers)_: https://www.copyandpastesymbols.net/aesthetic-borders-copy-and-paste-text-line.html
* Dividers | ︶⊹︶︶୨୧︶︶⊹︶… | Copy & Paste: https://emojicombos.com/divider * _Dividers | ︶⊹︶︶୨୧︶︶⊹︶… | Copy & Paste_: https://emojicombos.com/divider
* Separadores: https://t.me/dmsusus * _Separadores_: https://t.me/dmsusus
--- ---

View File

@ -1,3 +1,4 @@
{{- $extended := (eq .Context.Params.extended true) -}}
{{- $size := (or .size "88x31") -}} {{- $size := (or .size "88x31") -}}
{{- $sizes := (split $size "x") -}} {{- $sizes := (split $size "x") -}}
{{- $alt := (or (and .alt (printf "[%s]" .alt)) "") -}} {{- $alt := (or (and .alt (printf "[%s]" .alt)) "") -}}
@ -18,10 +19,15 @@
(index $sizes 0) (index $sizes 1) (index $sizes 0) (index $sizes 1)
(or .decoding "async") (or .decoding "async")
) | safeHTML -}} ) | safeHTML -}}
{{ if .href }} {{- $html := $img -}}
{{ partial "anchor.html" (dict {{- if $extended -}}
"Inner" $img {{- $html = (printf "%s <span>%s</span>" $img .alt) | safeHTML -}}
"Params" .) }} {{- end -}}
{{ else }} {{- if .href -}}
{{ $img }} {{- $html = (partial "anchor.html" (dict
{{ end }} "Inner" $html
"Params" .)) -}}
{{- end -}}
{{ if $extended }}<li>{{ end }}
{{ $html }}
{{ if $extended }}</li>{{ end }}

View File

@ -1,9 +1,11 @@
{{- $extended := (eq .Params.extended true) -}}
{{- $context := . -}} {{- $context := . -}}
{{- $language := (string .Language) -}} {{- $language := (string .Site.Language) -}}
{{- with resources.Get "ButtonBadges.toml" -}} {{- with resources.Get "ButtonBadges.toml" -}}
{{- with . | transform.Unmarshal -}} {{- with . | transform.Unmarshal -}}
{{- range $group, $badges := . -}} {{- range $group, $badges := . -}}
<div data-group="{{ $group }}"> <div data-group="{{ $group }}">
{{- if $extended -}}<ul>{{- end -}}
{{- range $badges -}} {{- range $badges -}}
{{- $src := .src -}} {{- $src := .src -}}
{{- if (or .file .src) -}} {{- if (or .file .src) -}}
@ -23,166 +25,13 @@
{{- end -}} {{- end -}}
{{ partial "ImgButton.html" (merge . $newprops (dict "Context" $context)) }} {{ partial "ImgButton.html" (merge . $newprops (dict "Context" $context)) }}
{{- else -}} {{- else -}}
{{- if $extended -}}</ul>{{- end -}}
<h4>{{ partial "functions/FromLanguageObject.html" (dict "Object" .title "Language" $language) }}</h4> <h4>{{ partial "functions/FromLanguageObject.html" (dict "Object" .title "Language" $language) }}</h4>
{{- if $extended -}}<ul>{{- end -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- if $extended -}}</ul>{{- end -}}
</div> </div>
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
<div>
{{ partial "ImgButton.html" (dict
"alt" "Internet Archive"
"srcRelative" "Sites/Internet-Archive.png"
"href" "https://archive.org"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Wikipedia"
"srcRelative" "Sites/Wikipedia.png"
"href" "https://www.wikipedia.org"
"rel" "nofollow"
"title" "hu:User:Boro, CC BY-SA 3.0 &lt;https://creativecommons.org/licenses/by-sa/3.0&gt;, via Wikimedia Commons"
"hrefLinkback" "https://commons.wikimedia.org/wiki/File:Wikipedia-microbar-hu.png"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Firefox"
"srcRelative" "Firefox-Modern.png"
"href" "https://www.mozilla.org/it/firefox"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "The Onion Router"
"srcRelative" "Tor.png"
"href" "https://www.torproject.org/it"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "uBlock Origin Now!"
"srcRelative" "uBlock-Origin-Now.png"
"href" "https://ublockorigin.com"
"rel" "nofollow"
) }}
<!-- Linux Now badge with Xenia the Linux Fox made by Volt: https://meow.social/@voltbun/109600348286574222 -->
{{ partial "ImgButton.html" (dict
"alt" "Linux Now!"
"srcRelative" "Linux-NOW-Xenia.png"
"href" "https://kernel.org"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Use Linux Online"
"srcRelative" "Linux-Online.png"
"href" "https://www.onworks.net"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Haiku OS Now!"
"srcRelative" "HAIKU-NOW.png"
"href" "https://www.haiku-os.org"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Join the Fediverse!!!"
"srcRelative" "Join-the-Fediverse.gif"
"href" "https://jointhefediverse.net"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "matrix"
"srcRelative" "matrix.png"
"href" "https://matrix.org"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "VOCALOID Now!"
"srcRelative" "VOCALOID-Now.png"
"href" "https://www.vocaloid.com"
"rel" "nofollow"
) }}
</div><div>
{{ partial "ImgButton.html" (dict
"alt" "ISO 8601 now!"
"srcRelative" "ISO-8601-now.png"
"href" "https://www.w3.org/QA/Tips/iso-date"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "I support net neutrality"
"srcRelative" "I-SUPPORT-NET-NEUTRALITY.png"
"href" "https://en.wikipedia.org/wiki/Net_neutrality"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "I support right to repair"
"srcRelative" "I-SUPPORT-RIGHT-TO-REPAIR.png"
"href" "https://en.wikipedia.org/wiki/Right_to_repair"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Trans Your Gender"
"srcRelative" "TRANS-YOUR-GENDER.gif"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Ban Porn"
"srcRelative" "BAN-PORN.png"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Defective by Design"
"srcRelative" "DEFECTIVE-by-design-ELIMINATE-DRM-NOW.webp"
"href" "https://www.defectivebydesign.org"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Illegal number"
"srcRelative" "aacs.2925462440.png"
"href" "https://en.wikipedia.org/wiki/Illegal_number"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Piracy Now!"
"srcRelative" "Piracy-Now.png"
"href" "https://fmhy.pages.dev"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Sharing is caring, seed your torrents"
"srcRelative" "Sharing-is-caring-seed-your-torrents.gif"
) }}
<!-- “Emulate Now!” badge from Neon with a Zero on Tumblr: https://ne0nwithazero.tumblr.com/post/702936474323206144 -->
{{ partial "ImgButton.html" (dict
"alt" "Emulate Now!"
"srcRelative" "Emulate-Now.png"
"href" "https://rentry.org/emulation"
"rel" "nofollow"
) }}
{{ partial "ImgButton.html" (dict
"alt" "Campaign against iFrames!"
"srcRelative" "Campaign-against-FRAMES.gif"
) }}
</div>

View File

@ -0,0 +1 @@
{{ partial "footer-buttons.html" . }}