aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2019-11-13 17:33:15 +0100
committerGuilhem Moulin <guilhem@fripost.org>2019-11-13 17:47:11 +0100
commitcf99cc234d1b0b0a55ae83c06eacdf7ba1e973c6 (patch)
tree4400ea20fe8800d118e848126638f1448d500198
parent1be03491746552ac1c5111049268dfc7b67889c1 (diff)
Makefile: factor out jq script for roff generation.
-rw-r--r--Makefile27
-rwxr-xr-xpandoc2man.jq28
2 files changed, 29 insertions, 26 deletions
diff --git a/Makefile b/Makefile
index fdfb717..b232602 100644
--- a/Makefile
+++ b/Makefile
@@ -5,32 +5,7 @@ manual: $(MANUALS)
# upper case the headers and remove the links
$(MANUALS): %: %.md
- @pandoc -f markdown -t json -- "$<" | \
- jq " \
- def fixheaders: \
- if .t == \"Header\" then \
- .c[2][] |= (if .t == \"Str\" then .c |= ascii_upcase else . end)\
- else \
- . \
- end; \
- def fixlinks: \
- if type == \"object\" then \
- if .t == \"Link\" then \
- if .c[2][0][0:7] == \"mailto:\" then . else .c[1][] end \
- else \
- map_values(fixlinks) \
- end \
- else if type == \"array\" then \
- map(fixlinks) \
- else \
- . \
- end \
- end; \
- { \"pandoc-api-version\" \
- , meta \
- , blocks: .blocks | map(fixheaders) | map(fixlinks) \
- }" | \
- pandoc -s -f json -t man+smart -o "$@"
+ pandoc -f markdown -t json -- "$<" | ./pandoc2man.jq | pandoc -s -f json -t man+smart -o "$@"
test:
@./tests/run-all
diff --git a/pandoc2man.jq b/pandoc2man.jq
new file mode 100755
index 0000000..69802a5
--- /dev/null
+++ b/pandoc2man.jq
@@ -0,0 +1,28 @@
+#!/usr/bin/jq -f
+
+def fixheaders:
+ if .t == "Header" then
+ .c[2][] |= (if .t == "Str" then .c |= ascii_upcase else . end)
+ else
+ .
+ end;
+
+def fixlinks:
+ if type == "object" then
+ if .t == "Link" then
+ if .c[2][0][0:7] == "mailto:" then . else .c[1][] end
+ else
+ map_values(fixlinks)
+ end
+ else if type == "array" then
+ map(fixlinks)
+ else
+ .
+ end
+ end;
+
+{
+ "pandoc-api-version"
+ , meta
+ , blocks: .blocks | map(fixheaders | fixlinks)
+}