pandoc以开头的+
或-
打印每种格式的可用扩展名(取决于扩展名是启用还是禁用)。因此,例如
$ pandoc --list-extensions=markdown
-abbreviations
+all_symbols_escapable
-angle_brackets_escapable
+auto_identifiers
-autolink_bare_uris
+backtick_code_blocks
...
为了区分两种格式的可用扩展名,我只是做(bash)
$ diff -y <(pandoc --list-extensions=markdown | tr -d '+-') <(pandoc --list-extensions=commonmark | tr -d '+-')
abbreviations <
all_symbols_escapable all_symbols_escapable
angle_brackets_escapable | ascii_identifiers
auto_identifiers auto_identifiers
autolink_bare_uris autolink_bare_uris
backtick_code_blocks backtick_code_blocks
blank_before_blockquote <
blank_before_header <
在输出中,我想保留前导+
或-
,例如
+abbreviations <
+all_symbols_escapable -all_symbols_escapable
-angle_brackets_escapable | -ascii_identifiers
+auto_identifiers -auto_identifiers
-autolink_bare_uris -autolink_bare_uris
+backtick_code_blocks -backtick_code_blocks
+blank_before_blockquote <
+blank_before_header <
请注意,这与跑步不同
$ diff -y <(pandoc --list-extensions=markdown) <(pandoc --list-extensions=commonmark)
-abbreviations | -all_symbols_escapable
+all_symbols_escapable | -ascii_identifiers
-angle_brackets_escapable | -auto_identifiers
+auto_identifiers <
-autolink_bare_uris -autolink_bare_uris
+backtick_code_blocks | -backtick_code_blocks
+blank_before_blockquote <
+blank_before_header <
最简单的方法是什么?
不是一个很好的解决方案,但是您还没有答案,这是我能想到的最好的方法,可以将输出保持与预期的相同
#!/bin/bash
mapfile -t markdown < <(pandoc --list-extensions=markdown)
commonmark="$(pandoc --list-extensions=commonmark)"
out=(); i=0
while read -r line; do
change="$(echo "${line}" | grep -Eo '<|\|')" || change=' ' && line="$(echo "${line}" | awk '{print $NF}')"
com="$(echo "${commonmark}" | grep "${line}")"
out+=("${markdown[i]},${change} ${com}"); ((i++))
done < <(diff -y <(printf '%s\n' "${markdown[@]}" | tr -d '+-') <(echo "${commonmark}" | tr -d '+-'))
printf '%s\n' "${out[@]}" | column -t -s ','
输出
-abbreviations <
+all_symbols_escapable -all_symbols_escapable
-angle_brackets_escapable | -ascii_identifiers
+auto_identifiers -auto_identifiers
-gfm_auto_identifiers
-autolink_bare_uris -autolink_bare_uris
+backtick_code_blocks -backtick_code_blocks
+blank_before_blockquote <
+blank_before_header <
+bracketed_spans <
+citations <
-compact_definition_lists <
+definition_lists <
-east_asian_line_breaks -east_asian_line_breaks
-emoji -emoji
...