Markdown是一种轻量级标记语言,内容是代码与文本的混合,类似且兼容HTML,但语法比HTML简单。学起来很简单,基本没有什么障碍,学会了用它来写静态网页来展示自己有代码的帖子,既简明扼要,看起来也比较高大上。
1、文件设置
用三个减号组成的行作为开始标记与结束标记, 称为YAML元数据块(YAML meta data block), 块后面必须用空行分隔。 元数据块中可以用“设置属性名: 设置属性值”的办法设置属性, 用缩进表示属性内容,用上下对齐的行表示多项列表。 常用属性有title(标题)、author(作者)、date(日期)、output_format(输出格式)等。示例代码如下:
---
title: 'This is the title: it contains a colon'
author:
- name: Author One
affiliation:
- &id Shared affiliation
- Additional affiliation
- name: Author Two
affiliation: University of Nowhere
email: [email protected]
date: "`r Sys.Date()`" #获取当前时间,格式化时间 r format(Sys.time(), '%Y年%m月%d日')
tags: [nothing, nothingness]
package: PackageName
output:
BiocStyle::pdf_document
css:
- style_p.css
- test.css
theme: default #样式
highlight: tango
toc:yes
toc_depth: 2 #目录包含的章节层级数
toc_float: True #全文添加目录
number_sections:yes #目录自动编号
code_folding: hide #代码折叠
toc_float: #目录作为侧边栏
collapse: true #仅展开章节第一层级
smooth_scroll: true #通过导览窗格跳跃时页面有平滑滚动过程显示
vignette: >
%\VignetteIndexEntry{Vignette Title}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
abstract: | #"|"表示摘要的开始,无结束标识符
This is the abstract.
It consists of two paragraphs.
---
2、标题:
在行首插入1到6个#,对应标题1到6阶,示例代码如下:
#这是H1
##这是H2
###这是H3
显示效果:
这是H1
这是H2
这是H3
3、无序列表:
用星号、加号、减号作为列表标记,后面必须接一个空格,缩减表示层级关系,示例代码如下:
* 无序列表行1
* 无序列表行2
* 无序列表行3
显示效果:
- 无序列表行1
- 无序列表行2
- 无序列表行3
4、有序列表:
直接表数据或者字母,缩减表示层级关系,示例代码如下:
1. ordered list
2. item 2
i) sub-item 1
A. sub-sub-item 1
显示效果:
- ordered list
- item 2
i) sub-item 1
A. sub-sub-item
5、文字格式:
用星号或下划线包围的需要修饰的内容,示例代码如下:
*内容* #斜体
**内容** #加粗
==标记文本==
~~删除文本~~
Cu^2+^ #上标
HO~2~ #下标
显示效果:
内容 #斜体
内容 #加粗
==标记文本==
删除文本
Cu2+
HO2
6、插入空格
段落的开头或内容中间插入空格,示例代码如下:
#细空格
#一个空格
#两个空格
#四个空格
显示效果:
细空 格
一个空 格
两个空 格
四个空 格
7、插入代码段
代码段分为两种情况,一种是单行引用代码,另一种是多行代码块,示例代码如下:
`seq(1:10)` #插入单行代码
\```
seq(1:10)
rep(c(1:10),times=2) # “ ``` ” 符号前面的 “\”是为了这里能在此展示添加的,真正使用的时候不需要
\```
显示效果:
这是单行引用代码: seq(1:10)
多行代码块显示如下:
seq(1:10)
rep(c(1:10),times=2)
8、引用
标记符“ >” 对内容进行引用,且套引用根据层次加上不同数量的“ >” ,结尾加“ >” 表示引用结束。一个多行引用可只在第一行加“ >” 。示例代码如下:
> 1.1 这是第一行列表项。
>> 2.1 这是第二行列表项。
>>> - 这是第三行列表项。
> ### 下面是引用代码的例子:
> ```bash
> return shell_exec("echo $input | $markdown_script");
> ```
显示效果:
1.1 这是第一行列表项。
2.1 这是第二行列表项。
- 这是第三行列表项。
下面是引用代码的例子:
return shell_exec("echo $input | $markdown_script");
9、插入图片
在页面中插入图片,示例代码如下:
#中括号里是图片的名字,小括号里是图片的本地路径或网络链接
![圆点图](https://upload-images.jianshu.io/upload_images/23667126-bb4e0e1886196ae3.png?imageMogr2/auto-orient/strip|imageView2/2/w/446/format/webp)
显示效果:
10、插入链接
在页面中插入链接分为两种情况,一是将内容里可点击插入链接,二是将链接隐藏起来替换为可点击的文字,示例代码如下:
#第一种情况
这里有一个链接 指向另一个帖子。
#第二种情况,中括号里是链接的名字可直接点击就会跳转。
这又是一个帖子[R数据分组且合并重复的列](https://www.jianshu.com/p/ca08ce0bcd61)
显示效果:
这里有一个链接 https://www.jianshu.com/p/63f75254bec3 指向另一个帖子。
这又是一个帖子R数据分组且合并重复的列。
11、跳转
页面中设置跳转功能,就像写文章一样,引用被人的文献会有引用符号,点击一下就会跳转到参考文献的地方,示例代码:
#1、标题设置锚点,如下所示
1、文件设置 {#anchor} #在想跳转到标题处设置锚点,与标题题目之间可以没有空格
[1、文件设置](#anchor) #锚点按钮,点击这个按钮就会跳转到上面设置的标题,[]中括号内容随意且必须有
#2、网页设置锚点
[R数据分组且合并重复的列](https://www.jianshu.com/p/ca08ce0bcd61){#refer-anchor-1}:https://www.jianshu.com/p/ca08ce0bcd61 #在想跳转到标题处设置锚点
R数据分组且合并重复的列[1](#refer-anchor-1) #锚点按钮,点击上标1就会跳转到设置的页面处
#3、注脚
markdown[^1]能够很好的展示代码。#在想设置注脚锚点的地方设置
[^1]:markdown是一款轻量级的标记语言。#上面注脚的按钮,一般放置在文章最后。
显示效果:
情景1:正常情况下如果在标题“1、文件设置”出设置了锚点“{#anchor}”,点击此处的 “ 1、文件设置 ” 按钮就可以跳转到可以标题处,但中无法展示这个效果。
情景2:正常情况下如果在链接“R数据分组且合并重复的列”处设置过锚点,点击此处的“R数据分组且合并重复的列1” 中上标1
便会跳转过去,但中无法展示这个效果。
情景3:markdown[1]能够很好的展示代码。注脚的按钮放在文章最后面,点击可以回到此处。
12、插入表格
在页面中差异表格,代码如下:
#用 "|" 作为分割线,“:”定义对齐方式,单元格对齐方式根据冒号位置来确定,冒号左代表左对齐,冒号在右代表右对齐,两边都有代表中间对齐
| header1 | header2 | header3 |
|:----------|:---------:|----------:|
|123 | 456 | 789|
显示效果:
header1 | header2 | header3 |
---|---|---|
123 | 456 | 789 |
13、分割线
可以分别用三个以上的星号、减号、底线来建立一条分隔线,行内不能有其他内容,不过可以在星号或是减号中间插入空格。示例代码如下:
* * *
***
*****
- - -
-----------
显示效果:
14、任务清单
创建任务列表及是否勾选状态,示例代码如下:
- [ ] 任务一 :未做任务 #未勾选状态
- [x] 任务二 :已做任务 #已勾选状态
显示效果:
15、内容注释
注释掉的内容不会在浏览器中显示,markdown用中括号加冒号表示注释,后面接要注释的内容,示例代码如下:
[//]: # (该行内容不会在浏览器中显示)
[^_^]: # (该行内容不会在浏览器中显示)
[//]:<> (该行内容不会在浏览器中显示)
[comment]:<> (该行内容不会在浏览器中显示)
最后
今天就分享到这里,现在是不是觉得markdown写起来很简单,赶紧用起来吧!如果大家想系统学习也可以去官网看教程,附上官网链接https://rmarkdown.rstudio.com/lesson-1.html,方便大家去学习。希望此帖对你有所帮助,各位看官们帮忙点赞再走吧!!!
-
markdown是一款轻量级的标记语言。 ↩