+
+
\ No newline at end of file
diff --git a/maintenance/edit-i18n.js b/maintenance/edit-i18n.js
deleted file mode 100644
index 216820b..0000000
--- a/maintenance/edit-i18n.js
+++ /dev/null
@@ -1,191 +0,0 @@
-// Coded entirely by ChatGPT
-// :(
-
-const express = require("express");
-const fs = require("fs");
-const parser = require("@babel/parser");
-const traverse = require("@babel/traverse").default;
-const generate = require("@babel/generator").default;
-const t = require("@babel/types");
-
-const app = express();
-app.use(express.json());
-
-const FILE = "../_data/i18n.js";
-
-function loadAST() {
- const code = fs.readFileSync(FILE, "utf8");
- return parser.parse(code, { sourceType: "module" });
-}
-
-function extract(ast) {
- const out = {};
-
- traverse(ast, {
- AssignmentExpression(path) {
- if (
- path.node.left.object?.name === "module" &&
- path.node.left.property?.name === "exports"
- ) {
- path.node.right.properties.forEach(langProp => {
- const lang = langProp.key.name || langProp.key.value;
- out[lang] = {};
-
- langProp.value.properties.forEach(p => {
- const key = p.key.name || p.key.value;
- out[lang][key] = p.value.extra?.raw || generate(p.value).code;
- });
- });
- }
- }
- });
-
- return out;
-}
-
-function write(ast, newData) {
- traverse(ast, {
- AssignmentExpression(path) {
- if (
- path.node.left.object?.name === "module" &&
- path.node.left.property?.name === "exports"
- ) {
- path.node.right.properties.forEach(langProp => {
- const lang = langProp.key.name || langProp.key.value;
-
- const existingKeys = new Set(
- langProp.value.properties.map(p => p.key.name || p.key.value)
- );
-
- // update existing
- langProp.value.properties.forEach(p => {
- const key = p.key.name || p.key.value;
-
- if (key in (newData[lang] || {})) {
- p.value = parser.parseExpression(newData[lang][key]);
- }
- });
-
- // add new keys
- Object.keys(newData[lang] || {}).forEach(key => {
- if (!existingKeys.has(key)) {
- langProp.value.properties.push(
- t.objectProperty(
- t.identifier(key),
- parser.parseExpression(newData[lang][key])
- )
- );
- }
- });
- });
- }
- }
- });
-
- const output = generate(ast, { retainLines: true }).code;
- fs.writeFileSync(FILE, output);
-}
-
-app.get("/data", (req, res) => {
- const ast = loadAST();
- res.json(extract(ast));
-});
-
-app.post("/save", (req, res) => {
- const ast = loadAST();
- write(ast, req.body);
- res.send("ok");
-});
-
-app.get("/", (req, res) => {
- res.send(`
-
-
-
-i18n Editor
-
-Add
-Save
-
-
-
-
- `);
- });
-
- app.listen(3000,()=>console.log('http://localhost:3000'));
-
\ No newline at end of file
diff --git a/misc/about/index.njk b/misc/about/index.njk
index aa2e3a8..26bb65c 100644
--- a/misc/about/index.njk
+++ b/misc/about/index.njk
@@ -19,6 +19,7 @@ background: "bear3.jpg"
{{ t.bgImageCredit }}
{{ t.badges88x31Label }}
88x31.nl
+ dabamos.de
{{ t.neocitiesCommunity }}
{{ t.clickSoundLabel }}
lilypids @ Myinstants
diff --git a/school/telnet-en.html b/school/telnet-en.html
deleted file mode 100644
index 2bf225b..0000000
--- a/school/telnet-en.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-postTitle: "Telnet"
-layout: post.njk
-date: 2025-08-27
-background: redes.jpg
-authors: Adrian Victor & Arthur Borges
-langKey: en
----
-
- What the protocol is, its function and history
- Telnet (from TEL ecommunication NET work) is a TCP/IP stack network protocol that allows remote text-mode communication between computers. Its main function is to provide an interactive session where a user can access and control another device as if they were on a local terminal.
- Created in 1969, Telnet was one of the first protocols developed for ARPANET (the network that gave rise to the Internet) and became fundamental for system and device administration in the 1970s, 1980s, and 1990s. Over time, it fell out of use due to lack of security, being replaced by more modern alternatives such as SSH (Secure Shell).
- Implementation
- Default port: 23/TCP.
-Works at the application layer of the OSI model.
-Format: Based on ASCII character exchange, without encryption.
-RFC: Defined by RFC 854 (1983).
-Architecture: Follows the client-server model
- How it works
- In practice, Telnet works relatively simply. The process starts when the client establishes a TCP connection to the server via port 23. Then a remote terminal session is initiated and the user must provide credentials such as username and password. After authentication, commands typed on the client are transmitted in plain text to the server, which processes them and returns the corresponding output. The session remains active as long as the user wants, normally ending with commands like exit or logout
- Use cases
- For many years, Telnet was widely used for remote access to Unix, Linux, and Windows servers, especially older versions of these systems. It also became common in network device administration, such as routers and switches, until SSH became the standard. Additionally, mainframes and some legacy devices still use Telnet today. Another practical application is in educational environments and network diagnostics, where it is used to test open ports and check service connectivity, such as running “telnet server.com 80” to see if a web server port is operational.
- Encryption: the inherent problem
- Telnet has no native encryption, which makes it extremely vulnerable. To solve this problem, more secure alternatives were developed. The main one is SSH (Secure Shell), created in the 1990s as a direct Telnet replacement. SSH offers the same functionality while ensuring data protection through strong authentication and full traffic encryption. Another, less common approach is using SSL/TLS to tunnel Telnet sessions, but in practice this is rarely used.
- Advantages and disadvantages
- Telnet’s advantages include simplicity, low resource usage, and compatibility with various older systems, which facilitated its adoption over the years. However, these benefits are outweighed by its disadvantages. The main one is the lack of encryption, exposing all transmitted data—including passwords—in plain text. This makes it vulnerable to attacks such as sniffing, which captures network packets, and hijacking, which takes over active sessions. For this reason, Telnet is considered obsolete and unsafe for use on open networks like the Internet.
- Relation to other protocols
- Telnet is part of the TCP/IP protocol family and uses TCP to ensure reliable communication. Like other protocols in this stack, such as HTTP, FTP, and SMTP, it relies on stable connections to perform its functions, but its distinguishing feature has always been terminal-mode interactivity. Due to security flaws, it was replaced by its natural successor, SSH, which retained Telnet’s conceptual base but added robust protection layers.
- Functional example
- Below is a Telnet connection simulator written in JavaScript.
-
-
-
-
Server
-
- Clear
-
-
-
Client
-
-
-
- Send
-
-
-
\ No newline at end of file
diff --git a/static/images/88x31/88x31-micro-button.gif b/static/images/88x31/88x31-micro-button.gif
new file mode 100644
index 0000000..08b2af2
Binary files /dev/null and b/static/images/88x31/88x31-micro-button.gif differ
diff --git a/static/images/88x31/C4YSB2.gif b/static/images/88x31/C4YSB2.gif
new file mode 100644
index 0000000..12b9479
Binary files /dev/null and b/static/images/88x31/C4YSB2.gif differ
diff --git a/static/images/88x31/FCbw.gif b/static/images/88x31/FCbw.gif
new file mode 100644
index 0000000..8efaa19
Binary files /dev/null and b/static/images/88x31/FCbw.gif differ
diff --git a/static/images/88x31/abs.gif b/static/images/88x31/abs.gif
new file mode 100644
index 0000000..073c1a0
Binary files /dev/null and b/static/images/88x31/abs.gif differ
diff --git a/static/images/88x31/agplv3-88x31.gif b/static/images/88x31/agplv3-88x31.gif
new file mode 100644
index 0000000..d2f65d4
Binary files /dev/null and b/static/images/88x31/agplv3-88x31.gif differ
diff --git a/static/images/88x31/altavista.gif b/static/images/88x31/altavista.gif
new file mode 100644
index 0000000..ccfc5cf
Binary files /dev/null and b/static/images/88x31/altavista.gif differ
diff --git a/static/images/88x31/archlinux.gif b/static/images/88x31/archlinux.gif
new file mode 100644
index 0000000..6fcc440
Binary files /dev/null and b/static/images/88x31/archlinux.gif differ
diff --git a/static/images/88x31/banner2.gif b/static/images/88x31/banner2.gif
new file mode 100644
index 0000000..7728776
Binary files /dev/null and b/static/images/88x31/banner2.gif differ
diff --git a/static/images/88x31/banporn.gif b/static/images/88x31/banporn.gif
new file mode 100644
index 0000000..427b8bc
Binary files /dev/null and b/static/images/88x31/banporn.gif differ
diff --git a/static/images/88x31/blink-0.gif b/static/images/88x31/blink-0.gif
new file mode 100644
index 0000000..2acde1c
Binary files /dev/null and b/static/images/88x31/blink-0.gif differ
diff --git a/static/images/88x31/blinkie.gif b/static/images/88x31/blinkie.gif
new file mode 100644
index 0000000..6dfd3ed
Binary files /dev/null and b/static/images/88x31/blinkie.gif differ
diff --git a/static/images/88x31/buttonaban.gif b/static/images/88x31/buttonaban.gif
new file mode 100644
index 0000000..5ba23de
Binary files /dev/null and b/static/images/88x31/buttonaban.gif differ
diff --git a/static/images/88x31/cab.gif b/static/images/88x31/cab.gif
new file mode 100644
index 0000000..a62e0f6
Binary files /dev/null and b/static/images/88x31/cab.gif differ
diff --git a/static/images/88x31/cannelle.gif b/static/images/88x31/cannelle.gif
new file mode 100644
index 0000000..04f30ad
Binary files /dev/null and b/static/images/88x31/cannelle.gif differ
diff --git a/static/images/88x31/code88x31_1.gif b/static/images/88x31/code88x31_1.gif
new file mode 100644
index 0000000..c60cf11
Binary files /dev/null and b/static/images/88x31/code88x31_1.gif differ
diff --git a/static/images/88x31/cogs.gif b/static/images/88x31/cogs.gif
new file mode 100644
index 0000000..d3f68eb
Binary files /dev/null and b/static/images/88x31/cogs.gif differ
diff --git a/static/images/88x31/coke.gif b/static/images/88x31/coke.gif
new file mode 100644
index 0000000..b2fb382
Binary files /dev/null and b/static/images/88x31/coke.gif differ
diff --git a/static/images/88x31/coreboot.gif b/static/images/88x31/coreboot.gif
new file mode 100644
index 0000000..6458ac2
Binary files /dev/null and b/static/images/88x31/coreboot.gif differ
diff --git a/static/images/88x31/defcon1.gif b/static/images/88x31/defcon1.gif
new file mode 100644
index 0000000..7d2b51b
Binary files /dev/null and b/static/images/88x31/defcon1.gif differ
diff --git a/static/images/88x31/destinysoulmates.gif b/static/images/88x31/destinysoulmates.gif
new file mode 100644
index 0000000..6942d3b
Binary files /dev/null and b/static/images/88x31/destinysoulmates.gif differ
diff --git a/static/images/88x31/digimon_terminal.gif b/static/images/88x31/digimon_terminal.gif
new file mode 100644
index 0000000..a90ec5a
Binary files /dev/null and b/static/images/88x31/digimon_terminal.gif differ
diff --git a/static/images/88x31/disaster.gif b/static/images/88x31/disaster.gif
new file mode 100644
index 0000000..a9e8538
Binary files /dev/null and b/static/images/88x31/disaster.gif differ
diff --git a/static/images/88x31/disccontent.gif b/static/images/88x31/disccontent.gif
new file mode 100644
index 0000000..ad20126
Binary files /dev/null and b/static/images/88x31/disccontent.gif differ
diff --git a/static/images/88x31/discord-no-way.gif b/static/images/88x31/discord-no-way.gif
new file mode 100644
index 0000000..4ee8d64
Binary files /dev/null and b/static/images/88x31/discord-no-way.gif differ
diff --git a/static/images/88x31/discord.gif b/static/images/88x31/discord.gif
new file mode 100644
index 0000000..8b8b457
Binary files /dev/null and b/static/images/88x31/discord.gif differ
diff --git a/static/images/88x31/discord3.gif b/static/images/88x31/discord3.gif
new file mode 100644
index 0000000..631df88
Binary files /dev/null and b/static/images/88x31/discord3.gif differ
diff --git a/static/images/88x31/discordserver.gif b/static/images/88x31/discordserver.gif
new file mode 100644
index 0000000..dbf288c
Binary files /dev/null and b/static/images/88x31/discordserver.gif differ
diff --git a/static/images/88x31/divx_logo2.gif b/static/images/88x31/divx_logo2.gif
new file mode 100644
index 0000000..a92b8a5
Binary files /dev/null and b/static/images/88x31/divx_logo2.gif differ
diff --git a/static/images/88x31/dkbutton2.gif b/static/images/88x31/dkbutton2.gif
new file mode 100644
index 0000000..6e21c1c
Binary files /dev/null and b/static/images/88x31/dkbutton2.gif differ
diff --git a/static/images/88x31/doc-cd-icon.gif b/static/images/88x31/doc-cd-icon.gif
new file mode 100644
index 0000000..9e6c1c8
Binary files /dev/null and b/static/images/88x31/doc-cd-icon.gif differ
diff --git a/static/images/88x31/dokuwiki.gif b/static/images/88x31/dokuwiki.gif
new file mode 100644
index 0000000..5600ad3
Binary files /dev/null and b/static/images/88x31/dokuwiki.gif differ
diff --git a/static/images/88x31/donate.gif b/static/images/88x31/donate.gif
new file mode 100644
index 0000000..f81ce06
Binary files /dev/null and b/static/images/88x31/donate.gif differ
diff --git a/static/images/88x31/donate2.gif b/static/images/88x31/donate2.gif
new file mode 100644
index 0000000..b14b9d7
Binary files /dev/null and b/static/images/88x31/donate2.gif differ
diff --git a/static/images/88x31/dontklick.gif b/static/images/88x31/dontklick.gif
new file mode 100644
index 0000000..b99fc12
Binary files /dev/null and b/static/images/88x31/dontklick.gif differ
diff --git a/static/images/88x31/dos.gif b/static/images/88x31/dos.gif
new file mode 100644
index 0000000..93a00b0
Binary files /dev/null and b/static/images/88x31/dos.gif differ
diff --git a/static/images/88x31/dream_coloured.gif b/static/images/88x31/dream_coloured.gif
new file mode 100644
index 0000000..d26718c
Binary files /dev/null and b/static/images/88x31/dream_coloured.gif differ
diff --git a/static/images/88x31/drpepper.gif b/static/images/88x31/drpepper.gif
new file mode 100644
index 0000000..dff6eaa
Binary files /dev/null and b/static/images/88x31/drpepper.gif differ
diff --git a/static/images/88x31/email-icon.gif b/static/images/88x31/email-icon.gif
new file mode 100644
index 0000000..2139e09
Binary files /dev/null and b/static/images/88x31/email-icon.gif differ
diff --git a/static/images/88x31/evangelion.gif b/static/images/88x31/evangelion.gif
new file mode 100644
index 0000000..6c9932d
Binary files /dev/null and b/static/images/88x31/evangelion.gif differ
diff --git a/static/images/88x31/evilnet.gif b/static/images/88x31/evilnet.gif
new file mode 100644
index 0000000..c23fa9e
Binary files /dev/null and b/static/images/88x31/evilnet.gif differ
diff --git a/static/images/88x31/falink.gif b/static/images/88x31/falink.gif
new file mode 100644
index 0000000..bd19b33
Binary files /dev/null and b/static/images/88x31/falink.gif differ
diff --git a/static/images/88x31/fb_button.gif b/static/images/88x31/fb_button.gif
new file mode 100644
index 0000000..475f24e
Binary files /dev/null and b/static/images/88x31/fb_button.gif differ
diff --git a/static/images/88x31/fckfb.gif b/static/images/88x31/fckfb.gif
new file mode 100644
index 0000000..97abe49
Binary files /dev/null and b/static/images/88x31/fckfb.gif differ
diff --git a/static/images/88x31/fckgoogle.gif b/static/images/88x31/fckgoogle.gif
new file mode 100644
index 0000000..ed15649
Binary files /dev/null and b/static/images/88x31/fckgoogle.gif differ
diff --git a/static/images/88x31/fckingwww.gif b/static/images/88x31/fckingwww.gif
new file mode 100644
index 0000000..8a07bc4
Binary files /dev/null and b/static/images/88x31/fckingwww.gif differ
diff --git a/static/images/88x31/fediverse.gif b/static/images/88x31/fediverse.gif
new file mode 100644
index 0000000..6ad64ff
Binary files /dev/null and b/static/images/88x31/fediverse.gif differ
diff --git a/static/images/88x31/fedora.gif b/static/images/88x31/fedora.gif
new file mode 100644
index 0000000..5953e46
Binary files /dev/null and b/static/images/88x31/fedora.gif differ
diff --git a/static/images/88x31/fedora2.gif b/static/images/88x31/fedora2.gif
new file mode 100644
index 0000000..0581d69
Binary files /dev/null and b/static/images/88x31/fedora2.gif differ
diff --git a/static/images/88x31/ffrediscover.gif b/static/images/88x31/ffrediscover.gif
new file mode 100644
index 0000000..432edc4
Binary files /dev/null and b/static/images/88x31/ffrediscover.gif differ
diff --git a/static/images/88x31/fftake.gif b/static/images/88x31/fftake.gif
new file mode 100644
index 0000000..7a86d07
Binary files /dev/null and b/static/images/88x31/fftake.gif differ
diff --git a/static/images/88x31/fic005.gif b/static/images/88x31/fic005.gif
new file mode 100644
index 0000000..4988165
Binary files /dev/null and b/static/images/88x31/fic005.gif differ
diff --git a/static/images/88x31/fic009.gif b/static/images/88x31/fic009.gif
new file mode 100644
index 0000000..647ff7f
Binary files /dev/null and b/static/images/88x31/fic009.gif differ
diff --git a/static/images/88x31/filetransit.gif b/static/images/88x31/filetransit.gif
new file mode 100644
index 0000000..f6e7f12
Binary files /dev/null and b/static/images/88x31/filetransit.gif differ
diff --git a/static/images/88x31/fpobutton.gif b/static/images/88x31/fpobutton.gif
new file mode 100644
index 0000000..c4252c7
Binary files /dev/null and b/static/images/88x31/fpobutton.gif differ
diff --git a/static/images/88x31/get_da.gif b/static/images/88x31/get_da.gif
new file mode 100644
index 0000000..dae4e03
Binary files /dev/null and b/static/images/88x31/get_da.gif differ
diff --git a/static/images/88x31/google_25wht.gif b/static/images/88x31/google_25wht.gif
new file mode 100644
index 0000000..28f6fdc
Binary files /dev/null and b/static/images/88x31/google_25wht.gif differ
diff --git a/static/images/88x31/google_stand.gif b/static/images/88x31/google_stand.gif
new file mode 100644
index 0000000..08ffd8b
Binary files /dev/null and b/static/images/88x31/google_stand.gif differ
diff --git a/static/images/88x31/hotgraphics.gif b/static/images/88x31/hotgraphics.gif
new file mode 100644
index 0000000..2ea566c
Binary files /dev/null and b/static/images/88x31/hotgraphics.gif differ
diff --git a/static/images/88x31/hotmail2.gif b/static/images/88x31/hotmail2.gif
new file mode 100644
index 0000000..f723b79
Binary files /dev/null and b/static/images/88x31/hotmail2.gif differ
diff --git a/static/images/88x31/ipv6.gif b/static/images/88x31/ipv6.gif
new file mode 100644
index 0000000..3c17939
Binary files /dev/null and b/static/images/88x31/ipv6.gif differ
diff --git a/static/images/88x31/latex.gif b/static/images/88x31/latex.gif
new file mode 100644
index 0000000..ac68f8d
Binary files /dev/null and b/static/images/88x31/latex.gif differ
diff --git a/static/images/88x31/ldp-link.gif b/static/images/88x31/ldp-link.gif
new file mode 100644
index 0000000..940cac2
Binary files /dev/null and b/static/images/88x31/ldp-link.gif differ
diff --git a/static/images/88x31/macos.gif b/static/images/88x31/macos.gif
new file mode 100644
index 0000000..52d3f72
Binary files /dev/null and b/static/images/88x31/macos.gif differ
diff --git a/static/images/88x31/macos_mov.gif b/static/images/88x31/macos_mov.gif
new file mode 100644
index 0000000..48e82c4
Binary files /dev/null and b/static/images/88x31/macos_mov.gif differ
diff --git a/static/images/88x31/masto.gif b/static/images/88x31/masto.gif
new file mode 100644
index 0000000..8597dab
Binary files /dev/null and b/static/images/88x31/masto.gif differ
diff --git a/static/images/88x31/microsoft_frontpage.gif b/static/images/88x31/microsoft_frontpage.gif
new file mode 100644
index 0000000..18f28de
Binary files /dev/null and b/static/images/88x31/microsoft_frontpage.gif differ
diff --git a/static/images/88x31/minecraft.gif b/static/images/88x31/minecraft.gif
new file mode 100644
index 0000000..a149b45
Binary files /dev/null and b/static/images/88x31/minecraft.gif differ
diff --git a/static/images/88x31/nobelief.gif b/static/images/88x31/nobelief.gif
new file mode 100644
index 0000000..2f0e1f9
Binary files /dev/null and b/static/images/88x31/nobelief.gif differ
diff --git a/static/images/88x31/noodle.gif b/static/images/88x31/noodle.gif
new file mode 100644
index 0000000..882fa97
Binary files /dev/null and b/static/images/88x31/noodle.gif differ
diff --git a/static/images/88x31/now.gif b/static/images/88x31/now.gif
new file mode 100644
index 0000000..1247e08
Binary files /dev/null and b/static/images/88x31/now.gif differ
diff --git a/static/images/88x31/nvidia.gif b/static/images/88x31/nvidia.gif
new file mode 100644
index 0000000..81d5921
Binary files /dev/null and b/static/images/88x31/nvidia.gif differ
diff --git a/static/images/88x31/oldos.png b/static/images/88x31/oldos.png
new file mode 100644
index 0000000..4651c73
Binary files /dev/null and b/static/images/88x31/oldos.png differ
diff --git a/static/images/88x31/penguin.gif b/static/images/88x31/penguin.gif
new file mode 100644
index 0000000..97e71e0
Binary files /dev/null and b/static/images/88x31/penguin.gif differ
diff --git a/static/images/88x31/psbutton.gif b/static/images/88x31/psbutton.gif
new file mode 100644
index 0000000..a4d8c38
Binary files /dev/null and b/static/images/88x31/psbutton.gif differ
diff --git a/static/images/88x31/pyurk.gif b/static/images/88x31/pyurk.gif
new file mode 100644
index 0000000..ee34f99
Binary files /dev/null and b/static/images/88x31/pyurk.gif differ
diff --git a/static/images/88x31/vilogo.gif b/static/images/88x31/vilogo.gif
new file mode 100644
index 0000000..98289d7
Binary files /dev/null and b/static/images/88x31/vilogo.gif differ
diff --git a/static/images/88x31/vim.gif b/static/images/88x31/vim.gif
new file mode 100644
index 0000000..84baf9a
Binary files /dev/null and b/static/images/88x31/vim.gif differ
diff --git a/static/images/88x31/volta.gif b/static/images/88x31/volta.gif
new file mode 100644
index 0000000..2616771
Binary files /dev/null and b/static/images/88x31/volta.gif differ
diff --git a/static/images/88x31/wbbhosting.gif b/static/images/88x31/wbbhosting.gif
new file mode 100644
index 0000000..b72e71e
Binary files /dev/null and b/static/images/88x31/wbbhosting.gif differ
diff --git a/static/images/88x31/web3.gif b/static/images/88x31/web3.gif
new file mode 100644
index 0000000..4f5a2f1
Binary files /dev/null and b/static/images/88x31/web3.gif differ
diff --git a/static/images/88x31/wrongcode.gif b/static/images/88x31/wrongcode.gif
new file mode 100644
index 0000000..61e4a24
Binary files /dev/null and b/static/images/88x31/wrongcode.gif differ
diff --git a/static/images/grunge.png b/static/images/grunge.png
new file mode 100644
index 0000000..21cfecf
Binary files /dev/null and b/static/images/grunge.png differ
diff --git a/static/main.css b/static/main.css
index 2709714..7af4a3d 100644
--- a/static/main.css
+++ b/static/main.css
@@ -228,6 +228,10 @@ aside.metromenu #content {
gap: 1em;
}
+footer a {
+ font-size: small;
+}
+
/* Global classes and IDs */
.nomargin {
@@ -701,6 +705,22 @@ div.hs.selected {
gap: 1em;
}
+.webringGeneric {
+ background-color: black;
+ padding: .4em;
+ background-position-x: 0;
+ background-size: cover;
+}
+
+.webringButtons {
+ display: flex;
+ gap: .4em;
+}
+
+.wrongoLink {
+ color: #D5E7B5;
+}
+
#breakcoreWebring {
background-position-x: 0;
background-size: cover;
@@ -819,12 +839,27 @@ header div:first-child {
display: flex;
}
+#homeAside {
+ margin-bottom: 2em;
+}
+
#homeWebrings {
display: flex;
flex-direction: column;
gap: 1em;
height: fit-content;
- margin-bottom: 2em;
+}
+
+#homeBlog p {
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ line-clamp: 1;
+ -webkit-box-orient: vertical;
+}
+
+#homeBlog a {
+ color: white;
}
#telnetSimulation {