1 评论数据管理#
2 文章排序问题(未解决)#
文章默认以时间排序
3 hexo 中 markdown 链接至其他文档#
2023-9-4
原写法:
1 | [链接文本](链接路径地址) |
hexo 编辑文章中写法:
1 | {% post_link 文章名(不带后缀) 链接文本(不写则默认以目标文章的title作占位) %} |
4 文章置顶及隐藏#
2023-9-4
hexo-generator-index 提供了 front-matter 属性:sticky
,用以指定文章优先级
1 | sticky: 100 |
由于官方 hexo-generator-index 并未提供隐藏文章的功能,想要完全隐藏文章可以通过将文章设置为草稿
或者,使用hexo-hide-ports或hexo-generator-index-custom
注意:隐藏的文章依旧可以通过链接来访问,后者需要删除原来的 hexo-generator-index
5 文章目录#
2023-9-4
可使用hexo-toc实现
6 front-matter 文章标题 title 问题#
2023-9-4
what
:在 new 文章时发现新的文章生成的 front-matter 中 title 不对,正常应该是文章的名字
why
:查询资料及文档发现,后面编辑 post.md 模板时 vscode 将原本的 title: {{ title }}
及 date: {{ date }}
格式化为 title: { { title } }
及 date: { { date } }
,注意区别:两对花括号之间被加上了一个多余的空格
how
:用其它编辑器如 typora 打开 post.md 进行修改,删除多余空格,之后要修改模板也不使用 vscode 修改,暂时就这样解决,累了,毁灭吧 hhhhhhhhh
7 html 写文章#
2023-9-5
hexo 默认文章格式为 markdown,创建的方式:hexo new 文章title
由于我大部分的笔记都是直接用 html 编辑的(学前端时可以直接做练习看效果,自由度高),这些笔记都得导入到博客中,之后要再写文章就使用 hexo new
的方式创建
要创建 html,需要修改配置_config.yml 中原来的 new_post_name: :title.md
,后缀名改为 html 即:new_post_name: :title.html
缺点:若要创建 markdown 格式的文章还需要手动改回配置
至于文章有许多知识点分类,不能全部直接放在_post 文件夹下,所以我打算为不同部分的笔记创建不同的目录进行存放,采用 hexo new title --path pathname/article
命令行指定存放路径
7.1 样式表 css 资源#
对于文章要引入的外部样式,统一放入指定的 /css/pathname/
下
7.2 js 资源#
对于文章要引入的外部 js,统一放入指定的 /js/pathname/
下
7.3 bug:css 样式冲突#
外部引入的库如 bootstrap 会造成整个页面样式冲突,没有 css 隔离
7.4 修理 bug & 改进#
2023-9-9
mynormalize 版本 1.1.0、1.2.0 导入完成
主题暗黑模式下部分样式适配完成
部分样式隔离完成
7.4.1 mynormalize.js 文件未打包完全问题(未解决)#
mynormalize.js 文件打包后只剩前 200 行,会报错,没法用,但其中只是有形成文章目录及返回顶部/直达底部功能,影响不大,hexo 已带部分相似功能
7.4.2 移动端适配#
文章宽度#
2023-9-9
手贱想打开手机看看移动端的部署效果,结果发现使用 mynormalize1.2.0 的文章最小宽度被限定在了 500px
改改,删掉最低限制,最高限制 1000px 暂时保留
2023-9-10
ok,今天算是初步完成了移动端的适配,可是相较原本的样式丑多了[危笑]
字体大小(未解决)#
2023-9-9
好的新问题来了[危笑,阴暗地爬行],移动端字体大了一点,且使用的盒子框架在移动端反而影响了内容,尺寸不合适了会挤压内容
已解决,忘记记录时间了
7.4.3 prism 代码高亮插件样式及 js 解析问题#
2023-9-19
用本地下载文件引入使用,解析不全,卡半路导致样式不能实现
解决:换成 cdn
主题设置#
2023-9-19 解决
用默认的 prism.min.css
的话,主题与我想要的不一样,原本本地下载的用的是 Tomorrow Night
这个主题,用 cdn 的话把 prism.min.css
改成 prism-tomorrow.min.css
即可
行号设置#
2023-9-19 解决
引入相关文件
1 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs/plugins/line-numbers/prism-line-numbers.min.css" /> |
toolbar(未解决)#
统一引入#
2023-9-19 解决
用 cdn 要引入的文件很多,既然是公用的,那么就统一引入到每篇文章,避免大量重复工作
在 hexo 当前使用的主题包下(我现在使用的是 vivia)找到 layout/layout.ejs,把要引入的 prism 相关文件放到指定位置,实现统一引入
引入后测试发现有 bug:在最新的文章中行号和代码高度不一致,然而之前的文章有单独引入本地下载的 prism.css 的却是一致的。猜测是引入顺序不同,样式权重不同,在单独引入的 mynormalize 中重设 pre[class*=’language-‘]的 line-height 即解决
其它主题没试过,百度到的方法比如 inject 的 head/script 中填写要统一引入的文件好像也只适用于 butterfly 主题
7.4.4 Vue 插值表达式报错#
2023-9-19 解决
上传 Vue 部分的文章时发现,hexo 编辑文章中带有插值表达式 {{ }}
则报错,无法 generate
解决:使用 {
% raw %
}
和 {
% endraw %
}
包裹插值表达式双括号即可,注意花括号与百分号之间无空格,百分号和 raw/endraw 之间有空格
8 hexo 后台管理#
虽然使用久了命令行来创建文章,markdown 编辑也能习惯,但谁不想要一个带 GUI 的管理方式呢[doge],我可以不用,但不能没有!!!哈哈哈
安装及使用教程来源:https://yesifang.com/zh/others/59825/index.html
8.1 安装#
1 | npm install hexo-admin -S |
8.2 使用#
安装完成后需要重启 hexo 服务,在 /admin/
路由访问到 hexo-admin 提供的后台管理页面
8.2.1 用户认证#
在正式使用前,安全起见需要先进行用户的认证(即设置账号密码),在管理页面的 Settings
项中点击 Setup authentification here
,填写 Username
(用户名)、Passworld
(密码)、Secret
(盐)。填写好后将下方生成的配置代码复制粘贴到 hexo 项目的 _config.yml
配置文件中。然后重启 hexo 服务。
再次访问 /admin/
hexo 管理页就需要输入密码了。
8.3 元数据项#
使用 hexo-admin 添加新文章,可以点击编辑器右上角的设置图标,设置文章的元数据,默认的元数据项有:date
(默认为当前时间)、author
(默认为 config.author
)、tags
、categories
。
此外,如果你需要添加其他自定义元数据项,可以在 hexo 项目的 _config.yml
配置文件中添加 metadata
。(自定义的元数据项必须预设默认值,否则会报错)
1 | metadata: |
8.3.1 部署功能(未解决)#
部署不成功#
2023-9-12
疑似项目规模过大导致部署不成功问题
清除一下用到的音视频文件,更换为 MP4 网络文件
opposans 字体也不要了,,,
在线资源#
mp4 视频#
https://media.w3.org/2010/05/sintel/trailer.mp4
http://www.w3school.com.cn/i/movie.mp4
http://vjs.zencdn.net/v/oceans.mp4
mp3 音频#
https://www.cambridgeenglish.org/images/153149-movers-sample-listening-test-vol2.mp3
CDN#
直接去找,懒得总结