叶状文档生成器的mkdocs后端。
foliantcontrib.mkdocs的Python项目详细描述
叶用mkdocs后端
mkdocs后端允许您使用MkDocs静态站点生成器从叶状项目构建网站。
后端添加三个目标:mkdocs
、site
和ghp
。第一个将一个叶型项目转换为mkdocs项目,而不构建任何html文件。第二个是建立一个独立的网站。最后一个将网站部署到github页面。
安装
$ pip install foliantcontrib.mkdocs
用法
将植物项目转换为mkdocs:
$ foliant make mkdocs -p my-project ✔ Parsing config ✔ Applying preprocessor mkdocs ✔ Making mkdocs with MkDocs ───────────────────── Result: My_Project-2017-12-04.mkdocs.src
建立独立网站:
$ foliant make site -p my-project ✔ Parsing config ✔ Applying preprocessor mkdocs ✔ Making site with MkDocs ───────────────────── Result: My_Project-2017-12-04.mkdocs
部署到GitHub页面:
$ foliant make ghp -p my-project ✔ Parsing config ✔ Applying preprocessor mkdocs ✔ Making ghp with MkDocs ───────────────────── Result: https://account-name.github.io/my-project/
配置
使用mkdocs后端不需要在配置中放入任何内容。如果安装了,叶子会检测到。
要自定义输出,请使用backend_config.mkdocs
部分中的选项:
backend_config:mkdocs:mkdocs_path:mkdocsslug:my_awesome_projectuse_title:trueuse_chapters:trueuse_headings:truedefault_subsection_title:Expandmkdocs.yml:site_name:Custom Titlesite_url:http://example.comsite_author:John Smith
mkdocs_path
:mkdocs可执行文件的路径。默认情况下,mkdocs
命令处于运行状态,这意味着它位于PATH
中的某个位置。
slug
:不带后缀的结果目录名(例如.mkdocs
)。重写顶级配置选项slug
。
use_title
:如果true
,则使用foliant.yml
中的title
值作为mkdocs.yml
中的site_name
。在这种情况下,您不必在mkdocs.yml
部分中指定site_name
。如果这样做,则来自mkdocs.yml
节的值具有更高的优先级。
If `false`, you *must* specify `site_name` manually, otherwise MkDocs will not be able to build the site.
Default is `true`.
use_chapters
:与use_title
类似,但用于pages
。如果true
,foliant.yml
中的chapters
值用作mkdocs.yml
中的pages
。
use_headings
:如果true
,则mkdocs.yml
中pages
节的结果数据将使用源标记文件的顶级标题内容进行更新。
default_subsection_title
:子节的默认标题,即一组嵌套章节,以防标题被指定为空字符串。如果配置中未设置default_subsection_title
,则将使用…。
mkdocs.yml
:要复制到mkdocs.yml
文件中的参数。参数是按“原样”传递的,因此您应该咨询MkDocs configuration docs。
预处理器
mkdocs后端附带了一个预处理器,可以将叶型项目转换为mkdocs项目。基本上,foliant make mkdocs
只应用预处理器。
在运行mkdocs后端时,预处理器会自动调用,因此不必手动将其添加到preprocessors
部分。
不过,它只是一个普通的预处理器,因此您可以在必要时手动调用它:
preprocessors:-mkdocs:mkdocs_project_dir_name:mkdocs
mkdocs_project_dir_name
:tmp目录中生成的mkdocs项目的目录的名称。
故障排除
fenced代码不在列表项或块引号中呈现
由于issue in Python Markdown,mkdocs无法处理用引号或列表项括起来的代码块。
不幸的是,无论是对mkdocs还是对foliant,我们都无能为力。作为解决方法,请使用indented code blocks。
列表项中的段落在根级别呈现
检查是否使用four space缩进。Python Markdown is stern about this point。