From b6e6cb61c6e9692e9706b0f27b2ec735218a0722 Mon Sep 17 00:00:00 2001 From: Johannes Löthberg Date: Fri, 10 Oct 2014 22:39:48 +0200 Subject: Initial commit --- .gitignore | 1 + Makefile | 25 +++++++++++++ partials/footer.html | 6 +++ partials/meta.html | 8 ++++ partials/nav.html | 6 +++ scripts/awink | 28 ++++++++++++++ src/index.html | 40 ++++++++++++++++++++ src/sitemap.xml | 7 ++++ src/style.css | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 223 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 partials/footer.html create mode 100644 partials/meta.html create mode 100644 partials/nav.html create mode 100755 scripts/awink create mode 100644 src/index.html create mode 100644 src/sitemap.xml create mode 100644 src/style.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..32b2e6d --- /dev/null +++ b/Makefile @@ -0,0 +1,25 @@ +HTML := index.html +CSS := style.css + +PARTIALS := $(addprefix partials/, meta.html nav.html footer.html) + +FILES := $(HTML) $(CSS) sitemap.xml + +site: $(addprefix build/, $(FILES)) + +clean: + -rm $(addprefix build/, $(FILES)) + +build/%.html: src/%.html $(PARTIALS) + @./scripts/awink $< $@ + @echo Compiled $< → $@ + +build/%.css: src/%.css + @install -Dm644 $< $@ + @echo Compiled $< → $@ + +build/sitemap.xml: src/sitemap.xml + @install -Dm644 $< $@ + @echo Compiled $< → $@ + +partials/%: diff --git a/partials/footer.html b/partials/footer.html new file mode 100644 index 0000000..6542ac6 --- /dev/null +++ b/partials/footer.html @@ -0,0 +1,6 @@ + diff --git a/partials/meta.html b/partials/meta.html new file mode 100644 index 0000000..247e002 --- /dev/null +++ b/partials/meta.html @@ -0,0 +1,8 @@ + + + + + + + diff --git a/partials/nav.html b/partials/nav.html new file mode 100644 index 0000000..7da0ab2 --- /dev/null +++ b/partials/nav.html @@ -0,0 +1,6 @@ + diff --git a/scripts/awink b/scripts/awink new file mode 100755 index 0000000..1456c8b --- /dev/null +++ b/scripts/awink @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +## +# arguments: +# $1 In file +# $2 Out file +build() { + gawk '{ + if (NF == 2 && $1 == "%include") { + while ((getline line < $2) > 0) { + print line; + } + close($2); + } else { + print; + } + }' "$1" > "$2" +} + +main() { + if [[ "$#" != 2 ]]; then + printf "%s\n" "awink " + exit 2 + fi + + build "$1" "$2" +} +main "$@" diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..b352644 --- /dev/null +++ b/src/index.html @@ -0,0 +1,40 @@ + + + + + theos/ +%include partials/meta.html + + +
+%include partials/nav.html +

theos/

+
+ +
+

Welcome to theos.kyriasis.com

+ +

Theos is a server under the kyriasis domain owned and operated by kyrias, who also owns kyriasis.com itself (albeit not the server that the A record on kyriasis.com points to for historical reasons.) +

+ +

The server hosts an HTTP server running NGINX, an LDAP directory running OpenLDAP, email services using OpenSMTPD and Dovecot, Kerberos using MIT Kerberos and the LDAP backend for storage, and Git hosting using a combination of cgit and a slighly modified version of gitolite and OpenSSH to enable Kerberos authentication. +

+ +

All users with shell access have the option to get an email under the kyriasis.com domain, web hosting under the theos.kyriasis.com domain or possibly under a custom subdomain, and git hosting. (All git push access is done using Kerberos authentication.) +

+
+ + + +

Last updated

+

+ +%include partials/footer.html + + diff --git a/src/sitemap.xml b/src/sitemap.xml new file mode 100644 index 0000000..c8ab856 --- /dev/null +++ b/src/sitemap.xml @@ -0,0 +1,7 @@ + + + + https://theos.kyriasis.com/~kyrias/sitemap.xml + 2014-10-10 + + diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..746460f --- /dev/null +++ b/src/style.css @@ -0,0 +1,102 @@ +@import url(https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700); + +*, *:before, *:after { box-sizing: border-box; } +html { + background-color: #eee; +} +body { + font-size: 16px; + font-family: 'PT Sans'; + max-width: 42rem; + margin: -1.5rem auto; + padding: 0 1rem; + border: 1px solid #ccc; + background-color: #fcfcfc; + -moz-hyphens:auto; -webkit-hyphens:auto; + -ms-hyphens:auto; hyphens:auto; +} + +a, a:visited { + text-decoration: none; + color: #32609C; +} +a:hover { + color: #339; +} + +header { + font-size: 0.9rem; + padding-top: 1.25rem; +} +header nav ul { + padding: 0; + font-size: 0.9rem; + font-family: 'DejaVu Sans Mono'; + list-style-type: none; +} +header nav ul li { + display: inline; + margin-right: 0.5rem; +} +header nav a, header nav a:visited { + color: #444; +} +header nav a:hover { + color: #000; +} +header h1 { + margin: 0; +} + +#content { + padding-bottom: 0.5rem; + color: #222; +} + +#content > p:first-of-type:first-letter { + float: left; + color: #903; + font-size: 3rem; + line-height: 2rem; + padding-top: 0.4rem; + padding-right: 0.4rem; + padding-left: 0.1rem; + font-family: 'Georgia'; +} +@media (max-width: 767px) { + #content > p:first-of-type:first-letter { + padding-top: 0.3rem; + padding-right: 0.2rem; + font-size: 2.7rem; + } +} + +#users h3 { + margin: 0 0 -0.5rem 0; +} +#users ul { + list-style-type: none; + padding: 0 0 0 0.5rem; +} + +#users ul li { + padding-bottom: 0.25rem; +} + +.info-right { + font-size: 14px; + text-align: right; + margin: 0; +} + +.botborder { + border-bottom: 0.15rem; + border-bottom-style: dotted; + border-bottom-color: #bbb; + padding-bottom: 0.5rem; +} + +footer p { + color: #333; + margin: 1rem 0; +} -- cgit v1.2.3-54-g00ecf