aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile25
-rwxr-xr-xfixman.jq26
2 files changed, 27 insertions, 24 deletions
diff --git a/Makefile b/Makefile
index 5d421bf..0aa3046 100644
--- a/Makefile
+++ b/Makefile
@@ -5,30 +5,7 @@ all: ${MANPAGES}
# upper case the headers and remove the links
%.1: %.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) \
- }" | \
+ jq -f fixman.jq | \
pandoc -s -f json -t man+smart -o "$@"
install: ${MANPAGES}
diff --git a/fixman.jq b/fixman.jq
new file mode 100755
index 0000000..3524420
--- /dev/null
+++ b/fixman.jq
@@ -0,0 +1,26 @@
+#!/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) | map(fixlinks)
+}