基于标记的模块化文档生成器,可生成pdf、docx、html等。

foliant的Python项目详细描述


PyPITraviscodecov

叶面

foliant是一个一体化的文档创作工具。它允许您从单个标记源生成pdf和docx格式的独立文档以及网站。

foliant是一个higher order工具,这意味着它使用其他程序来完成它的工作。对于pdf和docx,它使用Pandoc,对于网站,它使用MkDocs

叶型预处理器允许您在其他文档中包含部分文档,使用标志显示和隐藏内容,从文本呈现图表,等等。

安装

foliant是用python编写的,需要python 3.6。

要安装叶面剂,请使用pip:

$ pip install foliant

后端、扩展和预处理器也与pip一起安装。对于快速启动,您需要MkDocs backendinit CLI extension

$ pip install foliantcontrib.mkdocs foliantcontrib.init

要构建pdf和docx,请安装Pandoc backend

$ pip install foliantcontrib.pandoc

快速启动

  1. 创建新项目:
$ foliant init
Enter the project name: Hello Foliant
✓ Generating Foliant project
─────────────────────
Project "Hello Foliant" created in /path/to/hello-foliant

此命令创建一个基本的叶面项目:

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

1 directory, 2 files

foliant.yml是项目配置文件,src是包含项目源文件的目录(最初,只有一个文件index.md)。

  1. 从新创建的项目创建网站:
$ 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. 在站点目录中运行本地Web服务器,并在浏览器中查看站点:
$ 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. 从项目中生成独立的PDF文档:
$ 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:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java FirebaseInstanceId。getInstance()始终为空   linux Java执行文件错误   javaspringboot:如何使用Ajax在springboot和Thymeleaf中创建进度条?   java禁用在安卓上使用传单时启用setJavaScriptEnabled   java如何在主体中发布原始类型JSON数据?   消除JAVA While循环中的额外输出   如何在java中直接将基本数据类型分配给自定义类   java为什么addNode()方法返回编译错误“类型中的方法…不适用于参数…”,我该如何修复它?   java惰性合成可观察对象   eclipse Java Blackberry位图单击   java Android:AsyncTask对象[]无法在doInBackground中强制转换   java有没有办法重构或改进这段代码?   java如何使用系统以十六进制打印字节。出来普林顿?   多线程如何在我的java聊天室中调试“java.net.UnknownHostException”?   java如何从Google App Engine下载应用程序源文件   java如何在Spring Data Mongo的聚合$group中使用类似$dateToString   java IBM websphere application server未在MyEclipse8中启动。0