本文概述
如果你是软件工程师, 则可能花费了很多时间来完善环境以提高生产力。你拥有自己喜欢的IDE。你有自己喜欢的调试器。你有自己喜欢的性能监控工具。但是编写文档, 手册和报告的工具又如何呢?毕竟, 写作确实花费了你不小的时间, 不是吗?确实, 该认真考虑你的书写工具了。
并且请记住, 你是技术人员, 所以所见即所得的编辑器可能对你来说不是最佳选择。你不一定要(甚至喜欢!)导航菜单, 工具栏和功能区来设置文本格式。
那么, 如果相反, 你可以轻松地将所有格式样式作为简单的内联语法添加到文本中以产生完全格式化的文本, 该怎么办?
好吧, 事实上, 你可以。这就是Markdown, 这就是本教程的全部内容。
当少即是…
编写文字处理软件是为了满足极其广泛的用户和用例, 因此需要提供各种功能。但显然, 该功能的一小部分可能与每个用户相关。对于大多数只想编写文档(而无需设计营销手册或海报)的用户而言, 许多可用选项中的很小一部分都是相关的。
实际上, 几年前, 当Microsoft将Microsoft Word的用户界面重新设计为不同的功能组时, 他们清楚地意识到了这一点, 它们被称为”功能区”。但是有趣的是, 大多数用户会告诉你, 他们发现新界面比以前的界面更加混乱和难以导航。
确实, 有时在易用性和生产率方面可能会更少。
…当少即是多
面对现实, 你是软件工程师, 而不是图形设计师。你只想编写该手册, 技术文档或报告, 然后完成即可。你会很高兴, 并且会满意一些基本的格式设置功能, 例如标题, 项目符号或编号列表以及代码块。而且, 哦, 是的, 一些字体格式(粗体, 斜体等)也将有所帮助。就是这样。 (伙计, 如果你甚至可以在vi中进行操作, 那真是太棒了!)
输入Markdown。
什么是降价?
John Gruber(技术专家和互联网活动家Aaron Swartz的大量贡献)于2004年创建了Markdown语言, 其目标是使人们”可以使用易于阅读, 易于编写的纯文本格式书写, 并且可以选择使用将其转换为结构上有效的XHTML(或HTML)”。
Markdown旨在按原样可读, 而不会像已经被标记或格式说明标记一样(不同于使用RTF或HTML这样的标记语言格式化的文本, 该文本既难以编写也难以以其原始格式阅读。 )。
Markdown允许你使用易于阅读, 易于编写的纯文本格式进行书写, 然后可以将其转换为结构上有效的HTML。因此, 确切地说, Markdown实际上是两件事:
- 纯文本格式语法
- 一种软件工具(其第一个版本是用Perl编写的), 可以将纯文本格式转换为HTML。
Markdown合并了一些简单, 相当直观和易于使用的语法约定。特别是对于作为软件工程师的你-不需要学习和使用这些基本语法约定的人-Markdown确实可以成为你想要写的东西和编写它之间的阻力最小的途径。
学习Markdown:入门
Markdown很容易学习。超级容易。你可以在五分钟内学习基础知识, 它将很快成为第二自然。而且-就像CSS和CSS预处理器之间的关系一样, 你可以随意使用任意数量的数量。
如果你习惯于任何类型的纯文本书写约定, 那么你可能已经熟悉一些降价约定, 例如在句子开头使用数字或破折号以创建列表, 在单词周围加星号以强调单词, 等等。上。因此, 例如, 如果你想以斜体显示某些内容, 只需将其包装为* this *之类的星号(与诸如<span style =” font-style:italic;”> this </ span>之类的笨拙HTML语法相对) 。
同样, 你只需在行中添加”#”前缀即可指定H1标题(例如, #部分标题, 而不是<h1>部分标题</ h1>)。
学习Markdown(特别是对我们软件工程师而言)的另一个重要用途是将其用作源代码存储库的文档。大多数存储库都包含README.md文件(.md是Markdown文件的标准扩展名)。例如, Github有自己的” Github风格的Markdown”, 它添加了专门用于开发文档的附加功能。与必须使用HTML编写本文档相比, 这无疑可以节省时间。
举一个简单的例子, 假设你要在文档中包含以下代码段:
<h2 style = color:#3863a0; font-size:1.5em; font-weight:600; margin-top:2em; margin-bottom:1em; line-height:1.3em;>启动插件</ h2>初始化pluginName在你的容器上使用jQuery, 如下所示:$(function(){$(‘#container’)。pluginName();});使用容器的ID, 我们可以使用jQuery方法.pluginName()来初始化pluginName。
这是HTML和Markdown的比较方法:
的HTML | 降价促销 |
<h1>启动插件</ h1> | #启动插件 |
<p>使用jQuery在你的容器上初始化<code> pluginName </ code>, 如下所示:</ p> | 使用jQuery在你的容器上初始化`pluginName`, 如下所示: |
<code> $(function(){$(‘#container’)。pluginName();}); </ code> | $(function(){$(‘#container’)。pluginName();});` |
<p> <em>使用容器的ID, 我们可以使用jQuery方法<code> .pluginName()</ code> </ em> </ p>初始化<code> pluginName </ code> | *使用容器的ID, 我们可以使用jQuery方法.pluginName()来启动`pluginName`。* |
为了获得进一步的帮助, 在线上有许多Markdown教程可以帮助你快速入门, 包括John Gruber(Markdown的创建者)提供的Markdown概述以及在线Markdown教程。
Markdown解析器和工具
在Markdown中写完文章后, 你将需要一个应用程序来将语法解析为HTML。有一些很棒的免费软件, 包括:
- StackEdit-基于浏览器的Markdown编辑器, 具有一些与流行的服务(例如Google Drive和Dropbox)同步的选项
- 在线Kramdown编辑器-另一个基于浏览器的Markdown编辑器, 界面非常简单
- 谅解备忘录(Mou)-我遇到过的最好的Mac发行人Markdown作家, 对开发人员来说是一个更怪异的选择;大量功能和免费功能(处于Beta测试阶段)[这是我用来撰写本文的内容]
- MarkdownPad-Windows的出色Markdown编辑器
- 文本-一个很好的跨平台(Mac和Windows)编辑器;导出为多种格式, 例如PDF, .doc和ePub
一些主要平台已经在其编辑器中为希望使用Markdown的人采用(或至少允许)Markdown的使用。与WordPress, Evernote和Google Docs等其他工具相比, 本机支持(在撰写本文时)尚未获得支持, 但是第三方引入了自定义解决方案。这些包括:
- 流行的新博客平台Ghost为了简化在线写作, 将Markdown用作其内容编辑器。
- 对于WordPress, Jetpack插件现在正式支持Markdown, 如果使用该插件, 则可以在”设置”>”讨论”中启用。或者, 你可以使用WP-Markdown之类的插件, 该插件会将你发布的Markdown内容转换为HTML, 并在需要编辑时将其转换回Markdown。
- 对于Evernote, 某些Markdown应用程序(例如在线编辑器Markable或Mac编辑器Byword)允许直接导出并发布到便笺。或者, 如果你更喜欢直接使用Evernote Web应用程序, 则可以使用名为Markdown Here的浏览器扩展程序, 通过单击工具栏按钮, 可以将写入Markdown的选定笔记转换为格式化文本。
- Google文档本身还不支持Markdown, 但是一些编辑器(例如StackEdit)将直接与云端硬盘导出/同步。
缺点
当然, 极大的简化带来了局限性。正如我已经解释的那样, Markdown并不是为需要高级格式设置功能的复杂字处理任务而编写的。如果这是你所需要的, 那么Markdown不是正确的工具。
但是对于需要编写用户手册, 技术文档或技术报告的开发人员而言, Markdown在简单性和所需功能之间提供了近乎完美的平衡。
也许最大的缺点(尤其是对于那些是变更控制迷的美国工程师而言)是无法在Markdown中协同工作并无法跟踪变更(但是, 一个明显的例外是Google Docs的StackEdit插件)。当然, 只需付出最小的努力, 即可通过git存储库在Markdown文档上进行协作, 从而获得人们通常需要的所有变更跟踪和协作。
总结
那么每个人都学习Markdown吗?当然不是。从来没有一种工具。
但是, 如果你是软件工程师, 那么很可能正是你一直在寻找的书写工具。因此, 如果你还没有尝试过, 那么你应该尝试一下。
评论前必须登录!
注册