private function getConfigurationResolver()
{
$resolver = new AttributesResolver();
$resolver->setDefault('debug', false, 'bool', true)->setDefault('env', 'dev', 'string', true)->setValidator('env', function ($value) {
return strlen($value) > 0;
})->setDefault('drafts', false, 'bool', true)->setDefault('preserve_path_title', false, 'bool', true)->setDefault('no_html_extension', false, 'bool', true)->setDefault('timezone', 'UTC', 'string', true)->setDefault('url', '', 'string', true)->setDefault('safe', false, 'bool', true)->setDefault('layout_ext', [], 'array', true)->setDefault('data_sources', [], 'array', true)->setDefault('collections', [], 'array')->setDefault('permalink', 'pretty', 'string', true)->setDefault('markdown_ext', [], 'array', true)->setDefault('plugin_manager_builder', [], 'array', true)->setValidator('plugin_manager_builder', function ($value) {
return isset($value['exclude_path']) && is_array($value['exclude_path']);
});
return $resolver;
}