github+hexo搭建个人博客
特别感谢知乎大佬枫叶的从零开始搭建个人博客,他的文章非常详尽的介绍了如何通过使用 github+hexo搭建个人博客。
下面是我按照他的流程搭建博客的步骤,持续更新遇到的问题和使用的技术(或许):
注册github(略过)
安装git(略过)
绑定github+git
在本地创建文件
在本地创建文件后它并没有添加进本地仓库中,需要使用git add添加进缓冲区,然后使用git commit提交进本地仓库,之后如果想推送远程仓库的话需要使用gitpush
实现本地仓库和远程仓库的使用
git clone 将远程仓库内容clone到本地
git status 查看本地仓库状态
git add 添加文件进入缓冲区
git commit -m 提交进本地仓库
1 | $ git config --global user.name"*******" |
git log 查看提交日志
git push origin 【分支名】 推送到远程
报错fatal: unable to access https://github
解决办法
方法一:修改host文件
把140.82.114.4 github.com添加到C:\Windows\System32\drivers\etc里的hosts文件的最后一行,然后保存就行
方法二:把命令行里的http改为git重新执行
域名购买
阿里云或者GoDaddy
安装node.js和Hexo
node.js
nodejs安装验证
nodejs设置全局模块的路径和环境变量
不设置的话安装模块会将其安装到C盘,占用C盘的空间,并且可能安装好hexo后无法使用
在 nodejs 文件夹中新建两个空文件夹 node_cache、node_global,如下图:
打开cmd 输入
1 | npm config set prefix "D:\Program Files\nodejs\node_global" |
nodejs设置环境变量
设置环境变量:win10系统 –> 打开控制面板 –> 系统 –>高级系统设置 –> 环境变量 ,然后在系统变量中新建一个变量名为“NODE_PATH”,值为“D:\Program Files\nodejs\node_global\node_modules”(取决于你的安装路径),如下图:
然后编辑用户变量里的Path,将相应npm的路径改为:D:\Program Files\nodejs\node_global,如下图:
nodejs测试
在 cmd 命令下执行 npm install webpack -g :
(如果遇到报错,显示创建文件夹失败,请尝试使用管理员运行命令行)
安装HEXO
创建仓库
安装HEXO
首先在D盘建立一个文件夹 Blog,点开 Blog 文件夹,鼠标右键打开 Git Bush Here,输入npm命令安装Hexo:
1 | npm install -g hexo-cli |
(如果遇到报错,请用管理员运行git bush)
安装完成后,输入 hexo init 命令初始化博客:
之后输入hexo g进入静态部署
这时网页已经部署完成,输入 hexo s 命令可以查看:
浏览器输入 http://localhost:4000
就可以打开新部署的网页:
看完之后 ctrl +c 停止运行服务器。
将HEXO部署到github上
现在回到我们的 Blog 文件夹,用笔记本打开 _config.yml 文件,如下图:
下滑到文件底部,填上如下内容:
1 | deploy: |
然后回到 Blog 文件夹中,打开 Git Bash,安装Git部署插件,输入命令:
1 | npm install hexo-deployer-git --save |
然后分别输入以下三条命令:
1 | hexo clean #清除缓存文件 db.json 和已生成的静态文件 public |
(写入github必须用直连而不能用vpn)
完成以后,打开浏览器,输入 https://【你的仓库地址后段】.github.io/就可以打开你的网页了:
解析域名
第一步:登录万网,点击控制台,在你已购买的域名后添加两条解析记录:
第二步:打开 Blog 文件夹里的 source 文件夹,添加CNAME文件,可以先创建一个CNAME.txt文件,打开后写上你的域名,不要加www否则每次访问都必须加www,但如果不带有www,以后访问的时候带不带www都可以访问,保存后记得要重命名,将.txt删除,如下图:
第三步回到 Blog 文件夹,右键打开 Git Bash,依次输入下面三条命令:
1 | hexo clean |
打开GitHub,看看CNAME文件是否已经在你的项目中,点击 settings :
美化
更换主题
打开博客根目录Blog文件夹,右键Git Bash,输入如下代码将next主题下载到目录Blog/themes:
1 | git clone https://github.com/theme-next/hexo-theme-next themes/next |
打开根目录下的_config.yml(称为站点配置文件),修改主题(注意冒号后都要有空格):
1 | # Site |
选择不同的主题
Blog/themes/next/下的_config.yml(称为主题配置文件),只要将你选的主题前的#删除就行了:
1 | # Schemes |
回到根目录打开Git Bash,输入如下三条命令:
1 | hexo clean |
(问题:改主题为Gemini时,hexo clean,hexo g,hexo d 三个命令完成后主题未改变;解决办法:删除next下的.git文件夹(这好像是个隐藏文件夹),再上传时修改成功。)
解决hexo无法显示图片的问题
更改hexo的配置文件
配置根目录:_config.yml里面的post_asset_folder:false 设置为 true
这样之后使用hexo创建新的post会产生一个同名的文件夹才存放图片
更改markdown设置(Typora)
如果你使用Typora进行md文件的编写的话,他的图片默认是放在文件相同目录下的,因此需要修改偏好设置如图:
它会将图片放到文件同级同名的文件夹中,第一个对勾表示本地的图片会被复制过去,第二个对勾表示如果是网络的图片会被复制过去,第三个对勾(必须要打)因为它会将md中的图片文件的引用改成
的形式。只有这样hexo的图片插件才能构建正确的url。(本人在这个地方踩过好久的坑,搜了几个小时结果发现是这里的问题)
方法一:修改hexo-asset-image插件
下载插件
- 进入你博客的根目录,右键单击, 然后选择
git bash here
打开 git bash. - 键入命令
npm install hexo-asset-image --save
(吐槽一下,网上有的抄的教程里面,插件名都打不对…)
修改插件
exo的更新导致一些路径产生了变化,因此无法显示图片的原因大概率是因为图片的地址有问题,可以通过hexo s
进入localhost:4000右键图片来查看图片的地址是否有问题
不废话,步骤:
- 进入你博客的根目录,然后下面顺序找到
index.js
:node_modules
–>hexo-asset-image
–>index.js
- 用VS Code 或者 记事本打开
index.js
将里面的内容修改为
1 | 'use strict'; |
方法二:直接下载已经修改好的hexo-asset-image插件
直接将方法一的下载命令改成
npm install https://github.com/CodeFalling/hexo-asset-image --save
应用
1 | hexo clean |