草庐IT

markdown基本语法

palien 2023-03-28 原文

Markdown基本语法

Markdown是一种轻量级标记语言,由约翰·格鲁伯(John Gruber)在2014年创建。文档后缀为.md & .markdown,可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。

标题

Markdown标题有两种标记格式。

使用 = 和 - 标记一级标题和二级标题

标记格式:

这是一级标题
===

这是二级标题
---

展示效果:

使用 # 标记

在文字前面加上 # 和空格可以表示标题,一级标题对应一个 # ,二级标题对应两个 # ,以此类推,一共可以表示6级标题。

标记格式:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
####### 七个 # 就不起作用了

展示效果:

段落格式

换行/空行

Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是 <kbd>两个空格 </kbd> + <kbd>ENTER </kbd>

标记格式:

这是用两个空格加上回车换行  
这是下一行文字

展示效果:

Markdown 的空行需要在文本里面留一个空行。

标记格式:

这是用段落后面的一个空行表示留一行

这是空行后面的文字

展示效果:

加粗

标记格式:

**要加粗的文字**
__要加粗的文字__

展示效果:

or 使用通用方法:<kbd>CTRL </kbd> + <kbd>B </kbd>

斜体

标记格式:

*要倾斜的文字*
_要倾斜的文字_

展示效果:

or 使用通用方法:<kbd>CTRL </kbd> + <kbd>I </kbd>

斜体加粗

标记格式:

***要倾斜并加粗的文字***
___要倾斜并加粗的文字___

展示效果:

删除线

标记格式:

~~要删除的文字~~

展示效果:

下划线

标记格式:

<u>要带下划线的文字</u>

展示效果:

分隔线

可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。
也可以在星号或是减号中间插入空格。

标记格式:

***
* * *
*****
- - -
-----------------

展示效果:

脚注

脚注是对文本的补充说明。

标记格式:

[^要注明的文本]
创建脚注格式类似于这样[^百度]
[^百度]:百度一下,你就知道

展示效果:

图片

普通格式

标记格式:

![alt 属性文本](图片地址)
![alt 属性文本](图片地址 "可选标题")

注意:

  • 开头一个感叹号(英文状态下) !
  • 接着一个方括号,里面放上图片的替代文字
  • 接着一个普通括号,里面放上图片的地址,最后还可以使用引号包住并加上可选的"title"属性文字

使用实例:

展示效果:

or 使用通用方法:直接截图(复制)-粘贴

其他格式

  • 还可以像网页那样对图片网址使用变量

    标记格式:

    这个链接用 1 作为网址变量 [秋日美景][1].
    然后在文档的结尾为变量赋值(网址)
    
    [1]: https://tse2-mm.cn.bing.net/th/id/OIP-C.KQodVqSDZuoYwCK4v9w-_gHaEK?w=301&h=180&c=7&r=0&o=5&pid=1.7
    

    展示效果:

  • Markdown还不能指定图片的高宽属性,可以借助普通的img标签进行设置

    标记格式:

    <img src="https://tse2-mm.cn.bing.net/th/id/OIP-C.KQodVqSDZuoYwCK4v9w-_gHaEK?w=301&h=180&c=7&r=0&o=5&pid=1.7" width="50%">
    

    展示效果:

链接

普通链接

标记格式:

[连接名称](链接地址)
[百度搜索](https://www.baidu.com/)
OR
<链接地址>
<https://www.baidu.com/>

展示效果:

高级链接

可以通过变量来设置一个链接,变量赋值在文档末尾进行。

标记格式:

这个链接用 1 作为网址变量 [Google][1]
这个链接用 百度 作为网址变量 [百度][百度]
然后在文档的结尾为变量赋值(网址)

  [1]: http://www.google.com/
  [百度]: http://www.baidu.com/

展示效果:

表格

Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
设置对齐方式:

  • -: 设置内容和标题栏居右对齐。
  • :- 设置内容和标题栏居左对齐。
  • :-: 设置内容和标题栏居中对齐。

标记格式:

| 左对齐  | 右对齐 | 居中对齐 |
|  :----  | ----: | :----:  | 
| 单元格  | 单元格 | 单元格   |
| 单元格  | 单元格 | 单元格   |

展示效果:

列表

Markdown 支持有序列表和无序列表。

有序列表

有序列表在文字前面加上数字,在添加一个空格。
支持使用 <kbd>TAB </kbd> or 四个 <kbd>空格 </kbd> 进行缩进。

1. 第一项
   1. 第一小项
2. 第二项
   1. 第二小项
      1. 第三级别
3. 第三项

展示效果:

无序列表

无序列表在文字前面加一个星号(*)、加号(+)或是减号(-),在添加一个空格。
支持使用 <kbd>TAB </kbd> or 四个 <kbd>空格 </kbd> 进行缩进。

标记格式:

* 第一项
  * 第二级
    * 第三级
* 第二项
* 第三项

+ 第一项
+ 第二项
+ 第三项

- 第一项
- 第二项
- 第三项

展示效果:

区块

Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号。

标记格式:

> 区块引用
> 区块换行
>> 二级区块
>>> 三级区块

展示效果:

区块中使用列表:

> 区块中使用列表
> 1. 第一项
> 2. 第二项
> - 第一项
> - 第二项

展示效果:

列表中使用区块:

- 第一项
    > 列表中使用区块
    区块换行
    可以不使用 > 符号
- 第二项
  > 再次使用区块
  > 换行
  > 使用 > 符号

展示效果:

代码

Markdown支持代码书写.

一段代码标记

可以使用```包裹一段代码,并指定一种语言。

标记格式:

print(
    "Hello world!"
)

展示效果:

行间代码

如果是段落上的一个函数或片段的代码可以用反引号把它包起来:

需要在行间引入一段 print()函数

代码区块

代码区块使用 4 个空格或者一个制表符(Tab 键):

    <?php
    echo 'baidu';
    function test() {
        echo 'test'
    }

展示效果:

Markdown高级技巧

支持HTML元素

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。

目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等。

标记格式:

使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑。

展示效果:

转义

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符。

标记格式:

**文本加粗**
\*\*正常显示星号\*\*

展示结果:

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\   反斜线
`   反引号
*   星号
_   下划线
{}  花括号
[]  方括号
()  小括号
#   井字号
+   加号
-   减号
.   英文句点
!   感叹号

公式

当你需要在编辑器中插入数学公式时,可以使用两个美元符 $$ 包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。

标记格式:

$$
\mathbf{V}_1 \times \mathbf{V}_2 =  \begin{vmatrix} 
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
\frac{\partial X}{\partial u} &  \frac{\partial Y}{\partial u} & 0 \\
\frac{\partial X}{\partial v} &  \frac{\partial Y}{\partial v} & 0 \\
\end{vmatrix}
${$tep1}{\style{visibility:hidden}{(x+1)(x+1)}}
$$

展示效果:

有关markdown基本语法的更多相关文章

  1. ruby - 树顶语法无限循环 - 2

    我脑子里浮现出一些关于一种新编程语言的想法,所以我想我会尝试实现它。一位friend建议我尝试使用Treetop(Rubygem)来创建一个解析器。Treetop的文档很少,我以前从未做过这种事情。我的解析器表现得好像有一个无限循环,但没有堆栈跟踪;事实证明很难追踪到。有人可以指出入门级解析/AST指南的方向吗?我真的需要一些列出规则、常见用法等的东西来使用像Treetop这样的工具。我的语法分析器在GitHub上,以防有人希望帮助我改进它。class{initialize=lambda(name){receiver.name=name}greet=lambda{IO.puts("He

  2. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  3. ruby - 覆盖相似的方法,更短的语法 - 2

    在Ruby类中,我重写了三个方法,并且在每个方法中,我基本上做同样的事情:classExampleClassdefconfirmation_required?is_allowed&&superenddefpostpone_email_change?is_allowed&&superenddefreconfirmation_required?is_allowed&&superendend有更简洁的语法吗?如何缩短代码? 最佳答案 如何使用别名?classExampleClassdefconfirmation_required?is_a

  4. ruby 语法糖 : dealing with nils - 2

    可能已经问过了,但我找不到它。这里有2个常见的情况(对我来说,在编程Rails时......)用ruby​​编写是令人沮丧的:"astring".match(/abc(.+)abc/)[1]在这种情况下,我得到一个错误,因为字符串不匹配,因此在nil上调用[]运算符。我想找到的是比以下内容更好的替代方法:temp="astring".match(/abc(.+)abc/);temp.nil??nil:temp[1]简而言之,如果不匹配,则简单地返回nil而不会出错第二种情况是这样的:var=something.very.long.and.tedious.to.writevar=some

  5. ruby - Ruby 语法糖有 "rules"吗? - 2

    我正在学习Ruby的基础知识(刚刚开始),我遇到了Hash.[]method.它被引入a=["foo",1,"bar",2]=>["foo",1,"bar",2]Hash[*a]=>{"foo"=>1,"bar"=>2}稍加思索,我发现Hash[*a]等同于Hash.[](*a)或Hash.[]*一个。我的问题是为什么会这样。是什么让您将*a放在方括号内,是否有某种规则可以在何时何地使用“it”?编辑:我的措辞似乎造成了一些困惑。我不是在问数组扩展。我明白了。我的问题基本上是:如果[]是方法名称,为什么可以将参数放在括号内?这看起来几乎——但不完全是——就像说如果你有一个方法Foo.d

  6. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  7. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  8. ruby - 如何让Ruby捕获线程中的语法错误 - 2

    我正在尝试使用ruby​​编写一个双线程客户端,一个线程从套接字读取数据并将其打印出来,另一个线程读取本地数据并将其发送到远程服务器。我发现的问题是Ruby似乎无法捕获线程内的错误,这是一个示例:#!/usr/bin/rubyThread.new{loop{$stdout.puts"hi"abc.putsefsleep1}}loop{sleep1}显然,如果我在线程外键入abc.putsef,代码将永远不会运行,因为Ruby将报告“undefinedvariableabc”。但是,如果它在一个线程内,则没有错误报告。我的问题是,如何让Ruby捕获这样的错误?或者至少,报告线程中的错误?

  9. ruby -::在 Ruby 语法中是什么意思? - 2

    这个问题在这里已经有了答案:WhatisRuby'sdouble-colon`::`?(12个答案)关闭8年前。什么是::?@song||=::TwelveDaysSong.new

  10. ruby-on-rails - 使用 HTTParty 的非常基本的 Rails 4.1 API 调用 - 2

    Rails相对较新。我正在尝试调用一个API,它应该向我返回一个唯一的URL。我的应用程序中捆绑了HTTParty。我已经创建了一个UniqueNumberController,并且我已经阅读了几个HTTParty指南,直到我想要什么,但也许我只是有点迷路,真的不知道该怎么做。基本上,我需要做的就是调用API,获取它返回的URL,然后将该URL插入到用户的数据库中。谁能给我指出正确的方向或与我分享一些代码? 最佳答案 假设API为JSON格式并返回如下数据:{"url":"http://example.com/unique-url"

随机推荐