diff options
author | Adam T. Carpenter <atc@53hor.net> | 2021-06-07 21:47:07 -0400 |
---|---|---|
committer | Adam T. Carpenter <atc@53hor.net> | 2021-06-07 21:47:07 -0400 |
commit | dd75b4a341925e4ba3408b018941241d4317dd9f (patch) | |
tree | 58803a50c84b2ec2278a88186ccbfabba3399f8f /cgi-bin | |
parent | c1abd776510d69f6f35ef449875c48b46a5ca95a (diff) | |
download | 53hor-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-x | cgi-bin/cv.sh | 6 | ||||
-rwxr-xr-x | cgi-bin/index.sh | 82 | ||||
-rwxr-xr-x | cgi-bin/rss.sh | 28 |
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>' + |