From 2c83b9d5b80bccfa8abd9c46e79a4920866eccde Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 12:31:12 +0200 Subject: [PATCH 01/27] contrib/html: enclose content in span tag with class --- contrib/html.sh.d/foot.html | 1 + contrib/html.sh.d/head.html | 1 + 2 files changed, 2 insertions(+) diff --git a/contrib/html.sh.d/foot.html b/contrib/html.sh.d/foot.html index 9e28e115..f7c0b83b 100644 --- a/contrib/html.sh.d/foot.html +++ b/contrib/html.sh.d/foot.html @@ -1,3 +1,4 @@ +

RouterOS Scripts documentation generated on __DATE__ for __VERSION__
Copyright © 2013-2026 Christian Hesse <mail@eworm.de>

diff --git a/contrib/html.sh.d/head.html b/contrib/html.sh.d/head.html index 656a63c0..0c993b1c 100644 --- a/contrib/html.sh.d/head.html +++ b/contrib/html.sh.d/head.html @@ -14,3 +14,4 @@
+ From 3395d0b5fb759f262ba9fc05d05e06461eee19e4 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 14:58:38 +0200 Subject: [PATCH 02/27] contrib/html: give the head table a class --- contrib/html.sh.d/head.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/html.sh.d/head.html b/contrib/html.sh.d/head.html index 0c993b1c..8621350c 100644 --- a/contrib/html.sh.d/head.html +++ b/contrib/html.sh.d/head.html @@ -6,7 +6,7 @@ - +
eworm on meadow QR code: rsc.eworm.de RouterOS Scripts
From d75da3e5f54d7f0a9634eee22ee156ff421ae257 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:18:02 +0200 Subject: [PATCH 03/27] README: start image alt text with 'notification:' or 'screenshot:' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7143ddf..6a0d1d89 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ everything is up-to-date it will not produce any output. If the update includes news or requires configuration changes a notification is sent - in addition to terminal output and log messages. -![news and changes notification](README.d/notification-news-and-changes.avif) +![notification: news and changes](README.d/notification-news-and-changes.avif) Adding a script --------------- From 85823338abdbb85da1e5197d52a7f1a07b030822 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:26:21 +0200 Subject: [PATCH 04/27] doc/backup-cloud: start image alt text with 'notification:' or 'screenshot:' --- doc/backup-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/backup-cloud.md b/doc/backup-cloud.md index dcbd0f75..05187652 100644 --- a/doc/backup-cloud.md +++ b/doc/backup-cloud.md @@ -26,7 +26,7 @@ This script uploads ### Sample notification -![backup-cloud notification](backup-cloud.d/notification.avif) +![notification: backup-cloud](backup-cloud.d/notification.avif) Requirements and installation ----------------------------- From d12282e3b5fe633d706b7fd603ba59d0cfca300f Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:26:32 +0200 Subject: [PATCH 05/27] doc/backup-upload: start image alt text with 'notification:' or 'screenshot:' --- doc/backup-upload.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/backup-upload.md b/doc/backup-upload.md index bbf5227b..eb79671b 100644 --- a/doc/backup-upload.md +++ b/doc/backup-upload.md @@ -26,7 +26,7 @@ configuration export (`/export terse show-sensitive`) to external server. ### Sample notification -![backup-upload notification](backup-upload.d/notification.avif) +![notification: backup-upload](backup-upload.d/notification.avif) Requirements and installation ----------------------------- From c132bdf32983769fc91fccbd930a370e7da1837f Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:30:52 +0200 Subject: [PATCH 06/27] doc/check-certificates: start image alt text with 'notification:' or 'screenshot:' --- doc/check-certificates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/check-certificates.md b/doc/check-certificates.md index c6db7c88..c4df2ba1 100644 --- a/doc/check-certificates.md +++ b/doc/check-certificates.md @@ -21,8 +21,8 @@ certificates that are still about to expire. ### Sample notifications -![check-certificates notification warning](check-certificates.d/notification-01-warn.avif) -![check-certificates notification renew](check-certificates.d/notification-02-renew.avif) +![notification: check-certificates warning](check-certificates.d/notification-01-warn.avif) +![notification: check-certificates renew](check-certificates.d/notification-02-renew.avif) Requirements and installation ----------------------------- From 661d48dc93fd6ecf809b5da2601aba9dadfe148a Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:36:08 +0200 Subject: [PATCH 07/27] doc/check-health: start image alt text with 'notification:' or 'screenshot:' --- doc/check-health.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/check-health.md b/doc/check-health.md index d67a3dde..8ec79f5e 100644 --- a/doc/check-health.md +++ b/doc/check-health.md @@ -40,27 +40,27 @@ sensors available in hardware: #### CPU utilization -![check-health notification cpu utilization high](check-health.d/notification-01-cpu-utilization-high.avif) -![check-health notification cpu utilization ok](check-health.d/notification-02-cpu-utilization-ok.avif) +![notification: check-health cpu utilization high](check-health.d/notification-01-cpu-utilization-high.avif) +![notification: check-health cpu utilization ok](check-health.d/notification-02-cpu-utilization-ok.avif) #### RAM utilization (low available RAM) -![check-health notification ram utilization high](check-health.d/notification-03-ram-utilization-high.avif) -![check-health notification ram utilization ok](check-health.d/notification-04-ram-utilization-ok.avif) +![notification: check-health ram utilization high](check-health.d/notification-03-ram-utilization-high.avif) +![notification: check-health ram utilization ok](check-health.d/notification-04-ram-utilization-ok.avif) #### Voltage -![check-health notification voltage](check-health.d/notification-05-voltage.avif) +![notification: check-health voltage](check-health.d/notification-05-voltage.avif) #### Temperature -![check-health notification temperature high](check-health.d/notification-06-temperature-high.avif) -![check-health notification temperature ok](check-health.d/notification-07-temperature-ok.avif) +![notification: check-health temperature high](check-health.d/notification-06-temperature-high.avif) +![notification: check-health temperature ok](check-health.d/notification-07-temperature-ok.avif) #### PSU state -![check-health notification state fail](check-health.d/notification-08-state-fail.avif) -![check-health notification state ok](check-health.d/notification-09-state-ok.avif) +![notification: check-health state fail](check-health.d/notification-08-state-fail.avif) +![notification: check-health state ok](check-health.d/notification-09-state-ok.avif) Requirements and installation ----------------------------- From 418d4184356e1563f7e4ba040829b7e61dc1d561 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:31:30 +0200 Subject: [PATCH 08/27] doc/check-lte-firmware-upgrade: start image alt text with 'notification:' or 'screenshot:' --- doc/check-lte-firmware-upgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/check-lte-firmware-upgrade.md b/doc/check-lte-firmware-upgrade.md index 37ca4896..0731b7a3 100644 --- a/doc/check-lte-firmware-upgrade.md +++ b/doc/check-lte-firmware-upgrade.md @@ -26,7 +26,7 @@ upgrades. Currently supported LTE hardware: ### Sample notification -![check-lte-firmware-upgrade notification](check-lte-firmware-upgrade.d/notification.avif) +![notification: check-lte-firmware-upgrade](check-lte-firmware-upgrade.d/notification.avif) Requirements and installation ----------------------------- From 23a05be38b86da8a62d413ab42002e011ce07590 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:21:51 +0200 Subject: [PATCH 09/27] doc/check-perpetual-license: start image alt text with 'notification:' or 'screenshot:' --- doc/check-perpetual-license.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/check-perpetual-license.md b/doc/check-perpetual-license.md index de91eeb5..155f56f6 100644 --- a/doc/check-perpetual-license.md +++ b/doc/check-perpetual-license.md @@ -22,8 +22,8 @@ and sends a notification to warn before expiration. ### Sample notifications -![check-perpetual-license notification warn](check-perpetual-license.d/notification-01-warn.avif) -![check-perpetual-license notification renew](check-perpetual-license.d/notification-02-renew.avif) +![notification: check-perpetual-license warn](check-perpetual-license.d/notification-01-warn.avif) +![notification: check-perpetual-license renew](check-perpetual-license.d/notification-02-renew.avif) Requirements and installation ----------------------------- From 7f50307f60a9025594a6a159ca77e1d5e9d6d295 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:24:28 +0200 Subject: [PATCH 10/27] doc/check-routeros-update: start image alt text with 'notification:' or 'screenshot:' --- doc/check-routeros-update.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/check-routeros-update.md b/doc/check-routeros-update.md index 18ad444a..120c9b91 100644 --- a/doc/check-routeros-update.md +++ b/doc/check-routeros-update.md @@ -37,8 +37,8 @@ automatically is supported. ### Sample notifications -![check-routeros-update notification found](check-routeros-update.d/notification-01-found.avif) -![check-routeros-update notification neighbor](check-routeros-update.d/notification-02-neighbor.avif) +![notification: check-routeros-update found](check-routeros-update.d/notification-01-found.avif) +![notification: check-routeros-update neighbor](check-routeros-update.d/notification-02-neighbor.avif) Requirements and installation ----------------------------- @@ -88,7 +88,7 @@ Be notified when run from scheduler or run it manually: If an update is found you can install it right away. -![Terminal](check-routeros-update.d/terminal.avif) +![screenshot: terminal](check-routeros-update.d/terminal.avif) Installing script [packages-update](packages-update.md) gives extra options. From 833b6aba9a1cedbeb0151daddfbd177deb49fcd0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:28:07 +0200 Subject: [PATCH 11/27] doc/collect-wireless-mac: start image alt text with 'notification:' or 'screenshot:' --- doc/collect-wireless-mac.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/collect-wireless-mac.md b/doc/collect-wireless-mac.md index 96b314e1..dbf24c02 100644 --- a/doc/collect-wireless-mac.md +++ b/doc/collect-wireless-mac.md @@ -24,7 +24,7 @@ and modify it to your needs. ### Sample notification -![collect-wireless-mac notification](collect-wireless-mac.d/notification.avif) +![notification: collect-wireless-mac](collect-wireless-mac.d/notification.avif) Requirements and installation ----------------------------- From 8e2d06ef2e1303319b4bdc345b901fcbe6629e52 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:25:09 +0200 Subject: [PATCH 12/27] doc/daily-psk: start image alt text with 'notification:' or 'screenshot:' --- doc/daily-psk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/daily-psk.md b/doc/daily-psk.md index 7ddb4d98..de3b5092 100644 --- a/doc/daily-psk.md +++ b/doc/daily-psk.md @@ -21,7 +21,7 @@ passphrase to a pseudo-random string daily. ### Sample notification -![daily-psk notification](daily-psk.d/notification.avif) +![notification: daily-psk](daily-psk.d/notification.avif) Requirements and installation ----------------------------- From 2b0bea31f5c3d2cb7a7925752b1870c2b1fc08dd Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:19:40 +0200 Subject: [PATCH 13/27] doc/log-forward: start image alt text with 'notification:' or 'screenshot:' --- doc/log-forward.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/log-forward.md b/doc/log-forward.md index 7bee120f..8dc3e192 100644 --- a/doc/log-forward.md +++ b/doc/log-forward.md @@ -37,8 +37,8 @@ log messages and forwards them via notification. ### Sample notifications -![log-forward notification info](log-forward.d/notification-01-info.avif) -![log-forward notification warn](log-forward.d/notification-02-warn.avif) +![notification: log-forward info](log-forward.d/notification-01-info.avif) +![notification: log-forward warn](log-forward.d/notification-02-warn.avif) Requirements and installation ----------------------------- From 36e611be7ae76fb1b97dd34683ed63db79eeb5e0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:35:23 +0200 Subject: [PATCH 14/27] doc/mod/inspectvar: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/inspectvar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/mod/inspectvar.md b/doc/mod/inspectvar.md index 28032651..526f51e1 100644 --- a/doc/mod/inspectvar.md +++ b/doc/mod/inspectvar.md @@ -33,7 +33,7 @@ Call the function `$InspectVar` with a variable as parameter: $InspectVar $ModeButton; -![InspectVar](inspectvar.d/01-inspectvar.avif) +![screenshot: InspectVar](inspectvar.d/01-inspectvar.avif) --- [⬅️ Go back to main README](../../README.md) From 8df5d9a732455cd115013e072aeed280641de9f9 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:28:51 +0200 Subject: [PATCH 15/27] doc/mod/ipcalc: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/ipcalc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/mod/ipcalc.md b/doc/mod/ipcalc.md index c393ec3a..552860be 100644 --- a/doc/mod/ipcalc.md +++ b/doc/mod/ipcalc.md @@ -43,7 +43,7 @@ It expects an IP address in CIDR notation as argument. $IPCalc 192.168.88.1/24; -![IPCalc](ipcalc.d/01-ipcalc.avif) +![screenshot: IPCalc](ipcalc.d/01-ipcalc.avif) ### IPCalcReturn @@ -53,7 +53,7 @@ the information in a named array. :put ([ $IPCalcReturn 192.168.88.1/24 ]->"broadcast"); -![IPCalcReturn](ipcalc.d/02-ipcalcreturn.avif) +![screenshot: IPCalcReturn](ipcalc.d/02-ipcalcreturn.avif) --- [⬅️ Go back to main README](../../README.md) From 16844294c451c5a034a673dce827df578622802c Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:30:06 +0200 Subject: [PATCH 16/27] doc/mod/notification-gotify: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/notification-gotify.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/mod/notification-gotify.md b/doc/mod/notification-gotify.md index 7482ba72..45776286 100644 --- a/doc/mod/notification-gotify.md +++ b/doc/mod/notification-gotify.md @@ -38,7 +38,7 @@ and the [First Login ↗️](https://gotify.net/docs/first-login) setup. Once you have a user and account you can start creating apps. Each app is an independent notification feed for a device or application. -![Create new app](notification-gotify.d/appsetup.avif) +![screenshot: Create new app](notification-gotify.d/appsetup.avif) On creation apps are assigned a *Token* for authentification, you will need that in configuration. From bc002809d6a2fd3a5aa536397a8a5f0dc465b4b5 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:34:02 +0200 Subject: [PATCH 17/27] doc/mod/notification-matrix: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/notification-matrix.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/mod/notification-matrix.md b/doc/mod/notification-matrix.md index 60001416..f9cd4ddf 100644 --- a/doc/mod/notification-matrix.md +++ b/doc/mod/notification-matrix.md @@ -74,7 +74,7 @@ and write first part of the configuration: $SetupMatrixAuthenticate "@example:matrix.org" "v3ry-s3cr3t"; -![authenticate](notification-matrix.d/01-authenticate.avif) +![screenshot: authenticate](notification-matrix.d/01-authenticate.avif) The configuration is written to a new configuration snippet `global-config-overlay.d/mod/notification-matrix`. @@ -94,7 +94,7 @@ the invite. $SetupMatrixJoinRoom "!WUcxpSjKyxSGelouhA:matrix.org"; -![join room](notification-matrix.d/02-join-room.avif) +![screenshot: join room](notification-matrix.d/02-join-room.avif) The configuration is appended to the configuration snippet `global-config-overlay.d/mod/notification-matrix`. From 44afc407fb3a72d4193f1a8f18e60e7bc587f1a8 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:34:53 +0200 Subject: [PATCH 18/27] doc/mod/notification-telegram: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/notification-telegram.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/mod/notification-telegram.md b/doc/mod/notification-telegram.md index 1d2cec8c..8d485801 100644 --- a/doc/mod/notification-telegram.md +++ b/doc/mod/notification-telegram.md @@ -36,7 +36,7 @@ Configuration Open Telegram, then start a chat with [BotFather ↗️](https://t.me/BotFather) and create your own bot: -![create new bot](notification-telegram.d/01-newbot.avif) +![screenshot: create new bot](notification-telegram.d/01-newbot.avif) Set that token from *BotFather* (use your own!) to `TelegramTokenId`, for now just temporarily: @@ -49,7 +49,7 @@ then send your first message. Any text will do. On your device run $GetTelegramChatId; -![get chat id](notification-telegram.d/02-getchatid.avif) +![screenshot: get chat id](notification-telegram.d/02-getchatid.avif) Finally edit `global-config-overlay`, add `TelegramTokenId` with the token from *BotFather* and `TelegramChatId` with your retrieved chat id. Then @@ -104,7 +104,7 @@ Tips & Tricks You can use a profile photo for your bot to make it recognizable. Open the chat with [BotFather ↗️](https://t.me/BotFather) and set it there. -![set profile photo](notification-telegram.d/03-setuserpic.avif) +![screenshot: set profile photo](notification-telegram.d/03-setuserpic.avif) Have a look at my [Logo Color Changer](../../contrib/logo-color.html) to create a colored version of this scripts' logo. From 53a4eb27d565b23a05fbe3440a16f715513bfab7 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:29:22 +0200 Subject: [PATCH 19/27] doc/mod/scriptrunonce: start image alt text with 'notification:' or 'screenshot:' --- doc/mod/scriptrunonce.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/mod/scriptrunonce.md b/doc/mod/scriptrunonce.md index e960d767..69c6964b 100644 --- a/doc/mod/scriptrunonce.md +++ b/doc/mod/scriptrunonce.md @@ -50,7 +50,7 @@ The function `$ScriptRunOnce` expects an URL (or name if $ScriptRunOnce https://rsc.eworm.de/main/doc/mod/scriptrunonce.d/hello-world.rsc; -![ScriptRunOnce](scriptrunonce.d/01-scriptrunonce.avif) +![screenshot: ScriptRunOnce](scriptrunonce.d/01-scriptrunonce.avif) Giving multiple scripts is possible, separated by comma. From cfddf5fc5428c805f3cd3d5efd44f81d3a46846e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:27:26 +0200 Subject: [PATCH 20/27] doc/netwatch-notify: start image alt text with 'notification:' or 'screenshot:' --- doc/netwatch-notify.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/netwatch-notify.md b/doc/netwatch-notify.md index 70d6fe03..c1f5a04b 100644 --- a/doc/netwatch-notify.md +++ b/doc/netwatch-notify.md @@ -24,8 +24,8 @@ optional parent host is not down to avoid false alerts. ### Sample notifications -![netwatch-notify notification down](netwatch-notify.d/notification-01-down.avif) -![netwatch-notify notification up](netwatch-notify.d/notification-02-up.avif) +![notification: netwatch-notify down](netwatch-notify.d/notification-01-down.avif) +![notification: netwatch-notify up](netwatch-notify.d/notification-02-up.avif) Requirements and installation ----------------------------- From 4d5c222a87d1ecc3eec5a7d87b5102e93ea26272 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:23:12 +0200 Subject: [PATCH 21/27] doc/sms-forward: start image alt text with 'notification:' or 'screenshot:' --- doc/sms-forward.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sms-forward.md b/doc/sms-forward.md index 5f038926..75e171ab 100644 --- a/doc/sms-forward.md +++ b/doc/sms-forward.md @@ -22,7 +22,7 @@ A broadband interface with SMS support is required. ### Sample notification -![sms-forward notification](sms-forward.d/notification.avif) +![notification: sms-forward](sms-forward.d/notification.avif) Requirements and installation ----------------------------- From 37e5a98dbc766c92e0ad931c59d244d7e438406e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:22:43 +0200 Subject: [PATCH 22/27] doc/telegram-chat: start image alt text with 'notification:' or 'screenshot:' --- doc/telegram-chat.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/telegram-chat.md b/doc/telegram-chat.md index 51cd3d6a..8988db2f 100644 --- a/doc/telegram-chat.md +++ b/doc/telegram-chat.md @@ -61,13 +61,13 @@ containing `! identity` (exclamation mark, optional space and system's identity). To query all dynamic ip addresses form a device named "*MikroTik*" send `! MikroTik`, followed by `/ip/address/print where dynamic;`. -![chat to specific device](telegram-chat.d/01-chat-specific.avif) +![screenshot: chat to specific device](telegram-chat.d/01-chat-specific.avif) Devices can be grouped to chat with them simultaneously. The default group "*all*" can be activated by sending `! @all`, which will make all devices act on your commands. -![chat to all devices](telegram-chat.d/02-chat-all.avif) +![screenshot: chat to all devices](telegram-chat.d/02-chat-all.avif) Send a single exclamation mark or non-existent identity to make all devices passive again. @@ -78,7 +78,7 @@ Let's assume you received a message from a device before, and want to send a command to that device. No need to activate it, you can just reply to that message. -![reply to message](telegram-chat.d/03-reply.avif) +![screenshot: reply to message](telegram-chat.d/03-reply.avif) Associated messages are cleared on device reboot. From 7dc7af8907d017e1f691233d5b3f4a88c5751f9d Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:41:21 +0200 Subject: [PATCH 23/27] contrib/html: add a class and shadow for notifications --- contrib/html.sh | 1 + general/style.css | 3 +++ 2 files changed, 4 insertions(+) diff --git a/contrib/html.sh b/contrib/html.sh index adacbbb8..5ac84c25 100755 --- a/contrib/html.sh +++ b/contrib/html.sh @@ -17,6 +17,7 @@ markdown -f toc,idanchor "${1}" | sed \ -e '//s|pre|pre class="code" onclick="CopyToClipboard(this)"|g' \ + -e '/notification: .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ -e '/The above link may be broken on code hosting sites/s|blockquote|blockquote style="display: none;"|' sed \ diff --git a/general/style.css b/general/style.css index c3e86901..f1d1c41c 100644 --- a/general/style.css +++ b/general/style.css @@ -42,6 +42,9 @@ div.content { hr { clear: both; } +img.notification { + box-shadow: 3px 3px 7px rgba(100,100,100,0.7); +} img.logo { float: left; /* border-radius: 50%; */ From 09a93fda5ee83d6fcaa625b81e9d86a06433224b Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:43:37 +0200 Subject: [PATCH 24/27] contrib/html: add class and shadow for screenshots --- contrib/html.sh | 2 +- general/style.css | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/html.sh b/contrib/html.sh index 5ac84c25..64c2ac44 100755 --- a/contrib/html.sh +++ b/contrib/html.sh @@ -17,7 +17,7 @@ markdown -f toc,idanchor "${1}" | sed \ -e '//s|pre|pre class="code" onclick="CopyToClipboard(this)"|g' \ - -e '/notification: .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ + -e '/\(notification\|screenshot\): .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ -e '/The above link may be broken on code hosting sites/s|blockquote|blockquote style="display: none;"|' sed \ diff --git a/general/style.css b/general/style.css index f1d1c41c..2021b8ce 100644 --- a/general/style.css +++ b/general/style.css @@ -45,6 +45,9 @@ hr { img.notification { box-shadow: 3px 3px 7px rgba(100,100,100,0.7); } +img.screenshot { + box-shadow: 3px 3px 7px rgba(100,100,100,0.7); +} img.logo { float: left; /* border-radius: 50%; */ From ac2230f53da4076adf5a8bfef6f302a9b9ae3b83 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 13:44:42 +0200 Subject: [PATCH 25/27] general/style: add shadow for code blocks --- general/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/general/style.css b/general/style.css index 2021b8ce..f561766f 100644 --- a/general/style.css +++ b/general/style.css @@ -72,6 +72,7 @@ pre { pre.code { background-color: #f8f8f8; border: 1px solid #ccc; + box-shadow: 3px 3px 7px rgba(100,100,100,0.7); overflow: auto; padding: 6px 10px; border-radius: 3px; From 0e5c07e34484d29234a0ef7d59b24e818a1722f0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 15:11:41 +0200 Subject: [PATCH 26/27] contrib/html: support any class name from image alt text --- contrib/html.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/html.sh b/contrib/html.sh index 64c2ac44..0fca66ee 100755 --- a/contrib/html.sh +++ b/contrib/html.sh @@ -17,7 +17,7 @@ markdown -f toc,idanchor "${1}" | sed \ -e '//s|pre|pre class="code" onclick="CopyToClipboard(this)"|g' \ - -e '/\(notification\|screenshot\): .*/s|alt="\(.*\):|class="\1" alt="\1:|' \ + -e '/[a-z]\+: .*/s|alt="\([a-z]\+\):|class="\1" alt="\1:|' \ -e '/The above link may be broken on code hosting sites/s|blockquote|blockquote style="display: none;"|' sed \ From fa1e86169d17ddc3b02702c4581b4e3c19ba9fc9 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 19 May 2026 15:15:55 +0200 Subject: [PATCH 27/27] contrib/logo-color: add class (and shadow) for screenshots --- contrib/logo-color.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/logo-color.html b/contrib/logo-color.html index c39a20b8..e369694f 100644 --- a/contrib/logo-color.html +++ b/contrib/logo-color.html @@ -40,9 +40,9 @@ something that differentiates? Color it!

Then right-click, click "Take Screenshot" and finally select the logo and download it.

-

Screenshot Browser 01

-

Screenshot Browser 02

-

Screenshot Browser 03

+

screenshot: browser 01

+

screenshot: browser 02

+

screenshot: browser 03

(This example is with Mozilla Firefox ↗️. The workflow