diff options
-rw-r--r-- | include/foot.gsp | 9 | ||||
-rw-r--r-- | include/head.gsp | 5 | ||||
-rw-r--r-- | m4/__base.m4 | 7 | ||||
-rw-r--r-- | m4/foot.m4 | 11 | ||||
-rw-r--r-- | m4/head.m4 | 1 | ||||
-rw-r--r-- | m4/include.m4 | 3 | ||||
-rw-r--r-- | src/index.gsp | 56 |
7 files changed, 92 insertions, 0 deletions
diff --git a/include/foot.gsp b/include/foot.gsp new file mode 100644 index 0000000..9923499 --- /dev/null +++ b/include/foot.gsp @@ -0,0 +1,9 @@ +small {= + Page last edited: + @a + href="https://git.thomasvoss.com/www.thomasvoss.com/commit?id=__HASH" + target="_blank" + {= + __DATE + } +} diff --git a/include/head.gsp b/include/head.gsp new file mode 100644 index 0000000..0b7ce95 --- /dev/null +++ b/include/head.gsp @@ -0,0 +1,5 @@ +meta charset="UTF-8" {} +meta name="viewport" content="width=device-width, initial-scale=1.0" {} +link href="/favicon.svg" rel="shortcut icon" type="image/svg" {} +link href="/style.css" rel="stylesheet" {} +title {-Thomas Voss} diff --git a/m4/__base.m4 b/m4/__base.m4 new file mode 100644 index 0000000..611a256 --- /dev/null +++ b/m4/__base.m4 @@ -0,0 +1,7 @@ +m4_dnl To avoid annoying conflicts with quote characters, use +m4_dnl U+2068 FIRST STRONG ISOLATE and U+2069 POP DIRECTIONAL ISOLATE +m4_changequote(,) + +m4_dnl We also need to avoid the comment character ever doing absolutely +m4_dnl anything, so set it to U+FFFD REPLACEMENT CHARACTER +m4_changecom(�) diff --git a/m4/foot.m4 b/m4/foot.m4 new file mode 100644 index 0000000..243a84b --- /dev/null +++ b/m4/foot.m4 @@ -0,0 +1,11 @@ +m4_define(FOOT, + m4_define(__HASH, m4_esyscmd( + git rev-list --max-count=1 HEAD m4___file__ + )) + m4_define(__DATE, m4_esyscmd( + git log --max-count=1 --pretty='format:%cI' m4___file__ \ + | xargs --no-run-if-empty -- date '+%-d %B %Y (%A) — %T %Z' --date \ + | ifne -n echo 'No commit yet…' + )) + m4_include(foot.gsp) +) diff --git a/m4/head.m4 b/m4/head.m4 new file mode 100644 index 0000000..9161929 --- /dev/null +++ b/m4/head.m4 @@ -0,0 +1 @@ +m4_define(HEAD, m4_include(head.gsp)) diff --git a/m4/include.m4 b/m4/include.m4 new file mode 100644 index 0000000..ef22bf1 --- /dev/null +++ b/m4/include.m4 @@ -0,0 +1,3 @@ +m4_dnl Exactly the same as m4_include, but following the same naming conventions +m4_dnl as the other macros I create. +m4_define(INCLUDE, m4_include($1)) diff --git a/src/index.gsp b/src/index.gsp new file mode 100644 index 0000000..530bfae --- /dev/null +++ b/src/index.gsp @@ -0,0 +1,56 @@ +html lang="en" { + head { HEAD } + body { + header { + h1 {-Root Page} + + figure .quote { + blockquote { + p {= + If Java had true garbage collection, most programs would delete + themselves upon execution. + } + } + figcaption {-Robert Sewell} + } + } + + main { + p {- + Welcome to my plot of the internet. This site is mostly oriented + towards topics related to software development, but you might eventually + find some things that are completely unrelated as well. The ‘source + code’ for the site (if you can call m4_abbr(HTML) @x-ref{-1} and a basic + build system source code) + @a + href="https://git.thomasvoss.com/www.thomasvoss.com" + target="_blank" + {-are available through git}. + } + + aside { + p data-ref="1" {- + The site is actually written in my own m4_abbr(GSP) language, but it + transpiles into m4_abbr(HTML). Also, this site doesn’t even have any + JavaScript. There truly is no code. + } + } + + p {- + Now go branch off to a subsection of the site: + } + + ul { + li {a href="man" {-Manual Pages}} + li {a href="prj" {-Documentation}} + li {a href="blog" {-Blog Posts}} + li {a href="www" {-Other Websites}} + li {a href="ame" {-About Me}} + } + + hr{} + + footer { FOOT } + } + } +} |