第01节 Markdown标题

2018-08-09 15:16 更新

  Html 中通常使用<H1>-<H6>这六种标签对来表示六级标题。所以在 Markdown 标准语法中也定义了标题。

标题分类

  Markdown 语法中,标题有两种:Atx 方式和 Setext 方式。但本程序只支持 Atx 方式。

  因为在实现折叠功能时易导致冲突,且易和水平线相混淆,故本程序屏蔽了 Setext 方式的标题。

  • Atx 方式的标题

  以#符开头,共六级,一级就以一个#开头,二级就以两个#开头(写成##),其余依此类推。

  下面是个三级的 Atx 方式的标题:

###这是个三级标题
  • Setext 方式的标题

  在标题文本下紧跟一行至少三个减号(有些 Markdown 编辑器中也支持等于号)。

  本程序因为要支持编辑时六级标题折叠功能,如果同时支持这两种标题格式,容易导致折叠区混乱,所以不支持这种方式!

关于标题的折叠功能

  在编辑区,六级标题都支持折叠/展开;编译成 Html 文档后,仍然支持折叠/展开。

  Html 中的折叠/展开是利用 JavaScript 脚本实现的(引用了 jQuery 库)。所以如果浏览器禁用 JavaScript 脚本的话,它是不起作用的。

关于标题层级的断裂与格式化

  如果一个三级标题后紧跟一个五级标题,本程序就认为这两个标题之间出现了“断裂”。

  断裂的标题会被自动降级到比前一个标题高一级的水平。

  例如:一个三级标题下紧跟一个五级标题,则该五级标题会被自动格式化为四级标题。

  但如果一个三级标题后紧跟一个一级标题,则并不算“断裂”——这个一级标题会被视为“终结”了三级标题的控制区域。

  当标题层级出现断裂的情况时,会自动缩减标题层级。如下所示:

#标题1
#标题2
##标题3
#标题4
###标题5
######标题6

  标题1到标题4都是连续的,它们或者与前一个标题同级,或者比前一个层级高一级。

  标题3→标题4也没问题,标题4的层级比标题3低(无论低几级都没问题)。

  但标题5相对于标题4就出现了断裂,因为标题5比标题4高2级!

  而标题六比之标题5也是断裂的。

  实际编译时,会被自动格式化为下面这个样子:

#标题1
#标题2
##标题3
#标题4
##标题5
###标题6

  出现断裂的标题会被格式化成前一标题的直接下级。如上例所示:

  标题5是三级,而标题4是一级,于是将标题5格式化为二级;

  标题5被格式化为二级后,发现标题6是六级,于是将标题六格式化成三级。

  我们还可以试试在一个空白文件中按下面这样书写:

######标题1
######标题2
######标题3
######标题4
######标题5
######标题6

  格式化后会变成这样:

#标题1
##标题2
###标题3
####标题4
#####标题5
######标题6

怎样避免编译后的 Html 页面中的标题自动折叠?

  在主菜单中选中编译Html 编译选项→勾选<H1>...<H6> 不折叠即可。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号