Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jlyonsmith/gantt_chart
A Gantt chart generator written in Rust
https://github.com/jlyonsmith/gantt_chart
Last synced: 6 days ago
JSON representation
A Gantt chart generator written in Rust
- Host: GitHub
- URL: https://github.com/jlyonsmith/gantt_chart
- Owner: jlyonsmith
- License: unlicense
- Created: 2022-03-31T18:03:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-18T03:00:19.000Z (6 months ago)
- Last Synced: 2024-05-18T19:51:00.484Z (6 months ago)
- Language: Rust
- Size: 153 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gantt Chart Generator
[![coverage](https://shields.io/endpoint?url=https://raw.githubusercontent.com/jlyonsmith/gantt_chart/main/coverage.json)](https://github.com/jlyonsmith/gantt_chart/blob/main/coverage.json)
[![Crates.io](https://img.shields.io/crates/v/gantt_chart.svg)](https://crates.io/crates/gantt_chart)
[![Docs.rs](https://docs.rs/gantt_chart/badge.svg)](https://docs.rs/gantt_chart)*New in v2.0, the tool now generates SVG files.*
This is a tool to generate simple Gantt charts. Here's some sample output:
![Gantt Chart Output](example/project.svg)
The focus of the tool is the generation of the chart from existing data and not the calculation of project dependencies.
Install with `cargo install gantt_chart`. Run with `gantt-chart`. If you have [resvg](https://crates.io/crates/resvg) installed, you can generate a PNG bitmap with:
```sh
resvg example/project.svg example/project.png --background '#ffffff'`
```It has the following features:
- Takes input date in a simple [JSON5](https://json5.org/) format
- Groups tasks by resource
- Schedules a tasks for each resource as soon as the previous one is complete
- Allows the creation of zero length project milestones
- Automatically generates resources colors using a [Golden Ratio](https://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/) algorithm
- Customizable column widths
- SVG allows easy scaled conversion to other formats
- Tasks can be shown as done or not-done
- You can add a dotted line to mark the current or other date
- Can generate a table of resources
- Takes into account weekends and extends task durations as needed so the start & end to falls on a weekdayYou can use the tool to quickly generate high level project timelines. For full blown Gantt functionality, I recommend a tool like [OmniPlan](https://www.omnigroup.com/omniplan).