- Add the
--only-partialargument for to limit the list of files that the foliant must process. This function allows you to build a website from a single file, a list of files, or a glob mask.
- Add the
clean_registryfunction tomake. This function checks if multiproject and removes.apirefregistryfiles in.multiprojectache.
- Add the
disable_implicit_unescapeoption. Remove warning whenescape_codeis not set. - Support the
!envYAML tag to use environment variables in the project config. - Allow to specify custom directory to store logs with the
--logs|-lcommand line option. - Flush output to STDOUT in progress status messages and in the
foliant.utils.output()method. - Get and log the names and versions of all installed Foliant-related packages.
- Do not raise exception of the same type that is raised by a preprocessor, raise
RuntimeErrorinstead because some exceptions take more arguments than one.
- Allow to specify custom options for EscapeCode preprocessor as the
escape_code.optionsconfig parameter value. - Pass the
quietflag toBaseParser()as an optional argument for using in config extensions.
- Add
escape_codeconfig option. To use it, escapecode and unescapecode preprocessors must be installed.
- Process attribute values of pseudo-XML tags as YAML.
- Allow single quotes for enclosing attribute values of pseudo-XML tags.
- Add
!project_pathand!rel_pathYAML tags.
- Restore quiet mode.
- Add the
output()method for using in preprocessors.
- Remove spinner made with Halo.
- Abolish quiet mode because it is useless if extensions are allowed to write anything to STDOUT.
- Show full tracebacks in debug mode; write full tracebacks into logs.
- CLI: If no args are provided, print help.
- Fix tags searching pattern in _unescape preprocessor.
- Allow to override default config file name in CLI.
- Allow multiline tags. Process
trueandfalseattribute values as boolean, not as integer. - Add tests.
- Improve code style.
- Breaking change. Add logging to all stages of building a project. Config parser extensions, CLI extensions, backends, and preprocessors can now access
self.loggerand create child loggers withself.logger = self.logger.getChild('newbackend'). - Add
prebackend withpretarget that applies the preprocessors from the config and returns a Foliant project that doesn't require any preprocessing. makenow returns its result, which makes is easier to call it from extensions.
- Fix critical issue when config parsing would fail if any config value contained non-latin characters.
- Use README.md as package description.
- Fix critical bug with CLI module caused by missing version definition in the root
__init__.pyfile.
- Complete rewrite.