关于markdown需要澄清的误解:

首先, 最大的一个误解就是 转义! markdown不支持对小于号 < 的转义, 如 <"pre">, 这时候仍然会认为是一个pre标签的! 所以, 不能用\来消除html标签,只有 * 才会被\所转义.

Markdown中,以下字符支持使用反斜线转义:
\ 反斜线
` 反引号
* 星号
_ 下划线
{} 大括号
[] 中括号
() 小括号
# 井号
+ 加号
- 减号(连字符)
. 句点
! 感叹号

markdown 本身也支持 html标签.

对Markdown语法无法支持的格式,你可以直接用HTML。你不需要事先声明或者使用什么定界符来告诉

Markdown要写HTML了,你直接写就是了,如链接a, 图片img等.

markdown也要区分块级元素和行内元素

唯一的限制是那些块级HTML元素 -- 如 div,table, pre, p等等 -- 必须使用(至少1行)空行

与相邻内开, 并且块元素的开始和结束标签之前不要留有空格或TAB。

注意一点,不要在块级HTML元素内使用Markdown格式化命令,Markdown不会处理它们。比如你不要在一个

HTML块中使用 * emphasis * 这样的Markdown格式化命令. 但是, 不同于这些块级HTML元素,在HTML行内元素内的

Markdown语法标记会被正确处理



关于这一点的理解是: (下面的列表,即使第一个列表的数字写成10, 仍然会从1开始排列)

10. 是说markdown中, 本身是不需要(不是不能)你显式的去写 div p pre hr hx等等这些标签的, 只要你的写法正确, md会自动的为你生成这些标签的

20. 是说如果你用markdown写的东西, 对应翻译成html后, 是html中的块级元素 的时候, 你就要在这个内容的前后都要用空行进行分隔.

30. 比如说, 用三个/以上的 *** 可以生成水平线hr, 由于hr是html中的块级元素, 所以在markdown中, 这三个 *** 要用前后空行来分隔.就是这个意思,如果不这样前后分隔, md就不认为是 水平线, 还是照原样输出 三个星号.

引用块 (markdown中的名字 都叫"什么块")

方法1: 如果每一行你都使用硬换行并在行首(注意, 是行首!)放一个>符号,看上去会很美观

方法2: (如果觉得每行写一个>太累)Markdown允许你偷懒,你只需在 硬换行段落 的第一行之前放一个>号,

只需要多加一个>,就得到嵌套的引用块(即引用块中的引用块)

使用两个>, (注意中间有一个空格) > This is nested blockquote.可以得到嵌套的引用块.

引用块中可包含其它Markdown元素,如标题、列表和代码块

代码块 (不同于引用块)

我们经常在写有关编程或标记语言源代码时用到预格式化的代码块。不像格式化普通段落,代码块中的行会

按字面进行解释。Markdown对代码块同时使用pre 和 code标签包裹, 生成pre code...

在Markdown中要生成一个代码块,只需要在代码块内容的每一行缩进至少四个空格或者一个TAB。

Markdown不会解析代码块中的Markdown标记。如代码块中的星号就是星号,失去了它原来的Markdown含义

要注意代码块用tab或四个空格缩进时, 一定要前后用空行分隔

因为这是代码块, 是块元素, 所以,必须前后用空行分隔

这里注意, 如果下面的代码 前后没有空行, 则不会是代码块, 其中的超链接a和p/span/style都会被解释执行!!

这里注意, 如果下面的代码 前后没有空行, 则不会是代码块, 其中的超链接a和p/span/style都会被解释执行!!;
<a href="/index.php">跳转首页</a>
<p><span style="color: red">代码块, 前后没有空行分隔</span></p>
<font color="red">但是要注意, 虽然有缩进, 但是输出的内容不会有 缩进(因为是代码块)</font> 代码块前后用空行分隔, 则生成带灰色背景并且有边框的代码块
带灰色背景并且有边框的, 才是代码块.否则就不是代码块.

另外一种代码块的方法是: 用反引号, 一个或2个 或3个反引号

在实际应用中, 感觉用反引号, 来实现代码块, 更方便, 更直接, 更不会出错!

实际上, 不管是, 不管使用tab还是使用反引号 ```, 都要在代码块的前后 都要空出一个 空行.才能保证真的是生成代码块了.

反引号本身``` 跟里面的内容之间是否留有空行无关!

列表?

无序列表用星号, 加号, 减号 加一个空格

有序列表用数字加英文句点.

有一点需要注意,你在列表中输入的标记数字并不会反映到Markdown输出的HTML之中。默认的会输出ul>li

要点在于,如果你愿意,就在你的Markdown有序列表里顺序使用数字(这样源代码里的顺序和生成的顺序会一致),

如果你希望省点儿事,你就不用费心(去手工编号)

如果你打算偷懒,记住列表的第一行使用数字 1

要在列表项中使用引用,引用定界符 > 需要用tab缩进1次.

要在列表项中使用代码块,代码块需要缩进两次 -- 8个空格或者两个TAB

水平线

如果在一行里只放三个或更多个连字符,或星号或下划线,(注意没有等号!)你就会得到一个水平线标记hr

链接

这是一个链接

强调

一个* 是em强调, 两个* 才是strong. 三个* 是em和strong的综合效果, 即:加粗同时倾斜.


举例:

水平线:

(*** 和---没有前后空行分隔, 不能生成hr水平线?)




====

等号不能生成hr, 虽然前后都有空行分隔.

以下是引用块的例子

这是引用块

这是引用块, 每行都写 > 符号

这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块, 只在"硬回车" 段落的行首用 > 符号.

这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块这是引用块

这是嵌套引用块

这是嵌套引用块

以下是代码块的例子

    <?php
echo 'abc';
printf('your name is %s', $_POST['username']);
?>

以下是列表 中使用引用块和 代码块

  • 列表中使用引用块:

    列表中的引用块, 必须要用1个 tab缩进

    列表中的引用块, 必须要用1个 tab缩进

  • 列表中使用代码块

  • 列表中使用代码块

      <?php
    // 列表中使用代码块, 至少要两个tab缩进
    class IndexAction extends Action {
    function index() {
    echo "thinkphp...";
    }
    }
    ?>

关于markdown需要澄清的一些误解的更多相关文章

  1. Hekaton的神话与误解

    最近这段时间,我花了很多时间来更好的理解Hekaton——SQL Sever 2014里的全新内存表技术.我看了很多文章,了解了Haktaon的各种内部数据存储结构(主要是哈希索引和Bw-tree). ...

  2. 关于PHP的十大误解 你中了几个?

    作为开发人员,你常常会在网上看到不使用XX的理由之类的新闻.而作为最受欢迎的开源服务器端脚本语言,PHP也难逃这样的命运.殊不知,金无足赤.人无完人,再流行的语言都会存在缺点,或者是误解,因此,有些开 ...

  3. 批处理学习:for语句详解【经典】

    大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...

  4. 批处理命令——for

    [1]for命令简介 先把for循环与for命令类比一下,这样学习理解快. for 循环语句,一般格式如下: for (表达式1;表达式2;表达式3) { 循环体; } 1. 表达式1 一般为初始状态 ...

  5. .NET 代码编译过程

    作为一种代码指令平台,Microsoft .NET比微软公司先前推出的其他技术平台要来得更为复杂.由于.NET提供了对多种编程语言以及(在理论上说)多重平台的支持,这就需要在传统的两个代 码层添加一个 ...

  6. bat命令之for命令详解

    ______________版主提醒____________________________ 为了避免影响技术讨论.提高看帖的舒适性,请大家不要在此帖下跟无实质内容的口水帖,特别是纯顶.纯支持.纯感谢 ...

  7. windows批处理学习(for和字符串)---03

    [1]for命令简介 先把for循环与for命令类比一下,这样学习理解快. for 循环语句,一般格式如下: 1 for (表达式1;表达式2;表达式3) 2 { 3 循环体; 4 } 1. 表达式1 ...

  8. 批处理学习:for语句详解

    大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...

  9. GitChat·人工智能 | 除了深度学习,机器翻译还需要啥?

    本文开始要写作的时候,翻译圈里出了一个“爆炸性”的事件.6月27日下午,一个同传译员在朋友圈里爆料:某AI公司请这位译员去“扮演”机器同传,制造人工智能取代人工同传的“震撼”效果. 这个事件瞬间在译员 ...

随机推荐

  1. git的简介,安装以及使用

    1git的简介 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 2Linus一直痛恨的CVS及SVN都是集中式的版本控制系 ...

  2. 利用JS跨域做一个简单的页面访问统计系统

    其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便可以在这些统计系统中看到自己网站页面具体的访问情况.但是有些时候,由于一些特殊情况,我们 ...

  3. 秒杀9种排序算法(JavaScript版)

    一:你必须知道的 1> JS原型 2> 排序中的有序区和无序区 3> 二叉树的基本知识 如果你不知道上面三个东西,还是去复习一下吧,否则,看下面的东西有点吃力. 二:封装丑陋的原型方 ...

  4. T4模板根据DB生成实体类

    1.前言 为什么会有这篇文章了,最近看到了一些框架,里面要写的代码太多了,故此就想偷懒,要是能写出一个T4模板,在数据库添加表后,根据模板就可以自动生成了类文件了,这样多好,心动不如行动.记得使用T4 ...

  5. EF实体框架之CodeFirst三

    前两篇博客学习了数据库映射和表映射,今天学习下数据库初始化.种子数据.EF执行sql以及执行存储过程这几个知识. 一.数据库初始化策略 数据库初始化有4种策略 策略一:数据库不存在时重新创建数据库 D ...

  6. 百度地图 api 功能封装类 (ZMap.js) 本地搜索,范围查找实例 [源码下载]

    相关说明 1. 界面查看: 吐槽贴:百度地图 api 封装 的实用功能 [源码下载] 2. 功能说明: 百度地图整合功能分享修正版[ZMap.js] 实例源码! ZMap.js 本类方法功能大多使用 ...

  7. Go语言_时间篇

    Go的time包是标准库中的包之一 不用说,几乎是开发必须用到的包之一.time包的说明文档在: http://golang.org/pkg/time/ 先注意下Overview中的一句话: The ...

  8. git使用问题汇总

    2015.11.29 一.git clone 出现如下问题: 解决方案:添加一个ssh keys.步骤如下: 1.生成一个ssh-key(图片来自网络) 2.找到“Your identificatio ...

  9. [参考]Oracle 11g的安装

    1.Linux中安装Oracle 11g http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html 2.Windows中安装Oracl ...

  10. Java Web中将oracle的数据库内容以表格形式展现到页面中(分页展示)

    分页SQL语句: ----分页显示 select * from (select rownum as r,t.* from () ; 查询的结果如下: 这个SQL,使用了三层嵌套的查询方式: 1)最内层 ...