Markdown语法笔记
原文链接 https://vaniot-s.github.io/2018/01/30/Markdown%E8%AF%AD%E6%B3%95%E7%AC%94%E8%AE%B0/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
Markdown发展至今衍生出各种版本,因而并没有统一的标准,本篇博文仅用于在hexo中的配置及使用,记录了Markdown中的一些方法。
一.符号
1.符号转义
描述中需要用到 Markdown 的符号:_ # *
在这些符号前加反斜杠
2.显示<>
输入<和>
<!--more-->
二、表格
makrdown中的表格和并只能由html代码实现
三、数学
在hexo
中支持数学(latex)公式,需要依赖于hexo-math,在站点中的配置文件_config.yml
可加入如下配置:
math:
engine: 'mathjax'
mathjax:
src: "//cdn.bootcss.com/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
config:
tex2jax:
inlineMath: [ ['$','$'], ["\\(","\\)"] ]
但这个js 还是会调用cdn.mathjax.org里的一些配置js文件,最好在主题目录下\themes\主题文件夹\layout\ _partial\head.ejs
文件中<meta charset="utf-8">
后面引入:
<link rel="dns-prefetch" href="//cdn.bootcss.com" />
<link rel="dns-prefetch" href="//cdn.mathjax.org" />
Markdown 本身的特殊符号与Latex 中的符号会出现冲突的情况
_
的转义,在Markdown 中_
是斜体,但在latex 中,却有下标的意思;\\
的转义,在Markdown 中\\
会被转义为\
,这样也会影响mathjax对公式中的\\
进行渲染。
解决办法
只需要有冲突的公式放在{% math %}
和{% endmath %}
之间即可。
1.行内公式
当要在一行内书写数学公式时,使用$表达式$
来书写如:
$\sum_{i=0}^{n}i^2$
输出:$\sum_{i=0}^{n}i^2$
2.独立公式
使用独立的公式,输出的公式独占一行,使用$$$表达式$
展现内容:
$$\sum_{i=0}^{n}i^2$$
输出内容如下: $$\sum_{i=0}^{n}i^2$$
3.当标记为小数时,将小数写在{ }中,如:
$2^{1.2}+a_{5.6}$
输出为:$2^{1.2}+a_{5.6}$
关于Markdown中的更多的Math语法这里
四、画图
1.时序图
在hexo中流程图的实现,依赖于sequence,在站点中的配置文件
_config.yml
可加入如下配置:#sequence sequence: webfont: "//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.27/webfontloader.js" snap: "//cdnjs.cloudflare.com/ajax/libs/snap.svg/0.4.1/snap.svg-min.js" underscore: "//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js" sequence: "//cdnjs.cloudflare.com/ajax/libs/js-sequence-diagrams/1.0.6/sequence-diagram-min.js" style: "" options: theme: simple css_class: ""
使用如下的语法规则,`sequence`为闭合的代码块,可画出时序图:
Title: Here is a title
A->B: Normal line
B-->C: Dashed line
C->>D: Open arrow
D-->>A: Dashed open arrow
生成的时序图:
```sequence
Title: Here is a title
A->B: Normal line
B-->C: Dashed line
C->>D: Open arrow
D-->>A: Dashed open arrow
2.流程图
在hexo中流程图的实现,依赖于flowchart,在站点中的配置文件_config.yml
可加入如下配置:
#flowchart:
flowchart:
raphael: "//cdnjs.cloudflare.com/ajax/libs/raphael/2.2.7/raphael.min.js"
flowchart: "//cdnjs.cloudflare.com/ajax/libs/flowchart/1.6.5/flowchart.min.js"
options:
scale: 1,
line-width: 2
line-length: 50
text-margin: 10
font-size: 12
使用如下的语法规则,flow
为闭合的代码块,可画出流程图:
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
生成的流程图:
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op