写作格式
更新时间:
写作
- 参考 Hexo | 写作。
- 在主题仓库的 Hexo 分支有一些 示例文本可以取用
- 添加文章标签与分类,更多特性可参考 Hexo | Front-matter ,示例:
1
2
3
4
5
6---
title: 'Hello World !'
date: 2020-04-15 21:54:02
tags: code
category: Example
--- - 在
<!-- more -->
之前的内容称之为摘要,会显示在首页上,并且可以设置是否也在正文显示。 主题添加了一些 标签插件 可在写作中使用。
在导航栏中添加页面
- 例如:新建一个
about
页面
在Hexo
目录下执行然后script 1
hexo new page 'about'
Hexo/source/
目录下会多一个about
文件夹 - 编辑
Hexo/source/about/index.md
文件 - 编辑
_config.arknights.yml
,添加一个链接:1
2menu:
About: /about
禁止归档页翻页
该设置位于 Hexo 配置文件 _config.yml
约第 92 行。
1 | ## Set per_page to 0 to disable pagination |
改为 0 即可。
评论系统
Valine
本主题支持Valine 。
请参考 Valine 快速开始 修改 Hexo 目录下的 _config.arknights.yml
文件:
1 | valine: |
开启邮件提醒:zhaojun1998 / Valine-Admin
注意! 当 Valine 使用 LeanCloud 国际版 时,才需要配置
server_url:
。
该设置可在 LeanCloud 应用中的设置 -> 应用凭证 -> 域名白名单 -> Request 域名
中找到以.api.lncldglobal.com
结尾的域名,加上https://
前缀即可。
Gitalk
本主题支持 Gitalk 。
请参考 gitalk/readme-cn.md 修改 Hexo 目录下的 _config.arknights.yml
文件:
1 | gitalk: |
Waline
本主题支持 Waline 。
请参考 Waline官方文档 修改 Hexo 目录下的 _config.arknights.yml
文件:
1 | waline: |
数学公式
本主题支持两种方案显示数学公式:
方案一:静态渲染
可以使用 hexo-filter-mathjax Hexo 过滤器静态渲染,来显示数学公式:
- 在 Hexo 目录下执行以下指令:
1 | 安装 hexo-filter-mathjax 插件 |
- 把以下内容添加到
Hexo/_config.yml
文件:
1 | mathjax: |
- 在需要启用 mathjax 的文章的 Front-matter 区内添加
mathjax: true
:
1 | --- |
然后,就可以在文章中使用 LaTeX 语法。
- 需要注意,内联数学公式(……
$<数学公式>$
……)在开头$
之后和结尾$
之前不能有空格!例如:
1 | -$ \epsilon_0 $ |
- 需要注意 LaTeX 与 Markdown 语法之间的冲突。如有必要,请使用
\
进行转义:
1 | -$\epsilon_0$ |
或是更换能更好处理数学公式的渲染器 hexo-renderer-pandoc。
方案二:动态渲染
本主题也支持 MathJax ,在用户浏览时动态渲染公式:
- 首先要卸载 Hexo 默认自带的 hexo-renderer-marked 渲染器,更换成对 MathJax 支持更好的 hexo-renderer-kramed 渲染器:
1 | npm uninstall hexo-renderer-marked --save |
- 修改 Hexo 目录 下的
_config.arknights.yml
文件:
1 | # 公式支持 |
- 然后,就可以在文章中使用 LaTeX 语法:
1 | % 单行内联公式 |
- 用这种方案,不会造成 LaTeX 与 Markdown 语法之间的冲突。在文中使用 LaTeX 语法不需要转义。
以下公式可以直接使用,不会造成任何问题:
1 | \epsilon_0 |
hexo-renderer-kramed 插件还有其他可配置项,请参考插件文档: https://github.com/sun11/hexo-renderer-kramed
几种公式显示方案各有优缺点:
- 动态渲染方案 LaTeX 语法不需要转义,能更好的支持从其他地方导出的 Markdown 文件。但因为需要在浏览器渲染,页面显示会略有延迟。
- 静态渲染方案将公式直接编译在静态文件里,显示性能更优,但语法需要转义。
图表支持
修改 Hexo 目录 下的 _config.arknights.yml
文件:
1 | # 图表支持 |
主题通过 mermaid-js 绘制各种图表。**查看示例**
支持:
流程图
| 序列图
| 类图
| 状态图
| 实体关系图
| 用户旅程图
| 甘特图
| 指令图
| 饼图
语法:
1 | <div class="mermaid"> |
如果习惯使用
代码块
也完全支持。
字数/阅读时长统计
依赖 hexo-wordcount
:
npm 用户:
1 | cnpm install hexo-wordcount --save |
yarn 用户:
1 | yarn add hexo-wordcount |
之后修改 Hexo 目录 下的 _config.arknights.yml
文件:
1 | post: |
文档加密
注意: 前端加密并不可靠!
注意! 此加密插件会加密摘要内容,所以使用此插件时不能在正文中隐藏摘要。在 _config.arknights.yaml
文件中:
1 | post: |
可尝试使用 hexo-blog-encrypt 插件进行文档加密。
1 | cnpm install hexo-blog-encrypt --save |
在 Hexo/_config.yml
文件中添加以下内容:
1 | # Security |
或 在文章的 Front-matter 区内设置:
1 | --- |
搜索
默认开启,若要关闭,在 Hexo/_config.arknights.yml
文件中:
1 | search: |
Front-matter
除了 Hexo 支持的 Front-matter 还支持:
1 | # 文章页右上角发布/更新日期 |
引入自定义 CSS/JS 文件
可以在 Hexo/source/css/
目录下放入自己的 CSS 文件;
在 Hexo/source/js/
目录下放入自己的 JavaScript 脚本文件;
然后修改 Hexo/_config.arknights.yml
文件:
1 | # 在 `<head>` 标签内引入 CSS 样式表 |
资源文件夹是存放用户资源的地方。
除_posts
文件夹之外,开头命名为_
(下划线)的文件 / 文件夹和隐藏的文件将会被忽略。
Markdown 和 HTML 文件会被解析并放到public
文件夹,而其他文件会被拷贝过去。——来自 Hexo 官方文档
贡献
分支说明
分支 | 说明 |
---|---|
main | 相对稳定的版本 |
dev | 开发中的版本 |
gh-pages | gh-page 托管 |
hexo | Hexo 目录,这里有可以用于测试主题的 .md 文件 |
开发中可能遇见的问题及解决方法
修改 TS 文件不生效
TypeScript 需要手动编译,请全局安装 typescript
后在 arknights\source\js\_src
目录下执行 tsc
以编译。
运行 hexo serve --debug
时,长文章渲染不全
这是由热重载插件 hexo-browsersync
导致的,不会影响发布。
解决方法:禁用该插件。(反正不影响发布,不管也行)
参与开发可能需要的文档
另外引用几个大佬的blog