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 } +		} +	} +}  |