Configuration
You can provide an array of configuration options to the CommonMarkConverter
when creating it:
use League\CommonMark\CommonMarkConverter;
$converter = new CommonMarkConverter([
'renderer' => [
'block_separator' => "\n",
'inner_separator' => "\n",
'soft_break' => "\n",
],
'enable_em' => true,
'enable_strong' => true,
'use_asterisk' => true,
'use_underscore' => true,
'unordered_list_markers' => ['-', '*', '+'],
'html_input' => 'escape',
'allow_unsafe_links' => false,
'max_nesting_level' => INF,
]);
Here’s a list of currently-supported options:
renderer
- Array of options for rendering HTMLblock_separator
- String to use for separating renderer block elementsinner_separator
- String to use for separating inner block contentssoft_break
- String to use for rendering soft breaks
enable_em
- Disable<em>
parsing by setting tofalse
; enable withtrue
(default:true
)enable_strong
- Disable<strong>
parsing by setting tofalse
; enable withtrue
(default:true
)use_asterisk
- Disable parsing of*
for emphasis by setting tofalse
; enable withtrue
(default:true
)use_underscore
- Disable parsing of_
for emphasis by setting tofalse
; enable withtrue
(default:true
)unordered_list_markers
- Array of characters that can be used to indicated a bulleted list (default:["-", "*", "+"]
)html_input
- How to handle HTML input. Set this option to one of the following strings:strip
- Strip all HTML (equivalent to'safe' => true
)allow
- Allow all HTML input as-is (default value; equivalent to `‘safe’ => false)escape
- Escape all HTML
allow_unsafe_links
- Remove risky link and image URLs by setting this tofalse
(default:true
)max_nesting_level
- The maximum nesting level for blocks (default: infinite). Setting this to a positive integer can help protect against long parse times and/or segfaults if blocks are too deeply-nested. Added in 0.17.
Additional configuration options are available for some of the available extensions - refer to their individual documentation for more details.
The following options have been deprecated. They will no longer work once 1.0.0 is released:
safe
- Prevents rendering of raw HTML if set totrue
(default:false
)
Environment
The configuration is ultimately passed to (and managed via) the Environment
. If you’re creating your own Environment
, simply pass your config array into its constructor instead.
The Environment
also exposes three methods for managing the configuration:
setConfig(array $config = [])
- Replace the current configuration with something elsemergeConfig(array $config = [])
- Recursively merge the current configuration with the given optionsgetConfig(string $key, $default = null)
- Returns the config value. For nested configs, use a/
-separate path; for example:renderer/soft_break
Learn more about customizing the Environment