diff options
author | Guilhem Moulin <guilhem@fripost.org> | 2019-11-13 17:33:15 +0100 |
---|---|---|
committer | Guilhem Moulin <guilhem@fripost.org> | 2019-11-13 17:47:11 +0100 |
commit | cf99cc234d1b0b0a55ae83c06eacdf7ba1e973c6 (patch) | |
tree | 4400ea20fe8800d118e848126638f1448d500198 | |
parent | 1be03491746552ac1c5111049268dfc7b67889c1 (diff) |
Makefile: factor out jq script for roff generation.
-rw-r--r-- | Makefile | 27 | ||||
-rwxr-xr-x | pandoc2man.jq | 28 |
2 files changed, 29 insertions, 26 deletions
@@ -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) +} |