为技术项目量身定做的文档工具MkDocs

在这里插入图片描述

什么是 MkDocs ?

MkDocs 是一款快速、简单且极其出色的静态网站生成器,专门用于构建项目文档。文档源文件以 Markdown 编写,并使用单个 YAML 配置文件进行配置。它易于使用,并且可以使用第三方主题、插件和 Markdown 扩展进行扩展。

软件的主要特点:

  1. Markdown 支持MkDocs 支持标准的 Markdown 语法,使得编写文档变得简单快捷。
  2. 主题丰富MkDocs 提供了多种预设主题,用户可以选择一个主题来定制文档的外观和感觉。
  3. 导航栏MkDocs 可以自动生成一个导航栏,方便用户在不同页面间导航。
  4. 版本控制MkDocs 支持文档的版本控制,可以为不同版本的项目维护不同的文档集。
  5. 插件系统MkDocs 拥有一个插件系统,允许用户扩展其功能,例如添加自定义的导航栏、搜索功能等。
  6. 国际化MkDocs 支持多语言文档,可以为不同语言的用户提供本地化的文档。
  7. 部署简单:生成的文档是静态 HTML 文件,可以部署在任何静态文件服务器上,包括 GitHub Pages
  8. 实时预览MkDocs 提供了一个开发服务器,可以在编写文档时提供实时预览,方便查看文档效果。
  9. 配置灵活MkDocs 的配置文件(通常是 mkdocs.yml)允许用户定制网站的各种设置,如标题、描述、URL 等。
  10. 社区支持:作为一个流行的开源项目,MkDocs 拥有一个活跃的社区,提供帮助和支持。
  11. 易于使用MkDocs 的安装和使用都非常简单,通过 Python 的包管理器 pip 即可安装。
  12. 扩展性:用户可以通过编写自定义脚本或使用社区提供的扩展来进一步定制 MkDocs 的行为。

什么是 Material for MkDocs ?

Material for MkDocs 是基于 MkDocs 的强大文档框架。支持 docker 部署方式。

新建文档

在群晖上以 Docker 方式运行。

首先要在指定的目录中,创建项目文档及配置文件

# 新建文件夹 mkdocs 和 子目录
mkdir -p /volume1/docker/mkdocs/docs

# 进入 mkdocs 目录
cd /volume1/docker/mkdocs

# 新建站点
docker run -it \
   --rm \
   -v $(pwd)/:/docs \
   squidfunk/mkdocs-material new .

注意最后的那个点别漏了

这将创建以下结构

.
├─ docs/
│  └─ index.md
└─ mkdocs.yml

根目录下会生成 mkdocs.yml

docs 目录中会生成 index.md

新建的 mkdocs.yml 只有一行

site_name: My Docs

我们可以根据需要进行修改,例如下面👇这样

site_name: My Docs
site_url: https://laosu.tech/
site_description: Markdown 写的项目文档。
site_author: laosu

nav:
    - Home: index.md

plugins:
    - search

theme: material

因为包含了了中文,所以记得采用 UTF-8 格式保存

实时预览

MkDocs 包含一个实时预览服务器,因此您可以在编写文档时预览更改。

# 边写边预览
docker run -it \
   --rm \
   -p 5065:8000 \
   -v $(pwd)/:/docs \
   squidfunk/mkdocs-material

在浏览器中输入 http://群晖IP:5065 就能看到主界面

你在 index.md 上做的任何修改,不需要刷新页面,会显示出来

接下来我们要做的是研究 MkDocs 的高级配置,https://squidfunk.github.io/mkdocs-material/creating-your-site/#advanced-configuration,来研究如何改颜色、改字体、设置版本控制等

生成站点

完成编辑后,你可以使用以下命令从 Markdown 文件构建静态站点

docker run -it \
   --rm \
   -v $(pwd)/:/docs \
   squidfunk/mkdocs-material build

会在根目录生成 site 子目录

此目录的内容构成了您的项目文档。无需操作数据库或服务器,因为它是完全独立的。该网站可以托管在 GitHub PagesGitLab Pages、您选择的 CDN 或您的私人网络空间上

参考文档

mkdocs/mkdocs: Project documentation with Markdown.
地址:https://github.com/mkdocs/mkdocs

MkDocs
地址:https://www.mkdocs.org/

squidfunk/mkdocs-material - Docker Image | Docker Hub
地址:https://registry.hub.docker.com/r/squidfunk/mkdocs-material/

Creating your site - Material for MkDocs
地址:https://squidfunk.github.io/mkdocs-material/creating-your-site/

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值