MkDocs | 超简单的文档生成器

简介: MkDocs | 超简单的文档生成器

前言


最近啊,我比较迷恋文档和静态站点生成,今天我们再分享一个基于 PythonMarkdown 的文档生成器。它就是 MkDocs


关于 MkDocs


MkDocs 是一个快速、简单、完全华丽的静态站点生成器,用于构建项目文档。文档源文件以 Markdown 格式编写,并使用单个 YAML 配置文件进行配置。


呆猫


安装 MkDocs


pip install mkdocs
复制代码


创建 MkDocs 项目


PS C:\> mkdocs.exe new my-demo
INFO     -  Creating project directory: my-demo
INFO     -  Writing config file: my-demo\mkdocs.yml
INFO     -  Writing initial docs: my-demo\docs\index.md
PS C:\> cd .\my-demo\
PS C:\my-demo> ls
    目录: C:\my-demo
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          22-2-9  下午 09:00                docs
-a----          22-2-9  下午 09:00             20 mkdocs.yml
PS C:\my-demo>
复制代码


启动项目


命令:mkdocs.exe serve


网络异常,图片无法展示
|


网络异常,图片无法展示
|


如上,我们可以发现两个亮点。第一 MkDocs 生成的文档自带 ico;第二 MkDocs 默认支持搜索。


打造我们自己的在线文档


MkDocs 不同于 Pelican 等站点生成器,其类似 Docsify+Pelican,即可以在访问过程中动态渲染,也可以编译为静态资源。我们只需要维护自己的 docs 目录即可。


创建自己的文档


我们在 docs 目录下创建我们自己的文档mydemo.md,内容太长,就不做展示了。

然后我们访问http://localhost:8000/,就可以看到我们的站点已经发生了变化。没错,MkDocs 是支持热加载的。


网络异常,图片无法展示
|


网络异常,图片无法展示
|


下拉菜单


我们需要在mkdocs.yml中进行 nav 配置,假设我们想把我们的文章 Mydemo 放到一个 Blog 下拉菜单中,起名为 Pelican 入门。


site_name: My Docs
nav:
    - Home: '../'
    - 'Blog':
      - 'Pelican入门': 'mydemo.md'
复制代码


再次查看http://localhost:8000/


网络异常,图片无法展示
|


不得不说,秒啊。


编译文档


mkdos.exe build
复制代码


网络异常,图片无法展示
|


我们进入 site 目录,用 pythonhttp.server 模块启动我们能的静态站点。


网络异常,图片无法展示
|


网络异常,图片无法展示
|


为了方便展示,我们直接使用 pythonhttp.server 工具启动了我们的站点,实际生产中建议你选择 nginx 之类的 web 服务器来托管你的静态站点。


更多内容详见:www.mkdocs.org/

相关文章
|
9月前
|
自然语言处理 算法 前端开发
C++与Doxygen:精通代码文档化之道
C++与Doxygen:精通代码文档化之道
624 0
|
7月前
|
前端开发 JavaScript API
MkDocs是一个用Python编写的快速、简单且易于定制的静态网站生成器
MkDocs是一个用Python编写的快速、简单且易于定制的静态网站生成器
|
9月前
|
机器学习/深度学习 数据挖掘 PyTorch
10个非常有用的Python库,你知道几个?
这些库覆盖了数据科学、机器学习、Web开发和其他领域,使Python成为一个多用途的编程语言。它们在各种项目和领域中都非常有用。
103 2
|
数据采集 JavaScript 前端开发
使用Puppeteer构建博客内容的自动标签生成器
标签是一种用于描述和分类博客内容的元数据,它可以帮助读者快速找到感兴趣的主题,也可以提高博客的搜索引擎优化(SEO)。然而,手动为每篇博客文章添加合适的标签是一件费时费力的工作,有时候也容易遗漏或重复。本文将介绍如何使用Puppeteer这个强大的Node.js库来构建一个博客内容的自动标签生成器,它可以根据博客文章的标题和正文内容,自动提取出最相关的标签,并保存到数据库中。
131 0
使用Puppeteer构建博客内容的自动标签生成器
|
自然语言处理 算法 固态存储
NonCompressibleFiles -- 空文件夹生成器
其功用在于产生测试用途的指定大小文件(最大单个10G),并且可以指定为不可压缩文件(压缩后体积不会发生变化)或最大可压缩文件格式(测试生成一个100M文件压缩为55KB),快速产生各种不同大小的测试文件
192 0
|
数据挖掘 程序员 Python
太厉害了,通过文档内容快速查找文件,1行Python代码实现
通过文件里面的内容,查找文件的存放位置。
277 0
太厉害了,通过文档内容快速查找文件,1行Python代码实现
|
Python
Python 技术篇 - 查看python库都包含什么方法,查看python模块某个方法的具体用法源码,查看python模块所在的物理位置,查看python库都包含哪些属性
Python 技术篇 - 查看python库都包含什么方法,查看python模块某个方法的具体用法源码,查看python模块所在的物理位置,查看python库都包含哪些属性
1080 0
Python 技术篇 - 查看python库都包含什么方法,查看python模块某个方法的具体用法源码,查看python模块所在的物理位置,查看python库都包含哪些属性
|
容器 存储
如何使用Hanlp加载大字典
    问题 因为需要加载一个 近 1G 的字典到Hanlp中,一开始使用了CustomDictionay.add() 方法来一条条的加载,果然到了中间,维护DoubleArraTre 的成本太高,添加一个节点,都会很长时间,本来时间长一点没有关系,只要训练出.bin 的文件,第二次加载就会很快,然而作为以空间换时间的DAT结构,内存消耗很大,预料之内的出现了 1   out of memory: heap size 的问题。
1648 0