【專案管理】Mermaid.js 套件介紹,Markdown 語法簡單做出甘特圖

更新於 發佈於 閱讀時間約 7 分鐘

最近很幸運的因為自己的學習進度與六角學院負責人籌辦的火箭隊培訓營相符,於是有幸成為了火箭隊培訓營的前端插班生。

近期因為完成了 Vue Cli 及 Router 的課程,培訓營的學習進度逐漸進入到最重要的階段:專題發表。

在專題發表前,講師要求我們在規劃自己的專案時需要使用到甘特圖來進行時程上的規劃。

身為一個 Excel 小菜雞,目前並沒有使用微軟的付費方案,所以就沒有在使用 Microsoft 365 的習慣,如果有任何文書上處理的需求我基本上都是使用 Google 的雲端辦公軟體,像是 Google Docs 、試算表等來處理文件需求。

經過查找,我發現要在 Google 試算表上實現甘特圖會很複雜,也要花很多時間研究,困難難度實在不亞於使用 Excel 來建置甘特圖。

誤打誤撞下,我發現了一個開放資源,可以透過簡單的 Markdown 語法來建置甘特圖,或是其他流程圖的套件:Mermaid.js

raw-image


Mermaid.js 榮獲 JS Open Source Awards (2019) 殊榮,協助開發者可以用簡易的方式進行專案流程的規劃。

註: Markdown 是一種標記式的程式語言,主要會使用一些簡單的語法進行文字或是圖像上的排版,支援多平台,檔案格式為 .md 結尾。


➤ Mermaid.js 解決什麼問題?

通常開發者是比較少接觸到專案管理的工具,如果會有專案管理的需求,可能會出現在需要建置自己的 side project 時,需要與他人協作溝通時。

所以在大部分的狀況下,開發者不會熟悉操作 Excel、Whimsical 等工具,更不會為了要打造自己的 side project 而特別去學習一套軟體。

另外一點是,大部分的開發者已經很習慣使用程式碼來快速產生圖像,如果要開發者使用拖拉、繪圖的方式來進行流程圖的規劃,其實非常的耗時。

Mermaid.js 可以很好的解決上述的幾個問題:

1. 開源套件是免費的,不需要額外購買

2. 使用簡單的程式碼進行流程圖規劃,不需要一直手動拖拉圖形

3. 不需要額外學習新工具,用既有的知識就可以操作

除了可以解決既有的問題外,我還額外發現使用 Markdown 語法來製作流程圖是一件很方便的事,當你想要將專案部署到 GitHub 時,就可以使用 Mermaid.js 直接更新專案進度,不需要額外開啟其他工具,可以說是專案整合上非常的方便。


➤ Mermaid.js 的環境部署

Mermaid.js 支援多環境,環境列表可以參照此外掛列表,需要注意的是,因為 Mermaid.js 本身並不是原身的 Markdown 語法,而是以 JavaScript 作為基礎,所以在各個環境中像是 Vs Code、GitHub 等都會需要額外安裝一些套件,或是透過新增環境變數的方式來進行編譯。

然而前面有講到,其實在技術沒有到一個程度時,要去看這些文件基本上都要通靈居多,時間上也不允許我們花過多時間在研究套件上。

因此 Mermaid.js 有自己的 sass compiler 服務:Mermaid Live Editor,這個服務就跟開發者常用的 JS Bin 或是 Codepen 服務很像,提供線上的編輯及預覽服務。

唯一的缺點是,目前 Mermaid Live Editor 還沒有提供註冊及登入服務,主要是以 localStorage 的方式暫存資料(這一點我不太確定)。

所以如果有需要儲存自己的 Markdown 程式碼的話,可能會需要在 Vs code 裡面編輯,並且將 .md( MarkDown 檔案)用 Git 的方式來儲存,需要重新更新圖片的時候,再把語法丟進 Live Eidtor 中編譯。

raw-image

我認為以上作法就完全不需要考慮到不同環境的編譯問題,因為只要你使用的環境有支援 Markdown 語法,就可以先由 Live Editor 編譯,並由該編譯器產生一組嵌入語法(就跟 CodePen 使用方式一樣),使用那一組嵌入語法就可以將該流程圖放到 GitHub 上了。

至於語法的部分,Mermaid.js 官方也有提供完整的語法教學,我認為對一個開發者來說,是非常容易理解的語法,可以等到需要用到時在打開官方文件比對使用,不需要額外花太多時間研究。

至於官方宣稱說,Mermaid.js 是不需要懂程式語言也可以操作的套件,我個人會覺得這點見仁見智,畢竟要修改樣式的話,還是得要仰賴 CSS。

但至少這個套件對於初級的開發者來說,不管是文件上的閱讀,或是操作的方法都是非常友善的。

而對於進階開發者來說,從文件上可以看的出有很多進階的指令,像是設定環境變數等,但因為我目前技術上還沒有到這個程度,我就暫且擱置,只有使用 Vs Code + Mermaid Live Editor 的方式來進行編譯使用。


➤ 如何在 Vs code 預覽 Mermaid 流程圖


先前有提到 Mermaid.js 並不是原生的 Markdown 語法,所以如果想要預覽效果流程圖效果的話要需要安裝其他套件才辦辦法做到,在 Vs code 可以找到以下套件:


raw-image

安裝完後,我們可以在 .md 檔案上按右鍵,選取 Preview 選項,就可以即時預覽我們的流程圖:


raw-image

這裡先說個小總結,如果是大型專案的管理需求,也許 Mermaid.js 並沒有到這麼的適合,但如果單純是個人小型的專案,我相信會非常的好用(畢竟人家是免費的)。

未來如果有用到更為進階的功能,會再這篇文章中同步更新,希望大家都可以找到適合自己使用的開發工具!

希望今天的文章有幫助到正在閱讀的你,如果你喜歡我的文章的話,可以留下你的愛心或是收藏我的文章,也或者可以點選「贊助」,你的一杯咖啡絕對是我持續寫下去的動力!或是透過拍拍手,用你小小的行動支持我的創作!

我是Vivian,我們下次見。



關於我:

2019年從英文系畢業,2021下定決心開啟轉職工程師的新生活,相信不斷學習會有成長的一天。

|Instagram: Vivian Yeh|vivian_enlife

|聯絡我:vivian.enlife@gmail.com

留言
avatar-img
留言分享你的想法!
王子翰-avatar-img
2022/02/17
讚讚喔~ https://www.ithome.com.tw/news/149380 看到一篇新聞就來找相關文章 感謝分享
Vivian Yeh-avatar-img
發文者
2022/02/19
謝謝子翰的肯定:)之後會再持續分享好用的工具唷~
avatar-img
Vivian Yeh - 跨領域轉職的軟體工程師
444會員
102內容數
為了追求可以窩在座位上、可以心無旁騖思考問題、座位可以亂七八糟沒關係、不需要到處哈腰點頭跑客戶,不用腳踩十公分、連妝都可以不用化的職場人生,文組少女毅然決然踏上RD的養成日常。
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
Notion 是一個功能強大且多功能的協作工具。透過在 Notion 使用 Mermaid 語法繪製流程圖,可以有效地以視覺化的方式呈現流程和流程間的關係。此外,流程圖是一種圖形表示方式,用於展示任務、流程或系統中的步驟和相互關係,有助於優化複雜的流程,從而幫助我們檢視和改進流程效率。
Thumbnail
Notion 是一個功能強大且多功能的協作工具。透過在 Notion 使用 Mermaid 語法繪製流程圖,可以有效地以視覺化的方式呈現流程和流程間的關係。此外,流程圖是一種圖形表示方式,用於展示任務、流程或系統中的步驟和相互關係,有助於優化複雜的流程,從而幫助我們檢視和改進流程效率。
Thumbnail
Notion 是一個功能強大且多功能的協作工具,透過在 Notion 使用 Mermaid 語法繪製甘特圖,可以有效地視覺化學習進度和目標完成情況,從而提升工作效率和學習成果的管理。現在,我們將開始學習在 Notion 上繪製甘特圖,以組織學習進度並促進團隊之間的協作。立即踏上這個專業的學習旅程吧!
Thumbnail
Notion 是一個功能強大且多功能的協作工具,透過在 Notion 使用 Mermaid 語法繪製甘特圖,可以有效地視覺化學習進度和目標完成情況,從而提升工作效率和學習成果的管理。現在,我們將開始學習在 Notion 上繪製甘特圖,以組織學習進度並促進團隊之間的協作。立即踏上這個專業的學習旅程吧!
Thumbnail
Diagrams as Code 有時,一張圖片可能勝過千言萬語。 在討論需求時,Use Case 可以讓我們知道有那些需求,有哪些腳色,系統邊界在哪裡。 Mermaid 和 PlantUML 能幫助我們達成,那又該怎麼選擇呢
Thumbnail
Diagrams as Code 有時,一張圖片可能勝過千言萬語。 在討論需求時,Use Case 可以讓我們知道有那些需求,有哪些腳色,系統邊界在哪裡。 Mermaid 和 PlantUML 能幫助我們達成,那又該怎麼選擇呢
Thumbnail
這篇文章將會介紹企劃使用的文件格式與其特性。
Thumbnail
這篇文章將會介紹企劃使用的文件格式與其特性。
Thumbnail
「已命名函式」功能可以讓你設計自己的函式,還可以把它分享給別人使用、更可以把它匯入到其他試算表,化繁為簡,讓你的工作效率大大提升。這是 Google 試算表的一大突破,一起來看看怎麼做吧!
Thumbnail
「已命名函式」功能可以讓你設計自己的函式,還可以把它分享給別人使用、更可以把它匯入到其他試算表,化繁為簡,讓你的工作效率大大提升。這是 Google 試算表的一大突破,一起來看看怎麼做吧!
Thumbnail
如何在白板工具和代码绘制流程图? 关于如何在 FlowUs 这样的效率工具中如何使用流程图的话题,上次我们在文章中推荐了 ProcessOn 和 Draw.io 这两款工具。具体可以阅读原文。 除了专门的流程图工具,还有其他解决方案吗? 使用白板工具绘制流程图或者思维导图。 使用代码绘制流程图
Thumbnail
如何在白板工具和代码绘制流程图? 关于如何在 FlowUs 这样的效率工具中如何使用流程图的话题,上次我们在文章中推荐了 ProcessOn 和 Draw.io 这两款工具。具体可以阅读原文。 除了专门的流程图工具,还有其他解决方案吗? 使用白板工具绘制流程图或者思维导图。 使用代码绘制流程图
Thumbnail
如今,在编辑器领域,Markdown 大行其道。那么,如何使用 Markdown 语法呢?又如何选择合适的 Markdown 编辑器呢? Markdown 语法的历史与使用 Markdown 具有轻量化、易读易写易学等特性。你花费十几分钟就可以掌握大多数 Markdown 语法内容。 📷 📷
Thumbnail
如今,在编辑器领域,Markdown 大行其道。那么,如何使用 Markdown 语法呢?又如何选择合适的 Markdown 编辑器呢? Markdown 语法的历史与使用 Markdown 具有轻量化、易读易写易学等特性。你花费十几分钟就可以掌握大多数 Markdown 语法内容。 📷 📷
Thumbnail
Marp是利用Markdown語法編寫簡報的功能,可以簡單的作出俐落的簡報(但沒有什麼花俏的轉場,動畫之類的),不過可以僅用編輯器就生出來,同時可以使用Markdown語法給予簡報內容整齊又美觀的排版。
Thumbnail
Marp是利用Markdown語法編寫簡報的功能,可以簡單的作出俐落的簡報(但沒有什麼花俏的轉場,動畫之類的),不過可以僅用編輯器就生出來,同時可以使用Markdown語法給予簡報內容整齊又美觀的排版。
Thumbnail
透過 Markdown 能夠撰寫易於閱讀、撰寫的純文字,並進一步透過像是 pandoc 這樣的轉換工具,選擇性地輸出多樣化的格式(如 HTML、Word 或者 PDF。)
Thumbnail
透過 Markdown 能夠撰寫易於閱讀、撰寫的純文字,並進一步透過像是 pandoc 這樣的轉換工具,選擇性地輸出多樣化的格式(如 HTML、Word 或者 PDF。)
Thumbnail
JavaScript 能做許多事,尤其透過瀏覽器的 API 或套件,我們得以悠游於巨量資料中,將資料轉換為與使用者溝通的介面,以下就來分享 15 個實用的 Vanilla JS 程式碼...
Thumbnail
JavaScript 能做許多事,尤其透過瀏覽器的 API 或套件,我們得以悠游於巨量資料中,將資料轉換為與使用者溝通的介面,以下就來分享 15 個實用的 Vanilla JS 程式碼...
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News