首页 > 其他分享 >深入了解下 Markdown 的原理

深入了解下 Markdown 的原理

时间:2024-08-01 15:29:32浏览次数:21  
标签:Markdown 渲染 标题 语法 HTML 深入 原理 其实

前面讲了 Markdown 的基本语法,常见的 Markdown 编辑器,在继续讲解其他知识之前,有必要稍微深入了解一下 Markdown 与 HTML 的关系。

HTML 简介

什么是 HTML?其实它也是标记语言的一种,但是比 Markdown 更重量级一点,语法更复杂一点。

举例,在 Markdown 中,想要表示某段文字是标题,用的是井号 #​,而在 HTML 中,则要用 <h1>​,例如:

<h1>一级标题</h1> 
<h2>二级标题</h2> 
<h3>三级标题</h3> 
<h4>四级标题</h4> 
<h5>五级标题</h5> 
<h6>六级标题</h6>

如果要斜体,用 HTML 要这样写:

<i> 这是斜体字 </i>

如果是图片,用 HTML 要这样写:

<img src="https://image.peterjxl.com/wife.jpg" alt="Smiley face" width="42" height="42">

HTML 的语法大致就是这样,比起 Markdown 复杂了不少。

HTML 其实也是纯文本,编程人员用 HTML 设计好网页,经过浏览器的渲染后,就是我们平时上网时看到的网页了。

是不是和 Markdown 很像?写作者用 Markdown 写文章,经过 Markdown 编辑器渲染,得到带格式的文章。

Markdown 与 HTML

Markdown 其实和 HTML 有着千丝万缕的关系,Markdown 在渲染后其实就是 HTML 格式!可以说,Markdown 就是脱胎于 HTML 的。

反过来,在 Markdown 中是可以直接用大部分的 HTML 的,例如使用 <i>​表示斜体,<img>​ 表示图片...

为此,我们甚至可以在 Markdown 中,通过使用 HTML 来嵌入音频、视频(包括 bilibli,youtube)、地图、Office 文档等等,非常灵活。

例如我就有一些文章就嵌入了音频,点击就可以直接发音:

复杂表格也是同理,有时候想要合并某些单元格,但是 Markdown 不支持,因此可以用 HTML 的 <table>​ 标签。

最后

如果你不了解 HTML,那么可以先忽略这篇博客,后续要用到了再说。

其实了解了本篇之前的几篇教程,基本上就可以上手使用 Markdown 了,高级技巧用到再学也不迟。

标签:Markdown,渲染,标题,语法,HTML,深入,原理,其实
From: https://www.cnblogs.com/PeterJXL/p/18336790

相关文章

  • String的equals方法的实现原理以及==跟equals的区别
    publicclassStringTest05{publicstaticvoidmain(String[]args){Strings1="hello";Strings2=newString("hello");System.out.println(s1==s2);System.out.println(s1.equals(s2));}}此代码......
  • 立创EDA专业版原理图纸LOGO更改
    立创EDA专业版原理图纸LOGO更改概述:刚开始使用立创EDA的时候,查找过如何去修改原理图的LOGO,但时间一长就忘记了,导致今天需要更新的时候,又重头再来,浪费了很多时间。于是在重新找到方法之后,特此记录。以下为创建原理图模板并修改LOGO的步骤:步骤1:新建元件库(若之前没有)此处的......
  • 02.计算器存储器的原理
    02.计算器存储器的原理目录介绍01.什么是存储器1.1了解存储器是什么1.2存储器类型02.存储器系统设计2.1存储器分层设计2.2存储器层次结构2.3高速缓存设计思想2.4虚拟内存访问内存03.存储器类型3.1按照材质划分3.2按芯片类型划分3.3内存vsCPU3.4......
  • [babel] babel的工作原理
    Babel是什么Babel是一个通用的多功能的JavaScript编译器。主要用于将采用ECMAScript2015+语法编写的代码转换为向后兼容的JavaScript语法,以便能够运行在当前和旧版本的浏览器或其他环境中。常见的用途有:语法转换通过Polyfill方式在目标环境中添加缺失的功能(通过引......
  • Java并发(十六)一文搞懂Java 线程池原理
    简介什么是线程池线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。为什么要用线程池如果并发请求数量很多,但每个线程执行的时间很短,就会出现频繁的创建和销毁线程。如此一来,会大大降低系统的效率,可能频繁创建和销毁线程的时间......
  • 使用Postman测试API短轮询机制:深入指南
    短轮询是一种Web开发中常用的技术,用于在客户端和服务器之间定期检查更新。与长轮询或WebSockets等技术相比,短轮询简单易实现,但可能带来较多的HTTP请求,从而增加服务器负担。Postman作为一个强大的API测试工具,可以用来模拟和测试短轮询机制。本文将详细介绍如何在Postman中测......
  • 【C++】构造函数的深入学习
    一、初始化列表C++提供初始化列表语法用来初始化属性语法:构造函数():属性1(值1),属性2(值2)...{}classPeople{public://传统初始化操作Person(inta,intb,intc){A=a;B=b;C=c;}//初始化列表初始化属性Pers......
  • RPC核心原理
    什么是RPCRPC就是远程过程调用RPC的作用屏蔽远程调用和本地调用的区别,让我们感觉就是调用本地项目内的方法。隐藏底层网络通信的复杂性,让我们更专注于业务逻辑。RPC通信流程一个完整的RPC会涉及哪些步骤呢?在调用方程序中,RPC框架根据调用的服务接口提前生成动态代理实现类......
  • 手写MyBatis 重要基本原理框架
    1.手写MyBatis重要基本原理框架@目录1.手写MyBatis重要基本原理框架1.1第一步:IDEA中创建模块1.2第二步:资源工具类,方便获取指向配置文件的输入流1.3第三步:定义SqlSessionFactoryBuilder类1.4第四步:分析SqlSessionFactory类中有哪些属性1.5第五步:定义JDBCTransaction1.6......
  • MQTT原理及案例
    MQTT协议是当今世界上最受欢迎的物联网协议,没有之一。MQTT协议为设备提供了稳定、可靠、简单易用的通信基础,截至目前通过MQTT协议连接的设备已经过亿,广泛应用于IoT、M2M等领域。本篇将从最基础的知识开始,向您讲解MQTT协议的原理与应用。目前MQTT主流版本有MQTT3.1.1......