Add Hakyll site generator and assets

Add site executable and Haskell modules (site.hs, ChaoDoc.hs,
SideNoteHTML.hs, Pangu.hs) to handle Pandoc/Hakyll compilation,
theorem/sidenote processing and CJK spacing. Add CSS, font files,
favicon, templates, Makefile, and a CSL bibliographic style. Update
.gitignore to ignore build artifacts.
This commit is contained in:
2026-04-01 23:38:05 +08:00
parent e7f7873fa8
commit e84a1b8c78
34 changed files with 1754 additions and 1 deletions

25
makefile Normal file
View File

@@ -0,0 +1,25 @@
COMMANDS := build watch rebuild clean
.PHONY: $(COMMANDS), publish
# Set the default goal, so running 'make' without arguments will run 'make build'.
.DEFAULT_GOAL := build
# ---
$(COMMANDS): site
@echo "Running command: ./site $@"
-@./site $@
# --- Rules ---
# using relative symlinks should be fine since everything only works at ./
site: src/site.hs src/ChaoDoc.hs
cabal build
ln -sf "$(shell cabal list-bin exe:site)" site
# move from katex to mathjax
# katex_cli:
# cd katex_rust_fork && cargo build --release
# ln -sf ./katex_rust_fork/target/release/katex_cli katex_cli