The md4c
library supports a number of markdown
variants / options. The parsing of these is controlled by flags passed to the
parser. The following functions provide commonly used utilities for these flags.
flags_available()
flags_describe()
flags_used(md)
Markdown ast object
flags_available()
returns a character vector of available flags accepted by parse_md()
.
flags_describe()
returns a tibble with columns flag
and description
describing each flag.
flags_used()
returns a character vector of flags used in a parsed markdown document.
flags_available()
#> [1] "MD_FLAG_COLLAPSEWHITESPACE" "MD_FLAG_PERMISSIVEATXHEADERS"
#> [3] "MD_FLAG_PERMISSIVEURLAUTOLINKS" "MD_FLAG_PERMISSIVEEMAILAUTOLINKS"
#> [5] "MD_FLAG_NOINDENTEDCODEBLOCKS" "MD_FLAG_NOHTMLBLOCKS"
#> [7] "MD_FLAG_NOHTMLSPANS" "MD_FLAG_TABLES"
#> [9] "MD_FLAG_STRIKETHROUGH" "MD_FLAG_PERMISSIVEWWWAUTOLINKS"
#> [11] "MD_FLAG_TASKLISTS" "MD_FLAG_LATEXMATHSPANS"
#> [13] "MD_FLAG_WIKILINKS" "MD_FLAG_UNDERLINE"
#> [15] "MD_FLAG_HARD_SOFT_BREAKS" "MD_FLAG_PERMISSIVEAUTOLINKS"
#> [17] "MD_FLAG_NOHTML" "MD_DIALECT_COMMONMARK"
#> [19] "MD_DIALECT_GITHUB"
flags_describe()
#> # A tibble: 19 × 2
#> flag description
#> <chr> <chr>
#> 1 MD_FLAG_COLLAPSEWHITESPACE In MD_TEXT_NORMAL, collapse non-trivial whi…
#> 2 MD_FLAG_PERMISSIVEATXHEADERS Do not require space in ATX headers ( ###he…
#> 3 MD_FLAG_PERMISSIVEURLAUTOLINKS Recognize URLs as autolinks even without '<…
#> 4 MD_FLAG_PERMISSIVEEMAILAUTOLINKS Recognize e-mails as autolinks even without…
#> 5 MD_FLAG_NOINDENTEDCODEBLOCKS Disable indented code blocks. (Only fenced …
#> 6 MD_FLAG_NOHTMLBLOCKS Disable raw HTML blocks.
#> 7 MD_FLAG_NOHTMLSPANS Disable raw HTML (inline).
#> 8 MD_FLAG_TABLES Enable tables extension.
#> 9 MD_FLAG_STRIKETHROUGH Enable strikethrough extension.
#> 10 MD_FLAG_PERMISSIVEWWWAUTOLINKS Enable WWW autolinks (even without any sche…
#> 11 MD_FLAG_TASKLISTS Enable task list extension.
#> 12 MD_FLAG_LATEXMATHSPANS Enable $ and $$ containing LaTeX equations.
#> 13 MD_FLAG_WIKILINKS Enable wiki links extensn.
#> 14 MD_FLAG_UNDERLINE Enable underline extension (and disables '_…
#> 15 MD_FLAG_HARD_SOFT_BREAKS Force all soft breaks to act as hard breaks.
#> 16 MD_FLAG_PERMISSIVEAUTOLINKS Combines flags (MD_FLAG_PERMISSIVEEMAILAUTO…
#> 17 MD_FLAG_NOHTML Combines flags (MD_FLAG_NOHTMLBLOCKS | MD_F…
#> 18 MD_DIALECT_COMMONMARK All flags off
#> 19 MD_DIALECT_GITHUB Combines flags (MD_FLAG_PERMISSIVEAUTOLINKS…
md_file = system.file("examples/commonmark.md", package = "md4r")
md = parse_md(md_file)
flags_used(md)
#> [1] "MD_DIALECT_COMMONMARK"