summaryrefslogtreecommitdiff
path: root/blog/assets
diff options
context:
space:
mode:
authorBotond Hende <nettingman@gmail.com>2025-12-17 23:31:39 +0100
committerBotond Hende <nettingman@gmail.com>2025-12-17 23:31:39 +0100
commitd8995902414f2d2689b0bbdc6651730b1fe9bd31 (patch)
treeef441bbc46ec5249b48de4286483d83d5c668ce7 /blog/assets
parentb687ada7e80591e8d9e3da6690fc1c24aa0bdf21 (diff)
moved blog generation to separate folder
Diffstat (limited to 'blog/assets')
-rw-r--r--blog/assets/css/blog.css407
-rw-r--r--blog/assets/css/font.css9
-rw-r--r--blog/assets/font/JetBrainsMono-Regular.woff2bin0 -> 92164 bytes
-rw-r--r--blog/assets/image/arch.svg1
-rw-r--r--blog/assets/image/balloon.svg1
-rw-r--r--blog/assets/image/email.svg1
-rw-r--r--blog/assets/image/git.svg1
-rw-r--r--blog/assets/image/mastodon.svg1
-rw-r--r--blog/assets/image/moon.svg1
-rw-r--r--blog/assets/image/rss.svg1
-rw-r--r--blog/assets/image/sun.svg1
-rw-r--r--blog/assets/image/website.svg1
-rw-r--r--blog/assets/js/theme.js20
13 files changed, 445 insertions, 0 deletions
diff --git a/blog/assets/css/blog.css b/blog/assets/css/blog.css
new file mode 100644
index 0000000..e921a73
--- /dev/null
+++ b/blog/assets/css/blog.css
@@ -0,0 +1,407 @@
+:root
+{
+ --term-fg: #b5aba8;
+ --term-bg: #2b2b2b;
+ --term-black: #515151;
+ --term-red: #cc6666;
+ --term-green: #b5bd68;
+ --term-yellow: #f0c674;
+ --term-blue: #81a2be;
+ --term-magenta: #b294bb;
+ --term-cyan: #8abeb7;
+ --term-white: #b5aba8;
+
+ .filter-yellow{
+ filter: brightness(0) saturate(100%) invert(91%) sepia(86%) saturate(596%) hue-rotate(314deg) brightness(96%) contrast(97%);
+ }
+}
+
+[data-theme="light"] {
+ --term-fg: #515151;
+ --term-bg: #f3f3f3;
+ --term-black: #8e8e8e;
+ --term-red: #ff001e;
+ --term-green: #5eaa0c;
+ --term-yellow: #f29b00;
+ --term-blue: #0098ca;
+ --term-magenta: #d52ad2;
+ --term-cyan: #00dad5;
+ --term-white: #f3f3f3;
+
+ .filter-yellow {
+ filter: brightness(0) saturate(100%) invert(61%) sepia(18%) saturate(3874%) hue-rotate(6deg) brightness(101%) contrast(101%);
+ }
+}
+
+[data-theme="pink"] {
+ --term-fg: #c61c72;
+ --term-bg: #f8b9ce;
+ --term-black: #960052;
+ --term-red: #ff001e;
+ --term-green: #63bf01;
+ --term-yellow: #fcf6a6;
+ --term-blue: #00aff4;
+ --term-magenta: #a8005b;
+ --term-cyan: #00dad5;
+ --term-white: #f3f3f3;
+
+ .filter-yellow {
+ filter: brightness(0) saturate(100%) invert(95%) sepia(12%) saturate(1428%) hue-rotate(334deg) brightness(108%) contrast(98%);
+ }
+}
+
+a[class*="theme-selector"] {
+ color: var(--term-green);
+}
+
+
+html:not([data-theme]) .theme-selector-dark,
+html[data-theme="dark"] .theme-selector-dark,
+html[data-theme="light"] .theme-selector-light,
+html[data-theme="pink"] .theme-selector-pink,
+html:not([data-extended-theme]) .theme-extender-target {
+ display: none;
+}
+
+.theme-extender {
+ color: var(--term-fg);
+ font-weight: normal;
+}
+
+.theme-extender:hover {
+ text-decoration: none;
+}
+
+html:not([data-extended-theme]) .theme-extender {
+ color: var(--term-bg);
+}
+
+header, .icon-text {
+ display: flex;
+ flex-flow: row;
+ align-items: center;
+}
+
+.icon-text {
+ margin-top: 0.2rem;
+ margin-bottom: 0.2rem;
+}
+
+.icon-text > :first-child {
+ margin-right: 0.3rem;
+}
+
+header {
+ margin-top: 0rem;
+ margin-bottom: 1rem;
+}
+
+header div {
+ flex: 1;
+}
+
+header span {
+ flex: 0.2;
+}
+
+.blog-title {
+ margin-top: 0rem;
+}
+
+.ascii-art {
+ font-size: 0.6rem;
+ white-space: pre;
+}
+
+hr {
+ width: 90%;
+ color: var(--term-black);
+}
+
+.nobr,
+.icon-text p,
+.icon-text span {
+ white-space: nowrap;
+}
+
+.force-wrap p, .force-wrap {
+ word-wrap: break-word;
+}
+
+.quote {
+ margin: 1.2rem 0;
+}
+
+.quote-main {
+ display: flex;
+ flex-flow: row;
+ align-items: center;
+ gap: 1rem;
+}
+
+.quote p {
+ margin-top: 0;
+ margin-bottom: 0;
+ color: var(--term-yellow);
+}
+
+p.quote-source {
+ font-size: 0.8rem;
+ margin-left: 25%;
+ text-align: center;
+}
+
+.quote-main p:first-child{
+ margin-left: auto;
+ font-size: 2rem;
+}
+
+.quote-main p:last-child{
+ margin-right: auto;
+ font-size: 2rem;
+}
+
+.quote-main p:not(:first-child):not(:last-child) {
+ font-style: italic;
+}
+
+.code-block,
+.code-block-wrap {
+ border-style: solid;
+ border-color: var(--term-fg);
+ border-width: 0.1rem;
+ padding: 0.7rem;
+}
+
+span.code-block,
+span.code-block-wrap {
+ padding: 0 0.1rem;
+}
+
+.code-block {
+ overflow-x: auto;
+}
+
+figure {
+ margin-left: 0;
+ margin-right: 0;
+}
+
+figcaption {
+ text-align: center;
+ color: var(--term-fg);
+}
+
+h1 {
+ font-size: 2rem;
+ margin-top: 2rem;
+}
+
+h2 {
+ font-size: 1.5rem;
+ margin-top: 1.5rem;
+}
+
+h3 {
+ font-size: 1.2rem;
+ margin-top: 1.2rem;
+}
+
+p {
+ font-size: 1rem;
+ margin-top: 0.8rem;
+}
+
+ul {
+ padding-left: 2rem;
+}
+
+li::marker {
+ content: "* ";
+ color: var(--term-cyan);
+}
+
+li {
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+ color: var(--term-fg);
+}
+
+.code-block p,
+.code-block-wrap p {
+ margin: 0;
+}
+
+.code-block p {
+ white-space: pre;
+}
+
+body {
+ background-color: var(--term-bg);
+}
+
+p, h1, h2, h3 {
+ color: var(--term-fg);
+ margin-bottom: 0.8rem;
+}
+
+h2.index-title {
+ margin-top: 0.8rem;
+}
+
+img
+{
+ max-width: 100%;
+ max-height: 100%;
+ border-style: solid;
+ border-color: var(--term-bg);
+ border-width: 0.1rem;
+ width: 100%;
+}
+
+.svg-icon {
+ max-width: 1.5rem;
+ max-height: 1.5rem;
+ border: none;
+ width: 1.5rem;
+ height: 1.5rem;
+}
+
+a.dont-bother {
+ color: var(--term-fg);
+ font-weight: normal;
+}
+
+a.dont-bother:hover {
+ text-decoration: none;
+}
+
+strong {
+ color: var(--term-yellow);
+}
+
+a {
+ font-weight: bold;
+ color: var(--term-blue);
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.posts-listing-link:hover :is(h2, h3)
+{
+ text-decoration: underline;
+}
+
+.spoiler {
+ position: absolute;
+ left:-10000px;
+}
+
+.spoiler:checked ~ label.spoiler-on,
+.spoiler:not(:checked) ~ label.spoiler-off {
+ display: none;
+}
+
+label.spoiler-on {
+ background-color: var(--term-fg);
+}
+
+label.spoiler-off {
+ background-color: var(--term-black);
+}
+
+@media (min-width: 768px) {
+ main {
+ border-width: 0.15rem;
+ border-color: var(--term-black);
+ border-style: none solid none solid;
+ }
+}
+
+main :is(h1, h2, h3) {
+ color: var(--term-yellow);
+ margin-top: 2rem;
+}
+
+.other_post {
+ display: flex;
+ flex-flow: row;
+ align-items: center;
+ margin: 2rem 0rem;
+ gap: 1rem;
+}
+
+.other_post div {
+ flex: 1;
+}
+
+.other_post img {
+ max-width: 100%;
+ max-height: 100%;
+}
+
+.first-element {
+ margin-top: 0;
+}
+
+.last-element {
+ margin-bottom: 0;
+}
+
+div.huge-vertical-spacer-at-the-bottom {
+ height: 10rem;
+}
+
+@media (max-width: 767px) {
+ div.sidebar-spacing {
+ height: 10rem;
+ }
+}
+
+div.blog-content-spacer {
+ height: 2rem;
+}
+
+/* Extra "terminal" colors */
+.fg {
+ color: var(--term-fg);
+}
+
+.bg {
+ color: var(--term-bg);
+}
+
+.black {
+ color: var(--term-black);
+}
+
+.red {
+ color: var(--term-red);
+}
+
+.green {
+ color: var(--term-green);
+}
+
+.yellow {
+ color: var(--term-yellow);
+}
+
+.blue {
+ color: var(--term-blue);
+}
+
+.magenta {
+ color: var(--term-magenta);
+}
+
+.cyan {
+ color: var(--term-cyan);
+}
+
+.white {
+ color: var(--term-white);
+}
diff --git a/blog/assets/css/font.css b/blog/assets/css/font.css
new file mode 100644
index 0000000..cda8b7a
--- /dev/null
+++ b/blog/assets/css/font.css
@@ -0,0 +1,9 @@
+@font-face {
+ font-family: "jetbrains-mono";
+ src: url("/assets/font/JetBrainsMono-Regular.woff2");
+}
+
+html {
+ font-family: "jetbrains-mono", serif;
+ font-variant-ligatures: none;
+} \ No newline at end of file
diff --git a/blog/assets/font/JetBrainsMono-Regular.woff2 b/blog/assets/font/JetBrainsMono-Regular.woff2
new file mode 100644
index 0000000..40da427
--- /dev/null
+++ b/blog/assets/font/JetBrainsMono-Regular.woff2
Binary files differ
diff --git a/blog/assets/image/arch.svg b/blog/assets/image/arch.svg
new file mode 100644
index 0000000..2d7e87a
--- /dev/null
+++ b/blog/assets/image/arch.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#1793d1" d="M12 2c-.89 2.18-1.43 3.61-2.42 5.73c.61.64 1.35 1.39 2.56 2.24c-1.3-.54-2.19-1.07-2.85-1.63C8 11 6.03 14.75 2 22c3.17-1.83 5.63-2.96 7.92-3.39c-.1-.42-.16-.88-.15-1.36v-.1c.05-2.03 1.11-3.59 2.36-3.48c1.25.1 2.22 1.83 2.17 3.87c-.01.38-.05.75-.12 1.09c2.26.44 4.69 1.56 7.82 3.37c-.62-1.14-1.17-2.16-1.69-3.13c-.81-.64-1.7-1.48-3.46-2.37c1.21.3 2.08.66 2.76 1.07C14.26 7.62 13.83 6.3 12 2"/></svg> \ No newline at end of file
diff --git a/blog/assets/image/balloon.svg b/blog/assets/image/balloon.svg
new file mode 100644
index 0000000..62584c0
--- /dev/null
+++ b/blog/assets/image/balloon.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#00dad5" d="M13.16 12.74L14 14h-1.5c-.15 2.71-.5 5.41-1 8.08l-1-.16c.5-2.62.84-5.26 1-7.92H10l.84-1.26C8.64 11.79 7 8.36 7 6a5 5 0 0 1 5-5a5 5 0 0 1 5 5c0 2.36-1.64 5.79-3.84 6.74"/></svg> \ No newline at end of file
diff --git a/blog/assets/image/email.svg b/blog/assets/image/email.svg
new file mode 100644
index 0000000..ed4c824
--- /dev/null
+++ b/blog/assets/image/email.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#f0c674" d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2zm-2 0l-8 5l-8-5zm0 12H4V8l8 5l8-5z"/></svg>
diff --git a/blog/assets/image/git.svg b/blog/assets/image/git.svg
new file mode 100644
index 0000000..304ecff
--- /dev/null
+++ b/blog/assets/image/git.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 128 128"><path fill="#f34f29" d="M124.737 58.378L69.621 3.264c-3.172-3.174-8.32-3.174-11.497 0L46.68 14.71l14.518 14.518c3.375-1.139 7.243-.375 9.932 2.314c2.703 2.706 3.461 6.607 2.294 9.993l13.992 13.993c3.385-1.167 7.292-.413 9.994 2.295c3.78 3.777 3.78 9.9 0 13.679a9.673 9.673 0 0 1-13.683 0a9.68 9.68 0 0 1-2.105-10.521L68.574 47.933l-.002 34.341a9.7 9.7 0 0 1 2.559 1.828c3.778 3.777 3.778 9.898 0 13.683c-3.779 3.777-9.904 3.777-13.679 0c-3.778-3.784-3.778-9.905 0-13.683a9.7 9.7 0 0 1 3.167-2.11V47.333a9.6 9.6 0 0 1-3.167-2.111c-2.862-2.86-3.551-7.06-2.083-10.576L41.056 20.333L3.264 58.123a8.133 8.133 0 0 0 0 11.5l55.117 55.114c3.174 3.174 8.32 3.174 11.499 0l54.858-54.858a8.135 8.135 0 0 0-.001-11.501"/></svg> \ No newline at end of file
diff --git a/blog/assets/image/mastodon.svg b/blog/assets/image/mastodon.svg
new file mode 100644
index 0000000..4bac114
--- /dev/null
+++ b/blog/assets/image/mastodon.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#3088d4" d="M20.94 14c-.28 1.41-2.44 2.96-4.97 3.26c-1.31.15-2.6.3-3.97.24c-2.25-.11-4-.54-4-.54v.62c.32 2.22 2.22 2.35 4.03 2.42c1.82.05 3.44-.46 3.44-.46l.08 1.65s-1.28.68-3.55.81c-1.25.07-2.81-.03-4.62-.5c-3.92-1.05-4.6-5.24-4.7-9.5l-.01-3.43c0-4.34 2.83-5.61 2.83-5.61C6.95 2.3 9.41 2 11.97 2h.06c2.56 0 5.02.3 6.47.96c0 0 2.83 1.27 2.83 5.61c0 0 .04 3.21-.39 5.43M18 8.91c0-1.08-.3-1.91-.85-2.56c-.56-.63-1.3-.96-2.23-.96c-1.06 0-1.87.41-2.42 1.23l-.5.88l-.5-.88c-.56-.82-1.36-1.23-2.43-1.23c-.92 0-1.66.33-2.23.96C6.29 7 6 7.83 6 8.91v5.26h2.1V9.06c0-1.06.45-1.62 1.36-1.62c1 0 1.5.65 1.5 1.93v2.79h2.07V9.37c0-1.28.5-1.93 1.51-1.93c.9 0 1.35.56 1.35 1.62v5.11H18z"/></svg> \ No newline at end of file
diff --git a/blog/assets/image/moon.svg b/blog/assets/image/moon.svg
new file mode 100644
index 0000000..436e0fc
--- /dev/null
+++ b/blog/assets/image/moon.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="#cccccc" d="M235.54 150.21a104.84 104.84 0 0 1-37 52.91A104 104 0 0 1 32 120a103.1 103.1 0 0 1 20.88-62.52a104.84 104.84 0 0 1 52.91-37a8 8 0 0 1 10 10a88.08 88.08 0 0 0 109.8 109.8a8 8 0 0 1 10 10Z"/></svg>
diff --git a/blog/assets/image/rss.svg b/blog/assets/image/rss.svg
new file mode 100644
index 0000000..3554b8a
--- /dev/null
+++ b/blog/assets/image/rss.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#f34f29" d="M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19 7.38 20 6.18 20C5 20 4 19 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27zm0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93z"/></svg>
diff --git a/blog/assets/image/sun.svg b/blog/assets/image/sun.svg
new file mode 100644
index 0000000..126f454
--- /dev/null
+++ b/blog/assets/image/sun.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="#f0c674" d="M120 40V16a8 8 0 0 1 16 0v24a8 8 0 0 1-16 0m8 24a64 64 0 1 0 64 64a64.07 64.07 0 0 0-64-64m-69.66 5.66a8 8 0 0 0 11.32-11.32l-16-16a8 8 0 0 0-11.32 11.32Zm0 116.68l-16 16a8 8 0 0 0 11.32 11.32l16-16a8 8 0 0 0-11.32-11.32M192 72a8 8 0 0 0 5.66-2.34l16-16a8 8 0 0 0-11.32-11.32l-16 16A8 8 0 0 0 192 72m5.66 114.34a8 8 0 0 0-11.32 11.32l16 16a8 8 0 0 0 11.32-11.32ZM48 128a8 8 0 0 0-8-8H16a8 8 0 0 0 0 16h24a8 8 0 0 0 8-8m80 80a8 8 0 0 0-8 8v24a8 8 0 0 0 16 0v-24a8 8 0 0 0-8-8m112-88h-24a8 8 0 0 0 0 16h24a8 8 0 0 0 0-16"/></svg> \ No newline at end of file
diff --git a/blog/assets/image/website.svg b/blog/assets/image/website.svg
new file mode 100644
index 0000000..809a2ac
--- /dev/null
+++ b/blog/assets/image/website.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#f0c674" d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg>
diff --git a/blog/assets/js/theme.js b/blog/assets/js/theme.js
new file mode 100644
index 0000000..9f1660c
--- /dev/null
+++ b/blog/assets/js/theme.js
@@ -0,0 +1,20 @@
+"use strict"
+const THEME_KEY = "data-theme";
+
+function updateTheme() {
+ let theme = localStorage.getItem(THEME_KEY);
+ if (theme != null) {
+ document.documentElement.setAttribute(THEME_KEY, theme)
+ }
+}
+
+function setTheme(theme) {
+ localStorage.setItem(THEME_KEY, theme);
+ updateTheme();
+}
+
+function setThemeExtend() {
+ document.documentElement.setAttribute("data-extended-theme", "true")
+}
+
+updateTheme(); \ No newline at end of file