blob: bd9cad2fcce93c79caeaba6bfbf907addb940d7f (
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
|
(ns pages
(:require [borkdude.html :refer [html]]
[highlight :refer [code highlight-clj highlight-styles]]))
(def home-uri "/")
(def books-2025-uri "/books-2025")
(def code-example-uri "/code-example")
(defn template [body]
(html
[:html
{:style {:font-family "monospace"}}
[:head
[:style
[:$
(highlight-styles "default")]]
[:meta {:charset "UTF-8"}]]
[:body
[:<> body]]]))
(defn home []
(template
(html
[:<>
[:p "Hello."]
[:p "My name is Jake Zerrer. This is where I keep things online. Look around."]
[:ul
(map
(fn [[uri name]]
(html
[:li [:a {:href (str uri)} name]]))
[[books-2025-uri "2025 reading list"]])]])))
(defn page [body]
(template
(html
[:<>
[:p [:a {:href "/"} "< home"]]
body])))
(defn books-2025
[]
(page
(html
[:<>
[:h1 "Incomplete 2025 reading list"]
[:ul
[:li "The Places in Between (Rory Stewart)"]
[:li "Either/Or: A Fragment of Life (Søren Kierkegaard)"]
[:li "The Philosophy of History (G. W. F. Hegel)"]
[:li "This Life: Secular Faith and Spiritual Freedom (Martin Hägglund)"]
[:li "Mating (Normal Rush)"]]])))
(defn code-example []
(page
(html
[:<>
[:h1 "Code example"]
[:p "This is an example of a post with a code block:"]
(code
(highlight-clj
(println "hello, world!")))
[:p "Looks pretty good."]])))
(defn pages []
{home-uri home
books-2025-uri books-2025
code-example-uri code-example})
(comment
(require '[repl :refer [restart build]])
(restart)
(build))
|