summaryrefslogtreecommitdiff
path: root/cgi-bin
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2021-06-07 21:47:07 -0400
committerAdam T. Carpenter <atc@53hor.net>2021-06-07 21:47:07 -0400
commitdd75b4a341925e4ba3408b018941241d4317dd9f (patch)
tree58803a50c84b2ec2278a88186ccbfabba3399f8f /cgi-bin
parentc1abd776510d69f6f35ef449875c48b46a5ca95a (diff)
download53hor-dd75b4a341925e4ba3408b018941241d4317dd9f.tar.xz
53hor-dd75b4a341925e4ba3408b018941241d4317dd9f.zip
updated with cgi scripts to create on-the-fly rss and index
Diffstat (limited to 'cgi-bin')
-rwxr-xr-xcgi-bin/cv.sh6
-rwxr-xr-xcgi-bin/index.sh82
-rwxr-xr-xcgi-bin/rss.sh28
3 files changed, 116 insertions, 0 deletions
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>'
+