Skip to main content

Modular, Markdown-based documentation generator that makes pdf, docx, html, and more.

Project description

PyPI Travis codecov

Foliant

Foliant is an all-in-one single-source documentation authoring tool. It lets you produce standalone documents in pdf and docx, build static websites and upload pages to Confluence, all from single Markdown source.

Foliant is a higher order tool, which means it uses other programs to do its job. For building pdf and docx, it can use Pandoc or md-to-pdf, for websites MkDocs, Aglio or Slate.

Foliant preprocessors let you reuse parts of your documents, show and hide content with flags, render diagrams from text, and much more.

Foliant is highly extensible, so if it lacks some functions or output formats you can always make a plugin for it or request one from our team.

Foliant Documentation website.

Installation

Foliant is written in Python and requires Python 3.6.

To install Foliant, use pip:

$ pip install foliant

Backends, extensions, and preprocessors are installed with pip as well. For the Quickstart, you'll need the MkDocs backend and init CLI extension:

$ pip install foliantcontrib.mkdocs foliantcontrib.init

To build pdf and docx, install the Pandoc backend:

$ pip install foliantcontrib.pandoc

Quickstart

  1. Create a new project:
$ foliant init
Enter the project name: Hello Foliant
✓ Generating Foliant project
─────────────────────
Project "Hello Foliant" created in /path/to/hello-foliant

This command creates a basic Foliant project:

hello-foliant/
├── foliant.yml
└── src
    └── index.md

1 directory, 2 files

foliant.yml is the project config file, src is the directory that contains the project source files (initially, just one file index.md).

  1. Build a website from the newly created project:
$ foliant make site -p hello-foliant/
✓ Parsing config
✓ Applying preprocessor mkdocs
✓ Making site with MkDocs
─────────────────────
Result: Hello_Foliant-0.1.0-2017-11-24.mkdocs
  1. Run a local webserver in the site directory and see the site in your browser:
$ cd Hello_Foliant-0.1.0-2017-11-24.mkdocs
$ python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
  1. Build a standalone pdf document from the project:
$ foliant make pdf -p hello-foliant/
✓ Parsing config
✓ Applying preprocessor mkdocs
✓ Making pdf with Pandoc
─────────────────────
Result: Hello_Foliant-0.1.0-2017-11-24.pdf

Important

To produce pdf, Pandoc first converts Markdown to tex and then coverts it to pdf. To convert pdf > from tex, you need to have a LaTeX distribution installed:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

foliant-1.0.14.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

foliant-1.0.14-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file foliant-1.0.14.tar.gz.

File metadata

  • Download URL: foliant-1.0.14.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.10.2 Linux/6.11.0-1018-azure

File hashes

Hashes for foliant-1.0.14.tar.gz
Algorithm Hash digest
SHA256 e8092a368aef0ec746342eae6f861d5111b88c3e7cb519620274983174ed7e73
MD5 7239de7b3c8d645bccfbc1b33bf42449
BLAKE2b-256 ab99bcedbe270ab487aabd307f1bbf15aa7b45c60da34cb78fe3247d0bafa0e8

See more details on using hashes here.

File details

Details for the file foliant-1.0.14-py3-none-any.whl.

File metadata

  • Download URL: foliant-1.0.14-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.10.2 Linux/6.11.0-1018-azure

File hashes

Hashes for foliant-1.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 4f92c2d9d2b96c8c3ea61b0757e510f8e6c04792355b37bdd15b3966003aa0cc
MD5 36153451ec5c39e6c7da4e648877bbdd
BLAKE2b-256 8cabdefdf86078fe79cc8842f9e92d3a2e1928c8206e191dfbfd3338bf3b5a30

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page