使用 Material for MkDocs 构建个人博客

一 背景

Material for MkDocs 是一个功能强大且美观的主题,非常适合用来构建在线博客。它提供了许多开箱即用的功能,可以让你轻松创建专业的博客网站。

二 特性

  • 这只是 Markdown ... --- 用 Markdown 编写您的技术文档------无需了解 HTML、JavaScript 或 CSS。 MkDocs 的材料将完成繁重的工作并创建一个美观且实用的网站。

  • 但还有更多------与 Python Markdown Extensions 原生集成,添加标注、选项卡式内容容器、数学公式、评论标记、任务列表以及 10k 多个图标和表情符号。

  • 响应式设计------从头开始构建,适用于各种设备------从手机到宽屏。底层的流体布局将始终完美地适应可用的屏幕空间。

  • 静态,但可搜索------几乎神奇的是,您的技术文档网站将可以轻松搜索。 MkDocs 的材料带有内置搜索 - 无需服务器。

  • 许多配置选项------更改调色板、字体系列、语言、图标、网站图标和徽标。添加源存储库链接、指向您的社交资料的链接和 Google Analytics - 所有这些都只需几行配置。

  • 真正的国际化------感谢许多贡献者,Material for MkDocs 包括 40 多种语言的翻译,并提供完整的原生 RTL(从右到左)支持。

  • 可访问性------MkDocs 的材料提供可扩展的键盘导航和语义标记,包括角色属性和地标。此外,布局尊重用户的默认字体大小。

  • 现代架构------MkDocs 底层代码库的 Material 构建在 TypeScript、RxJS 和 SCSS 之上,为主题扩展和定制带来了极好的可能性。

MkDocs 的素材遵循的是赞助商/软件发布策略,这意味着新功能首先作为内部人员的一部分发布给赞助商。请继续阅读以了解赞助商的成就,如何成为赞助商以获得内部人士的认可,以及这对你有什么好处!

三 安装

3.1 使用docker

shell 复制代码
docker pull squidfunk/mkdocs-material

mkdocs 可执行文件作为入口点提供,serve 是默认命令。如果您不熟悉 Docker,请不要担心,我们将在以下部分中介绍您。 以下插件与 Docker 映像捆绑在一起:

3.2 创建站点

3.2.1 创建项目

shell 复制代码
# 创建项目目录
$ mkdir -p project && cd project
$ docker run --rm -it -v ${PWD}:/docs squidfunk/mkdocs-material new .
$ tree
.
├─ docs/
│  └─ index.md
└─ mkdocs.yml

3.2.2 配置站点

最小化配置,在mkdocs.yml文件中添加以下内容。

shelll 复制代码
theme:
  name: material

更多配置参考:squidfunk.github.io/mkdocs-mate...

也可以查看插件:squidfunk.github.io/mkdocs-mate...

3.2.3 预览站点

MkDocs 包含一个实时预览服务器,因此您可以在编写文档时预览您的更改。服务器将在保存后自动重建站点。从以下开始:

shell 复制代码
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material

通过浏览器localhost:8000 进行访问

3.2.4 构建站点

使用build参考可以进行构建,之后可以发布到 GitHub Pages, GitLab Pages站点等。

bash 复制代码
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material build

INFO     -  Cleaning site directory
INFO     -  Building documentation to directory: /docs/site
INFO     -  Documentation built in 1.81 seconds

四 发布站点到Github Pages

在 git 存储库中托管项目文档的好处是能够在推送新更改时自动部署它。 MkDocs 使这变得非常简单。

如果您已经在 GitHub 上托管您的代码,那么 GitHub Pages 无疑是发布项目文档的最便捷方式。它是免费的,而且很容易设置。

4.1 使用GitHub Actions

使用 GitHub Actions,您可以自动部署项目文档。在存储库的根目录中,创建一个新的 GitHub Actions 工作流程,例如.github/workflows/ci.yml,复制粘贴以下内容:

shell 复制代码
mkdir -p .github/workflows/ && cd .github/workflows/
touch ci.yml

# 内容如下
name: ci 
on:
  push:
    branches:
      - master 
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: 3.x
      - run: pip install mkdocs-material 
      - run: mkdocs gh-deploy --force
  • 自定义域名

五 高级配置

5.1 Google Analytics

登陆Google Analytics

5.2 配置敏感信息secret

六 总结

Material for MkDocs 是构建美观且功能强大的在线博客的绝佳选择。它提供简洁直观的界面,丰富的自定义选项和强大的插件支持,让您可以轻松创建个性化的博客平台。通过简单的配置和 Markdown 语法,即可创建专业级的博客内容,并将其发布到 GitHub Pages 等平台。

参考链接

相关推荐
霸道流氓气质19 分钟前
CodeBuddy中使用 MCP 工具将 XMind 思维导图转换为 Markdown —— 实操流程汇总
git·myeclipse·xmind
逛逛GitHub2 小时前
自测会不会被 Claude Code 标记为中国用户,有人做了个网页。
github
逛逛GitHub2 小时前
终于有个非 AI 相关的项目登上 GitHub 热榜,高低得推荐一下。
github
Lion094 小时前
【04】50 行代码实现最小 Agent:不依赖任何框架
人工智能·github
OsDepK5 小时前
mimo code安装教程
git·电脑·ai编程
饼干哥哥6 小时前
Openclaw已死?任何Agent都能用Cli实现AI自主运营跨境电商
设计模式·openai·ai编程
狂炫冰美式6 小时前
凌晨睡不着,我给台风巴威写了个追踪网站
前端·后端·github
Maynor9968 小时前
GitHub 外链 / 自荐入口清单
github
折哥的程序人生 · 物流技术专研8 小时前
第4篇:抽象工厂模式——产品族一键创建
java·设计模式·抽象工厂模式·创建型模式·编程进阶·产品族·扩充系列
oscar9998 小时前
3.4 Nginx 负载均衡——动态再平衡的反人性纪律
nginx·github·负载均衡·财富源代码