輕量級標記語言:這就是為什麼應該使用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 enoughto 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
  • 閱讀 ( 58 )
  • 分類:科技

你可能感興趣的文章

xml(xml)和xsd公司(xsd)的區別

關鍵區別–xml與xsd XML和XSD的主要區別在於,XML是一種標記語言,它是在不相容的系統上建立和共享資料的靈活方法,而XSD用於定義XML文件的結構和內容。 不同的組織使用不同的系統。一個挑戰是在這些不相容的系統之間交換...

  • 發佈於 2020-10-19 03:20
  • 閲讀 ( 38 )

dtd公司(dtd)和xsd公司(xsd)的區別

...獲取資料。XML可以用來完成這項任務。它代表可擴充套件標記語言。使用XML的主要優點是傳輸資料。除此之外,它還可以用於配置框架和為android應用程式設計佈局。XML中使用的標記不是預定義的。程式設計師可以根據應用程式...

  • 發佈於 2020-10-19 05:06
  • 閲讀 ( 44 )

html格式(html)和新加坡元(sgml)的區別

...vaScript、PHP等,其中web開發的基礎語言是HTML。它是一種由標記組成的標記語言。每個任務都有特定的標記。HTML可以用來改變網頁的結構。新增段落、更改標題、新增列表和表格是可以使用HTML執行的一些任務。HTML有幾種版本。最...

  • 發佈於 2020-10-19 05:26
  • 閲讀 ( 51 )

html格式(html)和xhtml(xhtml)的區別

...提供資訊並瞭解市場趨勢。web開發的一種常見語言型別是標記語言。它是一種專門為**網頁而設計的語言。標記語言與級聯樣式表(CSS)和JavaScript相結合,使web頁面更具表現力和動態性。標記語言的主要任務是構建網頁所需的結...

  • 發佈於 2020-10-19 05:37
  • 閲讀 ( 47 )

json格式(json)和xml(xml)的區別

... - json格式(json) vs. xml(xml) JSON和XML是流行的web技術。JSON是輕量級的,簡單易讀。它也更快。XML更具可擴充套件性和複雜性。JSON和XML的區別在於JSON是一種元語言,而XML是一種標記語言。通常JSON優於XML,因為XML比JSON更易於解析。在...

  • 發佈於 2020-10-20 01:35
  • 閲讀 ( 44 )

javascript(javascript)和打字稿(typescript)的區別

...字稿(typescript) JavaScript是一種建立***頁的語言。它是一種輕量級的解釋語言,易於與HTML和CSS整合。它對於表單驗證、動畫和向網頁新增多媒體功能非常有用。TypeScript是具有附加功能的JavaScript。JavaScript和TypeScript的區別在於JavaScri...

  • 發佈於 2020-10-24 05:23
  • 閲讀 ( 59 )

什麼是降價?初學者入門指南

...然而,Markdown與這些標記語言的區別在於它被認為是一種輕量級語言。&#13; 很容易看到一個降價檔案,但仍然閱讀文字所說的。然而,對於像HTML這樣的“較重”的語言,一個人處理文字所說的內容並不是那麼容易,這意味著它不...

  • 發佈於 2021-03-12 09:02
  • 閲讀 ( 63 )

建立web介面:從何處開始

... web前端:標記、樣式表和程式語言 ...

  • 發佈於 2021-03-16 05:47
  • 閲讀 ( 65 )

什麼是xml檔案?如何開啟和使用它?

XML代表可擴充套件標記語言。它的目的是描述和構造網際網路、移動應用程式和其他地方的資料。您是否想知道這是如何工作的以及XML的用途?讓我們幫助你瞭解細節。 ...

  • 發佈於 2021-03-21 09:43
  • 閲讀 ( 49 )

如何建立降價表

...reball的johngruber建立了Markdown,一種用於在web上釋出內容的輕量級標記語言。它使用易於理解的純文字格式語法,透過使用簡單的Perl指令碼建立整潔的HTML或XHTML。 ...

  • 發佈於 2021-03-23 11:39
  • 閲讀 ( 50 )
qvyz373368
qvyz373368

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦