基本技巧
代码
如果你只想高亮语句中的某个函数名或关键字,可以使用 `function_name()`
实现
通常编辑器根据代码片段适配合适的高亮方法,但你也可以用 ```(tab键上的符号,要从每行第一个列开始,```后要紧跟着语言)
包裹一段代码,并指定一种语言
```javascript
$(document).ready(function () {
alert('hello world');
});
```
支持的语言:actionscript, apache, bash, clojure, cmake, coffeescript, cpp, cs, css, d, delphi, django, erlang, go, haskell, html, http, ini, java, javascript, json, lisp, lua, markdown, matlab, nginx, objectivec, perl, php, python, r, ruby, scala, smalltalk, sql, tex, vbscript, xml
也可以使用 4 空格缩进,再贴上代码,实现相同的的效果
def g(x): yield from range(x, 0, -1) yield from range(x)
```properties org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc=\ org.s.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration,\ org.s.boot.test.autoconfigure.web.servlet.MockMvcSecurityAutoConfiguration,\ org.s.boot.test.autoconfigure.web.servlet.MockMvcWebClientAutoConfiguration,\ org.s.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConfiguration ```
标题
Markdown中标题如果想定义一个标题,可以在前面加上#(或者用#将标题括起来)。1-6个#分别表示1-6级标题。有的编辑器需要在#和正文之间加一个空格(Atom),有的编译器不用(MarkdownPad),为了保持同一建议都加上空格。
# 标题一
#标题一#
## 标题二
显示结果:
标题一
标题一
标题二
文本样式
Markdown支持4中文本样式,分别是:加粗、斜体、删除线和加粗且斜体。
样式 | 关键字 | 快捷键 | 样例 | 输出 |
---|---|---|---|---|
加粗 | ** ** 或者__ __ | command/control+b | **加粗文本** | 加粗文本 |
斜体 | * * 或者_ _ | command/control+i | _斜体文本_ | 斜体文本 |
删除线 | ~~ ~~ | 无 | ~~删除线~~ | |
加粗且斜体 | ** **和_ _ | 无 | **这个是:_加粗且斜体_** | **_这个是_加粗且斜体** |
这篇随笔也是用Markdown写的,预览了一下发现博客园不支持加粗且斜体渲染。于是乎我截了一张我用Atom渲染后的结果
表中的快捷键是几乎所有编辑器都支持的,“无”是没有统一支持的要求,也许有的编辑器支持。command是mac上的键。
引用文本
引用文本的关键字是>。
下面是一个引用:
>大家好!我是一个引用。
输出结果:
下面是一个引用:
大家好!我是一个引用
引用代码
引用代码有两种形式,一种是在文本中引入一个代码:使用一个倒引号`括起来;另一种是插入一段代码:使用三个倒引号```括起来(非标准Markdown语法,Atom中支持MarkdownPad中不支持)。
我需要在文中插入快捷键`ctrl+v`.
结果:
我需要在文中插入快捷键ctrl+v
.
我需要引用一段代码:
``` c++
int a = 1;
int b = 2;
int c = a+b; ```
结果:
我需要引用一段代码:
int a = 1;
int b = 2; int c = a+b;
上面可以直接在三个倒引号后面加入引用代码的语言类型。编辑器会对应的进行渲染。当然我们也可以直接使用一个tab或四个空格来表示我要插入一段代码(Atom中是2个tab)。
int a = 1;
int b = 2;
int c = a+b;
结果:
int a = 1;
int b = 2;
int c = a+b;
链接
Git编译器关于链接的使用加入了较多的扩展。这里仅介绍标准Markdown语法中的行内链接和参考链接。
下面是行内链接示例:
[链接到百度](https://www.baidu.com "百度")
结果:
下面是一个参考链接的示例:
[链接到百度][1]
[链接到Google][2]
[还是链接到百度][1] [1]:https://www.baidu.com [2]:https://www.google.com
结果:
参考链接中的标号1,2不仅仅可以是数字,也可以是字母或它们的组合。
同时链接也支持相对路径,./表示当前目录,../表示前一级目录。这里也建议在编写文档时,不同文档之间的关联采用相对路径的形式。
列表
我们可以使用*,+,-或者数字作为列表的关键字。同时列表也支持嵌套的形式。
- 主列表1
- 主列表2
1. 次列表1
2. 次列表2
+ 主列表3
结果:
- 主列表1
- 主列表2
- 次列表1
- 次列表2
- 主列表3
任务列表
任务列表是Git对标准Markdown语法的扩展,并不是标准Markdown语法。因此MarkdownPad不会对该语法进行渲染。但是使用Atom就会对该语法进行渲染。
- [x] 任务列表1
- [ ] 任务列表2
- [ ] 任务列表3
结果:
- [x] 任务列表1
- [ ] 任务列表2
- [ ] 任务列表3
使用表情
Git中的Markdown语法扩展中包括了一些表情包。这个表情包语法依然可以通过Atom进行渲染。由于不是标准的Markdown语法不能通过MarkdownPad渲染。
表情一::+1:,表情二::o:
表情一:?,表情二:⭕
同样博客园对表情包的渲染也支持的不太好,有的不支持,上面的两个表情支持但效果也不太好。我这里截取了Atom中渲染后的结果。Atom虽然有一些bug,但是功能还是比较强大的,添加合适的插件公式都能渲染。但是在轻量级标记语言中加入太复杂的元素,又违背了其设计的初衷。并不是扩展的功能越多越好。轻量级标记语言的定位就是快速,其次才是功能多,不然用HTML得了。这个话题扯得有点远了~~。
更多表情可以查看表情大全。
忽略Markdown关键字
和C语言printf函数一样,如果我们不想让某个字符转换成Markdown关键字,可以在前面加上转义符"\" .比如我们想输入两个*,就可以用:
\*\*取消Markdown关键字
输出结果:
**取消Markdown关键字
采用表格形式组织信息
表格同样不是标准的Markdown语法,使用MarkdownPad不会对该格式进行渲染。
形式一:
|表头一|表头二|
|------|---|
|内容一|内容二|
|内容三|内容四|
显示结果:
表头一 | 表头二 |
---|---|
内容一 | 内容二 |
内容三 | 内容四 |
需要注意的是,第二行中的-只要有三个或三个以上即可。没有具体的个数要求。
形式二:
带左中右对其的表格。
|左对齐|居中对齐|右对齐|
|:- |:------:|-:|
|左对齐列|居中对齐列|右对齐列|
|1|2|3|
左对齐 | 居中对齐 | 右对齐 |
---|---|---|
左对齐列 | 居中对齐列 | 右对齐列 |
1 | 2 | 3 |
同样对于第二列中的空格数没有要求,但至少要有一个-。
https://www.cnblogs.com/yabin/p/6366151.html
图片
跟链接的方法区别在于前面加了个感叹号 !
,这样是不是觉得好记多了呢?
![图片名称](http://图片网址)
当然,你也可以像网址那样对图片网址使用变量
这个链接用 1 作为网址变量 [Google][1]. 然后在文档的结尾位变量赋值(网址) [1]:http://www.google.com/logo.png
也可以使用 HTML 的图片语法来自定义图片的宽高大小
<img src="htt://example.com/sample.png" width="400" height="100">
换行
如果另起一行,只需在当前行结尾加 2 个空格
在当前行的结尾加 2 个空格 这行就会新起一行
如果是要起一个新段落,只需要空出一行即可。
分隔符
如果你有写分割线的习惯,可以新起一行输入三个减号-
。当前后都有段落时,请空出一行:
前面的段落
---
后面的段落
高级技巧
行内 HTML 元素
目前只支持部分段内 HTML 元素效果,包括 <kdb> <b> <i> <em> <sup> <sub> <br>
,如
键位显示
使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑
代码块
使用 <pre></pre> 元素同样可以形成代码块
粗斜体
<b> Markdown 在此处同样适用,如 *加粗* </b>
符号转义
如果你的描述中需要用到 markdown 的符号,比如 _
#
*
等,但又不想它被转义,这时候可以在这些符号前加反斜杠,如 \_
\#
\*
进行避免。
\_不想这里的文本变斜体\_
\*\*不想这里的文本被加粗\*\*
扩展
支持 jsfiddle、gist、runjs、优酷视频,直接填写 url,在其之后会自动添加预览点击会展开相关内容。
http://{url_of_the_fiddle}/embedded/[{tabs}/[{style}]]/ https://gist.github.com/{gist_id} http://runjs.cn/detail/{id} http://v.youku.com/v_show/id_{video_id}.html
公式
当你需要在编辑器中插入数学公式时,可以使用两个美元符 $$ 包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。如:
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
$$
x \href{why-equal.html}{=} y^2 + 1
$$
同时也支持 HTML 属性,如:
$$(x+1)^2 = \class{hidden}{(x+1)(x+1)}$$
$$
(x+1)^2 = \cssId{step1}{\style{visibility:hidden}{(x+1)(x+1)}}
$$
https://segmentfault.com/markdown#articleHeader2