diff options
-rw-r--r-- | Makefile | 20 | ||||
-rwxr-xr-x | cgi-bin/cv.sh | 6 | ||||
-rwxr-xr-x | cgi-bin/index.sh | 82 | ||||
-rwxr-xr-x | cgi-bin/rss.sh | 28 | ||||
-rw-r--r-- | index.html | 98 | ||||
-rw-r--r-- | info.html | 37 | ||||
-rw-r--r-- | out.pdf | bin | 0 -> 603736 bytes | |||
-rw-r--r-- | posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.html | 19 | ||||
-rw-r--r-- | posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.html | 5 | ||||
-rw-r--r-- | rss.xml | 42 |
10 files changed, 152 insertions, 185 deletions
@@ -2,23 +2,8 @@ EDITOR = $$EDITOR POST_T = templates/template.html -INDEX_HEAD_T = templates/index_head.html -INDEX_FOOT_T = templates/index_foot.html -RSS_HEAD_T = templates/rss_head.xml -RSS_FOOT_T = templates/rss_foot.xml -all: index.html rss.xml cv.pdf - -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_HEAD_T) - $(INDEX_FOOT_T) > index.html - -rss.xml: posts/*.html - @grep h1 $> | sort -r | sed 's#^\(posts/[^:]*\):[ \t]*<h1>\(.*\)</h1>#<item><title>\2</title><link>https://www.53hor.net/posts/\1</link></item>#' | cat $(RSS_HEAD_T) - $(RSS_FOOT_T) > rss.xml - -cv.pdf: cv.html - @mutool convert -o cv.pdf cv.html - -.PHONY: serve post clean +.PHONY: serve post serve: python3.7 -m http.server 3000 @@ -30,6 +15,3 @@ post: cp $(POST_T) $$FILENAME; \ sed -i '' "s/{{ title }}/$$TITLE/g" $$FILENAME; \ $$EDITOR $$FILENAME - -clean: - rm -f index.html rss.xml diff --git a/cgi-bin/cv.sh b/cgi-bin/cv.sh new file mode 100755 index 0000000..b61e9b3 --- /dev/null +++ b/cgi-bin/cv.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Converts CV to downloadable PDF. + +printf 'content-type: application/pdf\n\n' +mutool convert -F pdf cv.html diff --git a/cgi-bin/index.sh b/cgi-bin/index.sh new file mode 100755 index 0000000..3fea5c9 --- /dev/null +++ b/cgi-bin/index.sh @@ -0,0 +1,82 @@ +#!/bin/sh + +# Generates a site index from posts and pages. + +cat << EOH +content-type: text/html + +<!DOCTYPE html> +<html lang="en"> + <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 alt="home" src="/includes/icons/home-roof.svg" /> + Home + </a> + </li> + <li> + <a href="/info.html"> + <img alt="information" src="/includes/icons/information-variant.svg" /> + Info + </a> + </li> + <li> + <a href="https://git.53hor.net"> + <img alt="git" src="/includes/icons/git.svg" /> + Repos + </a> + </li> + <li> + <a href="/software.html"> + <img alt="software" src="/includes/icons/floppy-variant.svg" /> + Software + </a> + </li> + <li> + <a type="application/rss+xml" href="/rss.xml"> + <img alt="rss" 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> +EOH + +grep '<h1>' posts/*\ + | sort -r\ + | sed -e 's#^#<li><a href="/#' -e 's#:# #' -e 's#<h1#"#' -e 's#</h1>#</a></li>#' + +echo '</ul></article></body></html>' diff --git a/cgi-bin/rss.sh b/cgi-bin/rss.sh new file mode 100755 index 0000000..6987745 --- /dev/null +++ b/cgi-bin/rss.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# Generates an RSS feed from all posts. + +cat << EOH +content-type: application/xml + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE xml> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>53hornet's Feed</title> + <link>https://www.53hor.net</link> + <atom:link href="https://www.53hor.net/rss.xml" rel="self" type="application/rss+xml" /> + <description>The World Wide Web pages of Adam Carpenter</description> + <image> + <url>https://www.53hor.net/includes/logo_diag.png</url> + <title>53hornet's Feed</title> + <link>https://www.53hor.net</link> + </image> +EOH + +grep '<h1>' posts/*\ + | sort -r\ + | sed -e 's#h1#title#g' -e 's#:#</link>#' -e 's#$#</item>#' -e 's#^#<item><link>https://www.53hor.net/#' + +echo '</channel></rss>' + diff --git a/index.html b/index.html deleted file mode 100644 index 8e623a2..0000000 --- a/index.html +++ /dev/null @@ -1,98 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <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 alt="home" src="/includes/icons/home-roof.svg" /> - Home - </a> - </li> - <li> - <a href="/info.html"> - <img alt="information" src="/includes/icons/information-variant.svg" /> - Info - </a> - </li> - <li> - <a href="https://git.53hor.net"> - <img alt="git" src="/includes/icons/git.svg" /> - Repos - </a> - </li> - <li> - <a href="/software.html"> - <img alt="software" src="/includes/icons/floppy-variant.svg" /> - Software - </a> - </li> - <li> - <a type="application/rss+xml" href="/rss.xml"> - <img alt="rss" 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> -<li><a href="/posts/2021-05-23-web-designers-please-don-t-animate-page-titles.html">Web Designers, Please Don't "Animate" Page Titles <code>2021-05-23</code></a></li> -<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> @@ -30,7 +30,10 @@ </li> <li> <a href="/info.html"> - <img alt="information" src="/includes/icons/information-variant.svg" /> + <img + alt="information" + src="/includes/icons/information-variant.svg" + /> Info </a> </li> @@ -68,7 +71,7 @@ </p> <p> You can find my <a href="/cv.html">CV here</a>. If you want a PDF you - can <a href="/cv.pdf">get that here</a>. + can <a href="/cgi-bin/cv.sh">get that here</a>. </p> <p> @@ -245,29 +248,23 @@ <img src="https://nextcloud.53hor.net/index.php/s/G3QG8FNb8aDmzcc/preview" /> + <img src="https://nextcloud.53hor.net/index.php/s/nKmSsrxa4LkRHdM/preview" /> - <p> - <a href="https://jigsaw.w3.org/css-validator/check/referer"> - <img - style="border: 0; width: 88px; height: 31px" - src="https://jigsaw.w3.org/css-validator/images/vcss-blue" - alt="Valid CSS!" - /> - </a> - </p> + <img + style="border: 0; width: 88px; height: 31px" + src="https://jigsaw.w3.org/css-validator/images/vcss-blue" + alt="Valid CSS!" + /> - <p> - <a href="http://www.anybrowser.org/campaign/" - ><img - src="path-to-graphic/graphicname" - width="graphic-width-in-pixels" - height="graphic-height-in-pixels" - alt="Viewable With Any Browser" - /></a> - </p> + <img + src="https://nextcloud.53hor.net/index.php/s/JMqd6ACCdskmS5J/preview" + width="graphic-width-in-pixels" + height="graphic-height-in-pixels" + alt="Viewable With Any Browser" + /> </article> </body> </html> Binary files differdiff --git a/posts/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 9ca4e97..8fb1dfb 100644 --- a/posts/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 @@ -8,12 +8,18 @@ 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:image" + content="https://nextcloud.53hor.net/index.php/s/Nx9e7iHbw4t99wo/preview" + /> <meta property="og:site_name" content="53hor.net" /> - <meta property="og:title" content="Dancing the Shag & Two Left Feet" /> + <meta + property="og:title" + content="Dancing the Shag & The [New] Lion King" + /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.53hor.net" /> - <title>53hornet ➙ Dancing the Shag & Two Left Feet</title> + <title>53hornet ➙ Dancing the Shag & The [New] Lion King</title> </head> <body> @@ -27,7 +33,10 @@ </li> <li> <a href="/info.html"> - <img alt="information" src="/includes/icons/information-variant.svg" /> + <img + alt="information" + src="/includes/icons/information-variant.svg" + /> Info </a> </li> @@ -53,7 +62,7 @@ </nav> <article> - <h1>Dancing the Shag & Two Left Feet</h1> + <h1>Dancing the Shag & The [New] Lion King</h1> <p> Not all of my posts are huge, and they probably shouldn't be. Amy and I had a really great time yesterday at Two Left Feet Dance Studio, diff --git a/posts/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 2e7a528..d0f2938 100644 --- a/posts/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 @@ -35,7 +35,10 @@ </li> <li> <a href="/info.html"> - <img alt="information" src="/includes/icons/information-variant.svg" /> + <img + alt="information" + src="/includes/icons/information-variant.svg" + /> Info </a> </li> diff --git a/rss.xml b/rss.xml deleted file mode 100644 index d704b7b..0000000 --- a/rss.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE xml> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>53hornet's Feed</title> - <link>https://www.53hor.net</link> - <atom:link href="https://www.53hor.net/rss.xml" rel="self" type="application/rss+xml" /> - <description>The World Wide Web pages of Adam Carpenter</description> - <image> - <url>https://www.53hor.net/includes/logo_diag.png</url> - <title>53hornet's Feed</title> - <link>https://www.53hor.net</link> - </image> -<item><title>Web Designers, Please Don't "Animate" Page Titles</title><link>https://www.53hor.net/posts/posts/2021-05-23-web-designers-please-don-t-animate-page-titles.html</link></item> -<item><title>How to Make Your Website Boring and Why!</title><link>https://www.53hor.net/posts/posts/2021-04-20-how-to-make-your-website-boring-and-why.html</link></item> -<item><title>How to Automate Certbot Renewal with HAProxy</title><link>https://www.53hor.net/posts/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.html</link></item> -<item><title>Louis Vierne Is a BAMF (and Proof That Organists Are Metal)</title><link>https://www.53hor.net/posts/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.html</link></item> -<item><title>Undefined? JavaSript Is Undefined.</title><link>https://www.53hor.net/posts/posts/2021-01-28-undefined-javasript-is-undefined.html</link></item> -<item><title>Root on ZFS: A ZPool of Mirror VDEVs</title><link>https://www.53hor.net/posts/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.html</link></item> -<item><title>Adam's <del>2020</del> <ins>Quarantine</ins> Reading List</title><link>https://www.53hor.net/posts/posts/2021-01-15-adam-s-2020-reading-list.html</link></item> -<item><title>Antivirus Software is a Hack</title><link>https://www.53hor.net/posts/posts/2020-12-29-antivirus-software-is-a-hack.html</link></item> -<item><title>Why Does Everyone Use Adobe Acrobat [Reader]?</title><link>https://www.53hor.net/posts/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.html</link></item> -<item><title>Useful Sprint Planning from a Certified Scrum Master</title><link>https://www.53hor.net/posts/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.html</link></item> -<item><title>AOC 2020 Day 1 in CBM Basic</title><link>https://www.53hor.net/posts/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.html</link></item> -<item><title>𝔗𝔥𝔢 𝔊𝔲𝔦𝔡𝔢𝔰</title><link>https://www.53hor.net/posts/posts/2020-12-01-the-guides.html</link></item> -<item><title>Titanic's Last Signals</title><link>https://www.53hor.net/posts/posts/2020-11-30-titanics-last-signals.html</link></item> -<item><title>Now This is a Minimal Install!</title><link>https://www.53hor.net/posts/posts/2020-07-26-now-this-is-a-minimal-install.html</link></item> -<item><title>Why Computer Science at William and Mary</title><link>https://www.53hor.net/posts/posts/2020-07-11-why-computer-science-at-w-m.html</link></item> -<item><title>Wedding Photo Debacle</title><link>https://www.53hor.net/posts/posts/2020-04-10-wedding-photos-are-here.html</link></item> -<item><title>Obligatory COVID-19 Post</title><link>https://www.53hor.net/posts/posts/2020-04-10-the-obligatory-covid-19-post.html</link></item> -<item><title>How I Do Data Recovery</title><link>https://www.53hor.net/posts/posts/2019-09-28-my-preferred-method-for-data-recovery.html</link></item> -<item><title>Left Lane is for Passing, Not Cruising</title><link>https://www.53hor.net/posts/posts/2019-08-30-keep-right-except-to-pass.html</link></item> -<item><title>I Married My Best Friend!</title><link>https://www.53hor.net/posts/posts/2019-08-11-marrying-my-best-friend.html</link></item> -<item><title>Finally Found a Drink I Like</title><link>https://www.53hor.net/posts/posts/2019-07-28-i-finally-found-a-drink-i-like.html</link></item> -<item><title>Dancing the Shag & Two Left Feet</title><link>https://www.53hor.net/posts/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.html</link></item> -<item><title>YABS: Yet Another Bad Shop</title><link>https://www.53hor.net/posts/posts/2019-07-04-yabs-yet-another-bad-shop.html</link></item> -<item><title>Offloading GoPro Footage the Easy Way!</title><link>https://www.53hor.net/posts/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html</link></item> -<item><title>How to Start and Drive a Hudson Hornet</title><link>https://www.53hor.net/posts/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html</link></item> -<item><title>Why Have a Web Site in 2019?</title><link>https://www.53hor.net/posts/posts/2019-04-06-why-have-a-website-in-2019.html</link></item> -</channel> -</rss> - |