zoukankan      html  css  js  c++  java
  • Markdown 1.0.1

    简介
    Markdown 是由 John Gruber 于2004年开发一种轻量级标记语言,它是一个面向web作者的 text-to-HTML 转换工具。Markdown编辑器允许您使用纯文本格式编写,然后将其转换为结构有效的XHTML或者HTML,再用各种CSS美化就可以显示出不同的样式。https://daringfireball.net/projects/markdown/dingus 网站可以查看Markdown转换后的HTML源码。
    Markdown的格式化语法的主要设计目标是使其尽可能具有可读性,Markdown格式的文档应该可以以纯文本发布,而不是看起来像是由许多标签或格式化指令组成。Markdown语法的最大灵感来源是纯文本电子邮件的格式。Markdown是自由软件,可以在BSD-style的开放源码许可下使用。
     
    标准化
    Markdown 的语法分为标准语法和扩展语法。Markdown 标准语法自从 V1.0.1(2004)后就再没有更新了,标准语法适用于所有 Markdown 工具。扩展语法可能每个编辑器都不一样,这是由于Markdown 标准语法功能有限,很多需求无法被满足,因此产生了许多第三方的扩展语法,比较流行的扩展语法是 Github 风格的:GitHub Flavored Markdown(GFM)。大部分第三方的扩展语法并不互相兼容,因此若干来自 GitHub、Reddit、Stack Exchange 以及开源社区的重要代表组成了一个小型非公开工作组,打算将 Markdown 标准化,并为了进一步的改进开放该标准。工作组发布了 Standard Markdown 并且有专门的网站 standardmarkdown.com,但发布几天后应 John Gruber 的要求被迫关闭网站和将 Standard Markdown 改名为CommonMark,这个可以参考http://commonmark.org/。
     
    编辑器
    Typora是免费的,支持 Github 风格的扩展语法GFM。
    MarkdownPad2免费版只支持标准语法,专业版支持扩展语法,但是要收费。
     
    语法
    HTML特殊标签与字符
    Markdown 不是想要取代 HTML,它的语法很少,只对应 HTML的一小部分。HTML 是一种发布的格式,Markdown 是一种书写的格式。不是Markdown语法范围内的HTML标签,可以直接在文档中书写。
    在HTML块状元素之间的Markdown文本不会被转换为HTML,例如 <div>**测试**</div> 会保持原样,但是在行内元素之间的Markdown文本会被转换为HTML,例如 <span>**测试**</span> 会被转换为 <p><span><strong>测试</strong></span></p>。
    在 HTML 中,某些字符是预留的,例如 < 和 >,如果直接使用,浏览器会误以为它们是标签的一部分。要正确显示这些字符,必须在HTML中使用字符实体,比如 > 号的字符实体为 【&lt;】 或 【&#60;】。在Markdown文档中书写的 < 和 & 会被转换为 【&lt;】 和 【&amp;】,如果书写的是 &lt; 则会保持原样。
     
    段落
    段落是指HTML中的<p>标签。空行是指行内什么都没有,或者只有空格和制表符。如果行与行之间有一个以上的空行,则会被转换为不同的<p>标签,即被视为不同的段落,否则被视为同一段落。
    例如:
    1
    2
     
    3
    转换为:
    <p>1
    2</p>
     
    <p>3</p>
     
    换行
    换行是指HTML中的<br>标签。如果想在同一个段落中换行,那么需要在上一行的结尾输入两个以上的空格然后回车,Markdown会在上一行的结尾插入<br />。
     
    标题
    标题是指HTML中的<h1>标签等。Markdown支持两种格式的标题语法。
    第一种是在标题的下一行使用任何数量的=表示一级标题,任何数量的-表示二级标题,最多就两级。
    例如:
    标题1
    =
    标题2
    -
    转换为:
    <h1>标题1</h1>
     
    <h2>标题2</h2>
    第二种是使用#,格式为#标题内容,#的数量表示标题的级别,最多6个#。
    例如:
    #标题
    ##标题
    ###标题
    ####标题
    #####标题
    ######标题
    #######标题
    转换为:
    <h1>标题</h1>
     
    <h2>标题</h2>
     
    <h3>标题</h3>
     
    <h4>标题</h4>
     
    <h5>标题</h5>
     
    <h6>标题</h6>
     
    <h6>#标题</h6>
     
    列表
    列表分为无序列表和有序列表。
     
    无序列表
    无序列表是指HTML中的<ul>标签,格式为* 列表内容,*可以用+和-代替。
    例如:
    * Red
    * Green
    * Blue
    转换为:
    <ul>
    <li>Red</li>
    <li>Green</li>
    <li>Blue</li>
    </ul>
     
    有序列表
    有序列表是指HTML中的<ol>标签,格式为数字英文句号 列表内容,数字不必按顺序,但是推荐按顺序书写。
    例如:
    1. Red
    1. Green
    2. Blue
    转换为:
    <ol>
    <li>Red</li>
    <li>Green</li>
    <li>Blue</li>
    </ol>
     
    特殊用法
    列表中的每一项都可以包含多个段落,每一段最好缩进一样的空格,空格数小于4。
    例如:
    * 第一段
     
    第二段
    转换为:
    <ul>
    <li><p>第一段</p>
     
    <p>第二段</p></li>
    </ul>
     
    列表可限无限嵌套列表,只需要每次多加4个空格既可。
    例如:
    * 1
    * 2
    * 3
    转换为:
    <ul>
    <li>1
    <ul><li>2
    <ul><li>3</li></ul></li></ul></li>
    </ul>
     
    块引用
    即HTML中的<blockquote>标签,格式为>引用内容。在每个段落的第一行最前面加上> ,就可以引用整个段落,当然也可以在段落的每一行最前面加上> ,效果是一样的。块引用可以无限嵌套块引用,只需要每次多加一个>既可。块引用中可以使用其他Markdown格式如标题、列表等。
    例如:
    >引用1
    >>引用2
    >>>引用3
    转换为:
    <blockquote>
    <p>引用1</p>
     
    <blockquote>
    <p>引用2</p>
     
    <blockquote>
    <p>引用3</p>
    </blockquote>
    </blockquote>
    </blockquote>
     
    代码区块
    即HTML中的<pre>标签和<code>标签,只需要缩进4个空格即可,从最开始缩进4个空格的那一行到第一次没有缩进4个空格的那一行或者文档末尾都会被转换。
    例如:
    这是一个普通段落:
     
    这是一个代码区块
    1
    2
    3
    转换为:
    <p>这是一个普通段落:</p>
     
    <pre><code>这是一个代码区块
    1
    2
    </code></pre>
     
    <p>3</p>
     
    分隔线
    即HTML中的<hr />标签,格式为一行中用三个以上的星号、减号、下划线,行内不能有其他东西,也可以在星号或是减号中间插入空格。
    例如:
    * * *
    ***
    *****
    - - -
    ---------------------------------------
     
    链接
    即HTML中的<a>标签,Markdown支持两种形式的链接语法,行内链接和参考链接。
     
    行内链接
    在方块括号后面紧接着圆括号并插入网址链接,如果你还想要加上链接的 title属性,只要在网址后面,用双引号把文字包起来即可。
    例如:
    [百度](https://www.baidu.com "百度")一下
    转换为:
    <p><a href="https://www.baidu.com" title="百度">百度</a>一下</p>
     
    参考链接
    参考链接是在链接文字的方括号后面再接上另一个方括号,而在第二个方括号里面写入链接标记,在文件的任意处,你可以把这个链接标记的内容定义出来。链接标记内容的形式为:
    方括号,里面输入链接文字;
    接着一个英文冒号;
    接着一个以上的空格;
    接着链接的网址;
    紧接着 title 属性,可选,可以用单引号、双引号或是圆括号包着。
    例如:
    [bd]: https://www.baidu.com "百度"
    [百度][bd]一下
    转换为:
    <p><a href="https://www.baidu.com" title="百度">百度</a>一下</p>
     
    隐式链接标记功能让你可以省略指定链接标记,这种情形下,链接标记会视为等同于链接文字,要用隐式链接标记只要在链接文字后面加上一个空的方括号,
    例如:
    [bd]: https://www.baidu.com "百度"
    [bd][]一下
    转换为:
    <p><a href="https://www.baidu.com" title="百度">bd</a>一下</p>
     
    强调
    即HTML中的<em>和<strong>标签,Markdown使用*和_作为强调的符号,被*和_包围的会被转换成用<em> 标签包围,用两个*和_包围的会被转换成用<strong> 标签包围。
    例如:
    *斜体*,**粗体**
    转换为:
    <p><em>斜体</em>,<strong>粗体</strong></p>
     
    代码
    即HTML中的<code>标签,被反引号`包围的会被转换成用<code> 标签包围。
    例如:
    `代码`
    转换为:
    <p><code>代码</code></p>
     
    图片
    即HTML中的<img>标签,Markdown支持两种形式的图片语法,行内图片和参考图片。
     
    行内图片
    格式如下:
    一个英文感叹号;
    接着一个方括号,里面放上图片的替代文字;
    接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上可选的 title属性。
    例如:
    ![图片](https://t10.baidu.com/it/u=178918326,3666119923&fm=173&app=12&f=JPEG?w=550&h=367&s=ACD21DC78C5295C647F1F93A0300F012 "图片")
    转换为:
    <p><img src="https://t10.baidu.com/it/u=178918326,3666119923&amp;fm=173&amp;app=12&amp;f=JPEG?w=550&amp;h=367&amp;s=ACD21DC78C5295C647F1F93A0300F012" alt="图片" title="图片" /></p>
     
    参考图片
    参考图片是在图片替代文字的方括号后面再接上另一个方括号,而在第二个方括号里面写入图片标记,在文件的任意处,你可以把这个图片标记的内容定义出来。图片标记内容的形式为:
    方括号,里面输入图片替代文字;
    接着一个英文冒号;
    接着一个以上的空格;
    接着链接的网址;
    紧接着 title 属性,可选,可以用单引号、双引号或是圆括号包着。
    例如:
    [img]: https://t10.baidu.com/it/u=178918326,3666119923&fm=173&app=12&f=JPEG?w=550&h=367&s=ACD21DC78C5295C647F1F93A0300F012 "参考图片"
    ![图片][img]
    转换为:
    <p><img src="https://t10.baidu.com/it/u=178918326,3666119923&amp;fm=173&amp;app=12&amp;f=JPEG?w=550&amp;h=367&amp;s=ACD21DC78C5295C647F1F93A0300F012" alt="图片" title="参考图片" /></p>
     
    自动链接
    即HTML中的<a>标签,用尖括号括起来的URL和邮箱地址会被自动转换为超链接,其中邮件地址会被转换为实体编号。
    例如:
    <https://www.baidu.com>
    转换为:
    <p><a href="https://www.baidu.com">https://www.baidu.com</a></p>
     
    <address@example.com>
    转换为:
    <p><a href="&#x6D;&#97;il&#116;o:&#x61;&#x64;&#100;&#114;&#101;&#x73;&#115;&#64;&#x65;&#120;&#97;&#x6D;&#x70;&#108;&#x65;&#x2E;c&#111;&#x6D;">&#x61;&#x64;&#100;&#114;&#101;&#x73;&#115;&#64;&#x65;&#120;&#97;&#x6D;&#x70;&#108;&#x65;&#x2E;c&#111;&#x6D;</a></p>
     
    转义
    Markdown 可以利用反斜杠来插入一些在语法中有特殊意义的符号,格式为特殊字符,比如以下这些符号:
    反斜线
    ` 反引号
    * 星号
    _ 底线
    {} 花括号
    [] 方括号
    () 括弧
    # 井字号
    + 加号
    - 减号
    . 英文句点
    ! 惊叹号
  • 相关阅读:
    M1阶段的开发过程的一些反思
    Alpha版本发布说明
    Alpha版本BUG BASH
    Notes of Daily Scrum Meeting(11.19)
    Notes of Daily Scrum Meeting(11.17)
    Notes of Daily Scrum Meeting(11.15)
    Notes of Daily Scrum Meeting(11.14)
    flask_sqlalchemy介绍
    SQLAlchemy 简单笔记
    Python-3.6 安装pycrypto 2.6
  • 原文地址:https://www.cnblogs.com/gjb724332682/p/8859850.html
Copyright © 2011-2022 走看看