JIRA issue 中的標記語言(Textile)

簡介

昨天突然發現,公司用的JIRA issue中,居然是用Textile做爲標記語言。html

這也是一種輕量級標記語言,能力比流行的Markdown更強大,由於設計目的不一樣。Markdown是爲了寫做而設計,而Textile是爲了更快地寫HTML。
可是在JIRA上卻有諸多限制,也許是爲了某種程度的簡單,而刪減掉了吧。git

Textile 語法參考

第一個是中文,其它全是英文。程序員

上述語法介紹,在 JIRA 上並不是所有有效。spa

在 JIRA 上的有效語法

標題

  • h1. 標題一插件

  • h2. 標題二設計

  • h3. 標題三

  • h4. 標題四

  • h5. 標題五

  • h6. 標題六

字體

顯示 輸入
黑體 *黑體*
斜體 _斜體_
刪除線 -刪除線-
下劃線 +下劃線+
下標sub 下標 ~sub~
上標sup 上標 ^sup^

全部這些標記基本都要保證*-這些字符不在一個英文單詞或中文句子的中間,不然無效。能夠在外面再加一層空格。

引用

bq. 這是引用,不能換行。

這是引用,不能換行。

其實bq. 能用已經讓我很詫異了,由於其它b開頭的標記都掛了。

Textile一般是用p. 來區分段落的,而在JIRA上禁用它後用的是換行符,所以bq. 只能做用與一行。

圖片

用兩個!包裹起來。

!/path/to/image!
!https://camo.githubusercontent.com/313d034adacb3426c4347317ce9047c23161e6b2/68747470733a2f2f646c2e64726f70626f7875736572636f6e74656e742e636f6d2f752f3637333231342f74657874696c652d776f72646d61726b2d737065632e706e67!

textile

不支持各類雜七雜八的Textile圖片語法,例如:

!/path/to/image 10w 20h!
!/path/to/image 20%x40%!
!/path/to/image 20%!
!/path/to/image (Alt text)!

這些通通不支持!

無序列表

Textile是隻能用*,這裏JIRA上能夠用-

* 無序列表一
* 無序列表二
** 無序列表縮進一次
*** 無序列表縮進二次
** 無序列表縮進一次
* 無序列表三
  • 無序列表一

  • 無序列表二

    • 無序列表縮進一次

      • 無序列表縮進二次

    • 無序列表縮進一次

  • 無序列表三

有序列表

有序列表不用標序。

# 有序列表一
# 有序列表二
## 有序列表縮進一次
### 有序列表縮進二次
## 有序列表縮進一次
# 有序列表三
  1. 有序列表一

  2. 有序列表二

    1. 有序列表縮進一次

      1. 有序列表縮進二次

    2. 有序列表縮進一次

  3. 有序列表三

表格

| First name | Family name |
| Stephen    | Hawking     |
| Steve      | Jobs        |
First name Family name
Stephen Hawking
Steve Jobs

不支持各類雜七雜八的表格語法。

連接

支持顯式連接、郵箱,例如:

https://en.wikipedia.org/wiki/Textile_(markup_language)
mail@company.com

直接可得:

https://en.wikipedia.org/wiki/Textile_(markup_language)
mail@company.com

不支持其它任何形式的隱式連接。

也支持 JIRA issue ID 號自動轉換爲連接。

代碼

基本上能夠說不支持插入代碼,由於不管是內聯代碼@inline@、仍是代碼塊bc. code block,都不支持。
可是利用窮舉法,居然發現了一個相似代碼塊的東西。

|monospace test|||bold monospace text||,居然能夠獲得兩種被線框起來的文字,前者是白底,後者是灰底。

而代碼塊,或者說一種相似代碼塊的東西,只能以|的方式給出。|必須在行首(也就是說不能僞裝內聯代碼),後面能夠空格,不能空行,必須跟着非空字符。最後收尾的|能夠去掉。大括號必須轉義,空格縮進無效。

|#include <stdio.h>
int main(void)
\{
 printf("Hello world!");
 return 0;
\}|

不只須要轉義大括號,並且沒有縮進!

而若是用||,結果更有喜感:

用code||/code的結果……

這不是Textile的語法。並且,這種效果簡直不能忍!

看來給程序員進行軟件項目管理的JIRA,不適合寫代碼塊。

不支持

  • 不支持腳註

  • 不支持對齊

  • 不支持縮進

  • 不支持p.

  • 不支持pre.或pre..

  • 不支持特殊字符(c)(tm)等。

  • 不支持HTML插入

編輯器

我通常不用Textile,因此沒有研究過專門的編輯器。

在JIRA上,經過Firefox的Vimperator的Ctrl+i,把編輯區轉到Vim中編輯。

Plugin 'timcharper/textile.vim'

經過上述插件,能夠實現語法高亮,比大多數Vim的Markdown插件好得多。
雖然也支持預覽,可是很遺憾個人工做平臺是Windows,沒有配置Ruby環境。

結語

我不知道爲何JIRA用的是Textile這種標記語言,但整體來講,它的一些語法細節仍是比流行的Markdown更合適作工做內容交流。好比多重列表,在不能輸入TAB的網頁編輯區內,它就很是合適。
若是沒有被刪減、或者至少保留Code的語法,就更好了。


若是說前面都是一些可能會在工做中用到的技術記錄,那麼後面就是感慨了。

我在這家公司,用這個系統已經有一年半了,歷來沒有人提起過、使用過其Textile功能!每個issue的頁面,哪怕是會被自動導入每個新項目的CR,也都是純文本的渣排版

雖然Textile的確是一種難以「誤觸」的標記語言,沒有哪一個特別的語法是和普通輸入混淆的。自動超連接因爲太常見,因此被忽略了。我若是沒有發現其自動去除行首空字符、自動把我貼上去的一段Java塊註釋解析成列表,我也不會發現這裏居然有一個標記語言!而後,經過三個試探出的已知語法,黑體、斜體、列表,去全部輕量級標記語言(Lightweight Markup Language)裏,找到了惟一的匹配——Textile。

目前,彷佛在我之外都沒有其它任何人發現、使用這個功能,讓海量的issue可以擺脫純文本的呈現方式,提升工做效率。除了文本內容之外,我最不能忍的是工做環境中的圖片呈現。
不少issue內容,是以圖片爲第一內容的,好比界面上出現了一個顯示問題。而如今全部的issue圖片,都做爲附件的方式附在上面,打開前要手動下載!另外還有一種圖片,須要跳轉到另外一個頁面觀看,但少有人用。除了由於上傳時稍微麻煩些,更重要的是,這種查看體驗和下載也沒什麼區別。
若是換成Textile的圖片連接,顯然能夠大幅提升工做效率。

Textile,或者任何一種標記語言,對程序員來講都不算什麼高門檻,沒人發現、沒人使用,更重要的仍是一種技術的鈍感。對新技術缺少渴望,對工做相關的事物全不在乎,對提升本身和同事的工做效率毫無興趣。
而那些系統的維護者,對本身維護的JIRA系統不作任何推廣。新開發的小功能一封郵件了事,JIRA自己就有的功能也絕不傳播。我剛進公司、不知JIRA爲什麼物時,居然沒有任何培訓!直到如今,咱們的JIRA上仍然充斥着不知道JIRA爲什麼物的人,隨意地改狀態、寫comment、罵戰……
文案、issue的撰寫者,依舊知足於在JIRA上用純文本加上各類自定義格式來表達想法、不行就用doc文件在各個地方傳來傳去,對既有的或新興的其它高效方式不聞不問。

在這樣的環境中,一年的工做經驗能夠用十年。

我不得不考慮……


話說,碰巧看到本文的諸位,大家若是也用JIRA,可曾發現大家的issue中的標記語言,是否也是縮減版Textile

相關文章
相關標籤/搜索