summaryrefslogtreecommitdiff
path: root/haunt.scm
blob: 98f6dc1995e25289411151037da9edd88f8c0af7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
;;; Copyright © 2018-2021 David Thompson <davet@gnu.org>
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
;;; published by the Free Software Foundation; either version 3 of the
;;; License, or (at your option) any later version.
;;;
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;;; General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program.  If not, see
;;; <http://www.gnu.org/licenses/>.

(use-modules (haunt asset)
             (haunt builder blog)
             (haunt builder atom)
             (haunt builder assets)
             (haunt post)
             (haunt site)
             (markdown)
             (projects)
             (theme)
             (utils))

(define %collections
  `(("Recent Blog Posts" "index.html" ,posts/reverse-chronological)))

(define about-page
  (static-page
   "About Me"
   "about.html"
   `((h2 "Hi.")
     (p "I am a professional software developer. I'm also an amateur
organic gardener, woodworker, and drummer.")
     (p "If you're into social media, you can follow me on "
        ,(anchor "Mastodon" "https://toot.cat/@dthompson") "."))))

(define projects-page
  (static-page
   "Projects"
   "projects.html"
   `((h1 "Projects")
     (p ,(anchor "Haunt" "projects/haunt.html")
        " — Functional, hackable static site generator")
     (p ,(anchor "Chickadee" "projects/chickadee.html")
        " — Game development toolkit for Guile Scheme")
     (p ,(anchor "guile-SDL2" "projects/guile-sdl2.html")
        " — SDL2 bindings for Guile Scheme")
     (p ,(anchor "guile-syntax-highlight" "projects/guile-syntax-highlight.html")
        " — Syntax highlighting library for Guile Scheme")
     (p ,(anchor "Shroud" "projects/shroud.html")
        " — GPG-based password manager (inactive)")
     (p ,(anchor "Sly" "projects/sly.html")
        " — Functional reactive game engine (abandoned)")
     (p ,(anchor "srt2vtt" "projects/srt2vtt.html")
        " — SRT to WebVTT subtitle converter"))))

(site #:title "dthompson"
      #:domain "dthompson.us"
      #:default-metadata
      '((author . "David Thompson")
        (email  . "davet@gnu.org"))
      #:readers (list commonmark-reader*)
      #:builders (list (blog #:theme dthompson-theme #:collections %collections
                             #:posts-per-page 10)
                       (atom-feed)
                       (atom-feeds-by-tag)
                       about-page
                       projects-page
                       chickadee-page
                       sly-page
                       guile-sdl2-page
                       guile-syntax-highlight-page
                       haunt-page
                       shroud-page
                       srt2vtt-page
                       (static-directory "js")
                       (static-directory "css")
                       (static-directory "fonts")
                       (static-directory "images")
                       (static-directory "videos")
                       (static-directory "src")
                       (static-directory "manuals")))