昨天突然發現,公司用的JIRA issue中,居然是用Textile做爲標記語言。html
這也是一種輕量級標記語言,能力比流行的Markdown更強大,由於設計目的不一樣。Markdown是爲了寫做而設計,而Textile是爲了更快地寫HTML。
可是在JIRA上卻有諸多限制,也許是爲了某種程度的簡單,而刪減掉了吧。git
第一個是中文,其它全是英文。程序員
上述語法介紹,在 JIRA 上並不是所有有效。spa
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圖片語法,例如:
!/path/to/image 10w 20h! !/path/to/image 20%x40%! !/path/to/image 20%! !/path/to/image (Alt text)! 這些通通不支持!
Textile是隻能用*
,這裏JIRA上能夠用-
。
* 無序列表一 * 無序列表二 ** 無序列表縮進一次 *** 無序列表縮進二次 ** 無序列表縮進一次 * 無序列表三
無序列表一
無序列表二
無序列表縮進一次
無序列表縮進二次
無序列表縮進一次
無序列表三
有序列表不用標序。
# 有序列表一 # 有序列表二 ## 有序列表縮進一次 ### 有序列表縮進二次 ## 有序列表縮進一次 # 有序列表三
有序列表一
有序列表二
有序列表縮進一次
有序列表縮進二次
有序列表縮進一次
有序列表三
| 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; \}|
而若是用||
,結果更有喜感:
這不是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文件在各個地方傳來傳去,對既有的或新興的其它高效方式不聞不問。
在這樣的環境中,一年的工做經驗能夠用十年。
我不得不考慮……