blob: 49fec5e9e22921d874ffb32b23ad96f12651690c (
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
help: # Show this help menu
@printf "\n%s\n\n" "$$(grep -E '^[a-zA-Z0-9 -]+:.*#' Makefile | column -s ':#' -t)"
watch: # Watch and rebuild everything
while true; do git ls-files -cdmo --exclude-standard --exclude tests | entr -d -s 'make build'; done
monitor: # Monitor for files changes
inotifywait --monitor --recursive --event modify .
server: # Start server
caddy file-server --listen :9294 --root public
build: # Build everything
make build-config
make build-js
make build-site
build-config: # Build configuration files
yj -yj -i < config.yaml > config.json
yj -yt -i < config.yaml > config.toml
build-js: # Build js bundle
deno run --allow-all static/js/index-bundle.ts
build-site: # Build site
rm -rf public
hugo --logLevel debug --templateMetrics --templateMetricsHints
hugo --logLevel debug --templateMetrics --templateMetricsHints
rm -f .hugo_build.lock
build-icons: # Build icons
rm -rf static/icons
mkdir -p static/icons/feather static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/LICENSE --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/alert-circle.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/arrow-down-circle.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/arrow-left.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/arrow-right.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/arrow-up.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/at-sign.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/calendar.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/clock.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/edit.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/external-link.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/eye-off.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/eye.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/file-text.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/globe.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/bookmark.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/link.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/map-pin.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/refresh-cw.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/search.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/trash-2.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/feathericons/feather/master/icons/user.svg --output-dir static/icons/feather
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/LICENSE --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/archive.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/book-2.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/circle.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/clock.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/code.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/git-fork.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/home.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/notes.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/pinned.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/robot.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/rss.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/settings.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/square-letter-m.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/tag.svg --output-dir static/icons/tabler
curl --silent --remote-name https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/users.svg --output-dir static/icons/tabler
for icon in static/icons/*/*.svg; do \
xmllint --pretty 2 $$icon --output $$icon; \
sed --in-place '1d' $$icon; \
done
git add -f static/icons
test: # Test everything
make test-html
make test-xsl
make test-xml
make test-rss
make test-jsonfeed
test-html: # Test HTML
vnu \
--html \
--errors-only \
public/index.html \
public/default/index.html
test-css: # Test CSS
vnu \
--css \
assets/css/default.css \
assets/css/default-simple.css \
assets/css/default-syntax.css
test-xsl: # Test XSL
xsltproc public/rss.xsl
xsltproc public/sitemap.xsl
test-xml: # Test XML
xmllint --noout \
public/rss.xml \
public/sitemap.xml
test-rss: # Test RSS
xmllint --noout --relaxng assets/schemas/rss-v2.0.rng public/rss.xml
# xmllint --noout --schema assets/schemas/rss-v2.0.xsd public/rss.xml
test-sitemap: # Test sitemap
xmllint --noout --schema assets/schemas/sitemap-v0.9.xsd public/sitemap.xml
# xmllint --noout --schema assets/schemas/sitemapindex-v0.9.xsd public/sitemap.xml
test-jsonfeed: # Test JSONFeed
check-jsonschema --schemafile assets/schemas/jsonfeed-v1.1.json public/index.json
test-end: # Test front end
deno run --allow-all tests/index.ts
test-bed: # Test bed run
deno run --allow-all tests/test.ts
clean: # Clean everything
make clean-tests
clean-tests: # Clean up tests
for file in /tmp/????????; do { [ -d "$$file/puppeteer_dev_chrome_profile-" ] && rm --recursive --force --verbose "$$file"; } || true; done
|