有很长一段时间,我都在研究如何用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 标题
- 使用
#
表示标题,一级标题使用一个#
,二级标题使用两个##
,以此类推,共有六级标题。
- 使用
使用
=====
表示高阶标题,使用---------
表示次阶标题。
#
和标题之间最好加一个空格。不要问我为什么,貌似有时候不会被识别为标题?已经忘记自己为什么要加空格了,也许是任性。====
和----
表示标题时,大于等于2个都可以表示。我通常在标题分级时使用标题标记,这个的用处很明了了。
3.2 引用
使用 >
表示引用, >>
表示引用里面再套一层引用,依次类推。
如果
>
和>>
嵌套使用的话,从>>
退到>
时,必须之间要加一个空格或者>
作为过渡,否则默认为下一行和上一行是同一级别的引用。如示例所示。引用标记里可以使用其他标记,如:有序列表或无序列表标记,代码标记等。
3.3 代码块
使用三个`表示代码块。
这个符号是在
Esc` 键下面,切换到英文下即可。本文档所有使用讲解Markdown语法标记示例的地方都是使用代码块标记的。
3.4 行内代码
使用``表示行内代码。本页部分文字中间的英文字母就是使用行内代码标记标记的。
3.5 链接
使用 [](link)
表示行内链接。其中:
[]
内的内容为要添加链接的文字。link
为链接地址。
3.6 导入图片
使用 []/path/to/img.jpg
导入图片。其中:
Alt text
为如果图片无法显示时显示的文字;/path/to/img.jpg
为图片所在路径;
点击辅助键盘中的添加图片按钮,MarkLite会自动帮你帮你把图片上传到图片存储服务器,并补齐链接,让你一步到位,是不是很方便
3.7 粗体和斜体
使用
**
或者__
表示粗体。使用
*
或者_
表示斜体。前后的
*
或_
与要 加粗或倾斜 的字体之间不能有空格。
粗体1 粗体2
斜体1 斜体2
粗体1 粗体2
斜体1 斜体2
3.8 列表
使用 1\. 2\. 3.
表示有序列表,使用 *
或 -
或 +
表示无序列表。
无序列表或有序列表标记和后面的文字之间要有一个空格隔开。
有序列表标记不是按照你写的数字进行显示的,而是根据当前有序列表标记所在位置显示的,如示例1所示。
无序列表的项目符号是按照实心圆、空心圆、实心方格的层级关系递进的,如例2所示。通常情况下,同一层级使用同一种标记表示,便于自己查看和管理。
无序列表和有序列表标记的使用场景也很明了,故不多说。
3.9 分割线
使用 ---
或者 ***
或者 * * *
表示水平分割线。
只要
*
或者-
大于等于三个就可组成一条平行线。使用
---
作为水平分割线时,要在它的前后都空一行,防止---
被当成标题标记的表示方式。
3.10 删除线
使用 ~~
表示删除线。
注意
~~
和 要添加删除线的文字之间不能有空格。我常使用在显示的告诉自己这行文字是要删除的。
这是一条删除线
想要了解更多语法,请自行上网查阅
4. 哪些工具是最好用的?
在不同的场景中,需要运用不同的工具,经过长期的实践和应用,我觉得有几个事必须要向大家推荐的。但我觉得应用不应该推荐太多,一下子给别人很多选择,是一种不负责任的表现,因此在每个平台上,我只推荐一种。
4.1 windows电脑端 -- Typora
Typora 是一款 Markdown 编辑器,拥有 Windows、macOS 客户端,可以算作一款 Windows 下难得的好看、优美的客户端。我这个文档就是用它写成的。可以方便的进行文件夹管理。可以在Pandoc支持下生成形式多样的文档。这也是我首先推荐的一款应用。
4.2 浏览器端 -- 简书
本来浏览器不应该成为一个平台,但随着现代软件开发的变化,浏览器已经成为跨平台的一个重要入口,无论你在任何时候,任何设备上打开浏览器,内容都是一致的。这种内容的一致性对我们协同工作提供了很好的平台。而我认为简书比较好的原因有以下几点。
所有文章可以打包生成md文件直接导出。
图片处理非常有优势,可以直接上传到他的网站上。只要有网络就可以看到图片。
可以一键发布,便于和他人进行分享。
渲染比较好,可以生成图片。
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 快速进行创作
明确一个写作主题,这个主题就是一级标题。
插入'[TOC]',这个就是最终形成的目录。
搞清楚这个主题的对象和受众是谁。从读者的角度出发,写一个摘要。就是对本文的一个全面介绍。
用头脑风暴的方式,画出思维导图,迅速梳理出一个提纲。按照思维导图的树状结构,把提纲分解为一级标题,二级标题,三级标题。
在标题内不断填充内容,切换进行修改。
保存为md文件,按需求渲染成不同的格式,分发到不同平台中。
5.3 文档管理--尝试写一本书
按照主题分类,把所有文档放到同一个目录下,逐步会发现自己只需要再做一些额外的工作,就可以写成一本书。有些时候并不是我没有想法,而是没有很好的组织工具和思维框架。
6.后记
学无止境,终身学习者不应该轻易谈终结。所以本文有点标题党,希望通过这种方式,对前期的一些学习进行梳理和总结。