MkDocs backend for Foliant documentation generator.
Project description
MkDocs Backend for Foliant
MkDocs backend lets you build websites from Foliant projects using MkDocs static site generator.
The backend adds three targets: mkdocs, site, and ghp. The first one converts a Foliant project into a MkDocs project without building any html files. The second one builds a standalone website. The last one deploys the website to GitHub Pages.
Installation
$ pip install foliantcontrib.mkdocs
Usage
Convert Foliant project to MkDocs:
$ foliant make mkdocs -p my-project
✔ Parsing config
✔ Applying preprocessor mkdocs
✔ Making mkdocs with MkDocs
─────────────────────
Result: My_Project-2017-12-04.mkdocs.src
Build a standalone website:
$ foliant make site -p my-project
✔ Parsing config
✔ Applying preprocessor mkdocs
✔ Making site with MkDocs
─────────────────────
Result: My_Project-2017-12-04.mkdocs
Deploy to GitHub Pages:
$ foliant make ghp -p my-project
✔ Parsing config
✔ Applying preprocessor mkdocs
✔ Making ghp with MkDocs
─────────────────────
Result: https://account-name.github.io/my-project/
Config
You don't have to put anything in the config to use MkDocs backend. If it's installed, Foliant detects it.
To customize the output, use options in backend_config.mkdocs section:
backend_config:
mkdocs:
mkdocs_path: mkdocs
slug: my_awesome_project
use_title: true
use_chapters: true
use_headings: true
default_subsection_title: Expand
mkdocs.yml:
site_name: Custom Title
site_url: http://example.com
site_author: John Smith
mkdocs_path
: Path to the MkDocs executable. By default, mkdocs command is run, which implies it's somewhere in your PATH.
slug
: Result directory name without suffix (e.g. .mkdocs). Overrides top-level config option slug.
use_title
: If true, use title value from foliant.yml as site_name in mkdocs.yml. It this case, you don't have to specify site_name in mkdocs.yml section. If you do, the value from mkdocs.yml section has higher priority.
If `false`, you *must* specify `site_name` manually, otherwise MkDocs will not be able to build the site.
Default is `true`.
use_chapters
: Similar to use_title, but for pages. If true, chapters value from foliant.yml is used as pages in mkdocs.yml.
use_headings
: If true, the resulting data of pages section in mkdocs.yml will be updated with the content of top-level headings of source Markdown files.
default_subsection_title
: Default title of a subsection, i.e. a group of nested chapters, in case the title is specified as an empty string. If default_subsection_title is not set in the config, … will be used.
mkdocs.yml
: Params to be copied into mkdocs.yml file. The params are passed “as is,” so you should consult with the MkDocs configuration docs.
Preprocessor
MkDocs backend ships with a preprocessor that transforms a Foliant project into a MkDocs one. Basically, foliant make mkdocs just applies the preprocessor.
The preprocessor is invoked automatically when you run MkDocs backend, so you don't have to add it in preprocessors section manually.
However, it's just a regular preprocessor like any other, so you can call it manually if necessary:
preprocessors:
- mkdocs:
mkdocs_project_dir_name: mkdocs
mkdocs_project_dir_name
: Name of the directory for the generated MkDocs project within the tmp directory.
Troubleshooting
Fenced Code Is Not Rendered in List Items or Blockquotes
MkDocs can't handle fenced code blocks in blockquotes or list items due to an issue in Python Markdown.
Unfortunately, nothing can be done about it, either on MkDocs's or Foliant's part. As a workaround, use indented code blocks.
Paragraphs Inside List Items Are Rendered on the Root Level
Check if you use four-space indentation. Python Markdown is stern about this point.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file foliantcontrib.mkdocs-1.0.15.tar.gz.
File metadata
- Download URL: foliantcontrib.mkdocs-1.0.15.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89c7d7916b0796c6e4f8216092b6f3bd75251b91800490f4d55716d30eb3cde1
|
|
| MD5 |
7ce03f1adef93b19fa4f617c0f2253f2
|
|
| BLAKE2b-256 |
695be9341495ed491ee7bd5ade3732542fa2c749773de404a5a2cabcf1987c78
|
File details
Details for the file foliantcontrib.mkdocs-1.0.15-py3-none-any.whl.
File metadata
- Download URL: foliantcontrib.mkdocs-1.0.15-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1a05888688ff5b07aa54de6fd4edfd91f85386d894c65413af4e02565724522
|
|
| MD5 |
4ad3d847db2a6cb8b39ef17251ac0c68
|
|
| BLAKE2b-256 |
cc7708842a3d54bd6d6f995429def0edcdd15a6eca3d63feebac6a56f964b533
|