- Add the
clean_registry
function tomake
. This function checks if multiproject and removes.apirefregistry
files in.multiprojectache
.
- Add the
disable_implicit_unescape
option. Remove warning whenescape_code
is not set. - Support the
!env
YAML tag to use environment variables in the project config. - Allow to specify custom directory to store logs with the
--logs|-l
command 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
RuntimeError
instead because some exceptions take more arguments than one.
- Allow to specify custom options for EscapeCode preprocessor as the
escape_code.options
config parameter value. - Pass the
quiet
flag toBaseParser()
as an optional argument for using in config extensions.
- Add
escape_code
config 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_path
and!rel_path
YAML 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
true
andfalse
attribute 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.logger
and create child loggers withself.logger = self.logger.getChild('newbackend')
. - Add
pre
backend withpre
target that applies the preprocessors from the config and returns a Foliant project that doesn't require any preprocessing. make
now 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__.py
file.
- Complete rewrite.