diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-02-23 00:08:10 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-02-23 00:08:10 +0100 |
commit | ae12883d1e99627583a6b782b194b72ed9b98500 (patch) | |
tree | 02a5a6f19cb5f9ef0c2b0e5ce28abc7ed36dfe41 | |
parent | 1fea2c7f5e576766b08502572c799270b4bea3ef (diff) |
Add www/
-rw-r--r-- | include/nav.gsp | 4 | ||||
-rw-r--r-- | m4/anchor-blank.m4 | 1 | ||||
-rw-r--r-- | src/style.css | 79 | ||||
-rw-r--r-- | src/www/index.gsp | 154 |
4 files changed, 238 insertions, 0 deletions
diff --git a/include/nav.gsp b/include/nav.gsp new file mode 100644 index 0000000..93a7ae5 --- /dev/null +++ b/include/nav.gsp @@ -0,0 +1,4 @@ +menu { + li {a href="/" {-Home}} + li {a href=".." {-Back}} +} diff --git a/m4/anchor-blank.m4 b/m4/anchor-blank.m4 new file mode 100644 index 0000000..c687d7c --- /dev/null +++ b/m4/anchor-blank.m4 @@ -0,0 +1 @@ +m4_define(ANCHOR_BLANK, a target="_blank") diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..cdde775 --- /dev/null +++ b/src/style.css @@ -0,0 +1,79 @@ +*, *::before, *::after { + box-sizing: border-box; +} + +:root { + color-scheme: light dark; +} + +body { + text-align: justify; + width: min(800px, 90%); + margin-inline: auto; +} + +blockquote > p:first-child::before { content: '‘'; } +blockquote > p:last-child::after { content: '’'; } +blockquote.de > p:first-child::before { content: '„'; } +blockquote.de > p:last-child::after { content: '“'; } +blockquote + figcaption::before { content: '— '; } + +blockquote, +blockquote + figcaption { + font-style: italic; +} + +@media (prefers-color-scheme: light) { + .quote { + border-left: 4px solid black; + } +} + +@media (prefers-color-scheme: dark) { + .quote { + border-left: 4px solid white; + } +} + +.quote { + padding: .4rem .8rem; + margin-inline: 1rem 0; + margin-block: 2rem; +} + +.quote blockquote { + margin-inline-start: 1rem; +} +.quote blockquote, +.quote blockquote p { + margin-block: .5rem; +} + +.quote figcaption { + margin-inline-start: 2rem; + margin-block: .5rem; +} + +header > div menu { + display: flex; + gap: 2ch; +} + +header > div li { + list-style: none; +} + +header div.head { + display: flex; + justify-content: space-between; + align-items: center; +} + +header div.head menu { + display: flex; + gap: 2ch; +} + +header div.head li { + list-style: none; +} diff --git a/src/www/index.gsp b/src/www/index.gsp new file mode 100644 index 0000000..400ea4c --- /dev/null +++ b/src/www/index.gsp @@ -0,0 +1,154 @@ +html lang="en" { + head { HEAD } + body { + header { + div .head { + h1 {-Other Websites} + INCLUDE(nav.gsp) + } + + figure .quote { + blockquote { + p {= + The essence of XML is this: the problem it solves it not hard, and + it does not solve the problem well. + } + } + figcaption {-Phil Wadler} + } + } + + main { + p {= + On this section of the website you can find links to all sorts of other + websites I think are somewhat interesting. Some of these are my own + sites, and some of them aren’t. Feel free to explore. + } + + h3 {-My Websites} + ul { + li { + ANCHOR_BLANK href="https://archive.thomasvoss.com" {= + @cite{-archive} — Mario Kart Wii time trials archive + } + } + li { + ANCHOR_BLANK href="https://cv.thomasvoss.com" {= + @cite{-cv} — my résumé/curriculum vitæ + } + } + li { + ANCHOR_BLANK href="https://euro.thomasvoss.com" {= + @cite{-euro} — my euro coin and -banknote collection + } + } + li { + ANCHOR_BLANK href="https://git.thomasvoss.com" {= + @cite{-git} — my git server + } + } + li { + ANCHOR_BLANK href="https://paste.thomasvoss.com" {= + @cite{-paste} — my paste server + } + } + li { + ANCHOR_BLANK href="https://retime.mcbe.wtf" {= + @cite{-retime} — a webtool for retiming speedruns + } + } + } + + h3 {-Not My Websites} + ul { + li { + ANCHOR_BLANK href="https://classicshorts.com" {= + @cite{-classicshorts} — a collection of short stories + } + } + li { + ANCHOR_BLANK href="https://iannis.io" {= + @cite{-iannis.io} — blog posts on programming topics + } + } + li { + ANCHOR_BLANK href="https://redblobgames.com" {= + @cite{-redblobgames} — algorithms in the context of video games + } + } + li { + ANCHOR_BLANK href="https://tdmm.eu" {= + @cite{-tdmm} — blog posts on low-level development + } + } + li { + ANCHOR_BLANK href="https://bal-e.org/blog" {= + @cite{-bal-e} — it’s like tdmm.eu I guess + } + } + li { + ANCHOR_BLANK href="http://textfiles.com" {= + @cite{-textfiles} — a collection of thousands of plain-text files + } + } + li { + ANCHOR_BLANK href="https://cat-v.org" {= + @cite{-cat-v} — @q{-The Internet is not for sissies.} + } + } + } + + h3 {-Assorted Links} + p {-For those unfamiliar with Lisp:} + ul { + li { + ANCHOR_BLANK + href="https://web.archive.org/web/20230619115633/http://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.html" + { + cite {-Why Lisp Macros are Cool} + } + } + } + + p {-Alternative approaches to common problems:} + ul { + li { + ANCHOR_BLANK + href="https://doc.cat-v.org/plan_9/4th_edition/papers/rc" + { + cite {-Rc — The Plan 9 Shell} + } + } + li { + ANCHOR_BLANK + href="https://doc.cat-v.org/inferno/4th_edition/inferno_shell" + { + cite {-Sh — The Inferno Shell} + } + } + li { + ANCHOR_BLANK + href="https://doc.cat-v.org/bell_labs/structural_regexps/se.pdf" + { + cite {-Structural Regular Expressions — Rob Pike} + } + } + } + + p {-Interesting talks (these are videos):} + ul { + li { + ANCHOR_BLANK + href="https://www.youtube.com/watch?v=HxaD_trXwRE" + { + cite {-Lexical Scanning in Go — Rob Pike} + } + } + } + } + + hr{} + + footer { FOOT } + } +} |