death note

1.9k 词

1 评论数据管理#

LeanCloud


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-portshexo-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
2
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs/plugins/line-numbers/prism-line-numbers.min.css" />
<script src="https://cdn.jsdelivr.net/npm/prismjs/plugins/line-numbers/prism-line-numbers.min.js"></script>
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 管理页就需要输入密码了。

http://localhost:4000/admin

8.3 元数据项#

使用 hexo-admin 添加新文章,可以点击编辑器右上角的设置图标,设置文章的元数据,默认的元数据项有:date(默认为当前时间)、author(默认为 config.author)、tagscategories

此外,如果你需要添加其他自定义元数据项,可以在 hexo 项目的 _config.yml配置文件中添加 metadata。(自定义的元数据项必须预设默认值,否则会报错)

1
2
3
4
metadata:
title: 标题
subtitle: 子标题
cover: 封面

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#

直接去找,懒得总结

https://cdnjs.com/

https://www.jsdelivr.com/

https://unpkg.com/