在编辑器输入这样的语句
出来后确实这样的,序号没有继续排列
在编辑器输入这样的语句
出来后确实这样的,序号没有继续排列
终于碰到属于我专业领域的问题了....
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 程序员吗?请看这份秘籍 😂
ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。
WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。
GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。
为成为自由职业者在家办公而努力吧!
Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。
Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。
本标签主要用于分享网络空间安全专业的学习笔记
HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。
人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。
Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
安全永远都不是一个小问题。
程序员是从事程序开发、程序维护的专业人员。
Postman 是一款简单好用的 HTTP API 调试工具。
PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。
Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。
Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。
我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。
Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。
你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!
Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。
星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网