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他会自动提示信息,跟着提示去安装一 ...
随机推荐
- HDUOJ-------单词数
单词数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hibernate的findByExample 外键参数查询解决方案
用了这么长时间的hibernate/spring,如果不是今天用的findByExample方法到现在还不知道findByExample的机制.惭愧 Class User{String usernam ...
- C# 进制转换(二进制、十六进制、十进制互转)
原文地址:https://www.cnblogs.com/icebutterfly/p/8884023.html C# 进制转换(二进制.十六进制.十进制互转)由于二进制数在C#中无法直接表示,所以所 ...
- Snip for Mac(桌面截图工具)安装
1.软件简介 Snip 一款用于桌面截图的工具. 2.资源列表 链接 提取密码 系统要求 软件语言 Snip for Mac v2.0 (5771) fgab macOS 10.6.8 及以上 ...
- 在windows下安装Jupyter Notebook的安装和使用
1 认识jupyter jupyter /ˈdʒuːpɪtə(r)/可以提供适合捕捉整个计算过程的基于web的应用程序:开发.记录和执行代码,以及结果输出. jupyter Notebook提供了两个 ...
- request.getRequestURI() 、request.getRequestURL() 、request.getContextPath()、request.getServletPath()区别
request.getRequestURI() /jqueryWeb/resources/request.jsprequest.getRequestURL() http://localhost:808 ...
- threaded_execution
Property Description Parameter type Boolean Default value false Modifiable No Range of values true | ...
- 条件触发和边缘触发 及 epoll 的长处
条件触发: 仅仅要输入缓冲有数据就会一直通知该事件 边缘触发: 输入缓冲收到数据时仅注冊1次该事件.即使输入缓冲中还留有数据,也不会再进行注冊 水平触发(level-triggered.也被称为条件触 ...
- Objective-C 资源收藏
日志 https://github.com/robbiehanson/CocoaLumberjack 反汇编 otool nm http://stackoverflow.com/questi ...
- 一步一步学android之控件篇——ListView基本使用
ListView组件在应用程序中可以说是不可或缺的一部分,ListView主要是显示列表数据,同时可以滚动查看,这篇博客主要是对ListView的基本用法进行说明,后面会依次对ListView点击动态 ...