Github Page 部署

简介

本文介绍 github page 部署步骤及一些额外的模块配置

创建 github 仓库

直接参考官方网站的创建要求

注意

  1. 如果创建的是用户或组织站点, 仓库名称必须为 <user>.github.io<organization>.github.io

    这样的话能直接访问: http(s)://<username>.github.iohttp(s):<organization>.github.io

    如果是 <other>.github.io, 则只能访问: http(s)://<username>.github.io/<other>http(s)://<organization>.github.io/<other>

  2. 仓库需要是 public 的, private 目前还只有付费才能使用, 原文章可以存在另一个私有的仓库里, 这个只用来部署生成的页面

安装 hexo

安装 node.js

nodejs 官网下载对应的 lts 版本

注意

hexo 版本需要用对应的 nodejs 版本

安装 git

git 官网下载最新版本安装即可

安装 hexo

  1. 全局安装 hexo-cli

    1
    npm install -g hexo-cli
  2. 创建一个文件夹

    1
    2
    // folder是博客文件夹名
    hexo init <folder>
  3. 进入文件夹

    1
    cd <folder>
  4. 局部安装 hexo 包

    1
    npm install hexo
  5. 新建完成后,指定文件夹的目录如下:

    1
    2
    3
    4
    5
    6
    7
    8
    .
    ├── _config.yml
    ├── package.json
    ├── scaffolds
    ├── source
    | ├── _drafts
    | └── _posts
    └── themes

_config.yml 文件是网站的配置信息, 可以在此配置大部分的参数

更新 hexo

  1. 更新 node.js

  2. 全局更新 hexo-cli

    1
    npm update -g hexo-cli
  3. 新建一个测试文件夹安装 hexo,对比版本,对比 package.json, _config.yml 等文件的更新与不同

  4. 把新版本变更内容更新到对应的位置

  5. 项目根目录下执行 npm update ,更新包版本的变更

或者

  1. 执行以下命令
1
2
3
4
5
npm-check
npm-upgrade
# 如果命令不能识别,先执行以下命令安装
npm install -g npm-check
npm install -g npm-upgrade

安装 NexT 主题

安装 & 更新

1
2
3
4
// 进入博客文件夹
cd <folder>
// 安装最新 next 主题
npm install hexo-theme-next@latest

node_modules/hexo-theme-next 中的 _config.yml 复制并命名为 _config.next.yml ,然后放到博客根目录

注意

更新要慎重, 主题对 nodejs 和 hexo 的版本都有要求, 另外不同版本的主题配置可能有所不同, 建议不能用或功能相差比较大的时候更新版本

配置

必看的注意事项!!!

说多都是泪, 都是比较容易忽视并且很难查出来的坑

  1. 一定要把 localhost 和自己的博客网站域名加入到浏览器的广告屏蔽白名单中, 万万没想到这两年广告屏蔽把统计都屏蔽了~~~

  2. 博客 _config.yml 中的 url 域名一定要与自己绑定的域名一致

  3. 所以配置好的插件, 如果有 enable 的, 记得改成 true, 其他地方默认配置好 enable 就一定是 true

博客 _config.yml 详解

url

博客页面根目录网址

博客页面 CONFIG 中的 hostname 字段值会用到配置的域名, 如:

https://apomelo.cc/posts/, hostname 值为 apomelo.cc

https://www.apomelo.cc/posts/, hostname 值为 www.apomelo.cc

注意

配置的域名一定要与 source 目录下增加 CNAME 文件中配置的一致, 如果文件中配置的是 apomelo.cc, 则 url 一定不能配置成 www.apomelo.cc

原因: 很多地方会有 CONFIG.hostname 和 location.hostname 的对比, 根据是否相等执行一些语句

文章的目录结构, 个人比较推荐: posts/:year/:month/:day/:urlname/

推荐用 urlname,不直接用 title

注意

需要在文章头加上 urlname 字段,如:

1
2
3
4
---

title: Github Page 部署
urlname: Github Page 部署

theme

配置主题

NexT 主题 _config.yml 详解

favicon

可以使用自定义页面标签图标

可以开启相关页面

social

联系方式相关

toc

开启文章目录

baidu_push

自动向百度推送, 让百度收录自己的域名

github 屏蔽了百度爬虫, 所以用这种方式推送不过去

google_analytics

谷歌分析

baidu_analytics

百度分析

cnzz_siteid

cnzz 友盟统计

申请好 id 之后, 注意一下统计代码的网址是什么, 有些是 s4, 有些是 s5, 还有很多其他的网址

next 主题中相关文件是 themes\next\layout_third-party\statistics\cnzz-analytics.swig

对比该文件中的网址是否和统计代码的网址一致, 如果不一致, 则修改为统计代码中的网址

leancloud_visitors

leancloud 统计每个文章的阅读量

这个略麻烦, 所以步骤如下:

  1. 申请账户, 不想实名认证的可以用国际版, 目前使用下来没有区别

  2. 点击创建应用, 输入应用的名称(随便起都行), 选择开发版, 点击创建

  3. 选中该应用, 点击左边菜单里的 数据存储 —> 结构化数据

  4. 点创建 class, class 名称一定要是 Counter, class 访问权限选择add_fields, 用户选择所有用户, acl 权限选择无限制, 用户选择所有用户

  5. 点击左边菜单里的 设置 —> 应用凭证 可以看到 app_id 和 app_key

  6. 点击左边菜单里的 设置 —> 安全中心 设置安全域名, 安全域名的协议、域名和端口号都需严格一致

  7. 博客配置中的 security 配置为 false, 如果配置为 true, 需要进阶的安全配置, 这里不做讲解, 可以参考该文档

  8. 文件 themes\next\layout_third-party\statistics\lean-analytics.swig 中有一句 if (CONFIG.hostname !== location.hostname) return;, 用双斜杠注释掉, 注释掉即可本地调试自己 leancloud 是否注释成功

busuanzi_count

卜算子统计, 最喜欢的统计, 因为最方便快捷, 直接打开开关就能用

有了 leancloud 可以只开启卜算子总的统计功能

站内搜索功能, 挺好用的

  1. 首先注册 Algolia 账户

  2. 创建一个 Application

  3. 创建一个新的 Index,这个 index name 之后会用到

  4. 博客_config.yml 末尾添加以下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # Algolia Search

    ## Docs: https://theme-next.org/docs/third-party-services/search-services

    algolia:
    applicationID: '你的 Application ID'
    apiKey: '你的 Search-Only API Key'
    indexName: '输入刚才创建 index name'
    chunkSize: 5000
  5. 新建一个有更新权限的 api key

    • indices 选择上面的 index name (不选择表示对所有 index 生效)
    • ACL 选择 search addObject deleteObject deleteIndex listIndexes
  6. 添加环境变量 HEXO_ALGOLIA_INDEXING_KEY=’有更新权限的 api key’

    注意: 环境变量添加后 git bash 窗口和 PowerShell 窗口已经生效,但是 vscode 里面的终端窗口可能还未生效

  7. 测试 algolia, 如果不生效, 安装 Hexo Algoliasearch 扩展 (我最新版本没有安装该插件, 功能可以正常使用)

    1
    npm install hexo-algoliasearch --save
  8. 更新 algolia 索引

    1
    2
    3
    4
    # export ALGOLIA_ADMIN_API_KEY=High-privilege API key # Use Git Bash
    # set ALGOLIA_ADMIN_API_KEY=High-privilege API key # Use Windows command line
    hexo clean
    hexo algolia

配置博客域名

在 source 目录下增加 CNAME 文件, 该文件中填写要配置的域名, 如: apomelo.cc

并在域名购买网站或相关网站把域名解析解析到博客地址, 如: apomelo.github.io

tags 启用

  1. source 文件夹下新建 tags 文件夹

  2. tags 文件夹下新建 index.md 文件

    快捷命令:

    1
    hexo new page "tags"
  3. index.md 文件中输入:

    1
    2
    3
    4
    5
    ---
    title: 标签
    date: 2017-06-01 00:00:00
    type: tags
    ---
  4. 修改主题目录下 _config.yml 文件配置, 如下:

    1
    2
    menu:
    tags: /tags/

注意

如果有启用评论, 默认页面也会带有评论, 需要关闭的话, 添加字段 comments 并将值设置为 false, 如:

1
2
3
4
5
6
---
title: 标签
date: 2017-06-01 00:00:00
type: tags
comments: false
---

categories 启用

  1. source 文件夹下新建 categories 文件夹

  2. categories 文件夹下新建 index.md 文件

    快捷命令:

    1
    hexo new page "categories"
  3. index.md 文件中输入:

    1
    2
    3
    4
    5
    ---
    title: 分类
    date: 2017-06-01 00:00:00
    type: categories
    ---
  4. 修改主题目录下 _config.yml 文件配置, 如下:

    1
    2
    menu:
    categories: /categories/

禁用评论同上

图片

建议在 source 目录下新建一个文件夹用来放置图片

隐藏文章

安装 hexo-hide-posts 插件

在博客根目录下安装

1
npm install hexo-hide-posts --save

配置

  1. 在博客根目录下 _config.yml 文件末尾加上以下内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # hexo-hide-posts
    hide_posts:
    enable: true
    # 可以改成其他你喜欢的名字
    filter: hidden
    # 指定你想要传递隐藏文章的 generator,比如让所有隐藏文章在存档页面可见
    # 常见的 generators 有:index, tag, category, archive, sitemap, feed, etc.
    public_generators: []
    # 为隐藏的文章添加 noindex meta 标签,阻止搜索引擎收录
    noindex: true
  2. 在文章头加上 hidden 字段

    1
    2
    3
    4
    ---
    title: Github Page 部署
    hidden: true
    ---

添加 mermaid 画图模块

安装 hexo-filter-mermaid-diagrams 插件

在博客根目录下安装

1
npm install hexo-filter-mermaid-diagrams --save

配置

  1. 在博客根目录下 _config.yml 中 “highlight” 下面排除掉 mermaid:

    1
    2
    3
    highlight:
    exclude_languages:
    - mermaid
  2. 在 next 主题下面 _config.yml 文件配置,开启 mermaid:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Mermaid tag

    mermaid:
    enable: true

    # Available themes: default | dark | forest | neutral

    theme:
    light: default
    dark: dark

流程图

语法

方向

方向 含义
TB 从上到下
BT 从下到上
RL 从右到左
LR 从左到右
TD 与 TB 相同

节点

语法结构如下:A[名称] --> B(名称) 其中,A、B 均代表形状名称, -->表示箭头指向,形状样式用后面的括号来表示,括号里面的内容是形状中要显示的文本内容。其中有以下几种形状:

括号形式 形状样式
[ ] 矩形框
( ) 圆角矩形框
{ } 菱形
(( )) 圆形

连接线

| 符号 | 箭头 |
| —————— | —————- | ————– | —————— |
| --> | 箭头 |
| --- | 没有箭头 |
| -- 文字 --- / --- | 文字 | | 带文字的连接线 |
| --> | 文字 | / -- 文字 --> | 带箭头和文字的连接 |
| -.-> | 虚线 |
| -. 文字 .-> | 带文字的虚线连接 |
| ==> | 粗连接线 |
| == 文本 ==> | 带文本的粗连接 |

子图

语法:

1
2
3
subgraph title
graph definition
end

示例

graph TB
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end
    c1-->a2

样式链接

示例

1
2
3
4
graph LR
id1(Start)-->id2(Stop)
style id1 fill:#f9f,stroke:#333,stroke-width:4px
style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5
graph LR
    id1(Start)-->id2(Stop)
    style id1 fill:#f9f,stroke:#333,stroke-width:4px
    style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5

注释

mermaid 注释为 %%

示例

示例 1

1
2
graph LR
A(1) --> B(2) --> C(3) --> D(4)
graph LR
    A(1) --> B(2) --> C(3) --> D(4)

示例 2

1
2
3
4
5
6
7
8
9
10
graph TD
A((开始)) -- 语句 --> B(预处理)
B --> C{判断}
C -- a=1 --> D[执行语句 1]
C -- a=2 --> E[执行语句 2]
C -- a=3 --> F[执行语句 3]
C -- a=4 --> F[执行语句 3]
D --> AA((结束))
E --> AA
F --> AA
graph TD
    A((开始)) -- 语句 --> B(预处理)
    B --> C{判断}
    C -- a=1 --> D[执行语句 1]
    C -- a=2 --> E[执行语句 2]
    C -- a=3 --> F[执行语句 3]
    C -- a=4 --> F[执行语句 3]
    D --> AA((结束))
    E --> AA
    F --> AA

示例 3

1
2
3
4
5
6
7
8
9
10
graph TD
A((开始)) --> |语句| B(预处理)
B --> C{判断}
C --> |a=1| D[执行语句 1]
C --> |a=2| E[执行语句 2]
C --> |a=3| F[执行语句 3]
C --> |a=4| F[执行语句 3]
D --> AA((结束))
E --> AA
F --> AA
graph TD
    A((开始)) --> |语句| B(预处理)
    B --> C{判断}
    C --> |a=1| D[执行语句 1]
    C --> |a=2| E[执行语句 2]
    C --> |a=3| F[执行语句 3]
    C --> |a=4| F[执行语句 3]
    D --> AA((结束))
    E --> AA
    F --> AA

综合应用

1
2
3
4
5
6
7
8
graph TB
id1(圆角矩形)--普通线-->id2[矩形]
subgraph 子图表
id2==粗线==>id3{菱形}
id3-.虚线.->id4>[右向旗帜]
id3--无箭头---id5((圆形))
end
style id1 fill:#f9f,stroke:#333,stroke-width:4px
graph TB
    id1(圆角矩形)--普通线-->id2[矩形]
    subgraph 子图表
        id2==粗线==>id3{菱形}
        id3-.虚线.->id4>[右向旗帜]
        id3--无箭头---id5((圆形))
    end
    style id1 fill:#f9f,stroke:#333,stroke-width:4px

甘特图

1
2
3
4
5
6
7
8
gantt
section Section
Completed :done, des1, 2014-01-06,2014-01-08
Active :active, des2, 2014-01-07, 3d
Parallel 1 : des3, after des1, 1d
Parallel 2 : des4, after des1, 1d
Parallel 3 : des5, after des3, 1d
Parallel 4 : des6, after des4, 1d
gantt
section Section
Completed :done,    des1, 2014-01-06,2014-01-08
Active        :active,  des2, 2014-01-07, 3d
Parallel 1   :         des3, after des1, 1d
Parallel 2   :         des4, after des1, 1d
Parallel 3   :         des5, after des3, 1d
Parallel 4   :         des6, after des4, 1d

类图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
classDiagram
Class01 <|-- AveryLongClass : Cool
<<interface>> Class01
Class09 --> C2 : Where am i?
Class09 --\* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
<<service>>
int id
size()
}
classDiagram
Class01 <|-- AveryLongClass : Cool
<> Class01
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
  <>
  int id
  size()
}

状态图

1
2
3
4
5
6
7
stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]

饼图

1
2
3
4
pie
"Dogs" : 386
"Cats" : 85
"Rats" : 15
pie
"Dogs" : 386
"Cats" : 85
"Rats" : 15

旅程图

1
2
3
4
5
6
7
8
9
journey
title My working day
section Go to work
Make tea: 5: Me
Go upstairs: 3: Me
Do work: 1: Me, Cat
section Go home
Go downstairs: 5: Me
Sit down: 3: Me
journey
  title My working day
  section Go to work
    Make tea: 5: Me
    Go upstairs: 3: Me
    Do work: 1: Me, Cat
  section Go home
    Go downstairs: 5: Me
    Sit down: 3: Me

序列图

语法

1
2
3
sequenceDiagram
[参与者 1][消息线][参与者 2]:消息体
...

参与者

1
2
3
4
5
sequenceDiagram
participant 参与者 1
participant 参与者 2
...
participant 简称 as 参与者 3 #该语法可以在接下来的描述中使用简称来代替参与者 312345

消息线

类型 描述
-> 无箭头的实线
--> 无箭头的虚线
->> 有箭头的实线
-->> 有箭头的虚线
-x 末端为叉的实线(表示异步)
--x 末端为叉的虚线(表示异步)

处理中

在消息线末尾增加 + ,则消息接收者进入当前消息的“处理中”状态; 在消息线末尾增加 - ,则消息接收者离开当前消息的“处理中”状态。

或者使用以下语法直接说明某个参与者进入“处理中”状态:

1
activate 参与者 1

标注

1
Note 位置表述 参与者: 标注文字 1

其中位置表述可以为:

表述 含义
right of 右侧
left of 左侧
over 在当中,可以横跨多个参与者

循环

1
2
3
loop 循环的条件
循环体描述语句
end123

判断

1
2
3
4
5
6
7
8
9
10
11
12
alt 条件 1 描述
分支 1 描述语句
else 条件 2 描述 # else 分支可选
分支 2 描述语句
else ...
...
end1234567

// 如果遇到可选的情况,即没有 else 分支的情况,使用如下语法:
opt 条件描述
分支描述语句
end

综合应用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sequenceDiagram
participant z as 张三
participant l as 李四
loop 日复一日
z->>l: 吃了吗您呐?
l-->>z: 吃了,您呢?
activate z
Note left of z: 想了一下
alt 还没吃
z-xl: 还没呢,正准备回去吃
else 已经吃了
z-xl: 我也吃过了,哈哈
end
opt 大过年的
l-->z: 祝您新年好啊
end
end
sequenceDiagram
    participant z as 张三
    participant l as 李四
    loop 日复一日
        z->>l: 吃了吗您呐?
        l-->>z: 吃了,您呢?
        activate z
        Note left of z: 想了一下
        alt 还没吃
            z-xl: 还没呢,正准备回去吃
        else 已经吃了
            z-xl: 我也吃过了,哈哈
        end
        opt 大过年的
            l-->z: 祝您新年好啊
        end
    end

Hexo 引用站内文章

官方文档

post_path 和 post_link 两个属性方法的区别是:

  1. post_link 返回的是超链接;
  2. post_path 返回的是字符串;

post_link

写文章的时候,经常需要引用站内的其他文章,此时可以使用 Hexo 内置的标签插件(Tag Plugins)中的 post_link 来实现。

用法:

1
{% post_link filename [title] [escape] %}
  • filename: _posts 文件夹下需要引用的文章的 markdown 文件的名字(不带文件扩展名)
  • title: 指定引用的文章需要显示的名字
  • escape: 禁止对特殊字符进行转义

示例:

  1. 对标题的特殊字符进行转义:
    1
    {% post_link githubpage-deploy 'How to use <b> tag in title' %}
    效果: How to use <b> tag in title
  2. 禁止对标题的特殊字符进行转义:
    1
    {% post_link githubpage-deploy '<b>bold</b> custom title' false %}
    效果: bold custom title

post_path

上面的 post_link 方式链接站内文章好用,但是不支持文章的锚点链接

官方文档还有一个 post_path ,用于获取文章路径,结合 http 的 <a href=""></a> 链接方式,即可实现锚点超链接

用法:

1
{% post_path filename %}
  • filename: _posts 文件夹下需要引用的文章的 markdown 文件的名字(不带文件扩展名)
  1. 使用 <a href=""></a> 链接方式:
    1
    <a href="{% post_path 'githubpage-deploy' %}#参考资料">跳转到参考资料</a>
    效果: 跳转到参考资料

Markdown 数学公式语法

行内与独行

  1. 行内公式:将公式插入到本行内,符号:$公式内容$,如:$xyz$ : $xyz$
  2. 独行公式:将公式插入到新的一行内,并且居中,符号:$$公式内容$$,如:$$xyz$$ : $$xyz$$

上标、下标与组合

  1. 上标符号,符号:^,如:$x^4$ : $x^4$
  2. 下标符号,符号:_,如:$x_1$ : $x_1$
  3. 组合符号,符号:{},如:${H}_{2}O_{1}^{2}$ : ${H}{2}O{1}^{2}$

汉字、字体与格式

  1. 字体控制,符号:\displaystyle,如:$\displaystyle \frac{x+y}{y+z}$ : $\displaystyle \frac{x+y}{y+z}$
  2. 下划线符号,符号:\underline,如:$\underline{x+y}$ : $\underline{x+y}$
  3. 标签,符号\tag{数字} (只能用在 $$ 中, 不能用在 $ 中),如:$$\tag{1} x+y$$ : $$\tag{1} x+y$$
  4. 上大括号,符号:\overbrace{算式},如:$\overbrace{a+b+c+d}^{2.0}$ : $\overbrace{a+b+c+d}^{2.0}$
  5. 下大括号,符号:\underbrace{算式},如:$a+\underbrace{b+c}\_{1.0}+d$ : $a+\underbrace{b+c}_{1.0}+d$
  6. 上位符号,符号:\stacrel{上位符号}{基位符号},如:$\vec{x}\stackrel{\mathrm{def}}{=}{x\_1,\dots,x\_n}$ : $\vec{x}\stackrel{\mathrm{def}}{=}{x_1,\dots,x_n}$

占位符

  1. 两个 quad 空格,符号:\qquad,如:$x \qquad y$ : $x \qquad y$
  2. quad 空格,符号:\quad,如:$x \quad y$ : $x \quad y$
  3. 大空格,符号\,如:$x \ y$ : $x \ y$
  4. 中空格,符号\:,如:$x \: y$ : $x : y$
  5. 小空格,符号\,,如:$x \, y$ : $x , y$
  6. 没有空格,符号``,如:$xy$ : $xy$
  7. 紧贴,符号\!,如:$x \! y$ : $x ! y$

定界符与组合

  1. 括号,符号:() \big(\big) \Big(\Big) \bigg(\bigg) \Bigg(\Bigg),如:$() \big(\big) \Big(\Big) \bigg(\bigg) \Bigg(\Bigg)$ : $() \big(\big) \Big(\Big) \bigg(\bigg) \Bigg(\Bigg)$
  2. 中括号,符号:[],如:$[x+y]$ : $[x+y]$
  3. 大括号,符号:\{ \},如:$\{x+y\}$ : ${x+y}$
  4. 自适应括号,符号:\left \right,如:$\left(x\right)$ : $\left(x\right)$ , $\left(x<sup>{y</sup>z}\right)$ : $\left(x{yz}\right)$
  5. 组合公式,符号:{上位公式 \choose 下位公式},如:${n+1 \choose k}={n \choose k}+{n \choose k-1}$ : ${n+1 \choose k}={n \choose k}+{n \choose k-1}$
  6. 组合公式,符号:{上位公式 \atop 下位公式},如:$\sum_{k_0,k_1,\ldots>0 \atop k_0+k_1+\cdots=n}A_{k_0}A_{k_1}\cdots$ : $\sum_{k_0,k_1,\ldots>0 \atop k_0+k_1+\cdots=n}A_{k_0}A_{k_1}\cdots$

四则运算

  1. 加法运算,符号:+,如:$x+y=z$ : $x+y=z$
  2. 减法运算,符号:-,如:$x-y=z$ : $x-y=z$
  3. 加减运算,符号:\pm,如:$x \pm y=z$ : $x \pm y=z$
  4. 减加运算,符号:\mp,如:$x \mp y=z$ : $x \mp y=z$
  5. 乘法运算,符号:\times,如:$x \times y=z$ : $x \times y=z$
  6. 点乘运算,符号:\cdot,如:$x \cdot y=z$ : $x \cdot y=z$
  7. 星乘运算,符号:\ast,如:$x \ast y=z$ : $x \ast y=z$
  8. 除法运算,符号:\div,如:$x \div y=z$ : $x \div y=z$
  9. 斜法运算,符号:/,如:$x/y=z$ : $x/y=z$
  10. 分式表示,符号:\frac{分子}{分母},如:$\frac{x+y}{y+z}$ : $\frac{x+y}{y+z}$
  11. 分式表示,符号:{分子} \voer {分母},如:${x+y} \over {y+z}$ : ${x+y} \over {y+z}$
  12. 绝对值表示,符号:||,如:$|x+y|$ : $|x+y|$

高级运算

  1. 平均数运算,符号:\overline{算式},如:$\overline{xyz}$ : $\overline{xyz}$
  2. 开二次方运算,符号:\sqrt,如:$\sqrt x$ : $\sqrt x$
  3. 开方运算,符号:\sqrt[开方数]{被开方数},如:$\sqrt[3]{x+y}$ : $\sqrt[3]{x+y}$
  4. 对数运算,符号:\log,如:$\log(x)$ : $\log(x)$
  5. 极限运算,符号:\lim,如:$\lim^{x \to \infty}_{y \to 0}{\frac{x}{y}}$ : $\lim^{x \to \infty}_{y \to 0}{\frac{x}{y}}$
  6. 极限运算,符号:\displaystyle \lim,如:$\displaystyle \lim^{x \to \infty}_{y \to 0}{\frac{x}{y}}$ : $\displaystyle \lim^{x \to \infty}_{y \to 0}{\frac{x}{y}}$
  7. 求和运算,符号:\sum,如:$\sum^{x \to \infty}_{y \to 0}{\frac{x}{y}}$ : $\sum^{x \to \infty}_{y \to 0}{\frac{x}{y}}$
  8. 求和运算,符号:\displaystyle \sum,如:$\displaystyle \sum^{x \to \infty}_{y \to 0}{\frac{x}{y}}$ : $\displaystyle \sum^{x \to \infty}_{y \to 0}{\frac{x}{y}}$
  9. 积分运算,符号:\int,如:$\int^{\infty}_{0}{xdx}$ : $\int^{\infty}_{0}{xdx}$
  10. 积分运算,符号:\displaystyle \int,如:$\displaystyle \int^{\infty}_{0}{xdx}$ : $\displaystyle \int^{\infty}_{0}{xdx}$
  11. 微分运算,符号:\partial,如:$\frac{\partial x}{\partial y}$ : $\frac{\partial x}{\partial y}$
  12. 矩阵表示,符号:\begin{matrix} \end{matrix},如:$\left[ \begin{matrix} 1 & 2 & \cdots & 4 \\ 5 & 6 & \cdots & 8 \\ \vdots & \vdots & \ddots & \vdots \\ 13 & 14 & \cdots & 16 \end{matrix} \right]$ : $\left[ \begin{matrix} 1 & 2 & \cdots & 4 \ 5 & 6 & \cdots & 8 \ \vdots & \vdots & \ddots & \vdots \ 13 & 14 & \cdots & 16 \end{matrix} \right]$

逻辑运算

  1. 等于运算,符号:=,如:$x+y=z$ : $x+y=z$
  2. 大于运算,符号:>,如:$x+y>z$ : $x+y>z$
  3. 小于运算,符号:<,如:$x+y<z$ : $x+y<z$
  4. 大于等于运算,符号:\geq,如:$x+y \geq z$ : $x+y \geq z$
  5. 小于等于运算,符号:\leq,如:$x+y \leq z$ : $x+y \leq z$
  6. 不等于运算,符号:\neq,如:$x+y \neq z$ : $x+y \neq z$
  7. 不大于等于运算,符号:\ngeq,如:$x+y \ngeq z$ : $x+y \ngeq z$
  8. 不大于等于运算,符号:\not\geq,如:$x+y \not\geq z$ : $x+y \not\geq z$
  9. 不小于等于运算,符号:\nleq,如:$x+y \nleq z$ : $x+y \nleq z$
  10. 不小于等于运算,符号:\not\leq,如:$x+y \not\leq z$ : $x+y \not\leq z$
  11. 约等于运算,符号:\approx,如:$x+y \approx z$ : $x+y \approx z$
  12. 恒定等于运算,符号:\equiv,如:$x+y \equiv z$ : $x+y \equiv z$

集合运算

  1. 属于运算,符号:\in,如:$x \in y$ : $x \in y$
  2. 不属于运算,符号:\notin,如:$x \notin y$ : $x \notin y$
  3. 不属于运算,符号:\not\in,如:$x \not\in y$ : $x \not\in y$
  4. 子集运算,符号:\subset,如:$x \subset y$ : $x \subset y$
  5. 子集运算,符号:\supset,如:$x \supset y$ : $x \supset y$
  6. 真子集运算,符号:\subseteq,如:$x \subseteq y$ : $x \subseteq y$
  7. 非真子集运算,符号:\subsetneq,如:$x \subsetneq y$ : $x \subsetneq y$
  8. 真子集运算,符号:\supseteq,如:$x \supseteq y$ : $x \supseteq y$
  9. 非真子集运算,符号:\supsetneq,如:$x \supsetneq y$ : $x \supsetneq y$
  10. 非子集运算,符号:\not\subset,如:$x \not\subset y$ : $x \not\subset y$
  11. 非子集运算,符号:\not\supset,如:$x \not\supset y$ : $x \not\supset y$
  12. 并集运算,符号:\cup,如:$x \cup y$ : $x \cup y$
  13. 交集运算,符号:\cap,如:$x \cap y$ : $x \cap y$
  14. 差集运算,符号:\setminus,如:$x \setminus y$ : $x \setminus y$
  15. 同或运算,符号:\bigodot,如:$x \bigodot y$ : $x \bigodot y$
  16. 同与运算,符号:\bigotimes,如:$x \bigotimes y$ : $x \bigotimes y$
  17. 实数集合,符号:\mathbb{R},如:$\mathbb{R}$ : $\mathbb{R}$
  18. 自然数集合,符号:\mathbb{Z},如:$\mathbb{Z}$ : $\mathbb{Z}$
  19. 空集,符号:\emptyset,如:$\emptyset$ : $\emptyset$

数学符号

  1. 无穷,符号:\infty,如:$\infty$ : $\infty$
  2. 虚数,符号:\imath,如:$\imath$ : $\imath$
  3. 虚数,符号:\jmath,如:$\jmath$ : $\jmath$
  4. 数学符号,符号\hat{a},如:$\hat{a}$ : $\hat{a}$
  5. 数学符号,符号\check{a},如:$\check{a}$ : $\check{a}$
  6. 数学符号,符号\breve{a},如:$\breve{a}$ : $\breve{a}$
  7. 数学符号,符号\tilde{a},如:$\tilde{a}$ : $\tilde{a}$
  8. 数学符号,符号\bar{a},如:$\bar{a}$ : $\bar{a}$
  9. 矢量符号,符号\vec{a},如:$\vec{a}$ : $\vec{a}$
  10. 数学符号,符号\acute{a},如:$\acute{a}$ : $\acute{a}$
  11. 数学符号,符号\grave{a},如:$\grave{a}$ : $\grave{a}$
  12. 数学符号,符号\mathring{a},如:$\mathring{a}$ : $\mathring{a}$
  13. 一阶导数符号,符号\dot{a},如:$\dot{a}$ : $\dot{a}$
  14. 二阶导数符号,符号\ddot{a},如:$\ddot{a}$ : $\ddot{a}$
  15. 上箭头,符号:\uparrow,如:$\uparrow$ : $\uparrow$
  16. 上箭头,符号:\Uparrow,如:$\Uparrow$ : $\Uparrow$
  17. 下箭头,符号:\downarrow,如:$\downarrow$ : $\downarrow$
  18. 下箭头,符号:\Downarrow,如:$\Downarrow$ : $\Downarrow$
  19. 左箭头,符号:\leftarrow,如:$\leftarrow$ : $\leftarrow$
  20. 左箭头,符号:\Leftarrow,如:$\Leftarrow$ : $\Leftarrow$
  21. 右箭头,符号:\rightarrow,如:$\rightarrow$ : $\rightarrow$
  22. 右箭头,符号:\Rightarrow,如:$\Rightarrow$ : $\Rightarrow$
  23. 底端对齐的省略号,符号:\ldots,如:$1,2,\ldots,n$ : $1,2,\ldots,n$
  24. 中线对齐的省略号,符号:\cdots,如:$x\_1^2 + x\_2^2 + \cdots + x\_n^2$ : $x_1^2 + x_2^2 + \cdots + x_n^2$
  25. 竖直对齐的省略号,符号:\vdots,如:$\vdots$ : $\vdots$
  26. 斜对齐的省略号,符号:\ddots,如:$\ddots$ : $\ddots$

希腊字母

字母 实现 字母 实现
A A α \alhpa
B B β \beta
Γ \Gamma γ \gamma
Δ \Delta δ \delta
E E ϵ \epsilon
Z Z ζ \zeta
H H η \eta
Θ \Theta θ \theta
I I ι \iota
K K κ \kappa
Λ \Lambda λ \lambda
M M μ \mu
N N ν \nu
Ξ \Xi ξ \xi
O O ο \omicron
Π \Pi π \pi
P P ρ \rho
Σ \Sigma σ \sigma
T T τ \tau
Υ \Upsilon υ \upsilon
Φ \Phi ϕ \phi
X X χ \chi
Ψ \Psi ψ \psi
Ω \v ω \omega

参考资料

  1. Hexo -14- 利用 Markdown 语法画 mermaid 流程图
  2. Katex Supported Functions