甘特图生成器
这是一个简单的甘特图生成器,作为 Dart 命令行工具编写。目前该工具生成 HTML/CSS 甘特图。它仅使用 div 和 span 作为 HTML,其余所有内容均通过 CSS 完成。这允许您将输出复制/粘贴到过滤内容的 Wiki 页面中,特别是 Confluence。
安装
- 安装 Dart。我建议通过 Flutter 安装。
- 创建一个示例 JSON/JSON5 文件(见下文)
- 使用
dart pub global run gantt_generator -i scratch/project.json5 -o scratch/index.html构建并运行该工具 - 运行 live-reload 等工具以实时查看
index.html的输出
有趣细节
该工具使用以下软件包
- resource_portable 将 HTML/CSS 作为资源嵌入到 CLI 工具中
- moustache_template 用于模板化
- json5 用于加载 JSON5 格式的文件
这是一个解决我遇到的问题的工具。我可能会在某个时候添加生成 JPEG/PNG 图像的功能。
问:为什么用 Dart 编写?答:因为我一直在开发 Flutter 应用,我想看看 Dart 生态系统在创建非 Flutter 应用方面的现状。
示例项目文件
这是演示该工具期望格式的示例项目文件
{
startDate: "1/17/2022",
title: "Some Project",
items: [
{
title: "Task #1",
duration: 8,
color: 1,
},
{
title: "Task #2",
duration: 28,
color: 2,
},
{
title: "Milestone #1",
color: 4,
},
{
title: "Task #3",
duration: 110,
color: 3,
},
{
title: "Task #4",
duration: 14,
color: 1,
},
{
title: "Task #5",
duration: 2,
color: 1,
},
],
}
这是输出
