文章预览
- 主页文章预览的默认效果是左侧显示一个「阅读更多」按钮,修改成左侧显示文章的标签+右侧显示「阅读更多」按钮。
- 修改
layout/common/article.jsx
文件中的{/* Tags */}
和{/* "Read more" button */}
两部分代码
1 | {/* Tags */} |
文章页面双栏显示
- 站点目录创建文件
_config.post.yml
TOC
- 该主题文章需要在 Front-Matter 中声明
toc: true
才展示目录。参考 记第三次博客切换主题以及主题优化 - 编程技术笔记 (yxchangingself.xyz) 通过正则表达式批量为历史文章增加toc: true
属性。打开 VS Code,查找内容设置为---\ntitle(.*)
替换内容设置为---\ntitle$1\ntoc: true
,点批量替换。
修改默认字体
-
最近有挺多人推荐这款字体 lxgw/LxgwWenKai: An open-source Chinese font derived from Fontworks’ Klee One. 一款开源中文字体,基于 FONTWORKS 出品字体 Klee One 衍生。 根据项目主页的介绍,个人博客比较适合使用 霞鹜文楷屏幕阅读版 / LXGW WenKai Screen 。从 【如需网页上嵌入,请看这里】webfont npm 包 · Issue #24 中找到其他人提供的 webfont 地址
https://cdn.staticfile.org/lxgw-wenkai-screen-webfont/1.6.0/lxgwwenkaiscreen.css
。 -
借助 hexo 注入器 将 webfont 地址写到生成 html 页面的
<head>
标签中。在icarus/scripts/injector.js
文件中添加一行:hexo.extend.injects.register('head_begin', '<link rel="stylesheet" href="https://cdn.staticfile.org/lxgw-wenkai-screen-webfont/1.6.0/lxgwwenkaiscreen.css">', 'default');
-
icarus 主题的默认字体是在
icarus/include/style/base.styl
中声明,相应增加上LXGW WenKai Screen
即刻。具体修改如下:$family-sans-serif ?= "LXGW WenKai Screen", Ubuntu, Roboto, 'Open Sans', 'Microsoft YaHei', sans-serif
Umami 统计
-
主题自带 GA 和百度统计,但是这两种方式都不方便分享统计结果。所以个人还是更加喜欢 Umami 统计,目前 Umami Cloud 可以免费试用,可以省去自己部署的麻烦。本博客的访问数据在 Blog Analytics。
-
借助 hexo 注入器 将 Umami 的统计代码写到生成 html 页面的
<head>
标签中。在icarus/scripts/injector.js
文件中添加一行:hexo.extend.injector.register('head_begin', '<script async defer data-website-id="your-umami-id" src="https://analytics.umami.is/script.js"></script>', 'default');
备案号
-
主题默认不支持,网上可以找到下面三种实现方式
-
Hexo博客Icarus主题添加备案号 - legendsmb:修改 footer.jsx
-
希望提供备案配置功能 · Issue #792 · ppoffice/hexo-theme-icarus (github.com):新增相关脚本,然后配置
-
hexo-icarus-主题安装使用中遇到的问题以及解决方案—龙爪槐守望者-(ftium4.com):利用-links-功能
-
-
看起来第三种实现难度最低,打开
_config_icarus.yml
找到footer
修改成:- id:: 641e922e-046d-46f9-9b1e-dd75610c9b04
1 | footer: |
评论系统
-
参考 Icarus用户指南 - 用户评论插件 - Icarus (ppoffice.github.io) 选择 Waline
-
增加最新评论 Widget
相关文章/推荐文章
-
通过插件
hexo-related-popular-posts
生成相关文章或者热门文章数据 -
创建
layout/common/related.jsx
文件
1 | const logger = require('hexo-log')(); |
- 在
article.jsx
中添加一行const Related = require('./related');
导入上一步新增的 related 模块,然后再把 related 模块添加到 Donate 之后。
1 | {/* Donate button */} |
CDN 优化
-
默认 FontAwesome CDN 在国内访问实在是太慢,参考 优化博客 - XiaoYe’s Blog (starx.win) 改成 字节跳动静态资源公共库 (bytedance.com)。
iconcdn
改成https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/6.0.0/css/all.min.css
提交搜索引擎
参考
-
引入自定义 JS / CSS 的功能 · Issue #1009 · ppoffice/hexo-theme-icarus (github.com)
-
博客源码分享 - 辣椒の酱 (removeif.github.io):gitalk 和 valine 最新评论widget、博客样式修改、推荐文章模块、影音数据文件、推荐文章模块
-
个人博客优化记录 - Challenging-eXtraordinary (chuxin911.com)
- 键位效果
hexo-tag-kbd
例子{% kbd Ctrl %} + {% kbd ALT %} + {% kbd DELETE %}
- 键位效果
-
Hexo-Icarus主题配置建议 - Andy’ s Blog (andycen.com) 目录粘性布局、文章预览效果优化
-
创造 CANDY 主题,只为更好的交互 - 安子璠的个人主页 (anzifan-old.vercel.app) 导航栏优化、TOC 优化