Welcome to Foliant!¶
Foliant is a all-in-one documentation authoring tool. It lets you produce standalone documents in pdf and docx, as well as websites, from single Markdown source.
Foliant is a higher order tool, which means it uses other programs to do its job. For pdf and docx, it uses Pandoc, for websites it uses MkDocs.
Foliant preprocessors let you include parts of documents in other documents, show and hide content with flags, render diagrams from text, and much more.
Logo made by Hand Drawn Goods from www.flaticon.com.
Who Is It for?¶
You'll love Foliant if you:
- need to ship documentation as pdf, docx, and website forms
- want to use Markdown with consistent extension system instead of custome syntax for every new bit of functionality
- like reStructuredText's extensibility and Asciidoc's flexibility, but actually would rather use Markdown
- want a tool that you can actually write custom extensions for without dealing with something as overengineered as Sphinx
- have documentation spread across many repos and want to reuse parts between documents
Changelog¶
1.0.6 (under development)¶
- CLI: If no args are provided, print help.
1.0.5¶
- 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.
1.0.4¶
- 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.
1.0.3¶
- Fix critical issue when config parsing would fail if any config value contained non-latin characters.
1.0.2¶
- Use README.md as package description.
1.0.1¶
- Fix critical bug with CLI module caused by missing version definition in the root
__init__.pyfile.
1.0.0¶
- Complete rewrite.