Hexo + Github 博客配置指南
仅记录自己利用 Hexo 和 Github 搭建博客的过程,配置过程包含较多个人需求,不作教学目的。
(资料图片仅供参考)
前置依赖环境
Git:https://git-scm.com/download/win
Visual Studio Code:https://code.visualstudio.com/Download
Node.js:https://nodejs.org/en/
Python:https://www.python.org/downloads/
Typora:https://typoraio.cn/
初始化
在 cmd 中执行命令:
在 cmd 中分别执行命令:
个性化
更改作者和语言
在文件 _config.yml 中修改:
更改 Next 主题
在 cmd 中执行命令:
在文件 _config.yml 中修改:
更改主题方案
在文件 \themes\next\_config.yml 中修改:
更改菜单栏
在文件 \themes\next\_config.yml 中修改:
在 cmd 中执行命令:
在文件 \source\categories\index.md 中修改:
在文件 \source\tags\index.md 中修改:
更改搜索功能
在 cmd 中执行命令:
在文件 _config.yml 中修改:
在文件 \themes\next\_config.yml 中修改:
更改排序依据
在文件 _config.yml 中修改:
在文件 \node_modules\hexo-generator-tag\lib 中修改:
在文件 \node_modules\hexo-generator-category\lib 中修改:
在文件 \node_modules\hexo-generator-archive\lib 中修改:
在文件 \node_modules\hexo\lib\plugins\helper\list_posts.js 中修改:
设置文本折叠
在文件 \themes\next\_config.yml 中修改:
在 markdown 文件的 Front-matter 下方键入:
设置代码高亮
在文件 \themes\next\_config.yml 中修改:
去除标题序号
在文件 \themes\next\_config.yml 中修改:
去除更新和创建时间
在文件 \themes\next\_config.yml 中修改:
支持 PDF 渲染
在 cmd 中执行命令:
在文件 _config.yml 中修改:
在文件 \themes\next\_config.yml 中修改:
在 markdown 文件同路径下的同名空文件夹中,放入 PDF 文件,再回到 markdown 文件中使用 {% pdf pdf文件名.pdf %} ,即可引用 PDF 文件。
支持 mathjax 渲染
在 cmd 中执行命令:
在文件 \themes\next\_config.yml 中修改:
在文件 \scaffolds\post.md 中修改
在文件 \node_modules\kramed\lib\rules\inline.js 中修改
Github 部署
在 cmd 中执行命令:
在文件 C:\Users\电脑用户名\.ssh\id_rsa.pub 中复制 SSH 密钥并添加到 Github 中。
在文件 _config.yml 中修改:
在 cmd 中执行命令:
脚本化
1、为了方便把发布到 Hexo 的文章部署到 GitHub 中,编写脚本 DeployToGithub.bat 如下:
若需要在每次部署后都打开浏览器预览本地博客,可修改脚本 DeployToGithub.bat 如下:
2、为了区分本地文章,仅将必要的文章发布到 Hexo 并部署到 Github,且由于本地文章并不具备 Front-matter,使用 python 进行文本处理使得发布到 Hexo 的文章具备 Front-matter,同时将 Typora 产生的同名附件文件夹也一并拷贝到 Hexo 中,编写脚本 PostToHexo.py 如下:
3、为了更加方便地对 markdown 文件右键一键发布到 Hexo 中,编写脚本 PostToHexo.bat 如下:
修改注册表过程如下:
通过快捷键 win+R 输入 regedit,进入路径 计算机\HKEY_CLASSES_ROOT\*\shell
,新建项并命名为 Post
,双击 默认
项,添加数值数据 PostToHexo
;
在 Post
下再次新建项 command
,双击 默认
项,添加的数值数据是 PostToHexo.bat
文件所在路径,并加上 ”%1"
,最终结果为:"PostToHexo.bat文件路径" "%1"
。
标签: