Markdown: History, Development, Aspects

Markdown:历史,发展与展望

2021-02-17 17:25 clickhelp

本文共1032个字,阅读需11分钟

阅读模式 切换至中文

A system for commenting on a document so that it is syntactically identifiable from the text is called a markup language. When the document is processed for display, the markup language is not shown and is only used to format the text. The “markup” term is derived from the "marking up" of paper manuscripts, the revision instructions made by editors. Such corrections are traditionally written with a red pen or blue pencil on authors' manuscripts. Such "markup" typically includes both content corrections (like spelling, punctuation, or movement of content) and also typographic instructions, for example, to make a heading larger or boldface. The markup was commonly applied by editors, proofreaders, publishers, graphic designers, and document authors; they might also mark other things: corrections, changes, etc. There are three main general categories of electronic markup: Presentational markup used by traditional word-processing systems: binary codes embedded within document text that produce the WYSIWYG ("what you see is what you get") effect. Such markup is usually hidden from the human users, even authors and editors. Procedural markup is embedded in a text, which provides instructions for programs to process the text. The processor should run through the text from beginning to end, following the encountered instructions. Text with such markup is often edited with the markup visible and directly manipulated by the author. Descriptive markup is specifically used to label parts of the document for what they are, rather than how they should be processed. The objective is to separate the document structure from any particular treatment or interpretation of it. Such markup is often described as "semantic". Sometimes descriptive markup is called logical markup or conceptual markup, as it drives authors to describe the material conceptually rather than visually. Lightweight Markup Languages A lightweight markup language (LML), also called a simple markup language, is a markup language with plain, subtle syntax. It is designed for easy writing with any generic text editor and easy reading in its raw form. LMLs are used in applications where it may be necessary to read the raw document as well as the final rendered output. Another utilization for such languages is to provide data entry in web-based publishing, where the input interface is a simple text box. The server software then converts the input into a common document markup language like HTML. LMLs can be categorized by their tag types. Most languages distinguish between markup for lines or blocks and for shorter spans of texts, but some only support inline markup. Some markup languages are tailored for a specific purpose, such as documenting computer code or being converted to a certain output format (usually HTML) and nothing else, others are more general in application. Among presentation-oriented languages are the following: AsciiDoc BBCode Creole Markdown POD Wikitext This time we have chosen to talk about Markdown because it is a very popular LML. What Is So Special About Markdown? Markdown is a lightweight presentational mark-up language with simple text formatting syntax. It is easy to learn and use and appropriate for short and simple texts. Markdown was developed by John Gruber and Aaron Swartz. The original Markdown defined by John Gruber lacked many features expected by writers: tables are not supported unless the user writes raw embedded HTML, automatic generation of a table of contents, syntax highlighting, file splitting, etc. It has never been a formal standard. There is no single explicit specification for Markdown, so implementations have diverged considerably over the last ten years. Markdown is suitable for organized pieces of content on the web that smoothly converts to clean and structured HTML. It is popular in documentation pages, online forums, instant messaging, readme files, and blogging. Due to its popularity and simplicity, it was adopted by the technical writing community as a solution for writing documentation. The language is designed with the explicit intention to be easily readable. The traditional writing user interfaces cause interruptions in the flow of the thought process whenever a user has to pause and click their mouse or use complex short-cut keys for writing. Therefore, the advanced writers find it very convenient to apply rich document formatting fast and furious. Many organizations now claim the use of markdown for all kinds of documentation. Markdown is extensively used by GitHub and Stack Overflow. Despite all its attraction, it suffers from the problems that make it unsuitable for complex or big documents. The largest users of markdown, such as GitHub, all end up providing their own extensions to it. Markdown exists in many variations with different rules and different features supported. For example: # Heading 1 and #Heading 1. Here you can see that in the first case there is a space between the hashtag and the word “heading” and the second version is without one. This leads to incompatibility issues when markup code is shared. That’s how CommonMark appeared as a standardized Markdown in an attempt to solve this problem. However, the specification is huge and not completed yet (version 0.28, dated 2017.08.01, is the latest one), and not many have adopted it yet. The only way to resolve Markdown ambiguities and inconsistencies is Babelmark that compares the output of various implementations of Markdown against each other to see if a consensus emerges. Markdown Extra is another language based on Markdown originally implemented in PHP. It adds features not available with plain Markdown syntax: Abbreviations Definition lists Elements with id/class attribute "Fenced code blocks" that span multiple lines of code Footnotes Markdown markup inside HTML blocks Tables Conclusion There are many flavors of Markdown and I guess it’s not the limit - many developers and writers demand standardization of Markdown and many make attempts to standardize it. However, Gruber has argued that complete standardization would be a mistake: "Different sites (and people) have different needs. No one syntax would make all happy." By now you have an understanding of what is a markup language and what you can do with it. It has its benefits and implications, so the language is for a particular field of application where it could be a useful tool. Good luck with your technical writing! ClickHelp Team Author, host and deliver documentation across platforms and devices
有这样的一种系统,它可以注释文档,使其在文本中能被识别出来,这种系统称为标记语言系统。当展示文本时,标记语言就不显示了,仅用于设置文本格式。 “标注”一词源于对纸质稿件的“标注”,即编辑所作的修改说明。 通常是用红笔或蓝笔标在作者的手稿上。这种“标记”通常既包括内容更正(如拼写,标点符号或内容调整),也包括排版格式上修改,例如,放大标题或使用黑体字。标记通常由编辑,校对,出版商,图形设计师和文档作者来做;它们还可能标记其他内容:更正,更改等。 电子标记主要有三大类: 传统文字处理系统使用的标记:嵌入文档文本中的二进制代码,产生所见即所得的效果。这种标记通常对一般人用户,甚至作者和编辑都是隐藏的。 过程标记嵌入在文本中,该标记为程序处理文本提供了说明。 处理器应按照所遇到的指示从头到尾遍历全文。 具有此类标记的文本通常在标记可见且由作者直接操纵的情况下进行编辑。 描述性标记专门用于标记文档的各个部分,而不是应如何处理。 目的是将文档结构与对其的任何特殊处理或解释分开。 这种标记通常被称为“语义”。 有时,描述性标记称为逻辑标记或概念标记,因为它驱动作者从概念上而非视觉上描述材料。 轻量级标记语言 轻量级标记语言(LML),也称为简单标记语言,是一种具有简单,微妙语法的标记语言。 它旨在通过任何通用文本编辑器轻松编写,并以其原始格式轻松阅读。 LML用于可能需要读取原始文档以及最终呈现输出的应用程序。 这种语言的另一种用途是在基于Web的发布中提供数据输入,其中输入界面是一个简单的文本框。 然后,服务器软件将输入转换为通用文档标记语言,例如HTML。 LML可以按其标签类型进行分类。 大多数语言在行或块的标记以及较短的文本范围之间进行区分,但是某些语言仅支持行内标记。 有些标记语言是为特定目的量身定制的,例如记录计算机代码或转换为某种输出格式(通常是HTML),而没有别的,其他则在应用中更通用。 以下是展示向表示的语言: asciidoc BBCode Creole markdown POD Wikitext 这次我们谈谈Markdown,作为一款非常受欢迎的LML。 Markdown有什么特别之处? Markdown是一种轻量级的演示性标记语言,具有简单的文本格式语法。 它易于学习和使用,适合于简短的文本。 Markdown由John Gruber和Aaron Swartz开发。 约翰·格鲁伯(John Gruber)定义的原始Markdown缺乏作家所期望的许多功能:不支持表格,除非用户编写原始的嵌入式HTML,自动生成目录,语法突出显示,文件分割等。它从来都不是正式的标准。 没有针对Markdown的明确规范,因此在过去的十年中,实现方式差异很大。 Markdown适用于网络上有条理的内容,可以平滑地转换为干净且结构化的HTML。 它在文档页面,在线论坛,即时消息,自述文件和博客中很流行。 由于它的流行和简单性,它被技术写作社区用作编写文档的解决方案。 设计该语言的明确意图是易于阅读。 每当用户不得不暂停并单击其鼠标或使用复杂的快捷键进行书写时,传统的书写用户界面就会导致思维过程中断。 因此,高级作家发现快速而愤怒地应用丰富的文档格式非常方便。 现在,许多组织声称对所有类型的文档都使用markdown。 Markdown被GitHub和Stack Overflow广泛使用。 尽管具有所有吸引力,但它仍存在一些问题,使其不适用于复杂或大型文档。 markdown的最大用户,例如GitHub,最终都提供了自己的扩展。 Markdown存在许多变体,具有不同的规则和支持的不同功能。 例如:#Heading 1和#Heading 1.在这里,您可以看到在第一种情况下,主题标签和单词“ heading”之间有一个空格,而第二种版本则没有。 共享标记代码时,这会导致不兼容问题。 这就是CommonMark作为解决方案标准化的Markdown出现的方式。 但是,该规范非常庞大且尚未完成(0.28版,日期为2017.08.01,是最新版),并且尚未采用该规范。 解决Markdown歧义和矛盾的唯一方法是Babelmark,它会比较Markdown的各种实现的输出,以查看是否达成共识。 Markdown Extra是另一种基于Markdown的语言,最初是在PHP中实现的。 它添加了普通的Markdown语法不可用的功能: 缩略语 定义列表 具有ID/class属性的元素 跨越多行代码的“隔离代码块” 脚注 HTML块内的Markdown标记 表格 结论 Markdown有很多风格,我想这不是极限-许多开发人员和作家都要求Markdown标准化,许多人都试图对其进行标准化。 但是,格鲁伯(Gruber)认为,完全标准化将是一个错误:“不同的站点(和人们)有不同的需求。没有一种语法会使所有人满意”。 到目前为止,您已经了解了什么是标记语言以及可以使用它来做什么。 它具有其优点和含义,因此该语言适用于可能是有用工具的特定应用领域。 祝你的技术写作好运! 点此请求帮助 跨平台和设备编写,托管和交付文档

以上中文文本为机器翻译,存在不同程度偏差和错误,请理解并参考英文原文阅读。

阅读原文