系统版本
1 | root@iZ23ldh8kudZ:~# cat /etc/issue |
其他系统搭建流程类似,这里不一一演示。
准备工作
关于hexo和next的基本概念这里不再介绍,只说怎么安装和使用。
安装Git
1 | root@iZ23ldh8kudZ:~# apt-get update |
安装Node.js
1 | root@iZ23ldh8kudZ:~# apt-get install nodejs |
安装Hexo
1 | root@iZ23ldh8kudZ:~# npm install -g hexo-cli |
发现报错, 经谷歌后,在需要安装nodejs-legacy:
1 | root@iZ23ldh8kudZ:~# apt-get install nodejs-legacy |
再次安装hexo-cli后成功!
1 | root@iZ23ldh8kudZ:~# hexo -version |
建站
1 | root@iZ23ldh8kudZ:~# hexo init blog |
启动
1 | root@iZ23ldh8kudZ:~/blog# hexo s |
查看
在浏览器中输入localhost:4000,查看效果如下:
至此,hexo博客就搭建好了,接下来就是安装NexT主题并且进行各种配置了。
安装NexT主题
1 | root@iZ23ldh8kudZ:~/blog# pwd |
安装成功之后,会发现主题文件夹下面多了一个next
文件夹
1 | root@iZ23ldh8kudZ:~/blog# ll themes/ |
使用next主题
编辑站点配置文件
, 修改theme配置的值:
1 | theme: next |
重启hexo,查看界面效果:
提示:修改站点配置需要重启,修改主题文件不需要重启,如果改了没生效,请运行
hexo clean
个人感觉这个有点丑,所以我又换了一个风格,next提供了3中风格的主题:
- Muse - 默认 Scheme,这是 NexT 最初的版本,黑白主调,大量留白
- Mist - Muse 的紧凑版本,整洁有序的单栏外观
- Pisces - 双栏 Scheme,小家碧玉似的清新
修改主题配置文件
, 修改scheme配置的值:
1 | scheme: Mist |
重启hexo,查看界面效果:
个人比较喜欢这种风格的主题。
个性化设置
网站相关设置
修改站点配置文件
, Site相关配置默认如下:
1 | # Site |
经过配置后:
1 | # Site |
设置favicon
: 把favicon.ico放在source/
目录下即可。
设置作者头像:
修改主题配置文件
:
1 | # Sidebar Avatar |
然后把你的头像(avatar.png)放在themes/next/source/uploads/
目录下,没有uploads目录的话可以自己创建一个。
重启后查看效果如下:
头像可以设置成gif动态图!
菜单相关设置
修改主题配置文件
,默认菜单相关配置如下:
1 | # --------------------------------------------------------------- |
本人配置后如下:
1 | # --------------------------------------------------------------- |
图标我没换变,用的默认的,只是多显示了几个菜单而已,当然,现在的菜单是不能正常使用的,还需要再做一些操作。
效果如下:
现在看起来好像该有的都有了,但是点击之后会报错,比如点击“关于”菜单:
关于
发现缺少“关于”页面,下面就来添加关于页面:
1 | root@iZ23ldh8kudZ:~/blog# hexo new page about |
发现在source目录下了生成一个about文件夹,about里面是一个md文件, 内容为:
1 | root@iZ23ldh8kudZ:~/blog# cat source/about/index.md |
本人编辑后内容为:
1 | --- |
其中comments
表示此页面不需要评论,关于评论的问题下面会讨论。
刷新后界面如下:
404
404页面我用的是公益404,在source目录下创建404.html, 内容如下:
1 | <!DOCTYPE HTML> |
刷新后效果如下:
标签
1 | root@iZ23ldh8kudZ:~/blog# hexo new page tags |
经过我的修改后内容为:
1 | --- |
刷新后看效果:
刷新后看不到什么效果,因为你还没有“标签”,怎么才能有标签呢?不急,下面会说的。
分类
1 | root@iZ23ldh8kudZ:~/blog# hexo new page categories |
经过我的修改后内容为:
1 | --- |
刷新后看效果:
刷新后看不到什么效果,原因同上。
文章
其他的配置现在不好说,因为没有文章!所以接下来我会先创建一些文章。
文章模板
在scaffolds目录下是创建新文章时的模板:
1 | root@iZ23ldh8kudZ:~/blog# ll scaffolds/ |
默认使用的是post.md这个模板,你也可以在站点文件中配置其他模板:
1 | default_layout: post |
不过一般也不需要改,我是直接改的post.md,改后内容如下:
1 | --- |
使用模板创建一篇文章:
1 | root@iZ23ldh8kudZ:~/blog# hexo new SSH免密登录 |
hexo new <title>
命令会使用默认模板创建一篇文章,文章在source/_post/文件夹下。
为了观察实际效果,我在这篇文章中添加一些真实的内容
刷新后效果如下:
这时候你再去查看“标签”页和“分类”页,应该就能看见有内容了。
分页
为了看出分页效果,我先把hexo例子中的Hello World干掉,另外把我的博客搬进_post中。
修改站点配置文件
中的per_page
配置,默认是10,我改为5:
1 | # Pagination |
效果如下:
其他
至此,博客就已经有型了,但是还得经典细琢。
分享
当我们看到一篇好文章时想分享给其他人看怎么办?复制url?太low了!
修改主题配置文件
的jiathis
:
1 | # Share |
刷新文章详情页面,可以在底部看到分享按钮:
社交链接
修改主题配置文件
的Social
相关配置:
1 | # Social Links |
刷新后效果如下:
发现进入详情界面后,自动弹出右边目录结构(如果文章有目录的时候),设置主题配置文件
,让进入详情界面的时候不要自动弹目录结构:
修改sidebar:display的值:
1 | sidebar: |
生成RSS
1 | root@iZ23ldh8kudZ:~/blog# npm install hexo-generator-feed --save |
修改主题配置文件
的rss配置,如下:
1 | # Set rss to false to disable feed link. |
rss配置没变,feed相关的为新增的, 刷新后就可以在sidebar中看见rss链接了。
可以使用rss阅读器
订阅这个rss地址的文章。
打赏
修改主题配置文件
中的alipay
的值(如果没有alipay就新增):
1 | # pay |
然后把支付宝的收款二维码放到themes/next/source/uploads/
目录下。
文章详情界面的效果如图:
代码高亮风格
修改主题配置文件
的highlight_theme
的值:
1 | # Code Highlight theme |
站点地图
1 | npm install hexo-generator-sitemap --save |
修改站点配置文件
,在最后添加(可以不加,因为有缺省值):
1 | # Sitemap Setting |
重启后访问http://localhost:4000/sitemap.xml
,就可以看到内容了。
但是连接地址是错的,所以我们需要在站点配置文件
中修改:
1 | # URL |
下面是提交站点地图
到百度站长工具中的过程, 不搞SEO的可以略过
百度统计
在http://tongji.baidu.com/注册账号,并创建应用,然后在“代码获取”界面获取baidu_analytics
,如下图:
修改主题配置文件
的baidu_analytics
的值:
1 | # Baidu Analytics ID |
为了个人id不被盗用,我隐藏了四位。一段时间之后查看访问量:
评论
之前的hexo用户使用多说
评论插件的比较多,但是现在多说即将关闭,新用户已经不能使用了,所有我使用畅言
。
注册畅言http://changyan.kuaizhan.com/并创建站点,获取APP ID
和APP KEY
。
把这两个的值写入主题配置文件
:
1 | # changyan |
效果如下:
我这里的评论框是黑色的,你可以在“畅言”网站上修改评论框的样式。
站内搜索
这是个很好用的功能,就是反应有点慢。修改主题配置文件
的local_search
的值:
1 | # Local search |
修改这个配置可以在界面上看到“搜索”按钮。但点击无效。
修改站点配置文件
,在最后新增:
1 | # 搜索 |
安装搜索插件:
1 | npm install hexo-generator-search --save |
重启后搜索效果如下:
hexo常用命令
清除
1 | hexo clean |
生成站点
1 | hexo gengrate |
可以简写为hexo g
本地启动
1 | hexo server |
可以简写为hexo s
还可以带参数,比如hexo s --debug
会在命令窗口打印日志以供调试。
发布
1 | hexo deploy |
简写为hexo d
需要在站点配置文件
中配置deploy
相关参数:
1 | # Deployment |
此外还需要安装deploy相关插件,并且配置git全局用户相关变量,不然没权限推送到github上。
如果没云空间的可以在deploy到github上托管,但github最近比较慢,所以我是放在云服务器上的。