diff --git a/Makefile b/Makefile index ec05cba36..9b1b31ed0 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,9 @@ BASE_PATH = SITE = _site -PAGES = $(filter-out index, $(basename $(notdir $(wildcard md/*.md)))) -CONTENT = $(addprefix $(SITE)/, etc css img index.html $(addsuffix /index.html, $(PAGES))) +FILES = $(shell find md -type f -name \*.md) +PAGES = $(patsubst %.md, %/index.html, $(patsubst %/index.md, %/index.html, $(FILES))) +CONTENT = $(addprefix $(SITE)/, css etc img) $(patsubst md/%, $(SITE)/%, $(PAGES)) PANDOC = pandoc -d defaults.yml -M base_url=$(BASE_URL) -M base_path=$(BASE_PATH) @@ -15,14 +16,14 @@ RM = rm -rf all: $(CONTENT) $(SITE)/%: % - @echo ">> Copying $^" + @echo ">> Copying $<" @$(MKDIR) $(@D) - @$(CP) $^ $@ + @$(CP) $< $(@D) $(SITE)/%.html $(SITE)/%/index.html: md/%.md - @echo ">> Converting $^" + @echo ">> Converting $<" @$(MKDIR) $(@D) - @$(PANDOC) -M page=$* -o $@ $^ + @$(PANDOC) -M page=$* -o $@ $< serve: @python3 -m http.server --bind 127.0.0.1 --directory $(SITE) diff --git a/defaults.yml b/defaults.yml index 062c644d5..94ba005cc 100644 --- a/defaults.yml +++ b/defaults.yml @@ -1,7 +1,7 @@ standalone: true template: page.html -reader: markdown-implicit_figures +reader: commonmark+gfm_auto_identifiers+pipe_tables writer: html highlight-style: null diff --git a/filters.lua b/filters.lua index 8174a8a52..b37200427 100644 --- a/filters.lua +++ b/filters.lua @@ -11,24 +11,24 @@ end function change_meta(m) meta = m - if m.page == "index" then - m.canonical = stringify(m.base_url) .. "/" - else - m.canonical = stringify(m.base_url) .. "/" .. m.page .. "/" + p = m.page:gsub("/?index$", "") + if p ~= "" then + p = p .. "/" end + m.canonical = stringify(m.base_url) .. "/" .. p m.title = title or m.site_title return m end function expand(s) - v = meta[s:sub(2, -2)] + v = meta[s] if v then return stringify(v) end end function change_link_target(l) - l.target = l.target:gsub("(%b$$)", expand) + l.target = l.target:gsub("%$(.-)%$", expand) if l.target:sub(1, 1) == "/" then l.target = meta.base_path .. l.target end