TaskTracker.jl is a Julia package that helps you track and visualize your tasks from a todo file. It parses a markdown file, calculates the completion percentage of each task, and generates a Gantt chart using PlantUML.
- Parse markdown files to extract tasks and subtasks
- Calculate completion percentage of each task
- Generate Gantt charts using PlantUML
- Support for custom project start date
- Support for multiple todo files in a directory
- Export Gantt charts in various formats (pdf, png, svg, xml, plain)
Install the package by typing ]add https://github.com/kavir1698/TaskTracker.jl in Julia.
Create a todo file in markdown format (e.g., todo.md) with the following syntax:
- Tasks start with
- [ ]or- [x]for incomplete or complete tasks, respectively. - Tasks can have subtasks through indentation.
- Tasks can have a start date and duration in days specified in the format
Task name | yyyy-mm-dd | duration. - Alternatively, tasks can start after another task has been completed using the format
Task name | after Task2 | duration. - You can specify a custom project start date at the top of the file using the format
#project start date: yyyy-mm-dd.
- Run
julia -e 'using TaskTracker; generate_gantt("todo.md"; output_file="gantt.svg")'in the terminal, replacingtodo.mdwith your todo file name if necessary. - A Gantt chart will be generated as
gantt.svgin the same directory.
- If you have multiple todo files in a directory, you can generate a combined Gantt chart for all of them by running
julia -e 'using TaskTracker; generate_gantt_for_dir("path/to/directory"; output_file="combined_gantt.png")'in the terminal, replacingpath/to/directorywith your directory path if necessary. - The combined Gantt chart will be generated as
combined_gantt.pngin the same directory.
See example/todo.md for an example todo file.
You can export Gantt charts in the following formats:
pdfpngsvgxmlplain(for text)
Note: Combined charts can only be exported in png format.