出于方便的目的,加上可以维护自己的MD文档,这里当然是首先选择一个框架来构建自己的博客。
博客框架的选择
框架有Hexo、WordPress、VuePress、Hugo、Solo、Halo 、Jekyll, 但是Gitee pages 支持的服务有Jekyll、Hugo、Hexo。(或者github的) 其中Hexo使用比较多,教程也比较多,据说基于Go的Hugo的构建速度比较快,不过目前教程不多,因此这里还是选择了基于node.js的hexo。
Hexo框架的初始化
1、安装node.js
Windows 直接用安装包安装就行,选LTS版本,里面的npm工具要安装上。 linux下 就比较简单,直接install nodejs和install npm.
2、安装hexo
在需要存放自己博客文件的文件夹下面打开命令行(not powershell,可以安装但是不能执行),
npm install -g hexo-cli |
然后试试执行命令hexo -v
看看安装成功没有(Windows需要在cmd下执行,powershell不行)。
然后初始化hexo:
hexo init |
也可以新建一个文件夹的方式
hexo init myblog |
这时候这个文件夹下面有:
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 博客的配置文件
测试一下功能正常
hexo g |
然后点开生成的本地服务 localhost:4000可以看到一个自带的页面。
3 连接Github仓库
新建一个仓库名为 用户名.github.io ,这样pages的根目录就是这个仓库名,否则是 用户名.github.io/仓库名,也不是不能用但是一来不好看,而来后面还要加配置。 如果使用Gitee,这里需要新建一个名为用户名的仓库,达到和Github 一样的效果。
然后就是配置Git的那一套,用户名,SSH,这都是全局配置,配过了就不用再配置了。见[[GIT的初始使用方法]]。
在博客文件夹下有配置文件,里面包含了deploy这个项目 在文件内文本配置自己的仓库链接:
|
注意了,这里GitHub不要使用https链接了,现在不支持,gitee倒是没注意过,要用git链接。 同时 还有配置博客对应的根目录
|
安装deploy-git,通过hexo命令来部署到Github.
npm install hexo-deployer-git --save |
然后再hexo所在的文件夹下面执行
hexo clean&& hexo g&&hexo d |
分别是清空,生成和部署。有时候直接生成部署就行,如果修改了Hexo主题相关的东西需要清空。
这时候你直接在生成的.deploy_git文件夹内使用git push当然也可以,但是那样搞复杂了。
配置Hexo
配置主题
主题的配置需要在主题下对应主题内的_config.yml下修改 更换hexo NEXT的主题配置之后必须要先hexo clean才能生成对应的主题
图片的URL问题
前面已经配置好了,所以我不记得了,下面说点小问题. 如果图片在本地预览正确,但是hexo生成的带了绝对路径,那么大概是图片的路径前面多了个/,虽然在(Windows)本地/不影响这个图片的路径的查找,但是hexo为图片不会生成一个带日期的路径,
安装插件 asset-image 但是这个插件好像需要一点修改
npm install https://github.com/CodeFalling/hexo-asset-image
设置图片为相对路径
hexo clean && hexo generate && hexo s 运行查看 hexo配置需要启用post_asset_folder: true 关闭动画 motion 修改为false
拓展问题
评论区如何解决
博客有评论的功能是最好不过的,不能老让人家发邮件,也不方便整理.
迁移博客到别的平台
这里需要从gitee迁移到github. 首先可以在github中Import a Repository (github.com) 复制原来仓库链接进行迁移. 修改.deploy_git 下.git中的config文件内包含的远程仓库的地址.或者用命令修改.
本地重新安装node后安装npm,然后这里是hexo博客,就
npm install hexo-cli -g |
npm install hexo-deployer-git --save |
然后这里不需要hexo init了,直接在原来的博客文件夹下,我这里是myweb,hexo s测试一下结果. 使用hexo n “博客标题“来创建博客文章
github相比gitee的pages,仓库名需要alwaysmy.github.io加上后面的github.io才行
修改hexo中_config.yml下的url为github page给出的url,仓库改成git协议的仓库
文章中开头的描述后面需要有空格
添加附加信息
添加github和邮箱
打开 ~\themes\next\_config.yml
文件,找到 social
相关的设置,取消掉需要的菜单项的注释。
打赏 reward: