summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2021-04-21 22:57:39 -0400
committerAdam T. Carpenter <atc@53hor.net>2021-04-21 22:57:39 -0400
commit890b34bcc1a6b4073d1e512b1386634f7bc5ea52 (patch)
tree17efbec82a5bc118c2ae0b3ec56acbf159e4edda
parente87bdb082057c4eddd1af159374b667c7fe234d4 (diff)
download53hor-890b34bcc1a6b4073d1e512b1386634f7bc5ea52.tar.xz
53hor-890b34bcc1a6b4073d1e512b1386634f7bc5ea52.zip
unified posts dir, until I can figure out makefile sub-subdirs. makefile auto-generates index
-rw-r--r--Makefile19
-rw-r--r--drafts/2020-11-24-i-like-hyper-more-than-actix.html (renamed from posts/programming/2020-11-24-i-like-hyper-more-than-actix.html)0
-rw-r--r--index.html153
-rw-r--r--posts/2019-04-06-why-have-a-website-in-2019.html (renamed from posts/computing/2019-04-06-why-have-a-website-in-2019.html)0
-rw-r--r--posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html (renamed from posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html)0
-rw-r--r--posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html (renamed from posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html)0
-rw-r--r--posts/2019-07-04-yabs-yet-another-bad-shop.html (renamed from posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html)0
-rw-r--r--posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.html (renamed from posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html)0
-rw-r--r--posts/2019-07-28-i-finally-found-a-drink-i-like.html (renamed from posts/life/2019-07-28-i-finally-found-a-drink-i-like.html)0
-rw-r--r--posts/2019-08-11-marrying-my-best-friend.html (renamed from posts/life/2019-08-11-marrying-my-best-friend.html)0
-rw-r--r--posts/2019-08-30-keep-right-except-to-pass.html (renamed from posts/wheels/2019-08-30-keep-right-except-to-pass.html)0
-rw-r--r--posts/2019-09-28-my-preferred-method-for-data-recovery.html (renamed from posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html)0
-rw-r--r--posts/2020-04-10-the-obligatory-covid-19-post.html (renamed from posts/life/2020-04-10-the-obligatory-covid-19-post.html)0
-rw-r--r--posts/2020-04-10-wedding-photos-are-here.html (renamed from posts/life/2020-04-10-wedding-photos-are-here.html)0
-rw-r--r--posts/2020-07-11-why-computer-science-at-w-m.html (renamed from posts/programming/2020-07-11-why-computer-science-at-w-m.html)0
-rw-r--r--posts/2020-07-26-now-this-is-a-minimal-install.html (renamed from posts/unix/2020-07-26-now-this-is-a-minimal-install.html)0
-rw-r--r--posts/2020-11-30-titanics-last-signals.html (renamed from posts/interesting/2020-11-30-titanic's-last-signals.html)0
-rw-r--r--posts/2020-12-01-the-guides.html (renamed from posts/programming/2020-12-01-the-guides.html)0
-rw-r--r--posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.html (renamed from posts/programming/2020-12-04-aoc-2020-day-1-in-cbm-basic.html)0
-rw-r--r--posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html (renamed from posts/programming/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html)0
-rw-r--r--posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html (renamed from posts/computing/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html)0
-rw-r--r--posts/2020-12-29-antivirus-software-is-a-hack.html (renamed from posts/computing/2020-12-29-antivirus-software-is-a-hack.html)0
-rw-r--r--posts/2021-01-15-adam-s-2020-reading-list.html (renamed from posts/life/2021-01-15-adam-s-2020-reading-list.html)0
-rw-r--r--posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html (renamed from posts/unix/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html)0
-rw-r--r--posts/2021-01-28-undefined-javasript-is-undefined.html (renamed from posts/programming/2021-01-28-undefined-javasript-is-undefined-.html)0
-rw-r--r--posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.html (renamed from posts/life/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal-.html)0
-rw-r--r--posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html (renamed from posts/unix/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html)0
-rw-r--r--posts/2021-04-20-how-to-make-your-website-boring-and-why.html (renamed from posts/computing/2021-04-20-how-to-make-your-website-boring-and-why-.html)0
-rw-r--r--templates/index_foot.html4
-rw-r--r--templates/index_head.html68
30 files changed, 112 insertions, 132 deletions
diff --git a/Makefile b/Makefile
index c20643c..afa9a7e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,16 @@
# Written for FreeBSD make(1), or pmake. Not tested with GNU make.
-TEMPLATE = templates/template.html
+POST_T = templates/template.html
+INDEX_HEAD_T = templates/index_foot.html
+INDEX_FOOT_T = templates/index_head.html
-.PHONY: serve post
+.PHONY: serve post clean
+
+all: index.html
serve:
python3.7 -m http.server 3000
-profile/adamcarpenter.pdf: profile/adamcarpenter.html
- touch profile/adamcarpenter.pdf
-
post:
@read -p "Title: " TITLE; \
read -p "Category: " CATEGORY; \
@@ -17,8 +18,14 @@ post:
LONG_DATE=`date +"%a, %d %b %Y"`; \
mkdir -p posts/$$CATEGORY; \
FILENAME=posts/$$CATEGORY/$$SHORT_DATE-`printf "$$TITLE" | tr -Cs "[:alnum:]" '-' | tr "[:upper:]" "[:lower:]"`.html; \
- cp $(TEMPLATE) $$FILENAME; \
+ cp $(POST_T) $$FILENAME; \
sed -i '' "s/{{ title }}/$$TITLE/g" $$FILENAME; \
$$EDITOR $$FILENAME; \
sed -i '' "s#</channel>#<item> <title>$$TITLE</title> <pubDate>$$LONG_DATE</pubDate> <link>https://www.53hor.net/$$FILENAME</link> <guid>https://www.53hor.net/$$FILENAME</guid> </item>\n</channel>#" rss.xml; \
sed -i '' "s#<ul id=\"index\">#<ul id=\"index\">\n<li> <a href=\"/$$FILENAME\">$$TITLE <code>$$LONG_DATE</code> </a> </li>#" index.html
+
+index.html: posts/*.html
+ @grep h1 $> | sort -r | sed 's#^\(posts/\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\)[^:]*\):[ \t]*<h1>\(.*\)</h1>#<li><a href="/\1">\3 <code>\2</code></a></li>#' | cat $(INDEX_FOOT_T) - $(INDEX_HEAD_T) > index.html
+
+clean:
+ rm index.html
diff --git a/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html b/drafts/2020-11-24-i-like-hyper-more-than-actix.html
index 33c5d9e..33c5d9e 100644
--- a/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html
+++ b/drafts/2020-11-24-i-like-hyper-more-than-actix.html
diff --git a/index.html b/index.html
index 2cd4e88..70970ce 100644
--- a/index.html
+++ b/index.html
@@ -65,132 +65,33 @@
<h1 style="text-align: center">
The World Wide Web pages of Adam Carpenter (53hornet)
</h1>
-
- <ul id="index">
-<li> <a href="/posts/computing/2021-04-20-how-to-make-your-website-boring-and-why-.html">How to Make Your Website Boring and Why! <code>Tue, 20 Apr 2021</code> </a> </li>
-<li> <a href="/posts/unix/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html">How to Automate Certbot Renewal with HAProxy <code>Fri, 19 Mar 2021</code> </a> </li>
-<li> <a href="/posts/life/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal-.html">Louis Vierne Is a BAMF (and Proof That Organists Are Metal) <code>Fri, 12 Feb 2021</code> </a> </li>
-<li> <a href="/posts/programming/2021-01-28-undefined-javasript-is-undefined-.html">Undefined? JavaSript Is Undefined. <code>Thu, 28 Jan 2021</code> </a> </li>
-<li> <a href="/posts/life/2021-01-15-adam-s-2020-reading-list.html">Adam's 2020 Reading List <code>Fri, 15 Jan 2021</code> </a> </li>
- <li>
- <a
- href="/posts/unix/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html"
- >Root on ZFS: A ZPool of Mirror VDEVs The Easy Way
- <code>Fri, 15 Jan 2021</code>
- </a>
- </li>
- <li>
- <a
- href="/posts/computing/2020-12-29-antivirus-software-is-a-hack.html"
- >Antivirus Software is a Hack <code>Tue, 29 Dec 2020</code>
- </a>
- </li>
- <li>
- <a
- href="/posts/computing/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html"
- >Why Does Everyone Use Adobe Acrobat [Reader]?
- <code>Tue, 22 Dec 2020</code>
- </a>
- </li>
- <li>
- <a
- href="/posts/programming/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html"
- >Useful Sprint Planning from a Certified Scrum Master
- <code>Tue, 08 Dec 2020</code>
- </a>
- </li>
- <li>
- <a
- href="/posts/programming/2020-12-04-aoc-2020-day-1-in-cbm-basic.html"
- >AOC 2020 Day 1 in CBM Basic <code>Fri, 04 Dec 2020</code>
- </a>
- </li>
- <li>
- <a href="/posts/programming/2020-12-01-the-guides.html"
- >The Guides <code>Tue, 01 Dec 2020</code>
- </a>
- </li>
- <li>
- <a href="/posts/interesting/2020-11-30-titanic's-last-signals.html"
- >Titanic's Last Signals <code>Mon, 30 Nov 2020</code>
- </a>
- </li>
- <li>
- <a href="/posts/unix/2020-07-26-now-this-is-a-minimal-install.html"
- >Now This is a Minimal Install! <code>Sun, 26 Jul 2020</code></a
- >
- </li>
- <li>
- <a
- href="/posts/programming/2020-07-11-why-computer-science-at-w-m.html"
- >Why Computer Science at William and Mary?
- <code>Sat, 11 Jul 2020</code></a
- >
- </li>
- <li>
- <a href="/posts/life/2020-04-10-the-obligatory-covid-19-post.html"
- >Obligatory COVID-19 Post <code>Fri, 10 Apr 2020 </code></a
- >
- </li>
- <li>
- <a href="/posts/life/2020-04-10-wedding-photos-are-here.html"
- >Wedding Photo Debacle <code>Fri, 10 Apr 2020</code></a
- >
- </li>
- <li>
- <a
- href="/posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html"
- >This is How I Do Data Recovery <code>Sat, 28 Sep 2019</code></a
- >
- </li>
- <li>
- <a href="/posts/wheels/2019-08-30-keep-right-except-to-pass.html"
- >Right Lane is for Passing, Not Cruising
- <code>Fri, 30 Aug 2019 </code></a
- >
- </li>
- <li>
- <a href="/posts/life/2019-08-11-marrying-my-best-friend.html"
- >I Married My Best Friend! <code>Sun, 11 Aug 2019 </code></a
- >
- </li>
- <li>
- <a href="/posts/life/2019-07-28-i-finally-found-a-drink-i-like.html"
- >I Finally Found a Drink I Like <code> Sun, 28 Jul 2019 </code></a
- >
- </li>
- <li>
- <a
- href="/posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html"
- >Dancing the Shag and The [New] Lion King
- <code> Sun, 21 Jul 2019 </code></a
- >
- </li>
- <li>
- <a href="/posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html"
- >YABS: Yet Another Bad Shop <code>Thu, 04 Jul 2019 </code></a
- >
- </li>
- <li>
- <a
- href="/posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html"
- >Offloading GoPro Footage the Easy Way
- <code>Thu, 04 Jul 2019 </code></a
- >
- </li>
- <li>
- <a
- href="/posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html"
- >How to Start and Drive a Hudson Hornet
- <code>Fri, 07 Jun 2019 </code></a
- >
- </li>
- <li>
- <a href="/posts/computing/2019-04-06-why-have-a-website-in-2019.html"
- >Why Have a Web Site in 2019? <code>Sat, 06 Apr 2019 </code></a
- >
- </li>
- </ul>
+ <ul>
+<li><a href="/posts/2021-04-20-how-to-make-your-website-boring-and-why.html">How to Make Your Website Boring and Why! <code>2021-04-20</code></a></li>
+<li><a href="/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html">How to Automate Certbot Renewal with HAProxy <code>2021-03-19</code></a></li>
+<li><a href="/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.html">Louis Vierne Is a BAMF (and Proof That Organists Are Metal) <code>2021-02-12</code></a></li>
+<li><a href="/posts/2021-01-28-undefined-javasript-is-undefined.html">Undefined? JavaSript Is Undefined. <code>2021-01-28</code></a></li>
+<li><a href="/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html">Root on ZFS: A ZPool of Mirror VDEVs <code>2021-01-15</code></a></li>
+<li><a href="/posts/2021-01-15-adam-s-2020-reading-list.html">Adam's <del>2020</del> <ins>Quarantine</ins> Reading List <code>2021-01-15</code></a></li>
+<li><a href="/posts/2020-12-29-antivirus-software-is-a-hack.html">Antivirus Software is a Hack <code>2020-12-29</code></a></li>
+<li><a href="/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html">Why Does Everyone Use Adobe Acrobat [Reader]? <code>2020-12-22</code></a></li>
+<li><a href="/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html">Useful Sprint Planning from a Certified Scrum Master <code>2020-12-08</code></a></li>
+<li><a href="/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.html">AOC 2020 Day 1 in CBM Basic <code>2020-12-04</code></a></li>
+<li><a href="/posts/2020-12-01-the-guides.html">𝔗𝔥𝔢 𝔊𝔲𝔦𝔡𝔢𝔰 <code>2020-12-01</code></a></li>
+<li><a href="/posts/2020-11-30-titanics-last-signals.html">Titanic's Last Signals <code>2020-11-30</code></a></li>
+<li><a href="/posts/2020-07-26-now-this-is-a-minimal-install.html">Now This is a Minimal Install! <code>2020-07-26</code></a></li>
+<li><a href="/posts/2020-07-11-why-computer-science-at-w-m.html">Why Computer Science at William and Mary <code>2020-07-11</code></a></li>
+<li><a href="/posts/2020-04-10-wedding-photos-are-here.html">Wedding Photo Debacle <code>2020-04-10</code></a></li>
+<li><a href="/posts/2020-04-10-the-obligatory-covid-19-post.html">Obligatory COVID-19 Post <code>2020-04-10</code></a></li>
+<li><a href="/posts/2019-09-28-my-preferred-method-for-data-recovery.html">How I Do Data Recovery <code>2019-09-28</code></a></li>
+<li><a href="/posts/2019-08-30-keep-right-except-to-pass.html">Left Lane is for Passing, Not Cruising <code>2019-08-30</code></a></li>
+<li><a href="/posts/2019-08-11-marrying-my-best-friend.html">I Married My Best Friend! <code>2019-08-11</code></a></li>
+<li><a href="/posts/2019-07-28-i-finally-found-a-drink-i-like.html">Finally Found a Drink I Like <code>2019-07-28</code></a></li>
+<li><a href="/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.html">Dancing the Shag & Two Left Feet <code>2019-07-21</code></a></li>
+<li><a href="/posts/2019-07-04-yabs-yet-another-bad-shop.html">YABS: Yet Another Bad Shop <code>2019-07-04</code></a></li>
+<li><a href="/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html">Offloading GoPro Footage the Easy Way! <code>2019-07-04</code></a></li>
+<li><a href="/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html">How to Start and Drive a Hudson Hornet <code>2019-06-07</code></a></li>
+<li><a href="/posts/2019-04-06-why-have-a-website-in-2019.html">Why Have a Web Site in 2019? <code>2019-04-06</code></a></li>
+ </ul>
</article>
</body>
</html>
diff --git a/posts/computing/2019-04-06-why-have-a-website-in-2019.html b/posts/2019-04-06-why-have-a-website-in-2019.html
index 7fb9b48..7fb9b48 100644
--- a/posts/computing/2019-04-06-why-have-a-website-in-2019.html
+++ b/posts/2019-04-06-why-have-a-website-in-2019.html
diff --git a/posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html b/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html
index 9224534..9224534 100644
--- a/posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html
+++ b/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html
diff --git a/posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html b/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html
index bbe5b28..bbe5b28 100644
--- a/posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html
+++ b/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html
diff --git a/posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html b/posts/2019-07-04-yabs-yet-another-bad-shop.html
index b0707e1..b0707e1 100644
--- a/posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html
+++ b/posts/2019-07-04-yabs-yet-another-bad-shop.html
diff --git a/posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html b/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.html
index b8deca5..b8deca5 100644
--- a/posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html
+++ b/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.html
diff --git a/posts/life/2019-07-28-i-finally-found-a-drink-i-like.html b/posts/2019-07-28-i-finally-found-a-drink-i-like.html
index 6edd6ef..6edd6ef 100644
--- a/posts/life/2019-07-28-i-finally-found-a-drink-i-like.html
+++ b/posts/2019-07-28-i-finally-found-a-drink-i-like.html
diff --git a/posts/life/2019-08-11-marrying-my-best-friend.html b/posts/2019-08-11-marrying-my-best-friend.html
index 9ac1153..9ac1153 100644
--- a/posts/life/2019-08-11-marrying-my-best-friend.html
+++ b/posts/2019-08-11-marrying-my-best-friend.html
diff --git a/posts/wheels/2019-08-30-keep-right-except-to-pass.html b/posts/2019-08-30-keep-right-except-to-pass.html
index 8fe960c..8fe960c 100644
--- a/posts/wheels/2019-08-30-keep-right-except-to-pass.html
+++ b/posts/2019-08-30-keep-right-except-to-pass.html
diff --git a/posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html b/posts/2019-09-28-my-preferred-method-for-data-recovery.html
index 9751eda..9751eda 100644
--- a/posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html
+++ b/posts/2019-09-28-my-preferred-method-for-data-recovery.html
diff --git a/posts/life/2020-04-10-the-obligatory-covid-19-post.html b/posts/2020-04-10-the-obligatory-covid-19-post.html
index 44f6fd0..44f6fd0 100644
--- a/posts/life/2020-04-10-the-obligatory-covid-19-post.html
+++ b/posts/2020-04-10-the-obligatory-covid-19-post.html
diff --git a/posts/life/2020-04-10-wedding-photos-are-here.html b/posts/2020-04-10-wedding-photos-are-here.html
index 20b5ccd..20b5ccd 100644
--- a/posts/life/2020-04-10-wedding-photos-are-here.html
+++ b/posts/2020-04-10-wedding-photos-are-here.html
diff --git a/posts/programming/2020-07-11-why-computer-science-at-w-m.html b/posts/2020-07-11-why-computer-science-at-w-m.html
index 8933bcf..8933bcf 100644
--- a/posts/programming/2020-07-11-why-computer-science-at-w-m.html
+++ b/posts/2020-07-11-why-computer-science-at-w-m.html
diff --git a/posts/unix/2020-07-26-now-this-is-a-minimal-install.html b/posts/2020-07-26-now-this-is-a-minimal-install.html
index 64652a7..64652a7 100644
--- a/posts/unix/2020-07-26-now-this-is-a-minimal-install.html
+++ b/posts/2020-07-26-now-this-is-a-minimal-install.html
diff --git a/posts/interesting/2020-11-30-titanic's-last-signals.html b/posts/2020-11-30-titanics-last-signals.html
index f4a610a..f4a610a 100644
--- a/posts/interesting/2020-11-30-titanic's-last-signals.html
+++ b/posts/2020-11-30-titanics-last-signals.html
diff --git a/posts/programming/2020-12-01-the-guides.html b/posts/2020-12-01-the-guides.html
index 48e2d79..48e2d79 100644
--- a/posts/programming/2020-12-01-the-guides.html
+++ b/posts/2020-12-01-the-guides.html
diff --git a/posts/programming/2020-12-04-aoc-2020-day-1-in-cbm-basic.html b/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.html
index c59a893..c59a893 100644
--- a/posts/programming/2020-12-04-aoc-2020-day-1-in-cbm-basic.html
+++ b/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.html
diff --git a/posts/programming/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html b/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html
index 0d5fffe..0d5fffe 100644
--- a/posts/programming/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html
+++ b/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html
diff --git a/posts/computing/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html b/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html
index 81136e8..81136e8 100644
--- a/posts/computing/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html
+++ b/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html
diff --git a/posts/computing/2020-12-29-antivirus-software-is-a-hack.html b/posts/2020-12-29-antivirus-software-is-a-hack.html
index 9aec081..9aec081 100644
--- a/posts/computing/2020-12-29-antivirus-software-is-a-hack.html
+++ b/posts/2020-12-29-antivirus-software-is-a-hack.html
diff --git a/posts/life/2021-01-15-adam-s-2020-reading-list.html b/posts/2021-01-15-adam-s-2020-reading-list.html
index 639e384..639e384 100644
--- a/posts/life/2021-01-15-adam-s-2020-reading-list.html
+++ b/posts/2021-01-15-adam-s-2020-reading-list.html
diff --git a/posts/unix/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html b/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html
index 6f515f3..6f515f3 100644
--- a/posts/unix/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html
+++ b/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html
diff --git a/posts/programming/2021-01-28-undefined-javasript-is-undefined-.html b/posts/2021-01-28-undefined-javasript-is-undefined.html
index e12203b..e12203b 100644
--- a/posts/programming/2021-01-28-undefined-javasript-is-undefined-.html
+++ b/posts/2021-01-28-undefined-javasript-is-undefined.html
diff --git a/posts/life/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal-.html b/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.html
index 11ada08..11ada08 100644
--- a/posts/life/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal-.html
+++ b/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.html
diff --git a/posts/unix/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html b/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html
index 634530b..634530b 100644
--- a/posts/unix/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html
+++ b/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html
diff --git a/posts/computing/2021-04-20-how-to-make-your-website-boring-and-why-.html b/posts/2021-04-20-how-to-make-your-website-boring-and-why.html
index d2f5d03..d2f5d03 100644
--- a/posts/computing/2021-04-20-how-to-make-your-website-boring-and-why-.html
+++ b/posts/2021-04-20-how-to-make-your-website-boring-and-why.html
diff --git a/templates/index_foot.html b/templates/index_foot.html
new file mode 100644
index 0000000..420b108
--- /dev/null
+++ b/templates/index_foot.html
@@ -0,0 +1,4 @@
+ </ul>
+ </article>
+ </body>
+</html>
diff --git a/templates/index_head.html b/templates/index_head.html
new file mode 100644
index 0000000..d3d745a
--- /dev/null
+++ b/templates/index_head.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" href="/includes/stylesheet.css" />
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <meta
+ property="og:description"
+ content="The World Wide Web pages of Adam Carpenter"
+ />
+ <meta
+ property="og:image"
+ content="https://nextcloud.53hor.net/index.php/s/Nx9e7iHbw4t99wo/preview"
+ />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Home" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Home</title>
+ </head>
+
+ <body>
+ <nav>
+ <ul>
+ <li>
+ <a href="/">
+ <img src="/includes/icons/home-roof.svg" />
+ Home
+ </a>
+ </li>
+ <li>
+ <a href="/info.html">
+ <img src="/includes/icons/information-variant.svg" />
+ Info
+ </a>
+ </li>
+ <li>
+ <a href="https://git.53hor.net">
+ <img src="/includes/icons/git.svg" />
+ Repos
+ </a>
+ </li>
+ <li>
+ <a href="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" href="/rss.xml">
+ <img src="/includes/icons/rss.svg" />
+ RSS
+ </a>
+ </li>
+ </ul>
+ </nav>
+
+ <header>
+ <noscript>
+ JavaScript? Where we're going we don't need JavaScript.
+ </noscript>
+ </header>
+
+ <article>
+ <h1 style="text-align: center">
+ The World Wide Web pages of Adam Carpenter (53hornet)
+ </h1>
+ <ul>