diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-02-23 01:01:29 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-02-23 01:01:29 +0100 |
commit | bc9b490ea8afc2feec6f39dc1dafc5ea11d6b8d6 (patch) | |
tree | 211edf1fcd4e494b114374179285463c9530faaf | |
parent | 79b7ac752e18672935b887fcaccdc360a5ea7eee (diff) |
More things
-rw-r--r-- | .exrc | 14 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | GNUmakefile | 10 | ||||
-rw-r--r-- | include/foot.gsp | 1 | ||||
-rw-r--r-- | m4/anchor-blank.m4 | 1 | ||||
-rw-r--r-- | m4/newtab.m4 | 1 | ||||
-rw-r--r-- | src/index.gsp | 2 | ||||
-rw-r--r-- | src/me/index.gsp | 82 | ||||
-rw-r--r-- | src/www/index.gsp | 46 |
9 files changed, 117 insertions, 41 deletions
@@ -1,8 +1,14 @@ -" Autowrap lines -set tw=80 +function s:build() + update + make! + let qf = getqflist() + if len(filter(getqflist(), 'get(v:val, "valid", 1)')) == 0 + call feedkeys("
") + endif +endfunction -" Auto-compile the site -nnoremap M :w \| make<CR><CR> +nnoremap <silent> M :call <sid>build()<cr> +set tw=80 let g:netrw_sort_sequence = '^index.gsp$,[\/]$,' let g:netrw_list_hide .= ',^.*\.html$' @@ -1,2 +1,3 @@ +*.bak *.html .aspell.en.prepl diff --git a/GNUmakefile b/GNUmakefile index 852c272..75d10af 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,26 +1,24 @@ -.PHONY: check clean serve watch +.PHONY: check clean serve MAKEFLAGS := -j$(shell nproc) export PATH := $(PATH):./bin export LANG := en_US.UTF-8 +reqs := $(shell find include m4 -type f) srcs := $(shell find src -type f -name 'index.gsp') dsts := $(srcs:%.gsp=%.html) all: $(dsts) -%.html: %.gsp +%.html: %.gsp $(reqs) m4 -P -Iinclude m4/* $< | gsp >$@ check: find src -name '*.gsp' -exec \ - aspell --home-dir=./ --ignore-case check {} \; + aspell --personal=.wordlist --ignore-case check {} \; clean: find . -name '*.html' -delete serve: darkhttpd src --daemon - -watch: - git ls-files --others | entr -n $(MAKE) diff --git a/include/foot.gsp b/include/foot.gsp index 9923499..8913ae8 100644 --- a/include/foot.gsp +++ b/include/foot.gsp @@ -1,3 +1,4 @@ +hr{} small {= Page last edited: @a diff --git a/m4/anchor-blank.m4 b/m4/anchor-blank.m4 deleted file mode 100644 index c687d7c..0000000 --- a/m4/anchor-blank.m4 +++ /dev/null @@ -1 +0,0 @@ -m4_define(ANCHOR_BLANK, a target="_blank") diff --git a/m4/newtab.m4 b/m4/newtab.m4 new file mode 100644 index 0000000..7aa8ba2 --- /dev/null +++ b/m4/newtab.m4 @@ -0,0 +1 @@ +m4_define(NEWTAB, a target="_blank") diff --git a/src/index.gsp b/src/index.gsp index 6e20bae..e233602 100644 --- a/src/index.gsp +++ b/src/index.gsp @@ -33,8 +33,6 @@ html lang="en" { li {a href="www" {-Other Websites}} } - hr{} - footer { FOOT } } } diff --git a/src/me/index.gsp b/src/me/index.gsp new file mode 100644 index 0000000..b05446d --- /dev/null +++ b/src/me/index.gsp @@ -0,0 +1,82 @@ +html lang="en" { + head { HEAD } + body { + header { + div { + h1 {-About Me} + INCLUDE(nav.gsp) + } + + figure .quote { + blockquote { + p {= + One obvious advantage [of lisp syntax] is that there hardly *is* any + syntax. You can learn enough Lisp syntax to write useful programs + in about ten minutes. + } + } + figcaption {-Mark J. Dominus} + } + } + + main { + p {= + If you are a prospective employer, you can view my CV + @NEWTAB href="https://cv.thomasvoss.com" {-here}. + } + + h2 {-Who Am I} + + p {= + I’m Thomas, a self-taught recreational programmer. I like simplicity, + and I take pride in actually understanding how my code works. This + means I am deathly allergic to many things that plague modern software + development. Things that include but are not limited to: + + @ul { + li {-All web frameworks} + li {-C++ and JavaScript} + li {-CLEAN} + li {-CMake} + li {-DRY} + li {-Over abstraction} + } + } + + p {= + Shoutouts to + @NEWTAB href="https://www.instructables.com/member/Prof.%20Pickle/" {= + Prof. Pickle on Instructables + } + by the way. Most of his stuff seems to have been deleted all these + years later, but he was the guy that first got me into programming when + I was in elementary school. + } + + p {= + These days my interests lie mostly in CLI development. I take a great + joy in writing simple yet highly effective tools to solve problems not + only in an easy-yet-extensible manner. I think my batch file-renaming + utility @em {-mmv} @a href="TODO" {-does a great job at that}. + } + + p {= + That being said, I also have a great interest in operating systems, + shells, and really anything that could be considered remotely low-level. + I’m not totally afraid of front-end development, although I @em {-did} + write this site in plain HTML and CSS because modern HTML frameworks are + the worst excuses for software I have ever seen. + } + + p {= + At the end of the day, I am a recreational programmer at heart and can + and will code whatever interests me in the moment (CLI tools, emulators, + Unicode libraries, etc.). I reject the premise that you need to write + software for other people, that other people will use, or even software + that you will use. I code for the joy of programming. + } + } + + footer { FOOT } + } +} diff --git a/src/www/index.gsp b/src/www/index.gsp index 400ea4c..ca67690 100644 --- a/src/www/index.gsp +++ b/src/www/index.gsp @@ -28,32 +28,32 @@ html lang="en" { h3 {-My Websites} ul { li { - ANCHOR_BLANK href="https://archive.thomasvoss.com" {= + NEWTAB href="https://archive.thomasvoss.com" {= @cite{-archive} — Mario Kart Wii time trials archive } } li { - ANCHOR_BLANK href="https://cv.thomasvoss.com" {= + NEWTAB href="https://cv.thomasvoss.com" {= @cite{-cv} — my résumé/curriculum vitæ } } li { - ANCHOR_BLANK href="https://euro.thomasvoss.com" {= + NEWTAB href="https://euro.thomasvoss.com" {= @cite{-euro} — my euro coin and -banknote collection } } li { - ANCHOR_BLANK href="https://git.thomasvoss.com" {= + NEWTAB href="https://git.thomasvoss.com" {= @cite{-git} — my git server } } li { - ANCHOR_BLANK href="https://paste.thomasvoss.com" {= + NEWTAB href="https://paste.thomasvoss.com" {= @cite{-paste} — my paste server } } li { - ANCHOR_BLANK href="https://retime.mcbe.wtf" {= + NEWTAB href="https://retime.mcbe.wtf" {= @cite{-retime} — a webtool for retiming speedruns } } @@ -62,37 +62,37 @@ html lang="en" { h3 {-Not My Websites} ul { li { - ANCHOR_BLANK href="https://classicshorts.com" {= + NEWTAB href="https://classicshorts.com" {= @cite{-classicshorts} — a collection of short stories } } li { - ANCHOR_BLANK href="https://iannis.io" {= + NEWTAB href="https://iannis.io" {= @cite{-iannis.io} — blog posts on programming topics } } li { - ANCHOR_BLANK href="https://redblobgames.com" {= + NEWTAB href="https://redblobgames.com" {= @cite{-redblobgames} — algorithms in the context of video games } } li { - ANCHOR_BLANK href="https://tdmm.eu" {= + NEWTAB href="https://tdmm.eu" {= @cite{-tdmm} — blog posts on low-level development } } li { - ANCHOR_BLANK href="https://bal-e.org/blog" {= + NEWTAB href="https://bal-e.org/blog" {= @cite{-bal-e} — it’s like tdmm.eu I guess } } li { - ANCHOR_BLANK href="http://textfiles.com" {= + NEWTAB href="http://textfiles.com" {= @cite{-textfiles} — a collection of thousands of plain-text files } } li { - ANCHOR_BLANK href="https://cat-v.org" {= + NEWTAB href="https://cat-v.org" {= @cite{-cat-v} — @q{-The Internet is not for sissies.} } } @@ -102,9 +102,7 @@ html lang="en" { 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" - { + NEWTAB href="https://web.archive.org/web/20230619115633/http://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.html" { cite {-Why Lisp Macros are Cool} } } @@ -113,23 +111,17 @@ html lang="en" { p {-Alternative approaches to common problems:} ul { li { - ANCHOR_BLANK - href="https://doc.cat-v.org/plan_9/4th_edition/papers/rc" - { + NEWTAB 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" - { + NEWTAB 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" - { + NEWTAB href="https://doc.cat-v.org/bell_labs/structural_regexps/se.pdf" { cite {-Structural Regular Expressions — Rob Pike} } } @@ -138,9 +130,7 @@ html lang="en" { p {-Interesting talks (these are videos):} ul { li { - ANCHOR_BLANK - href="https://www.youtube.com/watch?v=HxaD_trXwRE" - { + NEWTAB href="https://www.youtube.com/watch?v=HxaD_trXwRE" { cite {-Lexical Scanning in Go — Rob Pike} } } |