From 814e70fb7c5a24bb076ca9dc73353ad0663623f5 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 19 Aug 2016 10:58:53 -0400 Subject: Add more static pages. --- haunt.scm | 106 +++++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 77 insertions(+), 29 deletions(-) (limited to 'haunt.scm') diff --git a/haunt.scm b/haunt.scm index 105e44e..2f9276c 100644 --- a/haunt.scm +++ b/haunt.scm @@ -176,39 +176,86 @@ free culture works available under the " ,%cc-by-sa-link " license.") `(pre (@ ,@attrs) ,(maybe-highlight-code source))))) -(define (about-page site posts) +(define (static-page title file-name body) + (lambda (site posts) + (make-page file-name + (with-layout dthompson-theme site title body) + sxml->html))) + +(define* (project-page #:key name file-name description usage requirements + installation documentation license repo) (define body - `((h2 "Hi.") - (p "I am a professional software developer and free software + `((h1 ,name) + ,description + (h2 "Usage") + ,usage + (h2 "Documentation") + ,documentation + (h2 "Releases") + (h2 "Requirements") + ,requirements + (h2 "Installation") + ,installation + (h2 "License") + (p ,license) + (h2 "Source Code") + ,@(let ((url (string-append "https://git.dthompson.us/" repo ".git"))) + `((p ,name " is developed using the Git version control +system. The official repository is hosted at " + ,(anchor url url)) + (h3 "Anonymous clone") + (pre "git clone " ,url))) + (h2 "Community") + (p "Real-time discussion for Guile-SDL2 can be found on the " + (code "#guile") + " channel on the Freenode IRC network.") + (h2 "Contributing") + (p "Send patches and bug reports to " + ,(anchor "davet@gnu.org" "mailto:davet@gnu.org") + "."))) + + (static-page name (string-append "projects/" file-name) body)) + +(define about-page + (static-page + "About Me" + "about.html" + `((h2 "Hi.") + (p "I am a professional software developer and free software activist based in Massachusetts.") - (p "I graudated from " - ,(anchor "Worcester State University" "http://worcester.edu") - " in 2012 with a BS in Computer Science.") - (p "I am currently a web developer with a focus on operations + (p "I graudated from " + ,(anchor "Worcester State University" "http://worcester.edu") + " in 2012 with a BS in Computer Science.") + (p "I am currently a web developer with a focus on operations at " - ,(anchor "Vista Higher Learning" "http://vistahigherlearning.com") - ", and formerly a web developer at the " - ,(anchor "Free Software Foundation." "https://fsf.org")) - (p "You can follow me on " - ,(anchor "GNU Social" "https://quitter.se/davexunit") " and " - ,(anchor "Twitter" "https://twitter.com/davexunit") "."))) - - (make-page "about.html" - (with-layout dthompson-theme site "About Me" body) - sxml->html)) - -(define (projects-page site posts) - (define body - `((h1 "Projects") - (p ,(anchor "Guile-SDL2" "#") " — SDL2 bindings for Guile Scheme") - (p ,(anchor "Haunt" "#") " — Functional, hackable static site generator") - (p ,(anchor "Shroud" "#") " — GPG-based password manager") - (p ,(anchor "Sly" "#") " — Functional reactive game engine") - (p ,(anchor "srt2vtt" "#") " — SRT to WebVTT subtitle converter"))) + ,(anchor "Vista Higher Learning" "http://vistahigherlearning.com") + ", and formerly a web developer at the " + ,(anchor "Free Software Foundation." "https://fsf.org")) + (p "You can follow me on " + ,(anchor "GNU Social" "https://quitter.se/davexunit") " and " + ,(anchor "Twitter" "https://twitter.com/davexunit") ".")))) + +(define projects-page + (static-page + "Projects" + "projects.html" + `((h1 "Projects") + (p ,(anchor "Guile-SDL2" "#") " — SDL2 bindings for Guile Scheme") + (p ,(anchor "Haunt" "#") " — Functional, hackable static site generator") + (p ,(anchor "Shroud" "#") " — GPG-based password manager") + (p ,(anchor "Sly" "#") " — Functional reactive game engine") + (p ,(anchor "srt2vtt" "#") " — SRT to WebVTT subtitle converter")))) - (make-page "projects.html" - (with-layout dthompson-theme site "Projects" body) - sxml->html)) +(define sly-page + (project-page #:name "Sly" + #:file-name "sly.html" + #:description "game engine" + #:documentation "read a book" + #:usage "meh" + #:requirements "a computer" + #:installation "guix package -i sly" + #:license "GNU GPLv3+" + #:repo "sly")) (site #:title "dthompson" #:domain "dthompson.us" @@ -221,6 +268,7 @@ at " (atom-feeds-by-tag) about-page projects-page + sly-page (static-directory "css") (static-directory "fonts") (static-directory "images") -- cgit v1.2.3