转跳到内容

【或许应该发个红包】穷人/笨比/懒人的排版选择:markdown


推荐贴

有个苏联笑话,大概是说:[数据删除]展示了如何治理国家,[数据删除]展示了如何不治理国家,而[数据删除]则展示了国家是不需要治理的。同盟已经有不少大佬教大家怎么排版了,今天呢,我想跟大家聊聊怎么不排版,或者说聊聊我们是如何不需要排版的。

当然不是说真就不排版了,而是打算安利一个尽可能能自动化排版的工具——Markdown。肯定有很多人知道甚至在用Markdown,嘛,这篇文章不是给会用Markdown的人准备的,就是一个安利罢了。反正看安利不要钱,你买不了吃亏买不了上当,要是看不会或者觉得垃圾,还可以来一起水贴啊(不是

下面是本文的正文部分,后附本文的Markdown源代码供参阅。

Markdown简介

众所周知,论坛里有不少高端大气并且上档次的排版方式,主要都是基于表格的,可以用一些十分酷炫的操作实现一些十分酷炫的效果,相关内容可以参考新手保护区教学的排版部分以及表格魔法教室,其实笔者也不太会(笑),在此不再赘述了。现在问题来了,有什么能拯救像笔者这样就是学不会表格的笨比兼懒癌晚期呢?

Markdown: 我来!

看来Markdown朋友已经自告奋勇想要出战了,那么请你先介绍介绍自己吧其实还不是笔者我自己写的介绍

1 什么是Markdown

可能已经有很多人听说过Markdown了,但是对于那些第一次听说这个东西的人,这里就先介绍一下什么是Markdown。知道怎么用的人干什么读本文嘛

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 ——百度百科

说人话就是,Markdown提供了一种方法来标注文档的各个组件,这样就能用合适的方法自动渲染出来以完成排版。比如说,想告知电脑这一行是个标题,就在行首打几个#号就好(当然这串#后面实际上要跟一个空格)。翻译Markdown的排版程序一看见行首的这串#,就知道这一行是个标题,然后就自动套用上正确的格式了。

这一切都是自动化的,你不必费心去菜单里点来点去,甚至都不用去拿鼠标。双手留在键盘上,格式就标注好了。这样写文档时的思绪就不会中断,还能得到一个看上去不算丑的排版效果。只要把注意力放在文档本身上就好,是不是很吸引人呢?

2 怎么用Markdown

当然了,Markdown本身只是一套表示文档结构的语言,就是说只是规定了不同的文档元素用什么符号表示罢了,实际渲染还是要靠专门的程序加以渲染的。而同样的文档元素,不同的渲染程序渲染上的格式也不尽相同,有的效果很好看很美观,而有的只是显示了文档的结构。

最推荐的编辑器当然还是VS code。VScode的一些扩展还允许将排版结果输出成HTML文件,从而用word或浏览器打开,或者打印。
不想安装软件?试试在线Markdown编辑器,如这个CMD在线编辑器等等,甚至腾讯文档也支持Markdown。
甚至还有一些编辑Markdown浏览器插件,如markdown here等。特别的,你在markdown here的官网上也可以找到一个Markdown的沙盒,可以进行编辑。
总的来说,markdown有很多不同平台上的编辑器产品,它们各具特色。

当然了,论坛里是不支持Markdown的。读者可以找一个编辑器渲染出来,拷贝到编辑框里发布即可。当然,记得看一下预览,有一些特殊的格式论坛的编辑框不兼容。

如果觉得某种编辑器的效果不美观,可以换一个编辑器试试看!

3 怎么写Markdown

这是今天的重点。Markdown姑且是一种语言,它的核心当然是语法。闲话不多说,比起说它有多简单,不如展示给各位看,我们直接开始吧。

段落

最基本的,文档少不了一段一段的话。正文是不需要标注的,任何没有标注的文本都会视作正文。

正文可以分段。两个段落之间空一行即可。如果只是想像一个回车那样换行而不是分成泾渭分明的两段,那就在回车前面加上两个空格。这样,回车前后就分成了两小段。
像这样。本文的源代码那里,上面那一句的句号后面有两个空格,而不是空了一整行。

可以对文本做加粗、倾斜、删除线等等处理。在要倾斜的文本两侧加一个*号,在粗体文本周围加两个*号。用下划线_,也有同样的效果。但是,它俩不能混用。删除线则是在文本周围用两个波浪线~~围起来。
什么,又加粗又倾斜怎么办?1+2=3,所以要用3个*号或_号。

*示例:斜体* -> 示例:斜体
**示例:粗体** -> 示例:粗体
***示例:粗斜体*** -> 示例:斜体+粗体
~~示例:删除线~~ -> 示例:删除线

标题

标题前面简单介绍过了,这里再重复一遍。标题需要另起一行,有6级。想打出几级标题就输入几个#号,然后敲一个空格,输入你的标题。

语法:
#### 示例:四级标题

示例:四级标题

一至三级标题想必各位已经见过了,不再一一举例。

引用

引用是整段整段标注的。在段首输入一个>即可。输入几个>,就表示这是几级引用。

语法: >>>>>>引用套娃

一级引用

二级

三级

可以无限套娃

分割线

另起一段输入至少三个-即可。记得跟上一段要空一行,否则上一段会变成标题。

语法:
---
效果↓


超链接

这个格式就有点复杂了,它长这样:

[A](B)

由两部分组成:方括号括起来的A和圆括号括起来的B。A是显示出来的文本,B是超链接指向的地方。这个可以是本机的一个文件,或者一个网址。

示例:[同盟首页](https://sstm.moe)
效果:同盟首页

列表

列表由两种:有序列表和无序列表。先介绍有序列表。列表项的语法是数字+.+空格+内容,如

1. 内容
456. 内容

前面的数字是多少并不重要,只要是个数字就行,Markdown会自动修改成正确的数字。但一般来说,建议用全是1.或按次序从1开始,逐项加一。上面列表的效果是

  1. 内容
  2. 内容

无序列表相比有序列表,仅仅是.前面从数字换成了特定的符号-而已。如

- 内容
- 内容

效果是

  • 内容
  • 内容

利用列表还可以管理待办事项。看例子:

- [ ] 待办事项1
- [x] 待办事项2

1. [ ] 待办事项1
2. [x] 待办事项2

注意空格。上面这些空格都是必要的,缺少会导致格式判定失败。上面两种用法的效果都是:

  •  待办事项1
  •  待办事项2

注意到,不论是有序列表还是无序列表,变成待办事项的形式之后都一样。但是,如果没有列表,就不会进行待办事项的判定。

表格

表格的语法也稍复杂,不过比超链接的好懂。我先上一个例子,这是另一个文档的一个数据表,随便拿来一用:

|语言|运行1|运行2|运行3|运行4|运行5|平均值|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|C|109|110|125|125|109|115.6|
|Java|130|124|124|120|124|124.4|
|Python|12488|10812|11393|12041|12116|11770.0|
|Haskell|20859|17500|19859|18328|16875|18684.2|

这是效果:

语言 运行1 运行2 运行3 运行4 运行5 平均值
C 109 110 125 125 109 115.6
Java 130 124 124 120 124 124.4
Python 12488 10812 11393 12041 12116 11770.0
Haskell 20859 17500 19859 18328 16875 18684.2

(我也不知道为什么这个Haskell跑的这么慢,别问,问就是写出了bug)

简单说就是三部分:表头,分割线和数据行。表头跟数据行的格式一样,就是相邻的列用|隔开即可。分割线是很重要的,它一可以像渲染器说明这是一个表格,二可以指明这一列的对其方式。这个方式是通过冒号指明的,左侧有就是左端对齐,右侧有是右端对其,两侧都有就是居中。默认情况,就是两端都没有冒号,是左对齐。另外,分割线中的横杠-,个数具体是多少都行,没必要非得是一个。看例子:

|无冒号|左侧|右侧|两侧|
|-----|:---|---:|:--:|
1111111111|11111111|11111111|111111111111

无冒号 左侧 右侧 两侧
1111111111 11111111 11111111 111111111111

上例中,通过适当地增减横杠的个数,可以让列分割线尽可能整齐一点,看上去更美观。


以上这些内容,应该可以应付大多数文档编辑的情况了。实际上Markdown还有更多功能这里没有写出来,如插入图片、数学公式、代码片段(猜猜看我在本文是如何展示源代码的?)、流程图等等。有兴趣的读者可以自行搜索markdown语法。

以上!

 

以上是本文的全部内容。下面附上本文的源代码。

剧透

# Markdown简介

众所周知,论坛里有不少高端大气并且上档次的排版方式,主要都是基于表格的,可以用一些十分酷炫的操作实现一些十分酷炫的效果,相关内容可以参考[新手保护区教学的排版部分](https://sstm.moe/topic/178645-%E3%80%90%E2%98%85%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E4%BA%86%E8%A7%A3%E4%B8%80%E4%B8%8B%E2%98%85%E3%80%91%E2%80%94%E2%80%94%E8%90%8C%E6%96%B0%E6%8C%87%E8%B7%AF%E7%89%8C%E2%80%94%E2%80%94-%E6%9B%B4%E6%96%B0%E6%97%A5%E6%9C%9F~20191031/)以及[表格魔法教室](https://sstm.moe/topic/186212-%E8%81%8A%E8%81%8A%E6%8E%92%E7%89%88%E5%90%A7~/),其实笔者也不太会(笑),在此不再赘述了。现在问题来了,有什么能拯救像笔者这样就是学不会表格的笨比兼懒癌晚期呢?

Markdown: 我来!

看来Markdown朋友已经自告奋勇想要出战了,那么请你先介绍介绍自己吧~~其实还不是笔者我自己写的介绍~~

## 1 什么是Markdown

可能已经有很多人听说过Markdown了,但是对于那些第一次听说这个东西的人,这里就先介绍一下什么是Markdown。~~知道怎么用的人干什么读本文嘛~~

>Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。  ——百度百科

说人话就是,Markdown提供了一种方法来*标注*文档的各个组件,这样就能用合适的方法自动渲染出来以完成排版。比如说,想告知电脑这一行是个标题,就在行首打几个#号就好(当然这串#后面实际上要跟一个空格)。翻译Markdown的排版程序一看见行首的这串#,就知道这一行是个标题,然后就自动套用上正确的格式了。

这一切都是自动化的,你不必费心去菜单里点来点去,甚至都不用去拿鼠标。双手留在键盘上,格式就标注好了。这样写文档时的思绪就不会中断,还能得到一个看上去不算丑的排版效果。只要把注意力放在文档本身上就好,是不是很吸引人呢?

## 2 怎么用Markdown

当然了,Markdown本身只是一套表示文档结构的语言,就是说只是规定了不同的文档元素用什么符号表示罢了,实际渲染还是要靠专门的程序加以渲染的。而同样的文档元素,不同的渲染程序渲染上的格式也不尽相同,有的效果很好看很美观,而有的只是显示了文档的结构。

最推荐的编辑器当然还是VS code。VScode的一些扩展还允许将排版结果输出成HTML文件,从而用word或浏览器打开,或者打印。  
不想安装软件?试试在线Markdown编辑器,如这个[CMD在线编辑器](https://www.zybuluo.com/mdeditor)等等,甚至腾讯文档也支持Markdown。  
甚至还有一些编辑Markdown浏览器插件,如[markdown here](https://markdown-here.com/)等。特别的,你在markdown here的官网上也可以找到一个Markdown的沙盒,可以进行编辑。  
总的来说,markdown有很多不同平台上的编辑器产品,它们各具特色。

当然了,论坛里是不支持Markdown的。读者可以找一个编辑器渲染出来,拷贝到编辑框里发布即可。当然,记得看一下预览,有一些特殊的格式论坛的编辑框不兼容。

如果觉得某种编辑器的效果不美观,可以换一个编辑器试试看!

## 3 怎么写Markdown

这是今天的重点。Markdown姑且是一种语言,它的核心当然是语法。闲话不多说,比起说它有多简单,不如展示给各位看,我们直接开始吧。

### 段落

最基本的,文档少不了一段一段的话。正文是不需要标注的,任何没有标注的文本都会视作正文。

正文可以分段。两个段落之间空一行即可。如果只是想像一个回车那样换行而不是分成泾渭分明的两段,那就在回车前面加上两个空格。这样,回车前后就分成了两小段。  
像这样。本文的源代码那里,上面那一句的句号后面有两个空格,而不是空了一整行。

可以对文本做加粗、倾斜、删除线等等处理。在要倾斜的文本两侧加一个\*号,在粗体文本周围加两个\*号。用下划线\_,也有同样的效果。但是,它俩不能混用。删除线则是在文本周围用两个波浪线\~~围起来。  
什么,又加粗又倾斜怎么办?1+2=3,所以要用3个*号或_号。

`*示例:斜体*` -> *示例:斜体*  
`**示例:粗体**` -> **示例:粗体**  
`***示例:粗斜体***` -> ***示例:斜体+粗体***  
`~~示例:删除线~~` -> ~~示例:删除线~~

### 标题

标题前面简单介绍过了,这里再重复一遍。标题需要另起一行,有6级。想打出几级标题就输入几个\#号,然后敲一个空格,输入你的标题。

语法:  
`#### 示例:四级标题`

#### 示例:四级标题

一至三级标题想必各位已经见过了,不再一一举例。

### 引用

引用是整段整段标注的。在段首输入一个\>即可。输入几个>,就表示这是几级引用。

语法:
`>>>>>>引用套娃`

>一级引用
>>二级
>>>三级
>>>>可以无限套娃

### 分割线

另起一段输入至少三个-即可。记得跟上一段要空一行,否则上一段会变成标题。

语法:  
`---`  
效果↓

---

### 超链接

这个格式就有点复杂了,它长这样:

`[A](B)`

由两部分组成:方括号括起来的A和圆括号括起来的B。A是显示出来的文本,B是超链接指向的地方。这个可以是本机的一个文件,或者一个网址。

示例:`[同盟首页](https://sstm.moe)`  
效果:[同盟首页](https://sstm.moe)

### 列表

列表由两种:有序列表和无序列表。先介绍有序列表。列表项的语法是数字+.+空格+内容,如

`1. 内容`  
`456. 内容`

前面的数字是多少并不重要,只要是个数字就行,Markdown会自动修改成正确的数字。但一般来说,建议用全是`1.`或按次序从1开始,逐项加一。上面列表的效果是

1. 内容
2. 内容

无序列表相比有序列表,仅仅是.前面从数字换成了特定的符号-而已。如

`- 内容`  
`- 内容`

效果是

- 内容
- 内容

### 待办事项

利用列表可以管理待办事项。看例子:

`- [ ] 待办事项1`  
`- [x] 待办事项2`

`1. [ ] 待办事项1`  
`2. [x] 待办事项2`

注意空格。上面这些空格都是必要的,缺少会导致格式判定失败。上面两种用法的效果都是:

- [ ] 待办事项1
- [x] 待办事项2

注意到,不论是有序列表还是无序列表,变成待办事项的形式之后都一样。但是,如果没有列表,就不会进行待办事项的判定。

### 表格

表格的语法也稍复杂,不过比超链接的好懂。我先上一个例子,这是另一个文档的一个数据表,随便拿来一用:

`|语言|运行1|运行2|运行3|运行4|运行5|平均值|`  
`|:-:|:-:|:-:|:-:|:-:|:-:|:-:|`  
`|C|109|110|125|125|109|115.6|`  
`|Java|130|124|124|120|124|124.4|`  
`|Python|12488|10812|11393|12041|12116|11770.0|`  
`|Haskell|20859|17500|19859|18328|16875|18684.2|`

这是效果:

|语言|运行1|运行2|运行3|运行4|运行5|平均值|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|C|109|110|125|125|109|115.6|
|Java|130|124|124|120|124|124.4|
|Python|12488|10812|11393|12041|12116|11770.0|
|Haskell|20859|17500|19859|18328|16875|18684.2|

简单说就是三部分:表头,分割线和数据行。表头跟数据行的格式一样,就是相邻的列用|隔开即可。分割线是很重要的,它一可以像渲染器说明这是一个表格,二可以指明这一列的对其方式。这个方式是通过冒号指明的,左侧有就是左端对齐,右侧有是右端对其,两侧都有就是居中。默认情况,就是两端都没有冒号,是左对齐。另外,分割线中的横杠-,个数具体是多少都行,没必要非得是一个。看例子:

`|无冒号|左侧|右侧|两侧|`  
`|-----|:---|---:|:--:|`  
`1111111111|11111111|11111111|111111111111`

|无冒号|左侧|右侧|两侧|
|-|:-|-:|:-:|
1111111111|11111111|11111111|111111111111

上例中,通过适当地增减横杠的个数,可以让列分割线尽可能整齐一点,看上去更美观。

---

以上这些内容,应该可以应付大多数文档编辑的情况了。实际上Markdown还有更多功能这里没有写出来,如插入图片、数学公式、代码片段(猜猜看我在本文是如何展示源代码的?)、流程图等等。有兴趣的读者可以自行搜索markdown语法。

以上!

 

,由Mr.K 018修改
将源代码从引用内容改为隐藏内容,便于阅读
注释
苍云静岳 苍云静岳 100.00节操 糖~
ラムダデルタ ラムダデルタ 20.00节操 感谢大佬 mark一下~
链接到点评

我发现一个问题,那就是编辑框中显示的样子跟最后发上去的样子是不同的

1 小时前, Mr.K 018 说道:

上面两种用法的效果都是:

  •  待办事项1
  •  待办事项2

比如这一段,我在编辑的时候是能看到左侧有复选框的,发出来就见不到了

这个故事告诉我们发出来之前要通读一遍阅览

链接到点评
4 分钟前, Mr.K 018 说道:

我发现一个问题,那就是编辑框中显示的样子跟最后发上去的样子是不同的

比如这一段,我在编辑的时候是能看到左侧有复选框的,发出来就见不到了

这个故事告诉我们发出来之前要通读一遍阅览

应该是被过滤掉了,编辑器最右边有预览功能

链接到点评
9 分钟前, 夜灵 说道:

yysy,这比手排难懂:NEKOMIMI_PARADISE_27:

原来我还比不上笨比吗:mx028:

 

这个主要是你记熟了之后,可以完全不管菜单上的各种图标啥的,而且有一说一Markdown的语法其实不难记,我是一次把一堆东西扔在这才看上去可怕的,你会发现这个语法里列表真的长得像一个列表,分割线真的像一个分割线(因为你可以输进去好多-,就有内味了),表格真的像一个表格

反倒是我没说的那些扩展语法,什么流程图啊,LaTeX写数学公式啥的才是真的难懂

Mr.K 018得到了穿越资格,兴奋过度从而砸坏了键盘.-2节操

链接到点评
1 分钟前, Mr.K 018 说道:

这个主要是你记熟了之后,可以完全不管菜单上的各种图标啥的,而且有一说一Markdown的语法其实不难记,我是一次把一堆东西扔在这才看上去可怕的,你会发现这个语法里列表真的长得像一个列表,分割线真的像一个分割线(因为你可以输进去好多-,就有内味了),表格真的像一个表格

反倒是我没说的那些扩展语法,什么流程图啊,LaTeX写数学公式啥的才是真的难懂

记语法!?:NEKOMIMI_PARADISE_22:

我还是当一个手排的咸鱼吧:NEKOMIMI_PARADISE_26:

夜灵在华山论剑时惨中面目全非脚.-2节操

链接到点评
2 分钟前, 夜灵 说道:

记语法!?:NEKOMIMI_PARADISE_22:

我还是当一个手排的咸鱼吧:NEKOMIMI_PARADISE_26:

那怎么办嘛(笑

想让程序知道格式该怎么排,说白了只有两种方式,要么在文档里告诉他(aka 标记语言),要么在文档外告诉他(命令行/鼠标点击图标啥的)

Markdown的设计者认为你去点击图标的过程其实就是中断了你的思绪,人毕竟不是计算机,思路断掉了有时候就再也没有了。所以它们要尽可能简化文档编写者在这方面花费的时间和脑力,就诞生了Markdown

其实Markdown挺香的,非常香,我现在都不怎么用Word了(笑

一开始会有点痛,过段时间就慢慢舒服起来了哟

Mr.K 018在前往新手村的路上遇见了劫道的风神烈破,收取过路费-3节操

链接到点评
4 分钟前, Mr.K 018 说道:

那怎么办嘛(笑

想让程序知道格式该怎么排,说白了只有两种方式,要么在文档里告诉他(aka 标记语言),要么在文档外告诉他(命令行/鼠标点击图标啥的)

Markdown的设计者认为你去点击图标的过程其实就是中断了你的思绪,人毕竟不是计算机,思路断掉了有时候就再也没有了。所以它们要尽可能简化文档编写者在这方面花费的时间和脑力,就诞生了Markdown

其实Markdown挺香的,非常香,我现在都不怎么用Word了(笑

一开始会有点痛,过段时间就慢慢舒服起来了哟

打代码的繁琐程度应该比点图标多吧:mx072:

虽然代码是能实现很多图标实现不了的功能就是了...

链接到点评
5 分钟前, 夜灵 说道:

打代码的繁琐程度应该比点图标多吧:mx072:

虽然代码是能实现很多图标实现不了的功能就是了...

其实恰好相反

代码的话,要看语法的复杂程度,并不是说标记语言就一定是那种难懂的代码,实际上HTML是给浏览器看的,所以不会在乎复杂程度

而md的语法简单很多,不信你去看正文的源代码,绝大多数内容还是文字。仅仅是“- ”这种程度的话,还真比点图标快

另外,正因为Markdown简单,它能实现的功能确实不如HTML,也不如Word(当然了,你Word能做代码高亮么(笑))

Mr.K 018在游玩时被热情的工作人员拉进主题公园,在参与游戏之后获得奖励4节操。

链接到点评
5 分钟前, Mr.K 018 说道:

其实恰好相反

代码的话,要看语法的复杂程度,并不是说标记语言就一定是那种难懂的代码,实际上HTML是给浏览器看的,所以不会在乎复杂程度

而md的语法简单很多,不信你去看正文的源代码,绝大多数内容还是文字。仅仅是“- ”这种程度的话,还真比点图标快

另外,正因为Markdown简单,它能实现的功能确实不如HTML,也不如Word(当然了,你Word能做代码高亮么(笑))

别说了,我连word能实现啥功能都不知道,只会做表格和改字体:NEKOMIMI_PARADISE_27:

链接到点评
3 分钟前, 夜灵 说道:

别说了,我连word能实现啥功能都不知道,只会做表格和改字体:NEKOMIMI_PARADISE_27:

其实我觉得从表格就能看出来Word设计理念跟md的不一样

Word的表格功能很多,你可以自由灵活地调整表格的格式、框线和大小,但即使你不相干,也得自己干一遍,不然效果能差到影响阅读;md这边表格就一种形式,但是语法比较简单,你也不用考虑什么,写好表格里的内容就行了

有点像定制一个东西跟去商店里买大路货的区别。你去定制一个东西,可以把它设计的十分精美,比大路货强多了;但大路货强在便宜,还不费心

当你不太在乎你买来东西的精美程度的时候(比如你比起版式更注重文档内容,版式有就行了的时候),大路货就比定制的好东西香

链接到点评
1 分钟前, Mr.K 018 说道:

其实我觉得从表格就能看出来Word设计理念跟md的不一样

Word的表格功能很多,你可以自由灵活地调整表格的格式、框线和大小,但即使你不相干,也得自己干一遍,不然效果能差到影响阅读;md这边表格就一种形式,但是语法比较简单,你也不用考虑什么,写好表格里的内容就行了

有点像定制一个东西跟去商店里买大路货的区别。你去定制一个东西,可以把它设计的十分精美,比大路货强多了;但大路货强在便宜,还不费心

当你不太在乎你买来东西的精美程度的时候(比如你比起版式更注重文档内容,版式有就行了的时候),大路货就比定制的好东西香

原来如此,有时间我用用试试看吧:mx078:

链接到点评
游客
此主题已关闭。
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款