Hexo博客搭建步骤
个人博客
以Mac
系统安装为例,其它Windows
、Linux
系统安装都是大同小异。
1、下载安装nodejs
下载地址:https://nodejs.org/zh-cn/ ,选长期支持版本进行下载安装。
node -v
命令验证是否安装成功。
1 | zhaoxb:hexo_blog zhaoxiaobin$ node -v |
2、安装淘宝镜像cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm -v
命令验证是否安装成功。
1 | zhaoxb:hexo_blog zhaoxiaobin$ cnpm -v |
安装这个主要是为了后面安装插件能够加快下载速度。
3、安装hexo
cnpm install -g hexo-cli
hexo -v
命令验证是否安装成功。
1 | zhaoxb:hexo_blog zhaoxiaobin$ hexo -v |
4、创建博客目录并初始化
选择在自己喜欢的目录下创建博客目录作为workspace
1 | mkdir hexo_blog |
博客文章所在目录为source/_posts
,默认会有一篇Hexo
的介绍文档。
在这个目录下可以新建markdown
格式的文件来创建一篇博客文章,会被转成html
页面来进行展示。
当然也可以在博客目录hexo_blog
下使用hexo n xxx
命令来创建一篇文章,最后效果也是在source/_posts
目录下生成一个名为xxx.md
的文件。
1 | hexo n xxx |
5、启动查看效果
hexo s
命令启动服务,根据提示,浏览器打开http://localhost:4000/
访问可以看到初始化的博客页面。
6、github创建repositroy
这里使用github pages
功能,托管静态代码来做个人主页,仓库名称必须为 username.github.io,比如我的是senlinmu1008.github.io
。仓库最好选择公开,以免影响访问。
当然这里并非一定要使用github
,也可以使用国内的gitee pages
或者coding
也有托管个人博客的功能,只不过我个人使用下来还是github
最好用最靠谱,只不过访问速度可能有点慢,可以用CDN加速来解决。
7、安装部署插件
进入到博客目录下执行安装插件。
1 | cd hexo_blog |
这个插件可以把生成的页面通过git
推送到github
仓库中,当然前提是你已经安装好了git
工具。
8、添加_config.yml文件的部署地址
1 | # Deployment |
这里仓库地址repo
填成实际个人的,就是git clone
下代码的那个地址,可以用https
也可以是SSH
。
当然这里也可以使用gitee
或者coding
的仓库,也可以同时配置多个,比如:
1 | # Deployment |
上面用的是SSH
方式,好处就是配置了SSH keys
以后都不用再输账号密码了。
9、部署
分别执行hexo g
、hexo deploy
命令进行页面生成和远程部署。
1 | hexo g |
1 | hexo deploy |
如果是第一次推送到github
,这里可能会提示输入仓库的账号密码,如果配置了SSH keys
则不需要输入。
10、查看效果
浏览器输入域名个人的username.github.io
,比如senlinmu1008.github.io
,不出意外的话,就可以看到当前个人博客的初始页面效果。
到这一步其实个人博客已经搭建完成,当然个性化的配置以及自定义域名这些都是后续看个人喜好和需要了。
11、更换主题
可以在网上搜一些Hexo
的主题,选择一个自己喜欢的,下载到themes
目录下,然后修改_config.yml
配置文件。
1 | # Extensions |
修改为自己下载的主题名称。比如这里我个人用的是butterfly
主题。如果对个性化配置要求比较高,可以学习下怎么配置主题,一般常用主题都会有详细而全面的教程来指导如何使用。
11.1、更新主题
如果后续主题升级了需要更新,可以使用以下步骤(需要切换到主题所在的目录中):
1 | 将当前主题修改的内容增加到工作区 |
12、常用命令
一般Hexo
的命令都要在博客所在目录即之前创建的workspace
目录下执行才有效。
命令 | 功能 |
---|---|
hexo clean | 清除所有生成的页面文件 |
hexo g | 生成页面 |
hexo deploy | 推送部署到远程服务器 |
hexo n xxx | 新建一篇名为xxx的文章 |
13、安装一些压缩库
1 | cnpm install gulp@4.0.2 --save |
14、hexo主题版本控制
1 | # 指定下载某个tag版本的主题 |
15、serverless常用命令
如果用serverless部署,可以参考命令:
1 | #命令后增加 --debug 参数可查看执行详情 |
16、常见问题解决
16.1 non-existent property ‘xxxx’
1 | (node:38339) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency |
更新hexo-renderer-stylus为3.0.1版本即可解决
1 | cnpm install hexo-renderer-stylus --save |
参考如下链接:
https://www.haoyizebo.com/posts/710984d0/
https://zhuanlan.zhihu.com/p/431514143
16.2 安装gulp-imagemin报错
1 | # 问题:如果安装gulp-imagemin错误请执行以下语句 |