在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml。 其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。
为了描述方便,在以下说明中,将前者称为站点配置文件, 后者称为主题配置文件。
以下所有终端执行的命令都在你的Hexo根目录下
基本信息配置
打开 站点配置文件 ,找到Site模块
1 | title: 标题 |
关于 站点配置文件 中的其他配置可参考站点配置
菜单设置
菜单包括:首页、归档、分类、标签、关于等等
我们刚开始默认的菜单只有首页和归档两个,不能够满足我们的要求,所以需要添加菜单,打开 主题配置文件 找到Menu Settings
看看你需要哪个菜单就把哪个取消注释打开就行了;
关于后面的格式,以archives: /archives/ || archive为例:
|| 之前的/archives/表示标题“归档”,关于标题的格式可以去themes/next/languages/zh-Hans.yml中参考或修改
||之后的archive表示图标,可以去Font Awesome中查看或修改,Next主题所有的图标都来自Font Awesome
Next主题样式设置
我们百里挑一选择了Next主题,不过Next主题还有4种风格供我们选择,打开 主题配置文件 找到Scheme Settings
1 |
|
4种风格大同小异,本人用的是Gemini风格,你们可以选择自己喜欢的风格
侧栏设置
开启侧边栏社交链接
1 | # Social links |
开启打赏功能
1 | reward_comment: 坚持原创技术分享,您的支持将鼓励我继续创作! |
开启友情链接
1 | links_title: Links |
开启订阅微信公众号
1 | wechat_subscriber: |
头像设置
打开 主题配置文件 找到Sidebar Avatar字段
1 |
|
这是头像的路径,只需把你的头像命名为header.jpg(随便命名)放入themes/next/source/images中,将avatar的路径名改成你的头像名就OK啦!
设置侧边栏设置圆形可旋转头像
找到生成的Hexo目录\themes\next\source\css_common\components\sidebar下的sidebar-author.styl,将里面的css样式内容全部替换为:
1 | .site-author-image { |
设置首页不显示全文(只显示预览)
打开主题配置文件_config.yml,ctrl + F搜索找到”auto_excerpt”,可以看见
1 | # Automatically Excerpt. Not recommand. |
把enable改为对应的false改为true,length就是预览显示的文字长度,你可以根据你的需要进行更改,然后重新部署,再进主页,你就发现你首页的文章多了一个阅读全文的按钮。
添加动态背景
先上张图
打开生成的Hexo目录\themes\next/layout/_layout.swig文件,
在 < head>中的添加代码
1 | {% if theme.canvas_nest %} |
打开主题配置文件,搜索canvas_nest,将其改成true
1 | canvas_nest: true |
什么?线条太多了?没事,来看看怎么让线条变少点
在上一步修改的主题配置文件中,把刚才的那些代码改成下面这样:
1 | {% if theme.canvas_nest %} |
配置项说明
color :线条颜色, 默认: ‘0,0,0’;三个数字分别为(R,G,B)
opacity: 线条透明度(0~1), 默认: 0.5
count: 线条的总数量, 默认: 150
zIndex: 背景的z-index属性,css属性用于控制所在层的位置, 默认: -1
分类和标签设置
这里主要说的是在编写文章的时候,怎么给文章设置标签和分类。
首先通过hexo n "name"命令来新建一个页面,在source/_posts目录下找到刚才新建的name.md文件,用Typora或者notepad++t打开(推荐Typora)
1 | title: name |
页面默认就是长这样的,可以编辑标题、日期、标签和内容,但是没有分类的选项。我们可以手动加入categories:项,但是下次创建新的页面的时候还是没有,所以我们直接打开scaffolds/post.md文件,在tages:上面加入categories:,保存后,重新执行hexo n ‘name’命令,会发现新建的页面里有categories:项了。
scaffolds目录下,是新建页面的模板,执行新建命令时,是根据这里的模板页来完成的,所以可以在这里根据你自己的需求添加一些默认值。
设置分类列表
在我们编辑文章的时候,直接在categories:项填写属于哪个分类,但如果分类是中文的时候,路径也会包含中文。
比如分类我们设置的是:
1 | categories: 开车 |
那在生成页面后,分类列表就会出现开车这个选项,他的访问路径是:
1 | */categories/开车 |
我们都知道,有时候中文路径可能会出现一些奇奇怪怪的问题,所以我们需要路径名和分类名分别设置。
打开站点配置文件_config.yml,找到如下位置做更改:
1 |
|
在这里category_map:是设置分类的地方,每行一个分类,冒号前面是分类名称,后面是访问路径。
可以提前在这里设置好一些分类,当编辑的文章填写了对应的分类名时,就会自动的按照对应的路径来访问。
设置标签
在编辑文章的时候,tags:后面是设置标签的地方,如果有多个标签的话,可以用下面两种办法来设置:
第一种:
1 | tages: [标签1,标签2,...标签n] |
第二种:
1 | tages: |
添加文章更新时间
修改(博客主目录)/themes/next/layout/_macro/post.swig 文件,在<span class="post-time">...</span>标签后添加
1 | {%if post.updated and post.updated > post.date%} |
根据博客配置文件中的 language 参数修改对应的语言配置文件(博客主目录)/themes/next/languages/zh_Hans.yml
1 | post: |
修改主题配置文件(博客主目录)/themes/next/_config.yml,增加一行
1 | display_updated: true |
或者写文章的时候可以直接在文章开头设置更新时间,没有这参数的话将会显示md文件的修改日期
1 | updated: 2018-01-01 12:00:00 |
添加搜索功能
安装 hexo-generator-searchdb 插件
1 | $ npm install hexo-generator-searchdb --save |
打开 站点配置文件 找到Extensions在下面添加
1 |
|
3、打开 主题配置文件 找到Local search,将enable设置为true
添加阅读全文按钮
因为在你的博客主页会有多篇文章,如果你想让你的文章只显示一部分,多余的可以点击阅读全文来查看,那么你需要在你的文章中添加
1 | <!--more--> |
其后面的部分就不会显示了,只能点击阅读全文才能看
修改文章内链接文本样式
打开文件 themes/next/source/css/_common/components/post/post.styl,在末尾添加
1 | .post-body p a { |
其中选择 .post-body 是为了不影响标题,选择 p 是为了不影响首页“阅读全文”的显示样式,颜色可以自己定义。
设置网站缩略图标
从网上看了很多设置方法都是说把favicon.ico放到站点目录的source目录下就可以了,可是我试了好多遍,并不行
我的设置方法是这样的:把你的图片(png或jpg格式,不是favicon.ico)放在themes/next/source/images里,然后打开 主题配置文件 找到favicon,将small、medium、apple_touch_icon三个字段的值都设置成/images/图片名.jpg就可以了,其他字段都注释掉。
设置文章字体的颜色、大小
如果想设置某一句的颜色或大小,只需用html语法写出来就行了
1 | 接下来就是见证奇迹的时刻 |
设置文字居中
1 | <center>这一行需要居中</center> |
添加评论系统
目前国内比较有名的多说、网易云跟帖评论系统都已停止服务了,国外的Disqus评论系统还得需要翻墙,所以不推荐使用,剩下的还有搜狐畅言、友言、来必力等。
本来想使用畅言的,结果注册完之后还得要求备案,我只想说F开头的那个单词,果断放弃。
后来选择了友言
1、进入友言官网注册、登录步骤我就不介绍了
2、登录完成之后,点击获取代码,你会发现出来了一段代码,里面有你的uid=1234567
3、打开 主题配置文件 找到youyan_uid将值设置为上面的uid就可以了
添加站点访问计数
站点访问计数有名的就是不蒜子,使用起来非常方便
1、安装脚本
打开 themes/next/layout/_partial/footer.swig,将下面这段代码添加到里面
1 | <div> |
添加的位置如下图,可自行根据个人喜好更换位置
2、以上只是显示站点的访问次数,如果想显示每篇文章的访问次数,打开 themes/next/layout/_macro/post.swig,在第一行增加is_pv字段
1 | {% macro render(post, is_index, is_pv, post_extra_class) %} |
然后将这段代码插入到里面
1 | {% if is_pv %} |
插入的位置
然后再打开 themes/next/layout/post.swig,这个文件是文章的模板,给render方法传入参数(对应刚才添加的is_pv字段)
最后再打开 themes/next/layout/index.swig,这个文件是首页的模板,给render方法传入参数(对应刚才添加的is_pv字段)
OK!设置完毕
去掉文章目录标题的自动编号
我们自己写文章的时候一般都会自己带上标题编号,但是默认的主题会给我们带上编号,很是别扭,如何去掉呢?
打开主题配置文件,找到
1 | # Table Of Contents in the Sidebar |
将number改为false即可
自定义样式 引用
需加入custom.styl的代码
文件位置:~/blog/themes/next/source/css/_custom/custom.styl
1 | // 自定义的引用样式 |
- 文字颜色改
color的值 - 背景色改
background-color的值 - 边框颜色和粗细改
border-left的值
效果:
内容
使用方法:
1 | <blockquote class="question">内容</blockquote> |
修改hexo的主题nexT中的Pisces主题宽度
在source/css/_schemes/Picses/_layout.styl文件末尾添加如下代码
1 | // 以下为新增代码!! |
更多
还有其他更多的主题配置,请查看主题配置
还有其他更多的插件,请查看Hexo插件