轻量级标记语言:这就是为什么应该使用asciidoc而不是常规标记语言

Markdown语言有很多种风格,有些比其他的好。像AsciiDoc这样的轻量级语言很容易学习并且非常有用。下面是它的比较。...

正如你从过去的文章中看到的,在这里,我们是马克down的粉丝。通过学习这种简单直观的格式,您可以轻松地创建美观的输出。从PDF到网页,简陋的纯文本文件变成了复杂的文档。

asciidoc-markup

但降价不是镇上唯一的游戏。有许多其他所谓的轻量级标记语言类似于Markdown,但具有不同的特性集。其中之一就是Asciidoc。如果你喜欢Markdown,但正在寻找更多的引擎盖下,这是值得考虑的。以下是一些原因。

什么是反正是“标记语言”(a "markup language" anyway)?

标记语言是一组代码,当应用于纯文本时,允许您添加以下一个或多个属性(以及其他属性):

  • 定义文本
  • 结构文本
  • 描述文本的布局
  • 装饰文字

你每天遇到的一种标记语言(除非你是个隐士)是超文本标记语言,或HTML。网站和应用程序,带给你新闻和显示你的电子邮件是建立,至少部分,与HTML标记。HTML使用标记作为标记原始文本内容的机制。例如,考虑以下HTML片段:

<body>
<h1>Introducing HTML</h1>
<p>Here is a paragraph in HTML... we know it's a <strong>paragraph</strong>
because the surrounding \<p\> tags define it as one.</p>
</body>

在这里,标记指定要跟随的所有文本(直到结束标记)都是一个段落。从这个意义上说,它将文本定义为一个段落。

但也要注意标签。。。这些通常用于定义网页的布局,例如屏幕侧面的边距。

标签将用粗体字体装饰“段落”这个词,而标签可以同时排列标题(将标题与周围文本隔开)以及定义更大的字体。

一些标记语言(其中包括HTML)的问题是,手动键入这些标记是一件非常乏味的事情。对于其他语言(如XML),标记及其属性在整个内容中所占的比例要大于文本本身!请看以下DocBook片段,这是一种用于创建许多技术出版物的XML方言:

asciidoc markdown docbook tags

所有紫色的文本表示您需要自己键入的标记。第一段直到那幅画的最下面才开始。如果没有按照DocBook标准进行正确的操作,您将无法将其转换为漂亮的PDF文档,而这通常是最终目标。

输入轻量级标记语言

如果您想利用标记语言,例如通过将HTML页面发布到web或将DocBook文件转换为PDF以便打印,那么您需要做以下两件事之一。一方面,你可以把时间花在学习这些语言上,用手写,然后三重检查你的工作。或者你可以投资一个工具,为你管理这些复杂的。

谢天谢地,一些有进取心的开发商想出了第三种选择。他们创建了新的标记语言,其中包含了许多(在某些情况下是大部分或全部)较重的对等语言的特性,但大大简化了语法。这些“轻量级”语言包括熟悉的Markdown以及Asciidoc、Emac的组织模式格式和Mediawiki语法。

轻量级标记语言具有简单的语法

这些语言的一个特点是它们的“标签”(比如它们)应该是直观的。让我们看一下前面的片段,这次是用Asciidoc编写的:

Introducing Asciidoc
--------------------
Where are the *paragraph* tags? We dont need them... Asciidoc is **art enough
to realize this is a paragraph!

更具可读性,不是吗?从顶部开始,我们可以将标题标识为带有破折号的“下划线”。你可以这样做,如果你是手写的,只要在你的笔记本标题下画一个下划线。也没有段落标记——Asciidoc认为两个空行之间没有其他标记的任何内容都是“纯”段落文本。最后,“段落”周围的星号表示粗体。如果你在短信中这么做的意思完全相同,请举手。

每个处理器都有一个或多个相应的处理器

“重量级”标记语言通常有一个专用的应用程序来为您解释它们。在网络上,是你的浏览器,也可能是网络服务器将代码转换成华丽的网页。对于XML格式的文档,它可能类似于microsoftword,它读写DOCX格式(这是另一种XML方言)。因此,您永远不必直接与这些文档的源进行交互,只需应用程序显示的漂亮外观即可。

同时,用轻量级语言编写的文档在源代码形式上是人类可读的(另一个租户),但只有真正的书呆子才会认为它们很漂亮。为了得到漂亮的输出,你需要使用一个处理器。这些应用程序将逐行运行您的标记并将其转换为其他看起来不错的内容。开发语言本身的相同项目通常会产生一个与之配套的实用程序。Markdown项目提供了一个同名的Perl脚本,Asciidoc的配套程序是用Python编写的。此外,其他转换实用程序将包括对其中一些语言的支持。其中一个就是优秀的Pandoc,它将采取降价以及轻量级的标记,重构文本、Mediawiki和Org模式,并将它们转换为PDF、DOCX、ODT等等。

asciidoc markdown pandoc formats

其结果是轻量级标记语言允许您以纯文本(地球上最可移植的数据格式)工作,但最终仍会产生好看的输出。既然你确信它的优点,你应该选择哪种语言?降价无疑是最受欢迎的,并且有它的优点(稍后将详细介绍)。但特别是Asciidoc是一个有价值的选择。在下一节中,我们将探讨几个原因。

比较markdown和asciidoc

创建Asciidoc格式是为了给DocBook带来轻量级的简单性,DocBook是长格式(尤其是技术性)写作中比较常见的格式之一。它声名鹊起的原因之一是它是一对一的翻译,这意味着DocBook中的每一个元素,在Asciidoc中都有相应的表示。下面我们来看看Asciidoc与Markdown相比的优缺点。

asciidoc覆盖了一个写元素的超集

Markdown从一开始的目标就是为网络作者提供一种简单的格式。因此,它所支持的编写元素(至少是最初的实现,见下文)的重点是自动化编写HTML的时间密集型方面(例如,除了每个项的标记之外,还需要or标记的列表)。

asciidoc markdown complex formats

Asciidoc也包含这些元素,但也提供更高级的DocBook元素,如警告(例如“Note:”或“Info:”callout块)和复杂的表布局。这并不意味着你需要一直使用它们,但是如果你需要它们的话,它们会在那里并且随时可用。

ascidoc是一种统一的格式

当Markdown开始流行时,它的一些用户开始遇到上面讨论的一些缺点。因此,这些用户开始开发自己的扩展来解决这些问题,例如添加表格或脚注/尾注的能力。很快就出现了许多降价的“味道”,其中包括:

  • Github对其托管的项目的“自述”文件使用的风格。
  • 一种“扩展”风格,源于原始标记的PHP端口,具有额外的HTML相关特性。
  • 一种称为“多重标记”的风格,实现了长格式写作的许多功能,包括引用、定义和交叉引用。

结果是,您的文档可能需要的元素并非全部由一种风格覆盖。相比之下,Asciidoc目前并没有受到碎片降价的影响。

asciidoc针对多种发布样式

Markdown是一个很好的方法,它可以让你快速地把一篇博客文章从你的脑海中拿出来放到页面上。但是开箱即用,它不是为构建更长的作品而构建的,比如一本书。Asciidoc就是为此而设计的,一个例子就是它的“include”函数。这些语句允许您将一个文件的所有内容包含在另一个文件中:

include::somefile.adoc

这与主文档在字处理器中的工作方式没有什么不同。例如,这允许您将每一章起草为一个单独的文件,然后将它们全部“包含”到一个代表该书的文件中。当你处理那个“图书文件”时,输出就好像所有的章节都直接写进了那个文档。

降价对大多数用户来说已经足够了

降价涵盖了大部分用户的所有基础。对于那些只想写博客,或者以纯文本格式打笔记的人来说,Markdown支持他们需要的所有元素。交叉引用对于只想创建简单备忘录或网页的用户来说意义不大。你甚至可以用减价法来处理一些简单布局的长篇作品,比如一本小说,最后你自己把它们组合起来。

降价是更好的支持

由于Markdown满足了更大部分用户的需求,因此在以下方面得到了更好的支持:

  • 所见即所得编辑器(由那些至少提供实时预览的编辑器定义)更有可能支持降价。
  • 在线服务,比如前面提到的Github,更可能直接接受降价或者通过使用插件。
  • 尽管像静态站点生成器这样的发布系统通常支持带有插件的Asciidoc,但它们支持开箱即用的降价几乎是既定的。

你愿意试一试吗?

虽然Markdown实际上是轻量级标记语言中的一种选择,但Asciidoc包含所有相同的元素,然后是一些元素。额外的Asciidoc需要一些时间来学习,也许可以更好地为你准备更大,更复杂的写作项目。

你怎么认为?你满足于降价的简单吗?或者,使用Asciidoc创建自己的多渠道发布工作流是否具有吸引力?也许你讨厌纯文本,而它是你的一路文字?请在下面的评论中告诉我们!

  • 发表于 2021-03-13 03:23
  • 阅读 ( 651 )
  • 分类:IT

你可能感兴趣的文章

html格式(html)和新加坡元(sgml)的区别

...vaScript、PHP等,其中web开发的基础语言是HTML。它是一种由标记组成的标记语言。每个任务都有特定的标记。HTML可以用来改变网页的结构。添加段落、更改标题、添加列表和表格是可以使用HTML执行的一些任务。HTML有几种版本。最...

  • 发布于 2020-10-19 05:26
  • 阅读 ( 267 )

html格式(html)和xhtml(xhtml)的区别

...提供信息并了解市场趋势。web开发的一种常见语言类型是标记语言。它是一种专门为**网页而设计的语言。标记语言与级联样式表(CSS)和JavaScript相结合,使web页面更具表现力和动态性。标记语言的主要任务是构建网页所需的结...

  • 发布于 2020-10-19 05:37
  • 阅读 ( 232 )

json格式(json)和xml(xml)的区别

... - json格式(json) vs. xml(xml) JSON和XML是流行的web技术。JSON是轻量级的,简单易读。它也更快。XML更具可扩展性和复杂性。JSON和XML的区别在于JSON是一种元语言,而XML是一种标记语言。通常JSON优于XML,因为XML比JSON更易于解析。在与AJA...

  • 发布于 2020-10-20 01:35
  • 阅读 ( 201 )

什么是降价?初学者入门指南

...然而,Markdown与这些标记语言的区别在于它被认为是一种轻量级语言。&#13; 很容易看到一个降价文件,但仍然阅读文本所说的。然而,对于像HTML这样的“较重”的语言,一个人处理文本所说的内容并不是那么容易,这意味着它不...

  • 发布于 2021-03-12 09:02
  • 阅读 ( 234 )

创建web界面:从何处开始

... 你为什么需要它 ...

  • 发布于 2021-03-16 05:47
  • 阅读 ( 277 )

什么是xml文件?如何打开和使用它?

...HTML定义了数据的外观,而XML定义了数据是什么。这就是为什么XML不能取代HTML,而是扩展了它。 ...

  • 发布于 2021-03-21 09:43
  • 阅读 ( 380 )

如何创建降价表

...reball的johngruber创建了Markdown,一种用于在web上发布内容的轻量级标记语言。它使用易于理解的纯文本格式语法,通过使用简单的Perl脚本创建整洁的HTML或XHTML。 ...

  • 发布于 2021-03-23 11:39
  • 阅读 ( 229 )

使用静态站点生成器快速构建网站

...作的非技术性作者(比如博客作者)已经使Markdown这样的轻量级标记语言非常流行。当人们开始习惯于以这些格式**内容时,SSGs就成为了一种方便的工具,可以将其转换为一个网站。 其次,CMS系统的复杂性有时会...

  • 发布于 2021-03-25 19:23
  • 阅读 ( 317 )

编写你的第一个应用程序的9个最好的免费代码编辑器

...发人员中最流行的代码编辑器之一之外,visualstudio代码是轻量级的。它也被称为VS代码,是微软的一个跨平台产品,其特性超过了典型的文本编辑器。 ...

  • 发布于 2021-03-30 00:13
  • 阅读 ( 268 )

什么是降价?如何使用?

...可能容易阅读和书写。”John Gruber和aron Schwartz解释了他们为什么在2004年创建Markdown,并在Gruber的网站上提供了语法指南。 简而言之,Markdown使得为web页面格式化文本变得更容易,因为它的标记比HTML简单,而且它们会自动转换为HT...

  • 发布于 2021-04-02 21:06
  • 阅读 ( 191 )
qvyz373368
qvyz373368

0 篇文章

相关推荐