接触简书有一段时间了,一直都是看别人的文章,最近突然想自己在这里记录点文字,昨天尝试着随便写了点,无意中发现Markdown编辑器,觉得还挺有意思的,今天就参考了两篇文章,一边学一边写,欢迎大家多多指正。
1、设置标题
Markdown 支持两种标题的语法:1)类 Setext ;2)类 atx 形式。
1)类 Setext 形式,是用底线的形式,利用 =
(最高阶标题)和 -
(第二阶标题),例如:
This is an H1
=============
This is an H2
-------------
输出显示如下:
This is an H1
This is an H2
任何数量的 =
和 -
都可以有效果。
2)类 Atx 形式,则是在行首插入 1 到 6 个 #
,对应到标题 1 到 6 阶,例如:
# 这是 H1
## 这是 H2
### 这是 H3
输出显示如下:
这是 H1
这是 H2
这是 H3
你可以在行尾加上 #
,纯粹只是美观用的,而行尾的 #
数量也不用和开头一样,如下:
# 这是 H1 #
## 这是 H2 ##
### 这是 H3 ######
2、区块引用
在写作的时候,需要引用他人的文字,或者为了突出显示某一段单独的文字,这个时候区块引用这个格式就很有必要了,在Markdown中,你只需要在你需要引用或者划分区块的文字前面加上>
就好了,例如:
> 自古以来,一个人要想成功,只有两个最基本的动力源:兴趣或生存。
> 要么你为了自己喜欢的事情去奋斗,要么你被生活所迫去努力,本质上没有其他可能。90 后作为最新的职场一代,之所以这么广为诟病,就是在于这两种动力从群体意义上被打小阉割掉了。
输出显示如下:
自古以来,一个人要想成功,只有两个最基本的动力源:兴趣或生存。
要么你为了自己喜欢的事情去奋斗,要么你被生活所迫去努力,本质上没有其他可能。90 后作为最新的职场一代,之所以这么广为诟病,就是在于这两种动力从群体意义上被打小阉割掉了。
区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 >
,例如:
> 无边落木萧萧下 不尽长江滚滚来
> > 出自唐代诗人杜甫的《登高》
> > > 真是一首好诗啊
输出显示如下:
无边落木萧萧下 不尽长江滚滚来
出自唐代诗人杜甫的《登高》
真是一首好诗啊
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等,例如:
> ## 这是一个标题。
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 给出一些例子代码:
>
> return shell_exec("echo $input | $markdown_script");
输出显示如下:
这是一个标题。
- 这是第一行列表项。
- 这是第二行列表项。
给出一些例子代码:
return shell_exec("echo $input | $markdown_script");
3、列表
Markdown 支持有序列表和无序列表。
无序列表使用 *
、 +
或是 -
作为列表标记:
* Red
* Green
* Blue
+ Red
+ Green
+ Blue
- Red
- Green
- Blue
输出显示如下:
- Red
- Green
- Blue
- Red
- Green
- Blue
- Red
- Green
- Blue
有序列表则使用数字接着一个英文句点:
- Bird
- McHale
- Parish
4、代码区块
要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以,例如,下面的输入:
static Singleton *single = nil;
+ (id)shareInstance {
static dispatch_once_t onceToken;
dispatch_once(&onceToken,^{
single = [[Singleton alloc] init];
});
return single;
}
注:上面的代码块从Xcode复制粘贴过来后可能会遇到缩进的问题,因为每行的一阶缩进(4 个空格或是 1 个制表符),都会被自动移除。
我的解决办法是:在 Xcode 中选中一段要复制的代码,选中后使用command
+]
组合键让代码整体缩进 1 个制表符后,再进行整体复制,这样就可以抵消被自动移除的一阶缩进,让你在Xcode中漂亮的排版原封不动的展示在代码区块中。
5、分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线,例如:
1
* * *
2
***
3
*****
4
- - -
5
---------------------------------------
输出显示如下:
1
2
3
4
5
6、链接和图片
链接文字用 [方括号] 来标记。插入链接只需要使用[显示文本](链接地址)
这样的语法即可,例如:
欢迎来到 [简书](http://www.jianshu.com/ "简书首页")
[这里](http://example.net/) 有你喜欢的文章
输出显示如下:
插入网络图片:
![网络图片:Markdown](http://upload-images.jianshu.io/upload_images/629934-74052f8714dc122c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
输出显示如下:
上传本地图片:
如果需要上传本地图片,直接将图片拖动到编辑区域即可。
输出显示如下:
7、强调
用一个 *
或 _
包围的字词,会被显示为斜体,
用两个 **
或 _ _
包起来的话,则会被显示为粗体,例如:
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
输出显示如下:
single asterisks
single underscores
double asterisks
double underscores
注意:如果你的 *
和_
两边都有空白的话,它们就只会被当成普通的符号。
8、小段代码、关键字
如果要标记一小段行内代码或者关键字,你可以用反引号(\
xxx`)`把它包起来,例如:
Use the `printf()` function.
输出显示如下:
Use the
printf()
function.
9、反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果,你可以在星号的前面加上反斜杠,例如:
\*Hello world\*
输出显示如下:
*Hello world*
如果不加反斜杠,则输出显示为斜体:
Hello world
10、表格
相关代码:
name | height | weight
------ |--------- |---------
Tom | 175 | 65kg
Lily | 165 | 55kg
显示如下:
name | height | weight |
---|---|---|
Tom | 175 | 65kg |
Lily | 165 | 55kg |
用:
来表示对齐格式,加入对齐格式:
| name | height | weight|
|------ |:--------:|-------:|
| Tom | 175 | 65kg |
| Lily | 165 | 55kg |
加入对齐格式后,显示如下:
name | height | weight |
---|---|---|
Tom | 175 | 65kg |
Lily | 165 | 55kg |