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)

Arguments

md

Markdown ast object

Value

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.

Examples


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"