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他会自动提示信息,跟着提示去安装一 ...
随机推荐
- Xcode全局替换内容,一键Replace
有时需要在整个项目里,全局修改某一段话或文字,可以这样快速实现: 1.打开查找功能 2.输入你要替换的内容 比如,我这边想全局修改作者名称 3.点击Find,会出现一个框,会有replace出来,就和 ...
- java struts2入门学习--OGNL语言常用符号和常用标签学习
一.OGNL常用符号(接上一篇文章): 1.#号 1)<s:property value="#request.username"/> 作用于struts2的域对象,而不 ...
- java中如何将byte[]里面的数据转换成16进制字符串
原文链接: http://zhidao.baidu.com/link?url=RmLDjr4PtP_oUE5J2pKNZSvlHt1K7HcCh4-03Y7VkXYhJ0kawg01CtKHZc2uB ...
- rdlc 分页操作和分页统计
1. 工具箱中拖一个列表过来,设置 列表-->行组-->组属性常规-->组表达式=Int((RowNumber(Nothing)-1)/10)分页符-->勾选在组的结尾. 2. ...
- Python 学习参考书目推荐
Python 学习,参考书目推荐 前言 好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍.在「Python开发者」微信公号后台,我们经常能收到让帮忙推荐书籍的消息.这类的问题 ...
- 怎么安装预装的win8三星笔记本改win7再装Ubuntu问题[zz]
随着科技的高速发展,人们对电脑的要求越来越高,对电脑系统的要求亦是,那些电脑自带的系统,很多时候已经无法满足人们的需求了,而为了满足自己的需求,人们往往会为电脑改装新系统,而本文要和大家一起分享的话题 ...
- 关于Big Endian 和 Little Endian
Big Endian 和 Little Endian 一.字节序 来自:http://ayazh.gjjblog.com/archives/1058846/ 谈到字节序的问题,必然牵涉到两大CPU派系 ...
- PHP实现无符号右移(js中的 >>>)
移位包括有符号左移(<<).有符号右移(>>).无符号右移(>>>),其中 js 支持三种移位,PHP只支持前两种移位(没查到第三种),恰好需要PHP进行无符 ...
- LogStash如何通过jdbc 从mysql导入elasticsearch
input { stdin { } jdbc { # mysql jdbc connection string to our backup databse jdbc_connection_string ...
- php基础面试题:
1:print.print_r.echo到底有什么区别? 2:get和post的区别 echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对 ...