So in my new role I have a project management system which is great at a lot but its Gantt functionality isn’t what I would want it to be. Being an Obsidian user I got to know Mermaid thought how can I make this work for me. Mermaid allows you to turn markdown (words) into a chart, but why take my word for it a picture says a 100% words

Example spreadsheet

A1 B C D E F G
2 Project ID Project Title Start Date End Date Time gantt
3           title Blog Example
4 NA needed for export NA needed for export NA needed for export NA needed for export NA needed for export dateFormat YYYY-MM-DD
5 EX112342 Example 1 11/04/2022 11/05/2022 30 EX112342 - Example 1: EX112342, 2022-04-11, 30d
6 EX112343 Example 2 14/02/2022 11/05/2022 86 EX112343 - Example 2: EX112343, 2022-02-14, 86d
7 EX112344 Example 3 18/01/2022 18/02/2022 31 EX112344 - Example 3: EX112344, 2022-01-18, 31d

The magic is column G which is a formula, and column F which works out how many days the project it projected to take. This coverts the date start field to one we will need later, adds the project ID and title (you don’t need both I just prefer it), add all the formatting we need for Mermaid. Simply put is just a concat formula to automate the markdown code.
=CONCAT(B5, " - ",C5, ": ",B5, ", ", (TEXT(D5,"yyyy-mm-dd")),", ",F5,"d")

By copying column G into the Mermaid website you will get an Gantt chart you can download as an image just like the one below.

%%{init: {'theme':'forest'}}%% gantt title Blog Example dateFormat YYYY-MM-DD EX112342 - Example 1: EX112342, 2022-04-11, 30d EX112343 - Example 2: EX112343, 2022-02-14, 86d EX112344 - Example 3: EX112344, 2022-01-18, 31d

Next steps

This is good but its not branded, putting this into a program update PowerPoint wouldn’t make friends with my marketing department. I am looking to do a few improvements for a future blog post

Gantt example

gantt dateFormat YYYY-MM-DD title Adding GANTT diagram functionality to mermaid excludes weekends %% (`excludes` accepts specific dates in YYYY-MM-DD format, days of the week ("sunday") or "weekends", but not the word "weekdays".) section A section Completed task :done, des1, 2014-01-06,2014-01-08 Active task :active, des2, 2014-01-09, 3d Future task : des3, after des2, 5d Future task2 : des4, after des3, 5d section Critical tasks Completed task in the critical line :crit, done, 2014-01-06,24h Implement parser and jison :crit, done, after des1, 2d Create tests for parser :crit, active, 3d Future task in critical line :crit, 5d Create tests for renderer :2d Add to mermaid :1d Functionality added :milestone, 2014-01-25, 0d section Documentation Describe gantt syntax :active, a1, after des1, 3d Add gantt diagram to demo page :after a1 , 20h Add another diagram to demo page :doc1, after a1 , 48h section Last section Describe gantt syntax :after doc1, 3d Add gantt diagram to demo page :20h Add another diagram to demo page :48h

Further reading

Mermaid Gantt Docco (mermaid-js.github.io)