博客的基本信息,如站点名称、博主信息等基本上都可以在根目录下的_config.yml以及themes/yilia/_config.yml中完成,这里就不赘述了,下面介绍一些不太容易实现的配置(至少让我折腾了一会)。
1. 头像&&网页图标等图像设置
在 themes/yilia/source/ 路径下,添加一个 assets 文件夹,里面存放各种资源。我把图像资源放在img文件夹中。
在 themes/yilia/_config.yml文件中,做如下修改:
1 2 3 4 5 6 7 8 9
| weixin: /assets/img/[image name].png alipay: /assets/img/[image name].png
avatar: /assets/img/[image name].png
favicon: /assets/img/[image name].png
|
2. 博文中插入图片
比较奇怪的是插入图片的markdown语法在这里不起作用,图片加载不出来。几番搜索之后终于找到了解决方案:
首先找到项目根目录的_config.yml文件,修改post_asset_folder为true:
接着在命令行cd到博客项目所在文件夹下,输入:
该命令会生成一个markdown文件和同名的文件夹,我们只需要将图片放进文件夹里,然后在md文件里使用下面的语句来插入图片即可:
1
| {% asset_img 图片名.图片后缀 [title] %}
|
然后hexo g生成文件hexo s启动服务,就可以看到图片了。
需要注意的是如果之前安装过hexo-asset-image,需要将其卸载:
1
| npm uninstall hexo-asset-image --save
|
3. 创建分类页面
在命令行cd到博客项目所在文件夹下,输入:
1
| hexo new page categories
|
该命令将在source目录下生成一个categories文件夹,里面有一个index.md文件。修改该文件为:
1 2 3 4 5 6
| --- title: 文章分类 date: 2018-06-11 10:13:21 type: "categories" comments: false ---
|
然后进行修改categories页面样式的操作。打开yilia\source\main.0cf68a.css,将下面的内容添加进去:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| category-all-page { margin: 30px 40px 30px 40px; position: relative; min-height: 70vh; } .category-all-page h2 { margin: 20px 0; } .category-all-page .category-all-title { text-align: center; } .category-all-page .category-all { margin-top: 20px; } .category-all-page .category-list { margin: 0; padding: 0; list-style: none; } .category-all-page .category-list-item-list-item { margin: 10px 15px; } .category-all-page .category-list-item-list-count { color: $grey; } .category-all-page .category-list-item-list-count:before { display: inline; content: " ("; } .category-all-page .category-list-item-list-count:after { display: inline; content: ") "; } .category-all-page .category-list-item { margin: 10px 10px; } .category-all-page .category-list-count { color: $grey; } .category-all-page .category-list-count:before { display: inline; content: " ("; } .category-all-page .category-list-count:after { display: inline; content: ") "; } .category-all-page .category-list-child { padding-left: 10px; }
|
设置ejs。新建yilia/layout/categories.ejs,输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <article class="article article-type-post show"> <header class="article-header" style="border-bottom: 1px solid #ccc"> <h1 class="article-title" itemprop="name"> <%= page.title %> </h1> </header>
<% if (site.categories.length){ %> <div class="category-all-page"> <h2>共计 <%= site.categories.length %> 个分类</h2> <%- list_categories(site.categories, { show_count: true, class: 'category-list-item', style: 'list', depth: 2, separator: '' }) %> </div> <% } %> </article>
|
至此分类功能设置完成,我们可以在每篇博文中设置categories属性,详情见第4部分。
4. 设置博文信息
在对应的md文件中设置:
1 2 3 4 5 6 7 8 9 10 11 12 13
| ---
title: postName copyright: true
toc: true date: 2020-11-11 15:30:16 categories: example tags: [tag1,tag2,tag3] --- 文章摘要 <!-- more --> 文章正文,主页面中不显示
|
显示文章摘要还需要注释掉下面的语句,在 themes/yilia/_config.yml文件中。
5. 增加归档菜单,显示所有文章
修改 themes/yilia/_config.yml
1 2 3
| menu: 主页: / 归档: /archives/index.html
|
6. 更改代码块样式
打开theme\yilia\source\main.0cf68a.css,搜索 .article-entry .highlight, 定位到红框,调整代码块背景颜色

调整字体颜色:

### 7. 显示文章目录
在 themes/yilia/_config.ym中,将toc的值改为2。这样就可以根据你的md文件里的标题自动生成目录了:
8. 添加Gitalk评论区
参考博客
9. 文章URL加密
用命令行安装插件:
1
| npm install hexo-abbrlink --save
|
修改根目录下的配置文件_config.yml。找到permalink: :year/:month/:day/:title/这一行,将其改为:
1
| permalink: archives/:abbrlink.html
|
然后在下面添加:
1 2 3
| abbrlink: alg: crc32 rep: hex
|
参考:
记录hexo无法加载图片及修改yilia主题组件
Hexo yilia 主题一揽子使用方案
Hexo-Yilia进阶笔记
Yilia主题优化(统计、评论、目录、一言、爱心效果、、、)