Merge branch 'contrib' into next

This commit is contained in:
Christian Hesse 2025-10-29 15:57:27 +01:00
commit 049f4ea608
9 changed files with 126 additions and 85 deletions

1
.gitignore vendored
View file

@ -7,6 +7,7 @@
*.rej *.rej
# html files (as generated from markdown) # html files (as generated from markdown)
style.css
*.html *.html
# checksums file as used by $ScriptInstallUpdate # checksums file as used by $ScriptInstallUpdate

View file

@ -7,11 +7,14 @@ LOCAL = $(wildcard *.local.rsc)
WIFI = $(wildcard *.wifi.rsc) WIFI = $(wildcard *.wifi.rsc)
MARKDOWN = $(wildcard *.md doc/*.md doc/mod/*.md) MARKDOWN = $(wildcard *.md doc/*.md doc/mod/*.md)
HTML = $(MARKDOWN:.md=.html) HTML = $(MARKDOWN:.md=.html) style.css
all: $(CAPSMAN) $(LOCAL) $(WIFI) $(HTML) checksums.json all: $(CAPSMAN) $(LOCAL) $(WIFI) $(HTML) checksums.json
%.html: %.md contrib/html.sh contrib/html.sh.d/head.html style.css: contrib/general/style.css
cp $< $@
%.html: %.md style.css contrib/html.sh contrib/html.sh.d/head.html
contrib/html.sh $< > $@ contrib/html.sh $< > $@
%.capsman.rsc: %.template.rsc Makefile %.capsman.rsc: %.template.rsc Makefile

75
contrib/general/style.css Normal file
View file

@ -0,0 +1,75 @@
/* stylesheet for RouterOS Scripts */
body {
font-family: fira-sans, sans-serif;
font-size: 10pt;
background-color: transparent;
}
@media only screen and (orientation: landscape) {
body {
margin-left: 10vw;
margin-right: 10vw;
}
}
h2 {
border-bottom: 1px solid #ccc;
color: #000;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
blockquote {
border-left: 4px solid #ccc;
padding: 0 10px;
color: #777;
}
code {
margin: 0 2px;
padding: 2px 5px;
border: 1px solid #ccc;
background-color: #f8f8f8;
border-radius: 3px;
}
div.notification {
position: relative;
float: right;
width: 600px;
border: 3px outset #6c5d53;
/* border-radius: 5px; */
padding: 10px;
background-color: #e6e6e6;
}
div.content {
padding-left: 60px;
}
img.logo {
float: left;
border-radius: 50%;
}
p.heading {
margin: 0px;
font-weight: bold;
text-decoration: underline;
}
p.hint {
display: none;
}
pre {
font-family: fira-mono, monospace;
white-space: pre-wrap;
background-color: #f8f8f8;
border: 1px solid #ccc;
overflow: auto;
padding: 6px 10px;
border-radius: 3px;
}
pre code {
margin: 0;
padding: 0;
border: 0;
}
span.link {
color: #863600;
}

View file

@ -2,8 +2,14 @@
set -e set -e
sed "s|__TITLE__|$(head -n1 "${1}")|" < "${0}.d/head.html" RELTO="$(dirname "${1}")"
sed \
-e "s|__TITLE__|$(head -n1 "${1}")|" \
-e "s|__STYLE__|$(realpath --relative-to="${RELTO}" style.css)|" \
-e "s|__LOGO__|$(realpath --relative-to="${RELTO}" logo.png)|" \
< "${0}.d/head.html"
markdown -f toc,idanchor "${1}" | sed \ markdown -f toc,idanchor "${1}" | sed \
-e 's/href="\([-_\./[:alnum:]]*\)\.md"/href="\1.html"/g' \ -e 's/href="\([-_\./[:alnum:]]*\)\.md\(#[-[:alnum:]]*\)\?"/href="\1.html\2"/g' \
-e '/<h[1234] /s| id="\(.*\)">| id="\L\1">|' -e '/<h[1234] /s| id="\(.*\)">| id="\L\1">|' \
-e '/<h[1234] /s|-2c-||'
printf '</body></html>' printf '</body></html>'

View file

@ -1,15 +1,6 @@
<!DOCTYPE html><html lang="en"> <!DOCTYPE html><html lang="en">
<head><title>RouterOS Scripts :: __TITLE__</title> <head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>RouterOS Scripts :: __TITLE__</title>
<style> <link rel="stylesheet" type="text/css" href="__STYLE__">
body { font-family: sans-serif; } <link rel="icon" type="image/png" href="__LOGO__">
h2 { border-bottom: 1px solid #ccc; color: #000; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
blockquote { border-left: 4px solid #ccc; padding: 0 10px; color: #777; }
code { margin: 0 2px; padding: 2px 5px; border: 1px solid #ccc; background-color: #f8f8f8; border-radius: 3px; }
pre { background-color: #f8f8f8; border: 1px solid #ccc; overflow: auto; padding: 6px 10px; border-radius: 3px; }
pre code { margin: 0; padding: 0; border: 0; }
</style>
<link rel="icon" href="/logo.png" type="image/png">
</head><body> </head><body>

View file

@ -1,5 +0,0 @@
body {
font-family: fira-sans, sans-serif;
font-size: 10pt;
background-color: transparent;
}

View file

@ -1,14 +1,14 @@
<!DOCTYPE html> <!DOCTYPE html><html lang="en">
<html lang="en"> <head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<head> <title>RouterOS Scripts :: Logo Color Changer</title>
<meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="general/style.css">
<title>RouterOS-Scripts Logo Color Changer</title> <link rel="icon" type="image/png" href="../logo.png">
<link rel="stylesheet" type="text/css" href="logo-color.d/style.css">
<script src="logo-color.d/script.js"></script> <script src="logo-color.d/script.js"></script>
</head> </head><body>
<body>
<h1>RouterOS-Scripts Logo Color Changer</h1> <h1>Logo Color Changer</h1>
<p><a href="../README.html">⬅️ Go back to main README</a></p>
<p>You want the logo for your own notifications? But you joined the <p>You want the logo for your own notifications? But you joined the
<a href="https://t.me/routeros_scripts">Telegram Group</a> and want <a href="https://t.me/routeros_scripts">Telegram Group</a> and want
@ -36,5 +36,8 @@ for other browsers may differ.)</p>
<a href="../../about/doc/mod/notification-telegram.md#set-a-profile-photo">Set <a href="../../about/doc/mod/notification-telegram.md#set-a-profile-photo">Set
a profile photo</a> for your Telegram bot.</p> a profile photo</a> for your Telegram bot.</p>
</body> <hr />
</html>
<p><a href="../README.html">⬅️ Go back to main README</a><br/>
<a href="#top">⬆️ Go back to top</a></p>
</body></html>

View file

@ -1,36 +0,0 @@
body {
font-family: fira-sans, sans-serif;
font-size: 10pt;
background-color: transparent;
}
div.notification {
position: relative;
float: right;
width: 600px;
border: 3px outset #6c5d53;
/* border-radius: 5px; */
padding: 10px;
background-color: #e6e6e6;
}
div.content {
padding-left: 60px;
}
img.logo {
float: left;
border-radius: 50%;
}
p.heading {
margin: 0px;
font-weight: bold;
text-decoration: underline;
}
p.hint {
display: none;
}
pre {
font-family: fira-mono, monospace;
white-space: pre-wrap;
}
span.link {
color: #863600;
}

View file

@ -1,14 +1,14 @@
<!DOCTYPE html> <!DOCTYPE html><html lang="en">
<html lang="en"> <head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<head> <title>RouterOS Scripts :: Notification Generator</title>
<meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="general/style.css">
<title>RouterOS-Scripts Notification Generator</title> <link rel="icon" type="image/png" href="../logo.png">
<link rel="stylesheet" type="text/css" href="notification.d/style.css">
<script src="notification.d/script.js"></script> <script src="notification.d/script.js"></script>
</head> </head><body>
<body>
<h1>RouterOS-Scripts Notification Generator</h1> <h1>Notification Generator</h1>
<p><a href="../README.html">⬅️ Go back to main README</a></p>
<div class="notification"> <div class="notification">
<img src="../logo.svg" alt="logo" class="logo" width=48 height=48> <img src="../logo.svg" alt="logo" class="logo" width=48 height=48>
@ -16,8 +16,8 @@
<p id="heading" class="heading">[<span id="hostname">MikroTik</span>] <span id="subject"> Subject</span></p> <p id="heading" class="heading">[<span id="hostname">MikroTik</span>] <span id="subject"> Subject</span></p>
<pre id="message">Message</pre> <pre id="message">Message</pre>
<p id="link" class="hint">🔗 <span id="link-text" class="link">https://eworm.de/</span></p> <p id="link" class="hint">🔗 <span id="link-text" class="link">https://eworm.de/</span></p>
<p id="queued" class="hint">⏰ This message was queued since <span id="queued-since">oct/18/2022 18:30:48</span> and may be obsolete.</p> <p id="queued" class="hint">⏰ This message was queued since <i><span id="queued-since">2025-10-29 16:06:18</span></i> and may be obsolete.</p>
<p id="cut" class="hint">✂️ The message was too long and has been truncated, cut off <span id="cut-percent">13</span>%!</p> <p id="cut" class="hint">✂️ The message was too long and has been truncated, cut off <i><span id="cut-percent">13</span>%</i>!</p>
</div> </div>
</div> </div>
@ -25,11 +25,14 @@
<p>Subject: <input type="text" size=50 value=" Subject" onchange="update(this, 'subject')"></p> <p>Subject: <input type="text" size=50 value=" Subject" onchange="update(this, 'subject')"></p>
<p>Message: <textarea id="w3review" name="w3review" rows="4" cols="50" onchange="update(this, 'message')">Message</textarea></p> <p>Message: <textarea id="w3review" name="w3review" rows="4" cols="50" onchange="update(this, 'message')">Message</textarea></p>
<p><input type="checkbox" onclick="visible(this, 'link')"> Show link: <input type="text" value="https://eworm.de/" onchange="update(this, 'link-text')"></p> <p><input type="checkbox" onclick="visible(this, 'link')"> Show link: <input type="text" value="https://eworm.de/" onchange="update(this, 'link-text')"></p>
<p><input type="checkbox" onclick="visible(this, 'queued')"> Queued since <input type="text" value="oct/18/2022 18:30:48" onchange="update(this, 'queued-since')"></p> <p><input type="checkbox" onclick="visible(this, 'queued')"> Queued since <input type="text" value="2025-10-29 16:06:18" onchange="update(this, 'queued-since')"></p>
<p><input type="checkbox" onclick="visible(this, 'cut')"> Cut-off with <input type="number" min=1 max=99 value=13 onchange="update(this, 'cut-percent')"> percent</p> <p><input type="checkbox" onclick="visible(this, 'cut')"> Cut-off with <input type="number" min=1 max=99 value=13 onchange="update(this, 'cut-percent')"> percent</p>
<p>Then right-click, click "<i>Take Screenshot</i>" and finally select the <p>Then right-click, click "<i>Take Screenshot</i>" and finally select the
notification and download it.</p> notification and download it.</p>
</body> <hr />
</html>
<p><a href="../README.html">⬅️ Go back to main README</a><br/>
<a href="#top">⬆️ Go back to top</a></p>
</body></html>