NingG +

markdown入门介绍

背景

几个问题:

  1. markdown产生之前,没有markdown;随着时间推进,为什么会有markdown?
  2. markdown能解决什么问题?这个问题之前没有解决办法吗?

编写WEB页面大都需要写HTML语法的页面,包含大量标签,例如<h1><\h1><div><\div><img>等。

有些WEB开发人员,厌倦了写HTML标签,同时,用文本编辑器查看HTML页面,内容读起来不简洁、看不出层次感。总结一下,就是两个需求:

  1. HTML页面写起来要简单;(易写)
  2. 用文本编辑器查看,读起来要简洁;(易读)

为实现”1.HTML页面易写“这一功能,就不能再直接写HTML页面了,怎么办?重新定义一种易写的文本书写格式,然后,用个程序,将其转换为HTML页面。(你看,HTML页面是否变得容易写了?) 同时,为了实现”2.文本易读“这一功能,要求重新定义的文本书写格式具备格式简洁、层次清晰等特点。

在这一背景下,markdown产生了。

markdown是什么?

markdown到底是什么?最原始介绍在这儿markdown ,markdown有两层含义:

  1. 一种文本格式:简洁的文本书写格式;(易写、易读)
  2. 一种软件(又称,解析引擎):将markdown格式的文件,转换为HTML页面;

markdown-and-html

看到上面图示,有人会问,markdown能够转换为HTML文档,那么,HTML文档能否转换为markdown格式文档呢?我x,你说呢,两种文档之间有映射关系,当然可以相互转换了,参考工具html2text

Notepad++上配置markdown

我在GitHub上已经公开了Notepad++支持markdown语法的配置文件markdown of Notepad++, 可以试用一下,感觉不错。

说明:一个bug需要调整,当markdown文档内url包含1个_时,下文的显示样式错乱,需要在debug theme 格式定义文件中,将Delimiters中的_字符删除即可。

GitHub上使用markdown

markdown有不同的解析引擎,GitHub上,应该使用哪一个?对此,GitHub帮助文档上有详细介绍, 简要介绍如下:

说明:下文的基本语法,主要是kramdown解析引擎支持的markdown语法。(甚至有些语法,不是标准markdown语法,而是kramdown的扩展语法)

更新:GitHub现在使用GitHub Flavored Markdown 的Markdown语法,其在标准的markdown语法上,进行了一些改进。

如何查询GitHub支持的Markdown

几个步骤:

基本语法(doing…)

对于标准markdown的语法规则,markdown官网已经有了完善的介绍,当然也有中文版的markdown语法(简体中文)

本文这一部分,主要是针对kramdown解析引擎来说的,建议阅读官网的介绍:语法规则细则快速查询手册(为什么介绍kramdown支持的语法?因为我在GitHub上指定的是kramdown解析引擎)

下文将对自己常用到的语法,进行简要介绍,以备查阅。

链接

包括:图片、文档、其他网页链接;

如何约束图片的大小?思考:markdown主要实现HTML的功能,而图片大小是CSS负责,因此,markdown可能不能约束图片大小。

代码

公式

表格

表格,给一个样例:

| Left-Aligned  | Center Aligned  | Right Aligned |
| :------------ |:---------------:| -----:|
| col 3 is      | some wordy text | $1600 |
| col 2 is      | centered        |   $12 |
| zebra stripes | are neat        |    $1 |

效果如下:

Left-Aligned Center Aligned Right Aligned
col 3 is some wordy text $1600
col 2 is centered $12
zebra stripes are neat $1

疑问:复杂的表格,能不能做?

markdown-to-html

Top