/MarkdownPlanner

一个使用Markdown格式文本进行项目计划编排、展示的工具

Primary LanguageJavaScript

MarkdownPlanner

该项目是forked from xumingming/MarkdownPlanner

看到这个小工具的时候,想着Markdown还能在无数据库的情况下,又是 Java 语言实现类似的功能,在日常中很实用,看了源代码之后就萌生了修改的意图。在别人的肩膀上改动,只是本人的一丝拙见,无关大雅勿喷

我的想法和后续功能改进

基础改进

  • Spring Boot 版本升级到2.0.*(没什么其他含义拉,只是单纯的想更新)
  • 修改单个 MD 文件展示页面的样式(调整 css 而已)
  • 增加部分新的插件
  • 调整部分代码结构(文件夹挪动一下,结构更加清晰)
  • 修改部分页面读取文件可能出现乱码
  • 修改或增加配色方案(待定)

功能

  • 修改配置文件相关功能
    • 去除.markdownplanner.json或挪动此文件的位置,重新思考该文件的使用和场景
    • 支持指定文件夹功能?(待定)
    • 最后既然是 jar 运行,是否json配置文件外放,使用 sh/bat 的形式来启动?
  • 支持首页多文件夹
  • 增加 git,支持远程 git 库,保存 md 文件
    • 实现多人同步编辑或者更新的操作?
    • 有没有可能实现在线编辑?
    • MD 文件手动更新(git pull)
  • 责任人相关操作
    • 继续完成请假的功能
    • 编辑状态下可修改时间?
  • 增加甘特图?
  • 继续像 md 文件增加一些新的元素(不盲目加,加太多不符合初衷)
  • 任务仅仅一个名称可能不符合现实操作,任务详细说明可能过长,可能增加链接的方式,或者增加类似简单WiKi的功能
  • 统计信息中增加进一步的统计信息
  • 可重新导出MD或者 Excel?

以下是原来的项目中的介绍

随着 Markdown 这种既可以用普通文本编辑器(Vim/Emacs)编辑, 又有一定样式的文件格式的流行,我一直想着用Markdown文件记录项目计划的 内容,因为Markdown文件的编辑非常的方便,这样就必须要有一个软件对这个项目文件进行解析展示, 因为我希望我只指定最少的信息,其它信息 需要由这个软件自动计算出来。

在我的脑海里,这个软件应该符合以下几个条件:

  • 它要是基于Web的。
  • 它允许多个人同时对项目文件进行编辑。
  • 它对Markdown文件的格式要求要尽量的少。
    • Markdown文件的内容应该本身就是可读的,即使不使用这个软件辅助也可以看出项目的大概情况。
  • 我不需要手动指定每个任务的开始时间,结束时间,而是自动计算出来。
    • 否则一旦中间某个任务发生变化,会影响这个任务后面所有其它任务的开始和结束时间。
  • 除了基本的跟踪每个任务进展的功能,还要可以反映项目整体的进展情况,是否有延期,延期是否严重?
  • 项目过程中,可能会有人请假,我应该只需要把请假的信息写进计划,而不需要因此调整很多任务的开始、结束时间。

总之一句话:

我只需要指定必要的信息: 项目什么时候开始;要做哪些事情;每件事情需要的人日、由谁负责;哪些人在哪些日子里面要请假,我便可以得到一个详细的计划。

经过几年的打磨(一点不夸张,换了至少三个方案),目前这个版本我觉得已经比较满意和趁手,因此分享给大家。废话不多说,先上图:

一个测试项目所有任务的列表:

任务列表

对任务的进度进行更新:

任务的进度进行更新

整个项目的一些统计信息:

项目统计信息

看了有这么多的功能,你可能会以为这背后一定有一个MySQL数据库吧? 没有,所有这些信息都是来自一个普通的Markdown文件,上面这个测试的项目文件在这里: test.plan.md

下载、编译、运行

# 下载
git clone git@github.com:xumingming/MarkdownPlanner.git
cd MarkdownPlanner
# 编译
mvn package

下面复制测试项目文件: test.plan.md 到任意目录(比如/tmp/test), 然后到这个目录下面启动MarkdownPlanner:

mkdir -vp /tmp/test
cp test.plan.md /tmp/test
cd /tmp/test
java -jar /path/to/your/MarkdownPlanner/target/MarkdownPlanner-0.1.0.jar --server.port=9999

现在打开浏览器访问 http://localhost:9999/test.plan.md 就可以访问到这个项目的页面了,祝你用得开心 :)。

语法

为了能够让我们MarkdownPlanner把你的markdown文件识别成一个项目文件,你的文件名必须以 .plan.md 结尾。

Markdown文件里面跟任务制定相关的一些小 "语法" :

指定项目从 2018-01-22 开始:

* ProjectStartDate: 2018-01-22

一个由詹姆斯负责的、需要1个人日的、目前完成了 80% 的、名为 数据的填充 的任务:

* 数据的填充 -- 1[詹姆斯][80%]

指定 川普 同学, 2018-01-222018-01-26 期间不参与这个项目:

* 川普 -- 2018-01-22 - 2018-01-26

Happy planning!