Autosave: 2025-01-19 18:00:57

This commit is contained in:
thomasabishop 2025-01-19 18:00:57 +00:00
parent fadb9ec814
commit 080bfd007f
812 changed files with 194 additions and 132 deletions

View file

@ -1,3 +1,3 @@
-- Documentation for neuron.dhall: https://neuron.zettel.page/configuration -- Documentation for neuron.dhall: https://neuron.zettel.page/configuration
{ siteTitle = "Zettelkasten", { siteTitle = "",
} }

View file

@ -5,10 +5,45 @@
<link <link
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap"
rel="stylesheet" /> rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap"
rel="stylesheet" />
<link href="https://hachyderm.io/@systemsobscure" rel="me" /> <link href="https://hachyderm.io/@systemsobscure" rel="me" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/components/prism-core.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/components/prism-core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/plugins/autoloader/prism-autoloader.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
<style> <style>
:root {
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
--black: #282828;
--blacker: #1d2021;
--blackest: #141617;
--greyLightest: #a89984;
--greyLighter: #928374;
--greyLight: #665c54;
--grey: #504945;
--greyDark: #3c3836;
--greyDarkest: #32302f;
--white: #ddc7a1;
--whiter: #ebdbb2;
--blue: #7daea3;
--green: #a9b665;
--aqua: #8dc07c;
--yellow: #d8a657;
--orange: #e78a4e;
--red: #ea6962;
--purple: #d3869b;
--blueOriginal: #458588;
--greenOriginal: #98971a;
--orangeOriginal: #d65d0e;
}
body .ui.container, body .ui.container,
body ul { body ul {
font-family: "IBM Plex Sans" !important; font-family: "IBM Plex Sans" !important;
@ -21,8 +56,8 @@
body blockquote { body blockquote {
border-left-width: 3px !important; border-left-width: 3px !important;
border-left-color: #458588 !important; border-left-color: var(--orange) !important;
background-color: #f2e5bc !important; background-color: var(--blacker) !important;
} }
.headerFont, .headerFont,
@ -44,7 +79,7 @@
body code, body code,
pre, pre,
tt { tt {
font-family: "IBM Plex Mono" !important; font-family: "Jetbrains Mono" !important;
font-size: 12px !important; font-size: 12px !important;
/* line-height: 1.3 !important; */ /* line-height: 1.3 !important; */
} }
@ -54,7 +89,7 @@
} }
#neuron-nav-bar { #neuron-nav-bar {
background-color: #458588; background-color: var(--orange);
} }
#neuron-nav-bar a.right { #neuron-nav-bar a.right {
@ -66,27 +101,27 @@
} }
body { body {
background-color: #ebdbb2 !important; background-color: var(--blacker) !important;
color: #282828; color: var(--white);
} }
.zettel-view article.zettel-content { .zettel-view article.zettel-content {
background-color: #f9f5d7 !important; background-color: var(--black) !important;
} }
a, a,
body span.zettel-link-container span.zettel-link a, body span.zettel-link-container span.zettel-link a,
body .deemphasized:not(:hover) a { body .deemphasized:not(:hover) a {
color: #458588 !important; color: var(--aqua) !important;
} }
.deemphasized:not(:hover) a { .deemphasized:not(:hover) a {
color: #458588 !important; color: var(--aqua) !important;
} }
body .zettel-content h1#title-h1 { body .zettel-content h1#title-h1 {
background-color: #458588; background-color: var(--orange);
color: #f9f5d7; color: var(--black);
word-wrap: break-word; word-wrap: break-word;
} }
@ -101,23 +136,23 @@
#neuron-backlinks-pane, #neuron-backlinks-pane,
#neuron-tags-pane { #neuron-tags-pane {
background-color: #3c3836; background-color: var(--greyDark);
border: none; border: none;
} }
#neuron-backlinks-pane h3.ui.header, #neuron-backlinks-pane h3.ui.header,
#neuron-backlinks-pane p, #neuron-backlinks-pane p,
#neuron-backlinks-pane>ul>li>ul>li>div { #neuron-backlinks-pane>ul>li>ul>li>div {
color: #ebdbb2 !important; color: var(--white) !important;
} }
#neuron-backlinks-pane ul li::marker { #neuron-backlinks-pane ul li::marker {
color: #ebdbb2 !important; color: var(--white) !important;
} }
#neuron-backlinks-pane>ul>li>ul>li>div>p>a, #neuron-backlinks-pane>ul>li>ul>li>div>p>a,
#neuron-backlinks-pane ul li span.zettel-link a { #neuron-backlinks-pane ul li span.zettel-link a {
color: #83a598 !important; color: var(--aqua) !important;
} }
body .deemphasized:not(:hover), body .deemphasized:not(:hover),
@ -130,10 +165,10 @@
} }
.ui.basic.label.zettel-tag { .ui.basic.label.zettel-tag {
background-color: #458588; background-color: var(--orange);
border-radius: 0; border-radius: 0;
border: none; border: none;
color: #f9f5c7; color: var(--black);
} }
body div.zettel-view .zettel-content p code, body div.zettel-view .zettel-content p code,
@ -150,50 +185,40 @@
} }
.ui table { .ui table {
background-color: #f9f5d7 !important; background-color: var(--blacker) !important;
border-radius: 0 !important; border-radius: 0 !important;
border-color: #3c3836 !important; border-color: var(--greyDark) !important;
color: var(--white) !important;
} }
.ui.table>thead>tr>th { .ui.table>thead>tr>th {
background-color: #3c3836 !important; background-color: var(--greyDark) !important;
border-radius: 0 !important; border-radius: 0 !important;
color: #f9f5d7 !important; color: var(--white) !important;
} }
body span.zettel-link-container.errors { body span.zettel-link-container.errors {
border-color: #cc241d; border-color: var(--red);
} }
body span.zettel-link-container.errors span.zettel-link a { body span.zettel-link-container.errors span.zettel-link a {
color: #cc241d !important; color: var(--red) !important;
} }
body span.zettel-link-container.errors span.zettel-link a:hover { body span.zettel-link-container.errors span.zettel-link a:hover {
background-color: #fb483460 !important; background-color: #fb483460 !important;
} }
/**
* Gruvbox light theme
*
* Based on Gruvbox: https://github.com/morhetz/gruvbox
* Adapted from PrismJS gruvbox-dark theme: https://github.com/schnerring/prism-themes/blob/master/themes/prism-gruvbox-dark.css
*
* @author Michael Schnerring (https://schnerring.net)
* @version 1.0
*/
code[class*="language-"], code[class*="language-"],
pre[class*="language-"] { pre[class*="language-"] {
color: #3c3836; color: #ebdbb2;
/* fg1 / fg */ /* fg1 / fg */
font-family: Consolas, Monaco, "Andale Mono", monospace;
direction: ltr; direction: ltr;
text-align: left; text-align: left;
white-space: pre; white-space: pre;
word-spacing: normal; word-spacing: normal;
word-break: normal; word-break: normal;
line-height: 1.5; line-height: 1.2;
-moz-tab-size: 4; -moz-tab-size: 4;
-o-tab-size: 4; -o-tab-size: 4;
@ -209,9 +234,9 @@
pre[class*="language-"] ::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection { code[class*="language-"] ::-moz-selection {
color: #282828; color: #fbf1c7;
/* fg0 */ /* fg0 */
background: #fbf1c7; background: #7c6f64;
/* bg4 */ /* bg4 */
} }
@ -219,37 +244,40 @@
pre[class*="language-"] ::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"]::selection,
code[class*="language-"] ::selection { code[class*="language-"] ::selection {
color: #282828; color: #fbf1c7;
/* fg0 */ /* fg0 */
background: #7c6f64;
background: #fbf1c7;
/* bg4 */ /* bg4 */
} }
/* Code blocks */ /* Code blocks */
pre[class*="language-"] { pre[class*="language-"] {
padding: 1em; padding: 0.75rem;
margin: 0.5em 0; margin: 0.5rem 0;
overflow: auto; overflow: auto;
} }
:not(pre)>code[class*="language-"], :not(pre)>code[class*="language-"],
pre[class*="language-"] { pre[class*="language-"] {
background: #f9f5d7; background-color: #32302f;
/* bg4 */ /* border-width: 3px;
border: 1px solid #a89984; border-color: #665c54;
border-style: double; */
/* border: 1px solid #504945; */
} }
/* Inline code */ /* Inline code */
:not(pre)>code[class*="language-"] { :not(pre)>code[class*="language-"] {
padding: 0.1em; padding: 0.1em;
border-radius: 0.3em; border-radius: 0;
border-width: 1px;
background: transparent;
} }
.token.comment, .token.comment,
.token.prolog, .token.prolog,
.token.cdata { .token.cdata {
color: #7c6f64; color: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
} }
@ -259,65 +287,64 @@
.token.selector, .token.selector,
.token.important, .token.important,
.token.atrule { .token.atrule {
color: #9d0006; color: #ea6962;
/* red2 */ /* red2 */
} }
.token.operator, .token.operator,
.token.punctuation, .token.punctuation,
.token.attr-name { .token.attr-name {
color: #7c6f64; color: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
background: transparent;
} }
.token.tag, .token.tag,
.token.tag .punctuation, .token.tag .punctuation,
.token.doctype, .token.doctype,
.token.builtin { .token.builtin {
color: #b57614; color: #d8a657;
/* yellow2 */ /* yellow2 */
} }
.token.entity, .token.entity,
.token.number, .token.number,
.token.symbol { .token.symbol {
color: #8f3f71; color: #d3869b;
/* purple2 */ /* purple2 */
} }
.token.property, .token.property,
.token.constant, .token.constant,
.token.variable { .token.variable {
color: #9d0006; color: #ea6962;
/* red2 */ /* red2 */
} }
.token.string, .token.string,
.token.char { .token.char {
color: #797403; color: #89b482;
/* green2 */ /* green2 */
} }
.token.attr-value, .token.attr-value,
.token.attr-value .punctuation { .token.attr-value .punctuation {
color: #7c6f64; color: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
} }
.token.url { .token.url {
color: #797403; color: #89b482;
/* green2 */ /* green2 */
text-decoration: underline; text-decoration: underline;
} }
.token.function { .token.function {
color: #b57614; color: #a9b665;
/* yellow2 */ /* yellow2 */
} }
.token.regex { .token.regex {
background: #797403; background: #b8bb26;
/* green2 */ /* green2 */
} }
@ -330,12 +357,16 @@
} }
.token.inserted { .token.inserted {
background: #7c6f64; background: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
} }
.token.deleted { .token.deleted {
background: #9d0006; background: #ea6962;
/* red2 */ /* red2 */
} }
.token.operator {
background: transparent !important;
}
</style> </style>

View file

@ -5,9 +5,9 @@ unlisted: true
# Eòlas # Eòlas
Hi, I'm [Thomas](https://systemsobscure.blog/). This is the frontend of Hi, I'm [Thomas](https://systemsobscure.blog/). This is the frontend of Eòlas,
[Eòlas](https://github.com/thomasabishop/eolas), my personal knowledge base. It my personal knowledge base. It is a
is a [Zettelkasten](https://en.wikipedia.org/wiki/Zettelkasten) work in progress [Zettelkasten](https://en.wikipedia.org/wiki/Zettelkasten) work in progress
comprising notes from my self-directed study of software engineering and comprising notes from my self-directed study of software engineering and
computer science. computer science.

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

@ -5,10 +5,45 @@
<link <link
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap"
rel="stylesheet" /> rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap"
rel="stylesheet" />
<link href="https://hachyderm.io/@systemsobscure" rel="me" /> <link href="https://hachyderm.io/@systemsobscure" rel="me" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/components/prism-core.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/components/prism-core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/plugins/autoloader/prism-autoloader.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
<style> <style>
:root {
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
--black: #282828;
--blacker: #1d2021;
--blackest: #141617;
--greyLightest: #a89984;
--greyLighter: #928374;
--greyLight: #665c54;
--grey: #504945;
--greyDark: #3c3836;
--greyDarkest: #32302f;
--white: #ddc7a1;
--whiter: #ebdbb2;
--blue: #7daea3;
--green: #a9b665;
--aqua: #8dc07c;
--yellow: #d8a657;
--orange: #e78a4e;
--red: #ea6962;
--purple: #d3869b;
--blueOriginal: #458588;
--greenOriginal: #98971a;
--orangeOriginal: #d65d0e;
}
body .ui.container, body .ui.container,
body ul { body ul {
font-family: "IBM Plex Sans" !important; font-family: "IBM Plex Sans" !important;
@ -21,8 +56,8 @@
body blockquote { body blockquote {
border-left-width: 3px !important; border-left-width: 3px !important;
border-left-color: #458588 !important; border-left-color: var(--orange) !important;
background-color: #f2e5bc !important; background-color: var(--blacker) !important;
} }
.headerFont, .headerFont,
@ -44,7 +79,7 @@
body code, body code,
pre, pre,
tt { tt {
font-family: "IBM Plex Mono" !important; font-family: "Jetbrains Mono" !important;
font-size: 12px !important; font-size: 12px !important;
/* line-height: 1.3 !important; */ /* line-height: 1.3 !important; */
} }
@ -54,7 +89,7 @@
} }
#neuron-nav-bar { #neuron-nav-bar {
background-color: #458588; background-color: var(--orange);
} }
#neuron-nav-bar a.right { #neuron-nav-bar a.right {
@ -66,27 +101,27 @@
} }
body { body {
background-color: #ebdbb2 !important; background-color: var(--blacker) !important;
color: #282828; color: var(--white);
} }
.zettel-view article.zettel-content { .zettel-view article.zettel-content {
background-color: #f9f5d7 !important; background-color: var(--black) !important;
} }
a, a,
body span.zettel-link-container span.zettel-link a, body span.zettel-link-container span.zettel-link a,
body .deemphasized:not(:hover) a { body .deemphasized:not(:hover) a {
color: #458588 !important; color: var(--aqua) !important;
} }
.deemphasized:not(:hover) a { .deemphasized:not(:hover) a {
color: #458588 !important; color: var(--aqua) !important;
} }
body .zettel-content h1#title-h1 { body .zettel-content h1#title-h1 {
background-color: #458588; background-color: var(--orange);
color: #f9f5d7; color: var(--black);
word-wrap: break-word; word-wrap: break-word;
} }
@ -101,23 +136,23 @@
#neuron-backlinks-pane, #neuron-backlinks-pane,
#neuron-tags-pane { #neuron-tags-pane {
background-color: #3c3836; background-color: var(--greyDark);
border: none; border: none;
} }
#neuron-backlinks-pane h3.ui.header, #neuron-backlinks-pane h3.ui.header,
#neuron-backlinks-pane p, #neuron-backlinks-pane p,
#neuron-backlinks-pane>ul>li>ul>li>div { #neuron-backlinks-pane>ul>li>ul>li>div {
color: #ebdbb2 !important; color: var(--white) !important;
} }
#neuron-backlinks-pane ul li::marker { #neuron-backlinks-pane ul li::marker {
color: #ebdbb2 !important; color: var(--white) !important;
} }
#neuron-backlinks-pane>ul>li>ul>li>div>p>a, #neuron-backlinks-pane>ul>li>ul>li>div>p>a,
#neuron-backlinks-pane ul li span.zettel-link a { #neuron-backlinks-pane ul li span.zettel-link a {
color: #83a598 !important; color: var(--aqua) !important;
} }
body .deemphasized:not(:hover), body .deemphasized:not(:hover),
@ -130,10 +165,10 @@
} }
.ui.basic.label.zettel-tag { .ui.basic.label.zettel-tag {
background-color: #458588; background-color: var(--orange);
border-radius: 0; border-radius: 0;
border: none; border: none;
color: #f9f5c7; color: var(--black);
} }
body div.zettel-view .zettel-content p code, body div.zettel-view .zettel-content p code,
@ -150,50 +185,40 @@
} }
.ui table { .ui table {
background-color: #f9f5d7 !important; background-color: var(--blacker) !important;
border-radius: 0 !important; border-radius: 0 !important;
border-color: #3c3836 !important; border-color: var(--greyDark) !important;
color: var(--white) !important;
} }
.ui.table>thead>tr>th { .ui.table>thead>tr>th {
background-color: #3c3836 !important; background-color: var(--greyDark) !important;
border-radius: 0 !important; border-radius: 0 !important;
color: #f9f5d7 !important; color: var(--white) !important;
} }
body span.zettel-link-container.errors { body span.zettel-link-container.errors {
border-color: #cc241d; border-color: var(--red);
} }
body span.zettel-link-container.errors span.zettel-link a { body span.zettel-link-container.errors span.zettel-link a {
color: #cc241d !important; color: var(--red) !important;
} }
body span.zettel-link-container.errors span.zettel-link a:hover { body span.zettel-link-container.errors span.zettel-link a:hover {
background-color: #fb483460 !important; background-color: #fb483460 !important;
} }
/**
* Gruvbox light theme
*
* Based on Gruvbox: https://github.com/morhetz/gruvbox
* Adapted from PrismJS gruvbox-dark theme: https://github.com/schnerring/prism-themes/blob/master/themes/prism-gruvbox-dark.css
*
* @author Michael Schnerring (https://schnerring.net)
* @version 1.0
*/
code[class*="language-"], code[class*="language-"],
pre[class*="language-"] { pre[class*="language-"] {
color: #3c3836; color: #ebdbb2;
/* fg1 / fg */ /* fg1 / fg */
font-family: Consolas, Monaco, "Andale Mono", monospace;
direction: ltr; direction: ltr;
text-align: left; text-align: left;
white-space: pre; white-space: pre;
word-spacing: normal; word-spacing: normal;
word-break: normal; word-break: normal;
line-height: 1.5; line-height: 1.2;
-moz-tab-size: 4; -moz-tab-size: 4;
-o-tab-size: 4; -o-tab-size: 4;
@ -209,9 +234,9 @@
pre[class*="language-"] ::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection { code[class*="language-"] ::-moz-selection {
color: #282828; color: #fbf1c7;
/* fg0 */ /* fg0 */
background: #fbf1c7; background: #7c6f64;
/* bg4 */ /* bg4 */
} }
@ -219,37 +244,40 @@
pre[class*="language-"] ::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"]::selection,
code[class*="language-"] ::selection { code[class*="language-"] ::selection {
color: #282828; color: #fbf1c7;
/* fg0 */ /* fg0 */
background: #7c6f64;
background: #fbf1c7;
/* bg4 */ /* bg4 */
} }
/* Code blocks */ /* Code blocks */
pre[class*="language-"] { pre[class*="language-"] {
padding: 1em; padding: 0.75rem;
margin: 0.5em 0; margin: 0.5rem 0;
overflow: auto; overflow: auto;
} }
:not(pre)>code[class*="language-"], :not(pre)>code[class*="language-"],
pre[class*="language-"] { pre[class*="language-"] {
background: #f9f5d7; background-color: #32302f;
/* bg4 */ /* border-width: 3px;
border: 1px solid #a89984; border-color: #665c54;
border-style: double; */
/* border: 1px solid #504945; */
} }
/* Inline code */ /* Inline code */
:not(pre)>code[class*="language-"] { :not(pre)>code[class*="language-"] {
padding: 0.1em; padding: 0.1em;
border-radius: 0.3em; border-radius: 0;
border-width: 1px;
background: transparent;
} }
.token.comment, .token.comment,
.token.prolog, .token.prolog,
.token.cdata { .token.cdata {
color: #7c6f64; color: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
} }
@ -259,65 +287,64 @@
.token.selector, .token.selector,
.token.important, .token.important,
.token.atrule { .token.atrule {
color: #9d0006; color: #ea6962;
/* red2 */ /* red2 */
} }
.token.operator, .token.operator,
.token.punctuation, .token.punctuation,
.token.attr-name { .token.attr-name {
color: #7c6f64; color: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
background: transparent;
} }
.token.tag, .token.tag,
.token.tag .punctuation, .token.tag .punctuation,
.token.doctype, .token.doctype,
.token.builtin { .token.builtin {
color: #b57614; color: #d8a657;
/* yellow2 */ /* yellow2 */
} }
.token.entity, .token.entity,
.token.number, .token.number,
.token.symbol { .token.symbol {
color: #8f3f71; color: #d3869b;
/* purple2 */ /* purple2 */
} }
.token.property, .token.property,
.token.constant, .token.constant,
.token.variable { .token.variable {
color: #9d0006; color: #ea6962;
/* red2 */ /* red2 */
} }
.token.string, .token.string,
.token.char { .token.char {
color: #797403; color: #89b482;
/* green2 */ /* green2 */
} }
.token.attr-value, .token.attr-value,
.token.attr-value .punctuation { .token.attr-value .punctuation {
color: #7c6f64; color: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
} }
.token.url { .token.url {
color: #797403; color: #89b482;
/* green2 */ /* green2 */
text-decoration: underline; text-decoration: underline;
} }
.token.function { .token.function {
color: #b57614; color: #a9b665;
/* yellow2 */ /* yellow2 */
} }
.token.regex { .token.regex {
background: #797403; background: #b8bb26;
/* green2 */ /* green2 */
} }
@ -330,12 +357,16 @@
} }
.token.inserted { .token.inserted {
background: #7c6f64; background: #a89984;
/* fg4 / gray1 */ /* fg4 / gray1 */
} }
.token.deleted { .token.deleted {
background: #9d0006; background: #ea6962;
/* red2 */ /* red2 */
} }
.token.operator {
background: transparent !important;
}
</style> </style>

View file

@ -5,17 +5,17 @@ unlisted: true
# Eòlas # Eòlas
Hi, I'm [Thomas](https://systemsobscure.blog/). This is the frontend of Hi, I'm [Thomas](https://systemsobscure.blog/). This is the frontend of Eòlas,
[Eòlas](static/eolas), my personal knowledge base. It my personal knowledge base. It is a
is a [Zettelkasten](static/Zettelkasten) work in progress [Zettelkasten](static/Zettelkasten) work in progress
comprising notes from my self-directed study of software engineering and comprising notes from my self-directed study of software engineering and
computer science. computer science.
<a href="https://thomasabishop.github.io/eolas/tags">View tags</a> <a href="https://thomasabishop.github.io/eolas/tags">View tags</a>
**Build ID:** 9c5035d3-e1c9-40cd-a4b3-9d550f2b7fb6 **Build ID:** 84bce166-ed13-454f-aa4b-b278e38fda7b
**Published:** Fri 17 Jan 2025 18:06:54 **Published:** Sun 19 Jan 2025 18:00:55
### Recent edits ### Recent edits

View file

@ -1,3 +1,3 @@
-- Documentation for neuron.dhall: https://neuron.zettel.page/configuration -- Documentation for neuron.dhall: https://neuron.zettel.page/configuration
{ siteTitle = "Zettelkasten", { siteTitle = "",
} }

View file

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View file

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View file

Before

Width:  |  Height:  |  Size: 289 KiB

After

Width:  |  Height:  |  Size: 289 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 6.9 MiB

After

Width:  |  Height:  |  Size: 6.9 MiB

View file

Before

Width:  |  Height:  |  Size: 224 KiB

After

Width:  |  Height:  |  Size: 224 KiB

View file

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View file

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View file

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View file

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View file

Before

Width:  |  Height:  |  Size: 470 KiB

After

Width:  |  Height:  |  Size: 470 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View file

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 848 KiB

After

Width:  |  Height:  |  Size: 848 KiB

View file

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 194 KiB

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View file

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 171 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View file

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 157 KiB

View file

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View file

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 153 KiB

View file

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View file

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View file

Before

Width:  |  Height:  |  Size: 414 KiB

After

Width:  |  Height:  |  Size: 414 KiB

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View file

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 150 KiB

View file

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View file

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 190 KiB

View file

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 374 KiB

View file

Before

Width:  |  Height:  |  Size: 9 KiB

After

Width:  |  Height:  |  Size: 9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View file

Before

Width:  |  Height:  |  Size: 448 KiB

After

Width:  |  Height:  |  Size: 448 KiB

View file

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View file

Before

Width:  |  Height:  |  Size: 668 KiB

After

Width:  |  Height:  |  Size: 668 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View file

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View file

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View file

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 146 KiB

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB