创建个人网站(github pages)并将站点一键托管到Github
亮点:个人网站一键部署,简易文档直接渲染成网页挂载全流程
使用工具:mkdocs和git命令
mkdocs介绍
MkDocs is a fast, simple and downright gorgeous static site generator that’s geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.
MkDocs是一个快速的、简单的、优美的静态站点生成器,主要用于构建项目文档。文档源文件采用Markdown格式,配置文件采用一个YAML格式文件。
mkdocs安装
安装mkdocs前需要安装python环境。mkdocs要求python版本为:python 3.5、python 3.6 、python 3.7和python 3.8。
安装mkdocs非常简单,只需要在控制台运行如下命令即可:
1 | pip install mkdocs |
查看mkdocs是否安装成功,只需要运行如下命令:
1 | mkdocs --version |
如果提示不能运行mkdocs
命令,简单的解决方法只需要在命令前加上python -m
,即:
1 | python -m mkdocs --version |
永久的解决方法是将python安装目录下的Scripts
加入环境变量Path
中。
mkdocs创建站点
我们只需要运行如下命令,就可以创建一个站点:
1 | mkdocs new my_wiki(你喜欢的目录名) |
这个命令会在当前目录下创建一个目录(my_wiki)
然后进入我们创建的目录
1 | cd my_wiki |
运行如下命令,即可在本地访问站点:
1 | mkdocs serve |
在浏览器输入地址http://127.0.0.1:8000
,页面如下:
在运行站点的同时,我们可以实时修改站点信息,mkdocs会更新并展示在浏览器上,方便我们预览。
我们可以修改mkdocs.yml
文件中的站点名site_name
:
1 | site_name: 我的第一个站点 |
部署站点
首先来认识一个命令:
1 | mkdocs build |
这个命令会在learn-mkdocs
目录下生成一个目录site
,这个目录中包含了静态站点的页面内容。
我们可以在GitHub中创建一个仓库
然后在目录下打开git,并将当前目录设置为一个仓库,然后与GitHub新创建的仓库连接:
1 | git init |
然后在目录下打开控制台,执行以下命令:
1 | mkdocs gh-deploy |
这个命令会在GitHub项目上创建一个gh-pages
分支,并执行mkdocs build
命令,然后将当前目录中的site
目录下的内容推送到远程的gh-pages
分支
浏览器访问http://YourGithubUsername.github.io/repo-name
即可
添加本地的文件到本地仓库:
1 | git add . |
这里的.表示所有文件都加进去,这里正常是没有输出反馈的,只要不报错一般就是没问题已经添加成功。
将本地修改保存到本地仓库中:
1 | git commit -m"first version" |
推送到远程仓库:
1 | git remote add origin 仓库地址 |
新建 .gitignore
文件,忽略掉除 docs
、 mkdocs.yml
以及 git
相关文件之外的文件
1 | /* |
然后我们在编写完文章后,一般至少都要执行这些命令
1 | git add . |
在仓库根目录下新建 .github/workflows
文件夹
1 | mkdir -p .github/workflows |
在 .github/workflows
文件夹下新建 gh-deploy.yml
文件,其他文件名也可以,内容如下
1 | name: Publish docs via GitHub Pages |
在GitHub仓库页面中,将 Settings
-> Actions
-> General
-> Workflow Permissions
设置为 Read an write permissions
,点击 Save
保存设置。这样每次编写完文章,只需成功执行 git push
,GitHub就会自动帮助我们部署。
mkdocs简单使用
添加页面
在入门使用中,mkdocs为我们创建了一个页面index.md
,我们同样可以自己添加页面,比如,在docs
目录下创建页面about.md
,然后在配置文件mkdocs.yml
中添加以下配置项:
1 | nav: |
更改外观
如果你不满意mkdocs默认的外观样式,我们也可以进行相应的更改。
更改图标
如果使用mkdocs主题,只需要在docs
目录下创建目录img
,然后在目录img
中放入favicon.ico
图标即可。
更改主题
mkdocs默认有两个主题:mkdocs和readthedoc,默认使用mkdocs。
我们在配置文件中修改,使用readthedocs
主题:
1 | theme: |
我们也可以使用第三方主题,第三方主题详细列表如下:
https://github.com/mkdocs/mkdocs/wiki/MkDocs-Themes
可以参照具体的主题使用教程,进行配置。
在本例中,我们配置一个名为material
的主题。
首先利用pip
下载相应的主题:
1 | pip install mkdocs-material |
然后在配置文件中修改主题:
1 | theme: |
个性化设置
如果想进行网页左上角logo修改,颜色修改等可加入如下内容
1 | theme: |