初学者必看Markdown 使用指南

2023-11-09

什么是 Markdown ?

Markdown 文档遵循一种特定的语法,容易阅读和写作。它们是纯文本,所以能够通过电脑上的任何文本编辑器来创建。然后这些文档能够转换成网页 —— 而网页是用一个叫做 HTML 的语言标记创建的。

Markdown 只是一种不必(即使知道怎么做)写 HTML 代码就能够创建网页的方式。实际上,如果你不转换成 HTML 的话,Markdown 甚至是个对纯文本格式化的好方法。有人曾这样对我描述 Markdown :

“ 它不是所见即所得,而是所见即所意 ”。

然而,Markdown 不只是一个简单的格式化体系,它也是一个纯文本格式转化到 HTML 的一个软件工具。

这就是为什么语法很重要。如果你想在网页上起个标题,Markdown 将会基于你标题前面的字符来创建。Markdown 的一些语法示例如截图所示:

Markdown to HTML conversion

所以我怎样才能使纯文本文件转换成 HTML 格式呢?

John Gruber 的 Markdown 是一个运行在命令行上的 Perl 脚本。也就是说,它可以读取你创建的 Markdown 文本并用它来构建网页。

由于有许多著名的编辑器 可以为你做这个转换,我在这里尽量避免使用命令行。不仅如此,许多这样的编辑器会让你写下你的文本,并同时向你展示网页的样子(称为渲染)。

Markdown 编辑器总的来说设置了两帧:左边部分是你要写你文本的地方,右边部分是用 HTML 语言显示给你格式化后文本的样子:

Most Markdown editors have two panes to write and preview the text

当你用它满意地完成你的写作,只需保存 Markdown 文件即可。就像这样,之后一旦你需要编辑和修改的时候,你就会用到它。文件保存后,你可以用编辑器将 Markdown 文档导出为 HTML 格式的文档。

编辑器用你的 Markdown 作为参考创建网页。你的 Markdown 文档在导出时不会修改,你仍然拥有源文档,同时创建一个独立的、新的 HTML 文档(网页),你可以把它放到一个网页服务器上。

注意:许多 Markdown 编辑器也可以将你的 Markdown 文档导出为其他格式,比如 ​​.doc​​、​​.docx​​ 和 ​​.pdf​​。之后你可以了解这些高级设置和你可能需要的额外软件。

Markdown 基础语法

为了让 Markdown 新用户快速了解,我将把这部分内容限制在我最常使用的语法上。我相信这些将是最有帮助的 - 你可以在现在就提高工作效率,同时了解更多关于 Markdown 以后能为你做什么。

写标题

我经常使用 ​​#​​ 字符来表示标题。这里有六个等级:

复制

1.# 一级标题
2.## 二级标题
3.### 三级标题
4.#### 四级标题
5.##### 五级标题
6.###### 六级标题

还有一种标题类型,是在文本下使用下划线。我很少使用这种类型的标题,我只限于使用两种:一种是使用 ​​=​​ 字符表示的双下划线,生成 ​​H1​​ 标题。一种是使用 ​​-​​ 字符表示的单下划线,生成 ​​H2​​ 标题:

复制

1.一级标题
2.===============
3.
4.二级标题
5.---------------

段落

段落被空行隔开(确保段落之间有一个空行)。首行不要缩进。在 Markdown 里用 ​​Tab​​ 键或者空格键缩进有着不同的目的和作用。

段落是一个文本块,不应该用空格键和 ​​Tab​​ 键来缩进。它可以有一行或者多行。要结束这一段另起一段,点两下回车键;段落通过一个空行分开。

换行

请记住,对于段落,必须用空行来分隔它们,这要通过按两次回车键来实现。Markdown 对此很严格。

Markdown 不支持 “强制插入换行符hard-wrapped” 或者 “固定行长度fixed-line-length” 段落。那就是说,单击回车键一次将不会强制文本换到新的一行。它可能在编辑窗口显示,但是 HTML 格式下不显示。

然而,有时你可能需要拆分段落或者换行。Markdown 确实有一种方法可以做到,但是它一开始看起来可能有一点奇怪:换行是通过用两到多个空格键然后点一次回车键完成的。

这里有一个短诗的范例。每行以两个空格结束。最后一行,由于是这个小节的结束,没有额外的空格。因为它是这个诗句(段落)的结束,我双击回车键两次:

复制

1.Baa, baa black sheep,  
2.Have you any wool?.  
3.Yes, sir. Yes, sir.  
4.Three bags full.

在一行的最后加两个空格来创建一个换行,可能需要时间去习惯。

水平线

水平线非常适合将文本拆分为多个部分。

用三个或更多的破折号 ​​-​​ ,下划线 ​​_​​ ,或者星号 ​​*​​ 来做水平线,像这样:

复制

1.---
2.
3.***
4.
5.___

你甚至可以在字符之间输入空格:

复制

1.- - -

在文章和报告中我不经常使用水平线,但是在日记、系统日志和课堂笔记中对我很有用。

用加粗和斜体来强调文本

当你想让一个单词或者短语脱颖而出,引起注意,你可以让它加粗或者斜体显示。斜体和加粗文本可以在两种方式中任选其一。第一种是用星号 ​​*​​ 将其包括,第二种是用下划线 ​​_​​ 的方式。

使一个单词或者短语斜体显示,用一个下划线或者星号来括住文本。使一个单词或者短语加粗,使用两个下划线或者星号来括住文本:

复制

1.用星号来显示 *斜体* 。
2.
3.用下划线来显示 _斜体_ 。
4.
5.用星号来显示 **加粗** 。
6.
7.用下划线来显示 __加粗__ 。

记住两边使用相同的字符。单词或短语的一面是星号,另一面是下划线,将不会生效。相同字符必须在单词或者短语的两边。

块引用

块引用被用来直接引用。如果你正在写博客,你想重复本杰明•富兰克林说过的话,你可以使用块引用。

一个右尖括号被用来指定块引用:

复制

1.> 这是块引用。
2.
3.>> 如果你想进一步再次块引用,使用两个右尖括号。

在 Markdown 中添加超链接

超链接非常酷。在基础版的 Markdown 语言有三种方式创建超链接,在这里我只讲两种:普通连接和自动连接。

第三种链接被称为参考链接,在 Markdown 语言的基础版和高级版都支持。我想让你快速入门。你可以在准备好的时候找找参考链接的资料。

普通链接可以让你链接到各种各样的网站。网站名称或者你要使用的短语被放置在中括号 ​​[]​​ 中。真实的链接地址在小括号 ​​()​​ 中。

复制

1.现在去看看 [Linux 中国](https://linux.cn) 。

自动连接通过用尖括号 ​​<>​​ 括住链接地址。这个链接是一个实际的地址(可以是网址或者电子邮件地址)。拼写出来的链接被转换到 HTML 的时候,就变成了有效的链接。

复制

1.<http://automatic-link-to-url.com/>
2.
3.<name@emailaddress.com>

当你想在文本中拼写出网址时,这很有用:

在 Markdown 中添加图片

链接图片几乎与链接网站一样。网站链接和图片链接微小的不同是,图片链接以感叹号 ​​!​​ 开始。

图片名称或者图片描述放置在中括号 ​​[]​​ 里。实际链接放置在小括号 ​​()​​ 里。

你可以像这样嵌入图片:

复制

1.![alternate text](./images/image.jpg)

这儿有一个示例图像链接。这是一个示例链接,没有这个图片,但是这是个好例子,显示了实际链接应该有的样子:

复制

1.![a picture of bill](./images/my_photo_of_me.jpg)

列表

制作列表有很多原因。它们可能用来作为代办事项、大纲中的主题元素、组装项目中的明细栏等等。列表有两种主要类型:无序列表和有序列表。

无序列表没有编号;这些就是我们在许多文档中所看到的列表项。有序列表是有编号的。

要创建一个有序(有编号的)列表,只需在每行用一个数字开始,像这样:

复制

  1.  1. 项目 一。
  2.  2. 项目 二。
  3.  3. 项目 三。

无序列表没有编号,但要在列表每个项目的开始使用一个星号 ​​*​​ 、一个加号 ​​+​​ ,或者一个减号 ​​-​​ 。我偏向于使用一个星号或者减号,你可以选择适合你的:

复制

1.* 项目 一。
2.+ 项目 二。
3.- 项目 三。

子项目可以通过缩进被添加到有序和无序列表中,像这样:

复制

 1.   1. 子项目 一
 2.   2. 子项目 二

Markdown 语法速查表

这是一个简短的 Markdown 语法列表为你作为参考,这个列表已经在本小结中介绍。

如果你决定使用 Markdown 作为写作工具,你会发现 Markdown 会让写作变得更加简单。

结语

Markdown 可以做比我描述的更多的事情。我写作的很大一部分是用我在这里介绍的 Markdown 语法完成的 - 而这些是我最常使用的项目,即使是在更复杂的项目中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初学者必看Markdown 使用指南 的相关文章

  • Hackage 使用哪种 Markdown 方言来呈现 README?

    Hackage 已经能够显示 Markdown 自述文件一阵子 https www well typed com blog 2015 05 recent hackage improvements 但正如人们可以看到的 例如Hackage 页
  • Angular - 使用 \n 渲染 Markdown

    我正在尝试在 Angular 应用程序中渲染 Markdown 我正在使用ngx markdown https github com jfcere ngx markdown与 Angular 5 一起使用 效果很好 但是 我必须升级到 An
  • 在 Markdown 中更改美人鱼主题

    除了代码之外 我在 Markdown 文档中使用 mermaid 进行基本图表渲染 我发现这个在线编辑器 https mermaidjs github io mermaid live editor 在预览时对其进行编辑很有用 这建议更改主题
  • 使用 TWIG Markdown 转义 HTML 代码

    我正在开发一个博客评论包 我想让用户使用 Markdown 发布一些代码 我正在使用 symfony2 TWIG 和KNP Markdown 捆绑包 https github com KnpLabs KnpMarkdownBundle用于解
  • Flask 和 Jinja2 使用漂白剂,图像 HTML 无法正常工作

    我一直在为自己的一个项目创建一个小博客 只有我作为用户才能访问发布页面 我之前一直在关注 Flask 教程 该教程的最终产品使您能够使用漂白剂和 Markdown 发布 HTML 并通过 Jinja2 模板传递它 In my models
  • R Markdown 在一个项目中找不到 .bib 文件,而在另一个项目中工作正常

    Rmd 在文件 x 中引用良好 单击 knit 将引用添加到我的引用列表后 但是在文件 y 中 还有一个 rmd 文件设置如下 title Swans bibliography library bib output html documen
  • 无法在 GitHub 上呈现标头

    这是我的README md在 GitHub 存储库中 This is a Header This is not a Header 这两行都呈现为纯文本 第一个应该呈现为标题 我记得它之前是这样的 我不知道我的浏览器 macOS 上的 Chr
  • 带有特定乳胶模板的 bookdown

    我非常相信 Rmarkdown 和 bookdown 是内容出版的未来 但是一些出版商使用特定的 LaTeX 模板 并且为了提交手稿 他们需要在该精确的模板中使用它 例如 请参阅此施普林格手稿模板 http resource cms spr
  • 如何将 GitHub wiki 存储为源代码的一部分

    GitHub 以及许多git服务器 例如 GitLab 提供项目级 wiki 其中通常包含 markdown md 文件被存储并形成 好吧 你的项目的wiki 这将是so cool如果有一种方法可以将您的 wiki 存储为主项目源代码的一部
  • 如何在 Bitbucket wiki 上的 Markdown 中转义“@”

    谁知道如何逃脱 BitBucket wiki 上 markdown 中的字符 就我而言 后面紧跟着恰好是某人的用户名的单词 即 blahblah 到目前为止我尝试过的 64 但这些都不起作用 屏蔽被忽略 当我使用字符代码时 它只是按原样输出
  • 是否有 Swift 代码的 Github markdown 语言标识符?

    我在用着https jbt github io markdown editor https jbt github io markdown editor在线文档工具 我想知道是否有一个标识符可以识别 swift 语法元素 谢谢 swift s
  • 是否可以在 Multimarkdown 中执行“制表符”?

    有没有办法在Multimarkdown语法中实现制表符 我的目标是这样的 项目 选项卡 gt 值 其他项目 选项卡 gt 值 还有一项 gt 价值 我可以意识到通过table https stackoverflow com a 405896
  • 如何在在线编辑器中查看在线 Markdown 文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个在线 Markdown 文档 例如 www example com README md 我想要
  • PHP 替换,但替代替换字符串

    好的 这就是我想做的 我正在尝试使用 PHP 来开发本质上是tinyMarkdown 实现的子集 不值得使用完整的 Markdown 类 我本质上需要执行 str replace 但每次出现针时都会交替替换替换字符串 以便处理开始和结束 H
  • .rmd 文件的访问名称并在 R 中使用

    我正在编织一个名为MyFile rmd 我如何访问该字符串MyFile在编织过程中并将其用于 在 YAML 标头的标题部分中使用 在后续的 R 块中使用 title r rmarkdown metadata title author My
  • 停止pandoc自动添加id

    我在用Pandoc对Markdown的扩展 http pandoc org MANUAL html pandocs markdown来生成 HTML 以下降价 test specificId test2 test3 生成以下 html h1
  • 关于:链接(Markdown 页面)上的blank#blocked

    在 Markdown 页面中 Microsoft TFS Wiki 我尝试创建 A 标签file link a href file txt a 点击 Chrome 后 我得到了 about blank blocked 这不是 Chrome
  • 如何将 Markdown 文档批量转换为 HTML?

    我正在用 Markdown 编写一些文档 并为文档的每个部分创建一个单独的文件 我希望能够一次性将所有文件转换为 HTML 但我找不到其他人尝试过同样的事情 我使用的是 Mac 所以我认为一个简单的 bash 脚本应该能够处理它 但我从未在
  • 循环中的knitr模板和子文档

    圣诞节前我之前问过跨多个 knitr 文档的单一样式表 https stackoverflow com questions 20370584 single style sheet across multiple knitr document
  • 用于渲染 html 子集的 Django templatetag

    我有一些 html 在本例中是通过 TinyMCE 创建的 我想将其添加到页面中 但是 出于安全原因 我不想只打印用户输入的所有内容 有谁知道模板标签 最好是过滤器 只允许呈现 html 的安全子集 我意识到 Markdown 和其他人就是

随机推荐

  • 学习笔记-Matlab算法篇-插值算法

    插值算法 01拉格朗日多项式插值 进而得到拉格朗日多项式 Matlab求解 matlab中没有自带的求解函数 需要自行实现 function f Language x y x0 syms t if length x length y n l
  • 《王道》数据结构之绪论(一)

    数据结构入门之绪论 一 大纲 一 数据结构 1 1 基本概念 1 2 数据结构三要素 1 2 1 逻辑结构 1 2 2 物理结构 1 2 3 数据运算 二 算法 2 1 基本概念 2 1 1 五个特性 2 1 2 优秀算法的标准 2 2 算
  • 高防服务器和高防CDN

    现如今无论是高防服务器还是高防CDN的应用都十分广泛 但是大家对高防服务器和 高防CDN的作用理解的都比较模糊 因为无论是百度还是论坛等地方搜索的话都会弹出一 大堆高防服务器和高防CDN的连接导致大家想了解高防服务器和高防CDN的欲望下降甚
  • java 打印map后的输出

    java 打印map后的输出 syso直接打印parameters map类型 输出 password Ljava lang String 1080882d username Ljava lang String 69504d30 表示一维数
  • QT 创建使用动态库

    一 创建并编译库 创建项目 选择Library下的C Library 2 选择shared library 3 此时创建的项目的 pro文件如下 QT gui TEMPLATE lib DEFINES Data LIBRARY DEFINE
  • 看看Android的触摸事件分发

    当我们的手指从触摸屏幕上的各种View 开始到这个点击事件的结束到底经历了什么 我们来简单分析下 之所以是简单分析 是因为这里完全不涉及hal层 事件类型 触摸事件会有三种类型 int action MotionEventCompat ge
  • 硬件设计——外围电路(晶振电路)

    硬件设计之晶振电路 为什么要用晶振 晶振电路由何组成 晶振电路中其电容的作用 在日常的电路设计中 我们经常会用到晶振电路 所以我们就要首先先提一下什么是晶振 这样才能理解晶振电路 为什么要用晶振 晶振的作用是为系统提供基本的时钟信号 通常一
  • 基于金融大数据的特征提取与趋势预测系统(一)2021-06-30

    项目分工和项目需求初步了解 在本项目的分工中我负责的是前端展示部分 前端展示的两个部分 1 登陆及注册 实现用户登陆本系统 以及注册成为用户的功能 以保证用户在使用本系统时的安全性 2 股票可视化模块 数据可视化主要旨在借助于图形化手段 清
  • TypeScript的数组和元组

    数组 在TypeScript中数组的定义与JavaScript中别无二致 但是JavaScript中的数组具有很大灵活性 即数组内可以存储任意类型数据 那么在TypeScript中能不能做到呢 答案是肯定的 const arr string
  • Java学习笔记17——多态与抽象

    多态与抽象 多态 多态是什么 多态的前提和体现 多态中成员访问的特点 多态的好处和弊端 多态中的转型 分类 抽象类 什么是抽象类 抽象的关键字 抽象类的特点 抽象类的成员特点 多态 多态是什么 多态是同一个对象 在不同时刻表现出来的不同形态
  • 【华为机试刷题笔记】HJ41-称砝码

    题目描述 现有n种砝码 重量互不相等 分别为 m1 m2 m3 mn 每种砝码对应的数量为 x1 x2 x3 xn 现在要用这些砝码去称物体的重量 放在同一侧 问能称出多少种不同的重量 注 称重重量包括 0 数据范围 每组输入数据满足 1
  • 自学Python爬虫学到什么程度?就可以去找工作了?

    确立目标 了解需求 首先我们要先定位自己的目标 当然我们先以爬虫工程师来做个说明 去招聘网上看看需求都有哪些 直接做个拉勾网爬虫 结果了 仔细看看 我们可以得出以下几点 1 python 不是唯一可以做爬虫的 很多语言都可以 尤其是 jav
  • 从零开发区块链应用(七)--gin框架参数获取

    文章目录 一 获取query参数 二 获取form表单参数 三 获取JSON参数 四 获取path参数 五 参数绑定 一 获取query参数 query指的是URL 后面携带的参数 例如user info username 张三 passw
  • 大白话Java版 TCP Socket编程案例 清晰明了

    最近学习网络的过程中 了解到了应用借助socket接口在tcp上建立连接 发送请求的过程 遂做个记录 文章目录 整体流程 服务端 1 创建套接字绑定端口 2 等待接收请求 4 获取请求 ConnectSocket建立 6 读请求并处理 8
  • TCP拥塞控制简单理解

    1 TCP的控制机制 序号 TCP通过序号可以实现一下几个功能 1 确认应答处理 发送端收到接收端的确认应答 可以得知某些数据包被接收端接收了 2 顺序控制 接收端可以利用序号对接收到的报文进行排序 3 重发控制 如果发送端没有收到确认应答
  • localStorage的高阶用法

    原文 https mp weixin qq com s VBTAWVMAUq822dwNA1A2kg const config type localStorage 本地存储类型 localStorage sessionStorage pre
  • vue项目使用element、vant组件库修改不了css样式 深度修改组件样式

    在修改element vant默认样式时发现用 important都没有效果 解决方案 第一种 直接把style的scoped去掉
  • 人工智能中非平衡数据处理方法、欠采样、过采样讲解(简单易懂)

    非平衡数据产生现象及原因 非平衡数据是人工智能安全中经常遇到的问题 一方面 在采集和准备数据时 由于安全事件发生的可能性不同等因素的影响 使得训练数据存在非平衡 另一方面 机器学习模型的攻击者也可能利用非平衡数据学习所产生的分类效果在多数类
  • springboot集成积木报表JimuReport,打成war包放到tomcat下运行报错,启动过滤器异常

    springboot集成积木报表JimuReport 打成war包放到tomcat下运行报错 启动过滤器异常 这里用的tomcat8 5 这个问题真是找了半天都没解决 真是栓Q啊 把war包放到tomcat9 0下运行 就正确了 一定注意
  • 初学者必看Markdown 使用指南

    什么是 Markdown Markdown 文档遵循一种特定的语法 容易阅读和写作 它们是纯文本 所以能够通过电脑上的任何文本编辑器来创建 然后这些文档能够转换成网页 而网页是用一个叫做 HTML 的语言标记创建的 Markdown 只是一