在 Windows 11 上部署 Material for MKDocs ,并将网站托管在 github 上的同时,使用 Custom domain 将网页挂载到自己的域名下
参考文档
软件/依赖下载
环境部署
创建存储路径
- 在任意目录下新建文件夹,命名为你想要的名称(推荐直接命名为MkDocs)
安装VSCode,并检查环境
-
双击下载下来的VSCode安装包,一直点下一步直到安装完毕(注:可根据个人需求修改安装选项)
-
进入VSCode,点击顶部导航栏的Terminal,选择New Terminal,此时下方TERMINAL显示内容为
PS C:\Users\ (用户名)>
检查python环境
-
在TERMINAL中输入
python --version -
若返回
Python (版本号)
则说明Python已在电脑中准备就绪,可跳过安装并配置python
-
本次教程基于Python 3.13.2进行搭建,若版本低于3.13.2可升级至最新版本或3.13.2以减少意外情况发生的可能
-
若没有返回,则说明电脑中未安装好python
检查git环境
-
在TERMINAL中输入
git --version -
若返回
git version (版本号)
则说明git已经安装好,可跳过安装并配置git
- 若返回
git: The term 'git' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
则说明电脑中未安装好git
安装python
-
双击打开python安装文件
-
勾选Add Python.exe to PATH

-
点击INSTALL NOW
-
等待进度条走完,回到VSCode
-
在TERMINAL中输入
python --version -
若返回
Python (版本号)
则说明Python已在电脑中准备就绪
- 若安装时提示“请联系管理员”,请退出程序,使用管理员权限运行后重新安装
安装git
-
双击打开git安装文件
-
一直点击Next(注:可根据个人需求修改安装选项),直到Choosing the dafault editor used by Git
-
在此项目中选择Use Visual Studio Code as Git's default editor选项

-
点击Next,来到Adjusting the name of the initial branch in new repositories
-
勾选Override the default branch name for new repositories,下方输入框保持main不变

-
一直点击Next(注:可根据个人需求修改安装选项),等待读条完毕,回到VSCode中
-
在TERMINAL中输入
git --version -
若返回
git version (版本号)
则说明git已经就绪
安装并初步配置MkDocs
注:接下来的操作默认都会在VSCode中进行,默认将代码输入到TERMINAL中
下列操作可能需要一定的网络基础
升级pip
- 输入
python -m pip install --upgrade pip
等到输入框再次出现,则表明已升级完成
安装MkDocs 与 Material for MkDocs
- 输入
pip install mkdocs
等到输入框再次出现,若没有报错则表明MkDocs已下载完成
- 输入
pip install mkdocs-material
等到
PS C:\Users\ (用户名)
创建MkDocs项目
- 找到在步骤创建存储路径创建的路径,复制后,输入
cd (创建的路径)
可以看到
PS C:\Users\ (用户名)
PS (创建的路径)
我们后续的操作都将在此路径下完成
- 接下来创建MkDocs项目,输入
mkdocs new (项目名称)
来创建新项目
- 创建成功后,我们在路径中就可以看见一个以项目名称命名的新文件夹,打开文件夹就可以看到下面内容
docs 文件夹
mkdocs.yml
-
接下来,我们再次
进入创建的项目cd (项目名称) -
此时,我们输入
即可在127.0.0.1:8000中预览项目(注:具体地址参考Serving on后面的IP地址)mkdocs serve -
在我们保存更改后,即可在此地址中查看最新变化
-
按下Ctrl+C即可停止服务
更改MkDocs主题为Material并进行自定义设置
-
在导航栏中,选择File,点击Open Folder,选择打开你的项目文件夹
-
此时,会弹出一个窗口询问是否信任文件夹

-
点击Yes, I trust the authors,否则我们无法编辑其中的文档
-
我们打开其中的mkdocs.yml,可看见内容如下
site_name:My Docs
-
想要启用Material for MkDocs,我们就需要在文档中输入主题配置
theme:
name: material
-
保存好文件,我们打开预览网页就可以看到,页面已经变化为了Material for Mkdocs的经典样式
-
我们可以通过更改site_name后的文字来修改站点名称
-
通过添加
theme:
language: zh
将网站的默认语言改为中文
- 还可以通过
为网页添加版权信息
copyright: (版权信息)
更多自定义设置请参考 Material for MkDocs-Setup
将网站托管到GitHub中,并配置Custom domain
注:接下来的操作默认都会在VSCode中进行,默认将代码输入到TERMINAL中
下列操作可能需要一定的网络基础
创建GitHub项目仓库
-
注册好GitHub账号后,进入个人主页,在左侧的Top repositories中点击New进行项目创建
-
创建时,我们可以创建两种类型的GitHub仓库,一种为user类型,一种为project类型
- user类型的仓库可以直接通过 用户名.github.io 来访问,一个账户只能创建一个
- project类型的仓库需要通过 用户名.github.io/项目名称 来访问,一个账户能创建多个
- 两种类型的仓库创建方式的区别仅在于Repository name
- 要创建user类型的仓库,则在Repository name中输入 用户名.github.io
- 要创建project类型的仓库,则在Repository name中输入 项目名 即可
- 其他项目保持不变,点击Create repository即可完成创建
使用git将网站内容添加到GitHub仓库
- 回到VSCode的TERMINAL,我们接下来输入以下命令,使git记录我们的更改
git init
git add .
git commit -m"(注释)"
在第一次使用命令
git commit -m"(注释)"时,可能会报错
>Author identity unknown
>*** Please tell me who you are.
>Run
> git config --global user.email "you@example.com"
> git config --global user.name "Your Name"
>to set your account's default identity.
>Omit --global to set the identity only in this repository.
>fatal: unable to auto-detect email address (got '(电脑用户名)@(电脑名称).(none)')
这是因为我们还没有在git上创建账户
解决方法很简单,我们只需要创建一个账户即可
接下来,我们按照要求,输入
git config --global user.email "(你注册GitHub的邮箱地址)"
git config --global user.name "(你的账户名)"
- 操作完成后,我们再次输入命令
git commit -m"(注释)"
即可正常执行命令
- 接下来,我们就要准备将文件推送到GitHub上了
- 我们返回到GitHub上新创建的项目,可以在or push an existing repository from the command line选项下面看见
git remote add origin https://github.com/(用户名)/(仓库名).git
git branch -M main
git push -u origin main
- 将这三行命令依次复制到TERMINAL中执行
- 第一次执行命令时,可能会弹出窗口Connect to GitHub
- 我们点击Sign in with your browser
- 然后在弹出的浏览器中登录GitHub账户,并点击Authorize git-ecosystem
(注:在完成操作后这个授权页面可能会无法正常加载,无需担心,你已完成了登录,可以关掉网页回到VSCode了)
- 如果返回内容最后显示
To github.com:(用户名)/(仓库名).git *[New branch] main -> main branch 'main' set up to track 'origin/main'
则说明已经将更改推送到仓库
-
我们可以回到GitHub上查看文件是否已经出现
-
如果返回结果出现
fatal: unable to access 'https://github.com/(用户名)/(仓库名).git': Failed to connect to github.com port 443 after ** ms: Could not connect to server
或
fatal: unable to access 'https://github.com/(用户名)/(仓库名).git': schannel: server closed abruptly (missing close_notify)
等错误,多半是网络问题,可多次重试直到成功
使用MkDocs进行网页渲染并配置Custom domain
使用MkDocs对网页进行渲染
- 在成功将更改推送到仓库后,我们可以执行命令
mkdocs gh-deploy
来使MkDoccs对仓库中的文件进行渲染与挂载
- 第一次运行命令时,可能会看见
>WARNING - Version check skipped: NO version specified in previous deployment
这是正常现象,无需担心
- 如果返回内容最后显示
INFO - Your documentation should shortly be avaliable at: https://(用户名).github.io/(仓库名)/
则说明已经网页已成功构建
- 如果返回结果出现大段红紫色报错,我们可以往上找到fatal
- 若显示为
fatal: unable to access 'https://github.com/(用户名)/(仓库名).git': Failed to connect to github.com port 443 after ** ms: Could not connect to server
或
fatal: unable to access 'https://github.com/(用户名)/(仓库名).git': schannel: server closed abruptly (missing close_notify)
等错误,多半是网络问题,可多次重试直到成功
-
网页构建完成后,我们就可以来到GitHub,在顶部导航栏点击Actions,就可以看见网页的构建进程

-
等待到pages build and deployment左侧的黄色点变为绿色勾,我们的网站就完成部署了,此过程约需要半分钟
-
我们点击顶部导航栏的Settings,在左侧工具栏点击Pages,就可以看见你托管在GitHub上的网站的网址了
使用Custom domain将网页挂载到自己的域名下
GitHub部分设置
- 在当前页面找到下面的Custom domain,在输入框中输入你的域名(注:需自己在域名服务提供商上购买)
- 填写的域名可以是二级域名,也可以是三级域名
二级域名如:example.com
三级域名如:test.example.com
-
点击Save,无需等待DNS Check完毕,看见Your site is live at后面的网址变为你设定的域名后,Custom domain在GitHub上就已经配置完成了
-
等待一到两分钟,到下方的Enforce HTTPS左侧的选择框由灰变白,则勾选该选项

域名解析部分设置
-
接下来我们来到域名服务提供商的域名管理界面(注:以阿里云为例),找到自己需要的域名,点击解析,进入云解析界面
-
点击添加记录
- 记录类型选择A
- 主机记录按照自己的需求填写,需要跟在GitHub中填写的一致
- 记录值填写GitHub的IP地址(注:为每一条地址添加一条解析,只需记录值有变化,其他不变)
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- 其他保持默认
- 点击确定,保存记录

-
接下来我们访问添加的域名,就可以访问我们挂载的网页了
-
至此,我们就完成了这个教程的所有内容
后续问题
如何使用MkDocs
编写文档
- MkDocs使用的是MarkDown语法,可以在各大平台中搜索相关教程视频
- 在学习MarkDown语法的过程中,我们可以利用自带的index.md来进行尝试
新建文档与分类
- MkDocs的所有文档都将存在docs文件夹中,我们可以在文件夹中新建 .md 格式的文档来新建文档
- 同时,我们还可以在文件夹下新建文件夹来创建分类,一切编排随你喜好
在配置完成Custom domain后,再次推送报错
- 在配置完Custom domain后,可能会在下次push的时候会出现错误
error: failed to push some refs to 'https://github.com/(用户名)/(仓库名).git'
hint: Updates were reject because the remote contains work that you do not
hint: the same ref. If you want to intergrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details
-
这是因为我们在配置Custom domain的时候,会在仓库中新增更改
-
我们需要先下载更改,再重新将我们的更新push上去
- 我们只需要依照提示,输入
git pull
将仓库中的更改下载到本地,再重新执行push即可完成更新
更改仓库名称后,无法正常通过git上传更改
-
我们如果更改了GitHub的仓库名称,就会发现使用
命令时,无论如何也无法连接到仓库的情况git push -u origin main -
这是因为我们更改了仓库名称,导致连接仓库的地址也发生了变化,需要我们对地址进行更改
-
我们使用资源管理器打开项目所在的文件夹,选择显示隐藏的项目
- 这时,我们就发现文件夹中多出来一个 . git 文件夹
-
进入 .git 文件夹,在VSCode中打开其中的 config 文件
-
找到
[remote "origin"] url = https://github.com/(用户名)/(旧仓库名).git - 将旧仓库名更改为新仓库名,保存即可

(注:在完成操作后这个授权页面可能会无法正常加载,无需担心,你已完成了登录,可以关掉网页回到VSCode了)