在编辑器输入这样的语句
出来后确实这样的,序号没有继续排列
在编辑器输入这样的语句
出来后确实这样的,序号没有继续排列
终于碰到属于我专业领域的问题了....
Markdown 文本:
1. 第一个列表项
```
围栏代码块标记 ` 符号要和列表项的第一个非空字符(第字)对齐
```
2. 继续第二个列表项
将渲染为:
围栏代码块标记 ` 符号要和列表项的第一个非空字符(第字)对齐
这涉及到 Markdown 语法规范(CommonMark)中列表项和围栏代码块的解析。
首先明确一点:Markdown 会被解析为一颗树,其中列表项是一种块级容器(block container)节点,它可以包含其他的块级(block-level)元素节点。接下来我们了解一下列表项的构成:
0
,子列表或者放到块引用中才会有缩进)*
、-
或者 +
;有序列表 1
这样的(本例中是 1
).
或者 )
(本例中是 .
)1
)第一个子列表项
)(以上只是大致的规则,还有很多细节规则比如空列表项、用 tab 缩进时如何计算缩进、有序列表开始序号、序号长度等等)
本案例简单说就是列表项的后续子节点需要和第一个子节点缩进进行对齐,即围栏代码块想要成为项 1 的子节点需要这样写:
(Markdown AST https://spec.commonmark.org/dingus/)
如果代码块缩进没有对齐的话,案例会被分成三个块级元素:列表、代码块、列表:
这就是 CommonMark 规范的意义:能清晰地说明如何处理 Markdown 文本,没有二义性。
为什么我会知道这些?
我正在做一款实现 CM、GFM 规范的 Markdown 引擎 —— Lute(预计下个月会将社区的 Markdown 处理切换到该引擎上,等跑一段时间稳定点就正式开源),已经被这些规则折磨两个多月了。你也要成为像我一样专业的 Markdown 程序员吗?请看这份秘籍 😂
终于碰到属于我专业领域的问题了....
Markdown 文本:
1. 第一个列表项
```
围栏代码块标记 ` 符号要和列表项的第一个非空字符(第字)对齐
```
2. 继续第二个列表项
将渲染为:
围栏代码块标记 ` 符号要和列表项的第一个非空字符(第字)对齐
这涉及到 Markdown 语法规范(CommonMark)中列表项和围栏代码块的解析。
首先明确一点:Markdown 会被解析为一颗树,其中列表项是一种块级容器(block container)节点,它可以包含其他的块级(block-level)元素节点。接下来我们了解一下列表项的构成:
0
,子列表或者放到块引用中才会有缩进)*
、-
或者 +
;有序列表 1
这样的(本例中是 1
).
或者 )
(本例中是 .
)1
)第一个子列表项
)(以上只是大致的规则,还有很多细节规则比如空列表项、用 tab 缩进时如何计算缩进、有序列表开始序号、序号长度等等)
本案例简单说就是列表项的后续子节点需要和第一个子节点缩进进行对齐,即围栏代码块想要成为项 1 的子节点需要这样写:
(Markdown AST https://spec.commonmark.org/dingus/)
如果代码块缩进没有对齐的话,案例会被分成三个块级元素:列表、代码块、列表:
这就是 CommonMark 规范的意义:能清晰地说明如何处理 Markdown 文本,没有二义性。
为什么我会知道这些?
我正在做一款实现 CM、GFM 规范的 Markdown 引擎 —— Lute(预计下个月会将社区的 Markdown 处理切换到该引擎上,等跑一段时间稳定点就正式开源),已经被这些规则折磨两个多月了。你也要成为像我一样专业的 Markdown 程序员吗?请看这份秘籍 😂
Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖。
用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/
OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。
据说 99% 的性能瓶颈都在数据库。
Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。
jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。
小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。
由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!
沉迷游戏伤身,强撸灰飞烟灭。
Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。
webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。
心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。
GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。
提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。
SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。
Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。
uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。
Postman 是一款简单好用的 HTTP API 调试工具。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。
确认过眼神后的灵魂连接,站在链在!