一篇文章终结对Markdown写作的讨论

字数 2665阅读 849

有很长一段时间,我都在研究如何用Markdown来写作。这种方式真的非常简洁,能够把更多注意力集中在写作本身上,我也采取了很多的方法来学习这种方式,你写了很多篇类似的文章,直到最近才有较为深刻一点的感受,决定写一篇文章终结对这个问题的讨论。

1. 什么是Markdown

1.1一个比喻

Markdown写成的md文件,就好比程序的源代码,在不同的编译器里边会被运行不同的结果,我们真正需要保存的是这个md文件本身,这样即使在不同的环境里边,也能够得到我们想要的结果。

1.2官方解释

书上是这样说的:

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。

2.我为什么要用Markdown写作

2.1语音写作的最好方式

因为我时常需要用语音进行写作,而语音进行写作的时候,就是要避免频繁的键盘和鼠标操作,这样能最大的提高写作的效率,使用Markdown最大限度的减少键盘和鼠标的操作。

2.2手机写作的需要

有很多时候,我需要用碎片化的时间在手机上完成一篇文章,手机写作最麻烦的就是输入和排版,而有了这种写作工具之后,可以更为专注。

2.3多样性输出的需要

我们写了一篇文章,可能要被转化为word文档,html文档,ppt或者思维导图。通过Pandoc等工具,我们可以快速将Markdown转化为演讲PPT、Word产品文档、LaTex论文甚至是用非常少量的代码完成最小可用原型。

2.4自动生成目录

这个是我最喜欢的一种功能,只要加入'[TOC]',就可以一键生成目录。

2.5像编程一样的写作方式

把写作行为变成一种类似编程的活动,输出的是标准化的文档,有利于整理自己的理性思维和结构化思考。

3.Markdown语法介绍

你需要先了解一下关于markdown的基本语法,如果你已经掌握了,请无视本内容,如果还没有,那现在开始学习吧。

3.1 标题

    • 使用 # 表示标题,一级标题使用一个 # ,二级标题使用两个 ## ,以此类推,共有六级标题。
  • 使用 ===== 表示高阶标题,使用 --------- 表示次阶标题。

  1. # 和标题之间最好加一个空格。不要问我为什么,貌似有时候不会被识别为标题?已经忘记自己为什么要加空格了,也许是任性。

  2. ====---- 表示标题时,大于等于2个都可以表示。

  3. 我通常在标题分级时使用标题标记,这个的用处很明了了。

3.2 引用

使用 > 表示引用, >> 表示引用里面再套一层引用,依次类推。

  1. 如果 >>> 嵌套使用的话,从 >> 退到 > 时,必须之间要加一个空格或者 > 作为过渡,否则默认为下一行和上一行是同一级别的引用。如示例所示。

  2. 引用标记里可以使用其他标记,如:有序列表或无序列表标记,代码标记等。

3.3 代码块

使用三个`表示代码块。

  1. 这个符号是在Esc` 键下面,切换到英文下即可。

  2. 本文档所有使用讲解Markdown语法标记示例的地方都是使用代码块标记的。

3.4 行内代码

使用``表示行内代码。本页部分文字中间的英文字母就是使用行内代码标记标记的。

3.5 链接

使用 [](link) 表示行内链接。其中:

  • [] 内的内容为要添加链接的文字。

  • link 为链接地址。

3.6 导入图片

使用 []/path/to/img.jpg 导入图片。其中:

  • Alt text 为如果图片无法显示时显示的文字;

  • /path/to/img.jpg 为图片所在路径;

点击辅助键盘中的添加图片按钮,MarkLite会自动帮你帮你把图片上传到图片存储服务器,并补齐链接,让你一步到位,是不是很方便

3.7 粗体和斜体

  1. 使用 ** 或者 __ 表示粗体。

  2. 使用 * 或者 _ 表示斜体。

  3. 前后的 *_ 与要 加粗或倾斜 的字体之间不能有空格。

粗体1 粗体2
斜体1 斜体2

粗体1 粗体2

斜体1 斜体2

3.8 列表

使用 1\. 2\. 3. 表示有序列表,使用 *-+ 表示无序列表。

  1. 无序列表或有序列表标记和后面的文字之间要有一个空格隔开。

  2. 有序列表标记不是按照你写的数字进行显示的,而是根据当前有序列表标记所在位置显示的,如示例1所示。

  3. 无序列表的项目符号是按照实心圆、空心圆、实心方格的层级关系递进的,如例2所示。通常情况下,同一层级使用同一种标记表示,便于自己查看和管理。

  4. 无序列表和有序列表标记的使用场景也很明了,故不多说。

3.9 分割线

使用 --- 或者 *** 或者 * * * 表示水平分割线。

  1. 只要 * 或者 - 大于等于三个就可组成一条平行线。

  2. 使用 --- 作为水平分割线时,要在它的前后都空一行,防止 --- 被当成标题标记的表示方式。




3.10 删除线

使用 ~~ 表示删除线。

  1. 注意 ~~ 和 要添加删除线的文字之间不能有空格。

  2. 我常使用在显示的告诉自己这行文字是要删除的。

这是一条删除线

想要了解更多语法,请自行上网查阅

4. 哪些工具是最好用的?

在不同的场景中,需要运用不同的工具,经过长期的实践和应用,我觉得有几个事必须要向大家推荐的。但我觉得应用不应该推荐太多,一下子给别人很多选择,是一种不负责任的表现,因此在每个平台上,我只推荐一种。

4.1 windows电脑端 -- Typora

Typora 是一款 Markdown 编辑器,拥有 Windows、macOS 客户端,可以算作一款 Windows 下难得的好看、优美的客户端。我这个文档就是用它写成的。可以方便的进行文件夹管理。可以在Pandoc支持下生成形式多样的文档。这也是我首先推荐的一款应用。

4.2 浏览器端 -- 简书

本来浏览器不应该成为一个平台,但随着现代软件开发的变化,浏览器已经成为跨平台的一个重要入口,无论你在任何时候,任何设备上打开浏览器,内容都是一致的。这种内容的一致性对我们协同工作提供了很好的平台。而我认为简书比较好的原因有以下几点。

  1. 所有文章可以打包生成md文件直接导出。

  2. 图片处理非常有优势,可以直接上传到他的网站上。只要有网络就可以看到图片。

  3. 可以一键发布,便于和他人进行分享。

  4. 渲染比较好,可以生成图片。

4.3 IOS端 -- MarkLite

非常小,非常轻巧的Markdown写作工具,支持从其他 app 打开 md 文件,支持 iCloud 存储,可以在不同设备上共享文件,支持导出多种格式, PDF , Web 页面,一键导入本地图片并上传到图床,快速的渲染,支持多种CSS,支持 Airdrop 导入导出,支持标准的Markdown语法和扩展语法,支持创建文件夹的形式对文档分类管理,键盘工具条辅助输入。

5. 有哪些常见的应用场景?

5.1 写晨间日记

先用Markdown定义好一个日记模板,每天只要填写进去就可以了。我的模板像这样:

-------
[TOC]
​
# 今日概览
- 今天是什么日子: 
​
> 
​
​
- 起床时间:
​
>
​
- 就寝时间:
​
>
​
- 天气:
​
>
​
- 心情:
​
>
​
# 任务清单
- 昨日完成的最重要三件事:
​
>1\. •
>2\. •
>3\. •
​
- 今天最重要的三件事
​
>1\. •
>2\. •
>3\. •
​
# 学习·信息·阅读
- 将你每天的学习到的知识在这里简要进行记录(只记录关键内容和心理感受)
​
>
​
# 健康·饮食·锻炼
- 有强健的体魄才能更好的学习和生活。
​
>
​
# 人际·家人·朋友
​
>
​
# 工作·思考
​
>
​
# 创意·未来
​
>
​
***
# 周复盘(每周日晚完成)
​
>
​
# 月计划(每月1号完成)
​

生成的效果如图:


5.2 快速进行创作

  1. 明确一个写作主题,这个主题就是一级标题。

  2. 插入'[TOC]',这个就是最终形成的目录。

  3. 搞清楚这个主题的对象和受众是谁。从读者的角度出发,写一个摘要。就是对本文的一个全面介绍。

  4. 用头脑风暴的方式,画出思维导图,迅速梳理出一个提纲。按照思维导图的树状结构,把提纲分解为一级标题,二级标题,三级标题。

  5. 在标题内不断填充内容,切换进行修改。

  6. 保存为md文件,按需求渲染成不同的格式,分发到不同平台中。

5.3 文档管理--尝试写一本书

按照主题分类,把所有文档放到同一个目录下,逐步会发现自己只需要再做一些额外的工作,就可以写成一本书。有些时候并不是我没有想法,而是没有很好的组织工具和思维框架。

6.后记

学无止境,终身学习者不应该轻易谈终结。所以本文有点标题党,希望通过这种方式,对前期的一些学习进行梳理和总结。

推荐阅读更多精彩内容