commit 844441fce7ac5c0364b3fe1a217da6889cb937ba (patch)
parent 76b82ea3c3e0863cf01c1d7519371e9d69a0f12a
Author: Alex Karle <alex@alexkarle.com>
Date: Wed, 30 Dec 2020 13:49:47 -0500
www: Goodbye markdown, long live mdoc
Man (pun intended), I had a blast putting this together. I got the
idea the other day while playing around with a toy static site, and
it just clicked--what if I used mdoc as my markup language and mandoc
to generate the HTML for a static site?
This was obviously not the intended use case, but I think it gives off
a nerdy vibe in exactly the right way :)
Later versions of mandoc allow .Xr to link against a fallback if the
reference doesn't exist locally, which is perfect for using .Xr as both
my internal site links (between pages) and as a cheap reference to
OpenBSD man pages (which I plan to do more often as I write more
technical content).
The beauty of this setup is that it can now be built entirely from
base OpenBSD (relying only on make(1) and mandoc(1)).
Time for the final test -- the girlfriend approval!
Diffstat:
26 files changed, 383 insertions(+), 343 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1 +1,4 @@
/build/
+
+# generated html from man pages
+*.[1-9].html
diff --git a/BLM.7 b/BLM.7
@@ -0,0 +1,18 @@
+.Dd July 13, 2020
+.Dt BLM 7
+.Os
+.Sh NAME
+.Nm BLM
+.Nd Black Lives Matter
+.Sh DESCRIPTION
+I meant to post about this earlier, but it's better late than never.
+.Pp
+It's become abundantly clear to me that we need serious structural changes in our country.
+I want to raise my voice in solidarity to say that Black Lives Matter.
+.Sh SEE ALSO
+.Bl -compact -bullet -format=indent
+.It
+.Lk https://blacklivesmatter.com
+.It
+.Xr blog 7
+.El
diff --git a/Makefile b/Makefile
@@ -1,16 +1,24 @@
-HOST = alexkarle.com
-DEST = /var/www/htdocs
+# sub-Makefile so that mandoc -Oman can find the Xr references
+HIDE = @
+HTML := \
+ intro.7.html \
+ blog.7.html \
+ a-new-hope.7.html \
+ domain-names.7.html \
+ BLM.7.html \
+ self-hosted.7.html \
+ on-writing.7.html
.PHONY: build
-build:
- ./bin/build.sh
+build: $(HTML)
-.PHONY: install
-install: build
- mkdir -p $(DEST)
- cp build/* $(DEST)
+.PHONY: clean
+clean:
+ rm -f $(HTML)
-.PHONY: release
-release:
- rsync --delete --exclude=.git -av ./ $(HOST):karleco/ && \
- ssh -t $(HOST) doas make -C karleco install
+.SUFFIXES: .7 .7.html
+.7.7.html:
+ @echo "mandoc $<"
+ $(HIDE)mandoc -Thtml -O 'man=%N.%S.html;https://man.openbsd.org/%N.%S,style=style.css' $< \
+ | sed 's#</head>#<meta name="viewport" content="width=device-width,initial-scale=1">&# ' \
+ > $@
diff --git a/README.md b/README.md
@@ -1,13 +1,13 @@
alexkarle.com
=============
-
My small corner of the internet.
www.
----
-A static site with a small templating system, build with `make`.
+A static site comprised of `mdoc(7)` flavored man pages, built to HTML via
+`mandoc(1)`.
-Currently hosted with OpenBSD's `httpd`, but any web server should be able to
+Currently hosted with OpenBSD's `httpd(8)`, but any web server should be able to
serve it up.
git.
@@ -19,14 +19,10 @@ views into the diffs and files of each repo.
I like the stagit approach in that it is simple, modular, and emphasizes the use
of regular git for larger operations (i.e. diff between refs, etc).
-In the stagit/ directory, find:
-
- * style.css -- CSS for all pages
- * post-receive -- the git-hook to update the pages
- * logo.png -- AK logo
- * setup.sh -- small script to setup all exported repos with proper hooks, etc
- also used to bulk update style.css/post-receive/logo.png
+I use the default post-receive and create scripts that ship with the tool (with
+small modifications for the installation). The logo is in this repo as
+`logo.png`.
-The content, being static, is served up with `httpd` as well.
+The content, being static, is served up with `httpd(8)` as well.
[1]: https://git.codemadness.org/stagit
diff --git a/a-new-hope.7 b/a-new-hope.7
@@ -0,0 +1,22 @@
+.Dd December 19, 2019
+.Dt A-NEW-HOPE 7
+.Os
+.Sh NAME
+.Nm a-new-hope
+.Nd cliche first blog post?
+.Sh DESCRIPTION
+Toying with the thought of starting a website/blog.
+.Pp
+Exploring my hosting options and pleasantly surprised that
+.Lk https://fastmail.com FastMail
+has free static site hosting!
+.Pp
+Inspired by Jeff Huang's article on websites Designed to Last
+a general desire for a simpler web.
+.Sh SEE ALSO
+.Bl -compact -bullet -format=indent
+.It
+.Lk https://jeffhuang.com/designed_to_last
+.It
+.Xr blog 7
+.El
diff --git a/bin/build.sh b/bin/build.sh
@@ -1,6 +0,0 @@
-#!/bin/sh
-mkdir -p build
-cp content/*.css build
-for f in content/*.md; do
- Markdown.pl $f | ./bin/tm.pl > build/`basename $f md`html
-done
diff --git a/bin/tm.pl b/bin/tm.pl
@@ -1,35 +0,0 @@
-#!/usr/bin/env perl
-# tm.pl -- minimal templating script
-# ^ ^^^
-use strict;
-use warnings;
-
-use File::Basename qw(dirname);
-use FindBin;
-
-my $TOP = dirname($FindBin::Bin);
-
-while (my $l = <>) {
- process_line($l);
-}
-
-sub process_line {
- my $l = shift;
- if ($l =~ /{% include=(.*) %}/) {
- process_file($1);
- } else {
- print $l;
- }
-}
-
-sub process_file {
- my $f = shift;
-
- my $tmpl = "$TOP/templates/$f.tmpl";
- die "bad template: $tmpl" unless -e $tmpl;
- open(my $tfh, '<', $tmpl) or die "open: $!";
- while (my $l = <$tfh>) {
- process_line($l);
- }
- close($tfh) or die "close: $!";
-}
diff --git a/blog.7 b/blog.7
@@ -0,0 +1,28 @@
+.Dd
+.Dt BLOG 7
+.Os
+.Sh NAME
+.Nm blog
+.Nd yet another weblog
+.Sh DESCRIPTION
+I don't write frequently, but when I do, it's usually about tech.
+.Sh SEE ALSO
+.Bl -bullet -compact -offset=indent
+.It
+.Xr intro 7
+.It
+.Xr on-writing 7
+- On Writing Without an Audience (10/22/2020)
+.It
+.Xr self-hosted 7
+- Migrating to a Self-Hosted Site (7/19/2020)
+.It
+.Xr BLM 7
+- Black Lives Matter (7/13/2020)
+.It
+.Xr domain-names 7
+- What's in a (domain) name? (3/24/2020)
+.It
+.Xr a-new-hope 7
+- A New Hope (12/19/2019)
+.El
diff --git a/content/03-24-20-domain-name.md b/content/03-24-20-domain-name.md
@@ -1,25 +0,0 @@
-<!-- {% include=head %} -->
-
-### Mar. 24, 2020: What's in a (domain) name?
-
-I went through a phase this week of really wanting `karle.[original-tld]`.
-Not for a business. Not for boosting my own webpage (it doesn't really
-have much). Just for me.
-
-The results were... disheartening.
-
-* **`karle.org:`**<br> Registered since 2004, no website, just an email
-DNS record. WHOIS guard ensures I can't even reach out to who owns it.
-
-* **`karle.com:`**<br> For sale by owner on Uniregistry. Ok. Inquired.
-Owner wants a "serious 5 figure offer". Next!
-
-* **`karle.net:`**<br> Owned by [RealNames](https://realnames.com),
-a business seemingly centered around buying lastname.net domains and
-charging people like me to set up an email. Almost brilliant enough of a
-business to make me forgive their scumminess. _Almost_. Nary an
-option to buy it.
-
-So here we are. Looks like `karle.co` for at least a little longer.
-
-<!-- {% include=post-tail %} -->
diff --git a/content/07-13-20-blm.md b/content/07-13-20-blm.md
@@ -1,11 +0,0 @@
-<!-- {% include=head %} -->
-
-### July 13, 2020: Black Lives Matter
-
-I meant to post about this earlier, but it's better late than never.
-
-It's become abundantly clear to me that we need serious structural changes in
-our country. I want to raise my voice in solidarity to say that
-[Black Lives Matter](https://blacklivesmatter.com).
-
-<!-- {% include=post-tail %} -->
diff --git a/content/07-19-20-self-hosted.md b/content/07-19-20-self-hosted.md
@@ -1,54 +0,0 @@
-<!-- {% include=head %} -->
-
-### July 19, 2020: Migrating to a Self-Hosted Site
-
-If you look at the [first post][1] on this site, you'll see that this site
-started as a series of static HTML files that I was, by hand, uploading to
-Fastmail via their "files" GUI.
-
-Being a total nerd for automation, I was always on the lookout for an excuse to
-migrate to my own server, where I could (over)engineer a pipeline to build my
-static content and deploy it without ever leaving the terminal.
-
-That excuse presented itself in the form of needing to get a VPS to stand up my
-hobby-project, [`euchre.live`][el]. If I was going to pay for a tiny VM, it was
-a no-brainer to move my personal site to it too.
-
-This turned out to be a great learning experience -- getting hands on experience
-with reverse proxies, DNS, and a variety of operating systems and webservers
-(first hosted on Alpine Linux and migrated to OpenBSD). Additionally, I could
-self-host git repos, which has long been a nerd-goal of mine :)
-
-I plan to write a lengthier post about the joys of self-hosting in the future,
-but for now, I really just wanted to give a brief update on where I landed and
-what the current stack is.
-
-I'm currently running (in no particular order):
-
-* **OS:** OpenBSD
-* **Web server:** OpenBSD's `httpd(8)`
- - Serves the `www.` static content
- - Also serves [`git.alexkarle.com`][git]
-* **Reverse proxy:** OpenBSD's `relayd(8)`
- - Used to send traffic between [`euchre.live`][el] (which uses a [Mojolicious][mojo]
- web server as the backend) and `alexkarle.com` based on URL
-* **`www` content:**
- - 100% static content
- - No metrics, ads, or tracking
- - Posts and pages written in markdown
- - HTML generated with a pipeline of the original `Markdown.pl` into a small
- templating Perl script that I home-rolled
-* **Git:**
- - Public repos served with `git-daemon(1)` over the `git://` protocol
- - Push access via the `ssh://` protocol
- - static HTML of content generated via post-receive hook with [`stagit(1)`][stagit]
-
-That's all for now!
-
-[1]: 12-19-19-a-new-hope.html
-[el]: http://euchre.live
-[git]: https://git.alexkarle.com
-[stagit]: https://git.codemadness.org/stagit/
-[mojo]: https://mojolicious.org
-
-<!-- {% include=post-tail %} -->
diff --git a/content/10-22-20-on-writing.md b/content/10-22-20-on-writing.md
@@ -1,46 +0,0 @@
-<!-- {% include=head %} -->
-
-### October 22, 2020: On Writing Without an Audience
-
-I wrote a blog post 3 weeks ago but never published it. I spent a couple
-hours writing, proof-reading, and rewriting, and settled to re-read
-once more in the morning and publish if I still liked it after a good
-nights sleep.
-
-I got caught up with other things, and a day or two later re-read it and
-still didn't end up publishing it. I didn't think it was quite right.
-I liked it well enough, but I was worried other people would judge it.
-
-But here's the irony--as far as I know, I have no readers. Publishing it
-is almost equivalent to shouting into the void.
-
-So why did I care so much?
-
-As I found myself thinking about how I'd revise the original post
-tonight, I realized that maybe this fear of judgment from non-existent
-(but potential future) internet strangers was a much more interesting
-topic to explore than my original musings. So here I am hashing it out.
-
-I think the fear of judgment comes from a mixture of seeing public figures
-have their pasts (preserved in the digital era) come back to haunt them
-combined with observing how readers can react strongly and negatively to
-posts. I don't plan to ever become so famous as to have a blog haunt me,
-nor do I ever expect enough readers to have overwhelmingly unpleasant
-reactions, but the fear still got to me.
-
-But I want to persevere, and that's ultimately what writing this is about.
-I'm not writing for fame or attention. I'm not writing to further my
-career or put it on my resume.
- I'm writing for me. For the clarity
-I get from expressing my thoughts, and for the joy I get looking back
-at where I was months or years ago.
-
-Why host them publicly? Well, I really enjoy a good tech blog, and
-admire a blogger or two out there. I want to be the change I want to
-see in the internet and migrate from centralized social networks back
-to a decentralized network of personal and self-hosted sites.
-
-And who knows, maybe one day someone will read this and have felt the
-same. I guess I'm writing for that person too.
-
-<!-- {% include=post-tail %} -->
diff --git a/content/12-19-19-a-new-hope.md b/content/12-19-19-a-new-hope.md
@@ -1,14 +0,0 @@
-<!-- {% include=head %} -->
-
-### Dec. 19, 2019: A New Hope
-
-Toying with the thought of starting a website/blog.
-
-Exploring my hosting options and pleasantly surprised that
-[Fastmail](https://fastmail.com) has free static site hosting!
-
-Inspired by Jeff Huang's article on websites
-[Designed to Last](https://jeffhuang.com/designed_to_last) and
-a general desire for a simpler web.
-
-<!-- {% include=post-tail %} -->
diff --git a/content/favicon.ico b/content/favicon.ico
Binary files differ.
diff --git a/content/index.md b/content/index.md
@@ -1,17 +0,0 @@
-<!-- {% include=head %} -->
-
-### About me:
-
-Hi, I'm Alex! I'm a software engineer living in the Boston area.
-
-I'm currently interested in free Operating Systems (particularly Linux
-and OpenBSD), SCM systems (mostly git), and developer tooling.
-
-<br>
-
-### Find me online:
-
-* GitHub: [`@akarle`](https://github.com/akarle)
-* Email: `alex AT this-domain`
-
-<!-- {% include=tail %} -->
diff --git a/content/style.css b/content/style.css
@@ -1,66 +0,0 @@
-body {
- background-color: #F5F5F5;
- font-family: sans-serif;
- margin-left: 20px;
- margin-right: 20px;
- font-size: 1em;
- line-height: 1.3;
-}
-
-h1, h2, #nav {
- font-family: "Courier New", monospace;
-}
-
-ul {
- padding-left: 30px;
-}
-
-code {
- font-size: 1.3em;
-}
-
-@media only screen and (min-width: 992px) {
- #content {
- width: 60%;
- margin: 0 auto;
- }
-}
-
-@media only screen and (min-width: 600px) and (max-width: 991px) {
- #content {
- width: 80%;
- margin: 0 auto;
- }
-}
-
-@media only screen and (min-width: 600px) {
- header {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- }
-}
-
-a:link {
- color: #0a7899;
-}
-
-a:visited {
- color: #033a4a;
-}
-
-header {
- text-align: center;
- margin-bottom: 3em;
-}
-
-#nav > a {
- color: dimgray;
- text-decoration: none;
-}
-
-#nav > a:hover {
- color: #3f3f3f;
- text-decoration: underline;
-}
diff --git a/content/thoughts.md b/content/thoughts.md
@@ -1,13 +0,0 @@
-<!-- {% include=head %} -->
-
-### A collection of thoughts.
-
-<p style="color:grey">(Because I couldn't commit to calling it a blog)</p>
-
-* [Oct. 22, 2020: On Writing Without an Audience](10-22-20-on-writing.html)
-* [Jul. 19, 2020: Migrating to a Self-Hosted Site](07-19-20-self-hosted.html)
-* [Jul. 13, 2020: Black Lives Matter](07-13-20-blm.html)
-* [Mar. 24, 2020: What's in a (domain) name?](03-24-20-domain-name.html)
-* [Dec. 19, 2019: A New Hope](12-19-19-a-new-hope.html)
-
-<!-- {% include=tail %} -->
diff --git a/domain-names.7 b/domain-names.7
@@ -0,0 +1,44 @@
+.Dd March 24, 2020
+.Dt DOMAIN-NAMES 7
+.Os
+.Sh NAME
+.Nm domain-names
+.Nd what's in a (domain) name?
+.Sh DESCRIPTION
+I went through a phase this week of really wanting `karle.[original-tld]`.
+Not for a business.
+Not for boosting my own webpage (it doesn't really have much).
+Just for me.
+.Pp
+The results were... disheartening.
+.Bl -bullet -compact -format=indent
+.It
+.Sy karle.org :
+.Pp
+Registered since 2004, no website, just an email DNS record.
+WHOIS guard ensures I can't even reach out to who owns it.
+.It
+.Sy karle.com :
+.Pp
+For sale by owner on Uniregistry.
+Ok.
+Inquired.
+Owner wants a "serious 5 figure offer".
+Next!
+.It
+.Sy karle.net :
+.Pp
+Owned by
+.Lk https://realnames.com RealNames ,
+a business seemingly centered around buying lastname.net domains and
+charging people like me to set up an email.
+Almost brilliant enough of a business to make me forgive their scumminess.
+.Em Almost .
+Nary an option to buy it.
+.El
+So here we are. Looks like `karle.co` for at least a little longer.
+.Sh SEE ALSO
+.Bl -compact -bullet -format=indent
+.It
+.Xr blog 7
+.El
diff --git a/intro.7 b/intro.7
@@ -0,0 +1,28 @@
+.Dd
+.Dt INTRO 7
+.Os
+.Sh NAME
+.Nm intro
+.Nd welcome to my personal homepage
+.Sh ABOUT ME
+Hi!
+I'm Alex.
+I'm a software engineer living in the Boston area.
+I'm currently interested in free Operating Systems (particularly Linux
+and OpenBSD), SCM systems (mostly git), and developer tooling.
+.Pp
+If you can't tell from the layout of this site, I'm a
+.Xr man 1
+page enthusiast.
+.Sh SEE ALSO
+.Bl -bullet -compact
+.It
+.Lk https://euchre.live euchre(6)
+.It
+.Xr blog 7
+.It
+.Lk /git projects(7)
+.El
+.Sh CONTACT
+Email:
+.Mt alex@alexkarle.com
diff --git a/on-writing.7 b/on-writing.7
@@ -0,0 +1,55 @@
+.Dd October 22, 2020
+.Dt ON-WRITING 7
+.Os
+.Sh NAME
+.Nm on-writing
+.Nd thoughts on writing without an audience
+.Sh DESCRIPTION
+I wrote a blog post 3 weeks ago but never published it.
+I spent a couple hours writing, proof-reading, and rewriting, and settled to
+re-read once more in the morning and publish if I still liked it after a good
+nights sleep.
+.Pp
+I got caught up with other things, and a day or two later re-read it and
+still didn't end up publishing it.
+I didn't think it was quite right.
+I liked it well enough, but I was worried other people would judge it.
+.Pp
+But here's the irony--as far as I know, I have no readers.
+Publishing it is almost equivalent to shouting into the void.
+.Pp
+So why did I care so much?
+.Pp
+As I found myself thinking about how I'd revise the original post
+tonight, I realized that maybe this fear of judgment from non-existent
+(but potential future) internet strangers was a much more interesting
+topic to explore than my original musings.
+So here I am hashing it out.
+.Pp
+I think the fear of judgment comes from a mixture of seeing public figures
+have their pasts (preserved in the digital era) come back to haunt them
+combined with observing how readers can react strongly and negatively to
+posts.
+I don't plan to ever become so famous as to have a blog haunt me,
+nor do I ever expect enough readers to have overwhelmingly unpleasant
+reactions, but the fear still got to me.
+.Pp
+But I want to persevere, and that's ultimately what writing this is about.
+I'm not writing for fame or attention.
+I'm not writing to further my career or put it on my resume.
+I'm writing for me. For the clarity I get from expressing my thoughts, and for
+the joy I get looking back at where I was months or years ago.
+.Pp
+Why host them publicly?
+Well, I really enjoy a good tech blog, and admire a blogger or two out there.
+I want to be the change I want to see in the internet and migrate from
+centralized social networks back to a decentralized network of personal and
+self-hosted sites.
+.Pp
+And who knows, maybe one day someone will read this and have felt the same. I guess I'm writing for that person too.
+.Pp
+.Sh SEE ALSO
+.Bl -compact -bullet -format=indent
+.It
+.Xr blog 7
+.El
diff --git a/self-hosted.7 b/self-hosted.7
@@ -0,0 +1,96 @@
+.Dd July 19, 2020
+.Dt SELF-HOSTED 7
+.Os
+.Sh NAME
+.Nm self-hosted
+.Nd a tale of migrating to my own server
+.Sh DESCRIPTION
+If you look at the first post
+.Xr ( a-new-hope 7 )
+on this site, you'll see that this site started as a series of static HTML
+files that I was, by hand, uploading to Fastmail via their "files" GUI.
+.Pp
+Being a total nerd for automation, I was always on the lookout for an excuse to
+migrate to my own server, where I could (over)engineer a pipeline to build my
+static content and deploy it without ever leaving the terminal.
+.Pp
+That excuse presented itself in the form of needing to get a VPS to stand up my
+hobby-project, `euchre.live`.
+If I was going to pay for a tiny VM, it was a no-brainer to move my personal
+site to it too.
+.Pp
+This turned out to be a great learning experience -- getting hands on experience
+with reverse proxies, DNS, and a variety of operating systems and webservers
+(first hosted on Alpine Linux and migrated to OpenBSD).
+Additionally, I could self-host git repos, which has long been a nerd-goal of mine :)
+.Pp
+I plan to write a lengthier post about the joys of self-hosting in the future,
+but for now, I really just wanted to give a brief update on where I landed and
+what the current stack is.
+.Pp
+I'm currently running (in no particular order):
+.Bl -compact -bullet -format=indent
+.It
+.Sy OS :
+OpenBSD
+.It
+.Sy Web server :
+OpenBSD's
+.Xr httpd 8
+.Bl -compact -dash -format=indent
+.It
+Serves the `www.` static content
+.It
+Also serves
+.Lk https://git.alexkarle.com
+.El
+.It
+.Sy Reverse proxy :
+OpenBSD's
+.Xr relayd 8
+.Bl -compact -dash -format=indent
+.It
+Used to send traffic between `euchre.live` (which uses a Mojolicious
+web server as the backend) and `alexkarle.com` based on URL
+.El
+.It
+.Sy `www` content :
+.Bl -compact -dash -format=indent
+.It
+100% static content
+.It
+No metrics, ads, or tracking
+.It
+Posts and pages written in markdown
+.It
+HTML generated with a pipeline of the original `Markdown.pl` into a small
+templating Perl script that I home-rolled
+.El
+.It
+.Sy Git :
+.Bl -compact -dash -format=indent
+.It
+Public repos served with
+.Sy git-daemon(1)
+over the `git://` protocol
+.It
+Push access via the `ssh://` protocol
+.It
+static HTML of content generated via post-receive hook with
+.Sy stagit(1)
+.El
+.El
+That's all for now!
+.Sh SEE ALSO
+.Bl -compact -bullet -format=indent
+.It
+.Xr blog 7
+.It
+.Xr a-new-hope 7
+.It
+.Lk https://euchre.live
+.It
+.Lk https://mojolicious.org Mojolicious
+.It
+.Lk https://git.codemadness.org/stagit/ stagit(1)
+.El
diff --git a/style.css b/style.css
@@ -0,0 +1,49 @@
+/* general defaults */
+body {
+ background-color: #F5F5F5;
+ margin-left: 20px;
+ margin-right: 20px;
+ font-size: 1.3em;
+ line-height: 1.3;
+ font-family: monospace;
+}
+
+/* style tweaks */
+a:link { color: #0a7899; }
+a:visited { color: #033a4a; }
+code { font-size: 1em; }
+h1 { font-size: 1em; }
+h1 > a { text-decoration: none; }
+
+/* Responsive screen sizes */
+@media only screen and (min-width: 992px) {
+ body {
+ width: 60%;
+ margin: 0 auto;
+ }
+}
+@media only screen and (min-width: 600px) and (max-width: 991px) {
+ body {
+ width: 80%;
+ margin: 0 auto;
+ }
+}
+
+/* margins around head/foot */
+table.foot { margin-top: 3em; }
+table.head { margin-bottom: 3em; }
+
+/* hide the "miscellaneous" section bit -- too big on mobile */
+td.head-vol { visibility: hidden; }
+
+/* defaults from mandoc(1)'s inlined CSS */
+table.head, table.foot { width: 100%; }
+td.head-rtitle, td.foot-os { text-align: right; }
+td.head-vol { text-align: center; }
+.Nd, .Bf, .Op { display: inline; }
+.Pa, .Ad { font-style: italic; }
+.Ms { font-weight: bold; }
+.Bl-diag > dt { font-weight: bold; }
+code.Nm, .Fl, .Cm, .Ic, code.In, .Fd, .Fn, .Cd {
+ font-weight: bold;
+}
diff --git a/template.7 b/template.7
@@ -0,0 +1,13 @@
+.Dd Month Day, Year
+.Dt TITLE 7
+.Os
+.Sh NAME
+.Nm <title>
+.Nd <desc>
+.Sh DESCRIPTION
+entry
+.Sh SEE ALSO
+.Bl -compact -bullet -format=indent
+.It
+.Xr blog 7
+.El
diff --git a/templates/head.tmpl b/templates/head.tmpl
@@ -1,24 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Alex Karle</title>
- <link rel="stylesheet" type="text/css" href="style.css">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- </head>
-
- <body>
- <!-- Put content in centered column -->
- <div id="content">
- <header>
- <h2 id="top-name">Alex Karle</h2>
- <div id="nav">
- <a href="/">Home</a>
- |
- <a href="/thoughts.html">Thoughts</a>
- |
- <a href="http://euchre.live">Euchre</a>
- |
- <a href="https://alexkarle.com/git/">Git</a>
- </div>
- </header>
diff --git a/templates/post-tail.tmpl b/templates/post-tail.tmpl
@@ -1,6 +0,0 @@
-<br> <br> <br>
-<div style="text-align: right">
- <a style="color:gray; text-decoration:none" href="thoughts.html">Back</a>
-</div>
-<br> <br> <br>
-<!-- {% include=tail %} -->
diff --git a/templates/tail.tmpl b/templates/tail.tmpl
@@ -1,3 +0,0 @@
- </div> <!-- content -->
- </body>
-</html>