Markdown语法学习(二)
概述
宗旨
Markdown 的目标是实现「易读易写」。
可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。
总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像强调。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。
兼容 HTML
Markdown语法的目标是:成为一种适用于网络的书写语言。
Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。
区块语法
段落
Markdown中的段落需要使用一个以上的空行,否则不会认为是单独一个段落。
标题
Markdown支持两种格式标题形式:
类Setext形式使用底线形式,=表示顶级标题,-表示第二级标题。
顶级标题
=======
二级标题
-------
用Markdown处理之后,效果如下:
顶级标题
二级标题
类Atx形式,在行首插入多个#,表示标题级数(支持六级),如下的语法形式:
#一级标题#
##二级标题
###三级标题
####四级标题
最终转化之后效果是这样的:
一级标题
二级标题
三级标题
四级标题
区块引用
使用字符">"(大于号),后面跟着一个空格,表示一个区块引用。
比如下面这种语法
> 区块引用测试
转换之后的效果如下
区块引用测试
区块引用是可以自身嵌套的,可以使用其他的 Markdown 语法,包括标题、列表、代码区块等。
比如下面的效果,可以用嵌套实现
这是一个嵌套标题
这是区块引用自身嵌套
- 这是列表项
下面是嵌入代码
// c++ code
int value = 12345;
列表
无序列表可以使用 星号*、加号+、减号-,作为标记。有序列表使用数字加一个点号。下面的语法描述
* Red
+ Green
- Blue
-
下面是有序列表
1. 小鸟
2. 大象
转换之后的语法
- Red
- Green
- Blue
下面是有序列表
- 小鸟
- 大象
代码区块
代码区块使用四个空格或一个Tab表示。通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示。比如下面的输入(正常输入前面加上四个空格缩进对齐):
sum = 0
for i=0, i < 100, ++i
sum += i
end for
分割线
可以在一行中使用三个以上的星号*、减号-、下划线表示分割线。比如下面两行:
***
---
实际显示效果是这样的:
区段元素
行内链接
链接的文字使用[方括号]来标记。提示信息可以用双引号包含。
This is [an test](http://test "help")
转换之后是这样的:
This is an test
强调
Markdown使用星号*、和下划线_,作为强调字符。
单个字符包围的表示斜体,两个字符包围的表示黑体。
*italic* _italic_
**bold** __bold__
实际显示效果
italic italic
bold bold
代码
Markdown支持行内代码。使用反引号`(左上角数字键1左边对应的字符)。比如下面形式:
Use `printf()` function
显示为
Use
printf()
function
自动链接和转移字符
自动链接,在名字和url一致的时候,可以用下面形式:
<http://www.help.com/>
显示效果
Markdown支持转移字符,使用反斜杠作为转移符。比如可以使用转移字符输出markdown中使用的关键字符。
- \ 反斜线
- ` 反引号
- 星号
- _ 底线
- {} 花括号
- [] 方括号
- () 括弧
井字号
- 加号
- 减号
- . 英文句点
- ! 惊叹号
可以尝试下:
这里输出中括号[4]。
附加说明
本文是使用Markdown编写的语法学习总结。内容中用到比较多的是代码区块和区块引用,主要是为了表示原始的语法格式和Markdown转换之后的效果对比。
参考
[1] Markdown 语法说明
看完效果
不得不吐槽下,博客园的markdown效果真的太差。完全没法看出来优势。
Markdown语法学习(二)的更多相关文章
- 随笔1:Markdown语法学习
学习背景 日常工作学习的时候,总喜欢用有道在线笔记记录点东西,不过以往都没太在意笔记的整理和排版,代码或者图片什么的都是直接贴在笔记上,不美观不说,有些代码格式也不容易进行区分,格式也在复制的时候容易 ...
- 基于 Cmd MarkDown 的 markdown 语法学习
首先我要打一个属于干货的广告:CmdMarkDown 是非常好用的markdown编辑器软件,支持全平台,由作业部落出品,分为客户端与WEB端两种使用场景. 本篇博客学习的markdown语法都是基于 ...
- 【8-15】Markdown语法学习
学习Markdown语法 来源简书URL #,支持六级标题 列表 用-或*(指无序列表),有序列表直接1. 2. 3. 这样,中间有空格,可乱序(-+*都可,不能混合使用,混合使用为嵌套) 这是一个无 ...
- markdown语法学习源码
__注: 结合markdown官方文档 其中大部分例子和说明文字都摘自官方文档__官方链接:[Markdown: Basics (快速入门)](http://wowubuntu.com/markdow ...
- MarkDown语法 学习笔记 效果源码对照
MarkDown基本语法学习笔记 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 下面将对Markdown的基本使用做一个介绍 目 ...
- [原创]markdown语法学习(commonmark)
CommonMark是markdown的解析器,以下是部分学习链接: commonmark规范 https://spec.commonmark.org/ commonmark帮助 https://co ...
- Swift3.0基础语法学习<二>
对象和类: // // ViewController2.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/15. // Copyright © ...
- Day001 Typora Markdown语法学习
# Markdown语法 ## 标题 ### 三级标题 #### 四级标题 注:最多支持到六级标题 ## 字体 **hello,world!** *hello,world!* ***hello,wor ...
- [寒假学习笔记](一)Markdown语法学习
Markdown 学习 在博客园上使用markdown编辑,记录学习进度,以来日可以复习 前期准备 1. 安装markdownpad2 官网直接找下载安装,遇到bug他会自动提示信息,跟着提示去安装一 ...
随机推荐
- hibernate的hql语句不支持 count(case...when ....else..)?
查看帖子:http://www.iteye.com/problems/4499 第一次这么写, 不行, 关键就是: 同是聚集函数,sum 就OK, 而 count 就不行...........后来还是 ...
- easyui的日期控件
1.日期控件只能点击控件进行选择, 不可手动编辑input框中的日期内容 editable="false" 2.日期控件既不可点击, 也不可手动编辑input框中的日期内容 dis ...
- 【DM】The PageRank Citation Ranking: Bringing Order to the Web - PageRank引用排名:将订单带到Web上
[论文标题]The PageRank Citation Ranking: Bringing Order to the Web (1998) [论文作者]Larry Page [论文链接]Paper(1 ...
- linux vi 删除一行,复制一行命令,删除所有空白行
删除所有空白行(^是行的开始,\s*是零个或者多个空白字符:$是行尾) :g/^\s*$/d 删除一行: dd 复制一行: yy ,之后是要 p 才会贴上来的.
- 安装好php后找不到php.ini
很多同学在安装完php后找不到php.ini而烦恼. 通常php.ini的位置在: /etc目录下或/usr/local/lib目录下. 如果你还是找不到php.ini或者找到了php.ini修改后不 ...
- 虚拟机virtualbox中挂载新硬盘
在virtualbox中装好Ubuntu后,发现硬盘空间太小,怎样才能增加硬盘容量?那就是再建一个硬盘: 1. 添加新硬盘 设置 -> Storage -> SATA控制器->右击, ...
- C语言学习笔记 (002) - C++中引用和指针的区别(转载)
下面用通俗易懂的话来概述一下: 指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const.volatile等等.见下图 ...
- 【Algorithm】快速排序(续)
前面在常用的排序算法中,已经写过一篇关于快速排序算法的博客,但是最近看到<The C Programming Language>这本书中的快速排序算法写的不错,所以就拿过来分享一下,下面我 ...
- numpy ndarray可用的常规函数
该部分位于numpy - ref - 1.14.5中的2.8 available ufuncs 1 数学运算 1.1 元素级加法 add 加法规则: numpy.add(x1, x2, /, out= ...
- python练习笔记——面试题 F(n) = F(n-1)+F(n-2)
已知:F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2) 其中(n≥2,n∈N*) 求:求10以内的函数值分别是多少 方法一: def F(n): if n < ...