diff options
author | Volpeon <git@volpeon.ink> | 2022-08-04 10:26:57 +0200 |
---|---|---|
committer | Volpeon <git@volpeon.ink> | 2022-08-04 10:26:57 +0200 |
commit | 347d7c0da13079fefce6d8741a5604adb89eb97c (patch) | |
tree | 43b568e5ae48692425a9ddeeddc4001b1e940336 /Makefile | |
parent | Code reorganization (diff) | |
download | volpeon.ink-347d7c0da13079fefce6d8741a5604adb89eb97c.tar.gz volpeon.ink-347d7c0da13079fefce6d8741a5604adb89eb97c.tar.bz2 volpeon.ink-347d7c0da13079fefce6d8741a5604adb89eb97c.zip |
Overhauled metadata handling
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 43 |
1 files changed, 28 insertions, 15 deletions
@@ -50,7 +50,7 @@ subpages = $(patsubst content/%.md,.cache/meta/%.json, \ | |||
50 | $(shell test -d $(patsubst .cache/meta%,content%,$(1)) && find $(patsubst .cache/meta%,content%,$(1)) -maxdepth 1 -type f -name "*.md" ! -name "index.md") \ | 50 | $(shell test -d $(patsubst .cache/meta%,content%,$(1)) && find $(patsubst .cache/meta%,content%,$(1)) -maxdepth 1 -type f -name "*.md" ! -name "index.md") \ |
51 | $(shell test -d $(patsubst .cache/meta%,content%,$(1)) && find $(patsubst .cache/meta%,content%,$(1)) -mindepth 2 -maxdepth 2 -type f -name "index.md")) | 51 | $(shell test -d $(patsubst .cache/meta%,content%,$(1)) && find $(patsubst .cache/meta%,content%,$(1)) -mindepth 2 -maxdepth 2 -type f -name "index.md")) |
52 | 52 | ||
53 | .cache/meta/%.json: content/%.md $$(call subpages,$$(call namespace,$$@,)) filters/*.lua scripts/pages_content.lua scripts/subpages.jq scripts/metadata.json | .cache/meta | 53 | .cache/meta/%.json: content/%.md $$(call subpages,$$(call namespace,$$@,)) filters/*.lua scripts/content.lua scripts/subpages.jq scripts/metadata.json | .cache/meta |
54 | $(info [META] $< -> $@) | 54 | $(info [META] $< -> $@) |
55 | 55 | ||
56 | mkdir -p $(@D) | 56 | mkdir -p $(@D) |
@@ -73,57 +73,70 @@ subpages = $(patsubst content/%.md,.cache/meta/%.json, \ | |||
73 | -f markdown-citations-implicit_figures \ | 73 | -f markdown-citations-implicit_figures \ |
74 | -t html5 \ | 74 | -t html5 \ |
75 | --wrap preserve \ | 75 | --wrap preserve \ |
76 | --lua-filter scripts/metadata.lua \ | 76 | --lua-filter scripts/content.lua \ |
77 | --lua-filter scripts/pages_content.lua \ | ||
78 | $(GLOBAL_METADATA) \ | 77 | $(GLOBAL_METADATA) \ |
79 | --metadata-file "$@.meta" \ | 78 | --metadata-file "$@.meta" \ |
80 | --metadata build.mode="$(MODE)" \ | ||
81 | --metadata build.file_out="$(patsubst .cache/meta/%.json,/%.html,$@)" \ | ||
82 | $(PANDOC_FILTERS) \ | 79 | $(PANDOC_FILTERS) \ |
83 | -o "$@.content" "$<" | 80 | -o "$@.content" "$<" |
84 | jq '. + { content: $$content }' --rawfile content "$@.content" "$@.meta" > "$@" | 81 | jq '. + { content: $$content }' --rawfile content "$@.content" "$@.meta" > "$@" |
85 | rm "$@.meta" | 82 | rm "$@.meta" |
86 | rm "$@.content" | 83 | rm "$@.content" |
87 | 84 | ||
85 | .cache/meta.json: .cache/meta/index.json scripts/metadata.lua | .cache | ||
86 | $(info [META] $@) | ||
87 | |||
88 | mkdir -p $(@D) | ||
89 | pandoc \ | ||
90 | -f markdown-citations-implicit_figures \ | ||
91 | -t html5 \ | ||
92 | --wrap preserve \ | ||
93 | --no-highlight \ | ||
94 | --lua-filter scripts/metadata.lua \ | ||
95 | $(GLOBAL_METADATA) \ | ||
96 | --metadata-file "$<" \ | ||
97 | --metadata build.mode="$(MODE)" \ | ||
98 | --template scripts/metadata.json \ | ||
99 | -o "$@" "$<" | ||
100 | |||
88 | .cache/assets.json: $(ASSET_FILES) | .cache | 101 | .cache/assets.json: $(ASSET_FILES) | .cache |
102 | $(info [ASET] $@) | ||
103 | |||
89 | sha256sum $^ | sed -r 's/([0-9a-f]+) +out\/(.*)/{ "\2": "\/\2?\1" }/' | jq '{ assets: [inputs] | add | with_entries( .key |= gsub( "\\."; "_") ) }' > "$@" | 104 | sha256sum $^ | sed -r 's/([0-9a-f]+) +out\/(.*)/{ "\2": "\/\2?\1" }/' | jq '{ assets: [inputs] | add | with_entries( .key |= gsub( "\\."; "_") ) }' > "$@" |
90 | 105 | ||
91 | out/%.html: content/%.md .cache/meta/%.json .cache/assets.json $(CONTENT_TEMPLATES_SRC) metadata/*.yaml filters/*.lua scripts/metadata.lua | out | 106 | out/%.html: content/%.md .cache/meta.json .cache/assets.json $(CONTENT_TEMPLATES_SRC) metadata/*.yaml filters/*.lua scripts/page.lua | out |
92 | $(info [MARK] $< -> $@) | 107 | $(info [MARK] $< -> $@) |
93 | 108 | ||
94 | mkdir -p $(@D) | 109 | mkdir -p $(@D) |
95 | $(eval NAMESPACE = $(call namespace,$@,.cache/meta)) | 110 | $(eval NAMESPACE = $(call namespace,$@,out)) |
96 | pandoc \ | 111 | pandoc \ |
97 | -f markdown-citations-implicit_figures \ | 112 | -f markdown-citations-implicit_figures \ |
98 | -t html5 \ | 113 | -t html5 \ |
99 | --wrap preserve \ | 114 | --wrap preserve \ |
100 | --no-highlight \ | 115 | --no-highlight \ |
101 | --template templates/base.html \ | 116 | --template templates/base.html \ |
102 | --lua-filter scripts/metadata.lua \ | 117 | --lua-filter scripts/page.lua \ |
103 | $(GLOBAL_METADATA) \ | 118 | $(GLOBAL_METADATA) \ |
104 | --metadata-file .cache/assets.json \ | 119 | --metadata-file .cache/assets.json \ |
105 | --metadata-file "$(filter .cache/meta/%.json,$^)" \ | 120 | --metadata-file .cache/meta.json \ |
106 | --metadata build.mode="$(MODE)" \ | ||
107 | --metadata build.namespace="$(NAMESPACE)" \ | 121 | --metadata build.namespace="$(NAMESPACE)" \ |
108 | --metadata build.file_out="$(patsubst out/%,/%,$@)" \ | 122 | --metadata build.file_out="$(patsubst out/%,/%,$@)" \ |
109 | $(PANDOC_FILTERS) \ | 123 | $(PANDOC_FILTERS) \ |
110 | -o "$@" "$<" | 124 | -o "$@" "$<" |
111 | 125 | ||
112 | out/%.xml: content/%.md .cache/meta/%.json $(FEED_TEMPLATES_SRC) metadata/*.yaml filters/*.lua scripts/metadata.lua | out | 126 | out/%.xml: content/%.md .cache/meta.json $(FEED_TEMPLATES_SRC) metadata/*.yaml filters/*.lua scripts/page.lua | out |
113 | $(info [FEED] $< -> $@) | 127 | $(info [FEED] $< -> $@) |
114 | 128 | ||
115 | mkdir -p $(@D) | 129 | mkdir -p $(@D) |
116 | $(eval NAMESPACE = $(call namespace,$@,.cache/meta)) | 130 | $(eval NAMESPACE = $(call namespace,$@,out)) |
117 | pandoc \ | 131 | pandoc \ |
118 | -f markdown-citations-implicit_figures \ | 132 | -f markdown-citations-implicit_figures \ |
119 | -t html5 \ | 133 | -t html5 \ |
120 | --wrap preserve \ | 134 | --wrap preserve \ |
121 | --no-highlight \ | 135 | --no-highlight \ |
122 | --template templates/feed.xml \ | 136 | --template templates/feed.xml \ |
123 | --lua-filter scripts/metadata.lua \ | 137 | --lua-filter scripts/page.lua \ |
124 | $(GLOBAL_METADATA) \ | 138 | $(GLOBAL_METADATA) \ |
125 | --metadata-file "$(filter .cache/meta/%.json,$^)" \ | 139 | --metadata-file .cache/meta.json \ |
126 | --metadata build.mode="$(MODE)" \ | ||
127 | --metadata build.namespace="$(NAMESPACE)" \ | 140 | --metadata build.namespace="$(NAMESPACE)" \ |
128 | --metadata build.file_out="$(patsubst out/%,/%,$@)" \ | 141 | --metadata build.file_out="$(patsubst out/%,/%,$@)" \ |
129 | $(PANDOC_FILTERS) \ | 142 | $(PANDOC_FILTERS) \ |