hexo+github快速搭建个人博客
1.需要使用的相关工具
- Node.js,下面是下载地址
- Git
- Hexo
#安装Hexo
npm install hexo-cli -g
#检查是否安装成功
hexo -v
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HesaakWi-1598894394978)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830190117.png)]](https://i-blog.csdnimg.cn/blog_migrate/5b6ca45a8936aa7c4d4a4d6f283aef55.png#pic_center)
- 检查是否安装成功,显示版本号表示成功
#检查node.js
node -v
npm -v
#检查git
git -version
2.创建Github仓库
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgWGgazy-1598894394983)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830192941.png)]](https://i-blog.csdnimg.cn/blog_migrate/256081903a42e1f5a9094fb756b8cbdc.png#pic_center)
3.启动Hexo
-
自己选个合适的地方创建一个blog文件夹
#初始化文件夹 hexo init #显示Start blogging with Hexo!表示成功![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a3lbO2XP-1598894394988)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830205703.png)]](https://i-blog.csdnimg.cn/blog_migrate/e736ecde27f054f91cec3de65f6d50d2.png#pic_center)
#安装组件
npm install
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhknPs87-1598894394995)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830205952.png)]](https://i-blog.csdnimg.cn/blog_migrate/9e7d19d6f3adf76e77b7689af40b4105.png#pic_center)
#启动Hexo
hexo g
#开启Hexo服务器
heox s
#执行成功结果如下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P2qheHUk-1598894394999)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830210308.png)]](https://i-blog.csdnimg.cn/blog_migrate/14072e59bd4600f91b26866fa0c9f506.png#pic_center)
访问:http://localhost:4000 显示下图:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Nu7fKtu-1598894395001)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830210459.png)]](https://i-blog.csdnimg.cn/blog_migrate/f789fde99012cb7d60ad1b5e68a06eac.png#pic_center)
4.Hexo连接GitHub Page
#配置基础信息
$ git config --global user.name "你GitHub的用户名"
$ git config --global user.email "你自己的邮箱"
#通过 git config --list查询,配置过的铁汁可以跳过这步
- 在blog文件夹中右击打开Git Base Here
#检索有无.ssh文件夹
cd ~/.ssh
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nu1VlulV-1598894395003)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830212656.png)]](https://i-blog.csdnimg.cn/blog_migrate/52fdb0cb8d5042f94141d2c51d10556a.png#pic_center)
- 生成SSH秘钥
ssh-keygen -t rsa -C “邮箱名”
#一直回车直到出现下图,标识为默认储存的位置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vajKbUQV-1598894395005)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830213305.png)]](https://i-blog.csdnimg.cn/blog_migrate/49c0c081149aa271899236a5bba4013c.png#pic_center)
#查看秘钥是否生成成功,一共三个文件“id_rsa id_rsa.pub”为生成的文件
ls
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MM6U8qbu-1598894395007)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830213504.png)]](https://i-blog.csdnimg.cn/blog_migrate/3d6ca20d3b0d469dd77c2281fd072724.png#pic_center)
#启动ssh-agent代理
eval "$(ssh-agent -s)"
#添加生成的SSH key到ssh-agent
ssh-add ~/.ssh/id_rsa
5.配置秘钥
- 登录GitHub,进入settings
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bXgI0eoE-1598894395009)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830214133.png)]](https://i-blog.csdnimg.cn/blog_migrate/f5a66907db10a4fe07aa6cc4fa813946.png#pic_center)
- 创建SSH秘钥
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PAsXlY4a-1598894395011)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830214451.png)]](https://i-blog.csdnimg.cn/blog_migrate/75bdeb6308f26096d34f54477d037f3f.png#pic_center)
- 进入前面id_rsa.pub文件生成的默认路径,复制里面的内容
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GGaDguJs-1598894395013)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830215139.png)]](https://i-blog.csdnimg.cn/blog_migrate/da6f0ccc47e6635418dd7f87dc242ca0.png#pic_center)
#检查是否配置成功,展示你GitHub用户名时表示成功!
ssh -T git@github.com
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nKOLG7Hb-1598894395015)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830215441.png)]](https://i-blog.csdnimg.cn/blog_migrate/493ec011379bc95ffe6974e744662153.png#pic_center)
6.修改_config.yml文件
进入前面创建的blog文件夹,打开_config.yml文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W3RTLrF9-1598894395017)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830215812.png)]](https://i-blog.csdnimg.cn/blog_migrate/9303cdfd998cf67bd2d83d6962ce1278.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G6s1lZWg-1598894395019)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830221054.png)]](https://i-blog.csdnimg.cn/blog_migrate/af579287f56b007010704336d116b047.png#pic_center)
将post asset fokder设成true,新建博客时会生成存放图片的文件夹
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fcKfZy1l-1598894395021)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830233048.png)]](https://i-blog.csdnimg.cn/blog_migrate/a9b5d7e100839957263e65e79b00b2ca.png#pic_center)
7.新建一篇博客
#进入blog文件夹打开cmd
hexo new post "你的博客名"
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bcg3Wzzl-1598894395023)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\QQ截图20200830221831.png)]](https://i-blog.csdnimg.cn/blog_migrate/64868f44fb648f4c2bf6a33cb4e2ab50.png#pic_center)
在blog---->source---->_posts下查看你创建的文件
#安装部署组件
npm install hexo-deployer-git --save
#部署博客
hexo d -g
访问博客
http://你的GitHub用户名.gethub.io
8.美化你的博客
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PDfULiDu-1598894395025)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\20200831014322.png)]](https://i-blog.csdnimg.cn/blog_migrate/58af4fd6c99af619a9f74bef4b28f0f7.png#pic_center)
进入主题专栏
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jF4FhnM6-1598894395027)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\20200831014614.png)]](https://i-blog.csdnimg.cn/blog_migrate/7ed499bbd4dde58051165105cdba4dfe.png#pic_center)
选择一个你喜欢的主题
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XHlxEkyf-1598894395029)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\20200831014805.png)]](https://i-blog.csdnimg.cn/blog_migrate/3ce2865911dd99794eaff8f93163f535.png#pic_center)
找到主题路径
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sBAS5ARz-1598894395031)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\20200831015010.png)]](https://i-blog.csdnimg.cn/blog_migrate/e17b6f24bca30c3bcaa25527ae7bf52e.png#pic_center)
打开你的Git进入themes文件夹,粘贴路径
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tsLqKrIX-1598894395032)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\20200831015030.png)]](https://i-blog.csdnimg.cn/blog_migrate/2581cca7666142b22dee5d4489cecc29.png#pic_center)
注意:运行报错的话去blog文件夹打开cmd使用命令git init初始化git仓库
打开_config.yml文件,更改主题设置,改为我们下载的项目的名字。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ynVp4Whp-1598894395034)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\20200831020035.png)]](https://i-blog.csdnimg.cn/blog_migrate/7552e23971632edff69ee2605fdf2b89.png#pic_center)
保存之后,在blog目录下打开cmd,输入下面的指令:
hexo clean #清空public缓存
hexo d -g #部署
注意:当你的博客不展示图片时
- 下载组件
#安装一个图片路径转换的组件
npm install https://github.com/CodeFalling/hexo-asset-image --save
- 打开node_modules/hexo-asset-image/index.js,将内容更换为下面的代码
'use strict';
var cheerio = require('cheerio');
// http://stackoverflow.com/questions/14480345/how-to-get-the-nth-occurrence-in-a-string
function getPosition(str, m, i) {
return str.split(m, i).join(m).length;
}
var version = String(hexo.version).split('.');
hexo.extend.filter.register('after_post_render', function(data){
var config = hexo.config;
if(config.post_asset_folder){
var link = data.permalink;
if(version.length > 0 && Number(version[0]) == 3)
var beginPos = getPosition(link, '/', 1) + 1;
else
var beginPos = getPosition(link, '/', 3) + 1;
// In hexo 3.1.1, the permalink of "about" page is like ".../about/index.html".
var endPos = link.lastIndexOf('/') + 1;
link = link.substring(beginPos, endPos);
var toprocess = ['excerpt', 'more', 'content'];
for(var i = 0; i < toprocess.length; i++){
var key = toprocess[i];
var $ = cheerio.load(data[key], {
ignoreWhitespace: false,
xmlMode: false,
lowerCaseTags: false,
decodeEntities: false
});
$('img').each(function(){
if ($(this).attr('src')){
// For windows style path, we replace '\' to '/'.
var src = $(this).attr('src').replace('\\', '/');
if(!/http[s]*.*|\/\/.*/.test(src) &&
!/^\s*\//.test(src)) {
// For "about" page, the first part of "src" can't be removed.
// In addition, to support multi-level local directory.
var linkArray = link.split('/').filter(function(elem){
return elem != '';
});
var srcArray = src.split('/').filter(function(elem){
return elem != '' && elem != '.';
});
if(srcArray.length > 1)
srcArray.shift();
src = srcArray.join('/');
$(this).attr('src', config.root + link + src);
console.info&&console.info("update link as:-->"+config.root + link + src);
}
}else{
console.info&&console.info("no src attr, skipped...");
console.info&&console.info($(this));
}
});
data[key] = $.html();
}
}
});
3.检查你的路径和图片名是否包含中文
4.如果路径不包含中文也展示不了就把路径去掉直接放图片名
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jIvRuaXA-1598894395037)(E:\Users\zhoug\Desktop\y2.技术笔记\Git及GitHub\github搭建个人博客\image\20200831012452.png)]](https://i-blog.csdnimg.cn/blog_migrate/c84b8302bd872a4bf90295d66b831414.png#pic_center)

1151

被折叠的 条评论
为什么被折叠?



