V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cmdOptionKana
V2EX  ›  分享创造

做了一个“小项目计划工具”,纯天然, 无添加!

  •  1
     
  •   cmdOptionKana · 2020-02-29 12:47:01 +08:00 · 3063 次点击
    这是一个创建于 1732 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Small Plans

    用于个人小项目的 todo 工具。
    Small Plans for small projects.
    https://github.com/ahui2016/small-plans

    纯天然, 无添加

    • 不使用 React, Vue 等任何前端框架
    • 不使用 npm, 不使用 Webpack
    • 不使用 Bootstrap 等任何 UI 库
    • 不使用 JQuery
    • 不需要服务器, 整个应用只有一个 HTML 文件
    • 原生 HTML, CSS, JavaScript 手工打造, 一共 700 行代码

    数据安全

    • 使用浏览器的 localStorage 临时保全数据, 即使页面意外关闭, 数据也不会丢失
    • 提供 export 功能, 可随时导出数据为 json 文件, 永久保存
    • 提供 import 功能, 导入 json 文件, 恢复数据
    • 建议每次关闭页面前都导出一次, 连同项目代码一起 git push

    用途

    • 适用于个人小项目 (例如一名程序员自己制作的小项目)
    • 一般在做个人项目时, 突然想到一个功能可以增加, 或者哪里可以改进, 在这个过程中又会突然发现一个 bug. 此时, 通常无法立即实现全部突然冒出来的想法, 因此就需要先记录下来, 后续逐项完成.

    为什么不使用其他 Todo App?

    • 其他 Todo App 是一个单独的应用, 难以与个人项目紧密结合
    • 例如, 项目代码 push 到 git 仓库时, 其他 Todo App 的信息无法一起 push
    • 而由于 Small Plans 只是一个体积很小的 HTML 文件, 导出的数据也只是一个 JSON 文件, 非常小,
      因此完全可以放入仓库中, 随时与项目代码一起 push
    • 这样做的好处是:
      • 不需要额外编写项目的计划、完成进度, 因为 Small Plans 已包括这些内容, 并且很好地呈现
      • 每次写 commit 描述时不需要想, 只要看一眼 Small Plans 就知道做过什么
      • 另外, 虽然 commit message 也能大概记录软件开发过程, 但毕竟太简短, 会损失很多细节
      • 隔几天或隔一个月回头继续开发时 (个人项目随时中断几天的情况很常见) 也不会茫然, 不用苦苦回想, 只要看看 Small Plans, 整个开发过程、待办事项、灵感等等都一目了然
    第 1 条附言  ·  2020-03-03 00:47:05 +08:00
    刚刚提交了一次比较重要的改进,主要针对多个项目(把 small-plans.html 拷贝到不同目录下) 使用的情况,经过本次更新能有效避免不小心覆盖别的项目的 small-plans.json 文件,真正可以多个项目同时使用本程序了。
    11 条回复    2020-03-04 09:23:27 +08:00
    whileFalse
        1
    whileFalse  
       2020-02-29 13:04:42 +08:00 via iPhone
    挺好,但是我更喜欢在 README.md 里面记录。
    cmdOptionKana
        2
    cmdOptionKana  
    OP
       2020-02-29 13:27:45 +08:00
    @whileFalse 用这个小工具比直接 readme 记录好的地方我也总结了一下,主要是页面可以更整洁、可以自动记录时间、未完成 /已完成之间的转换更方便、打标签方便 /标签颜色可以自定义。

    比如我做了一个小功能,未完成项目加了一个 “bug” 标签的,点击一下完成按钮,除了变成已完成状态之外,还会自动把 bug 改为 fixed。

    源码使用最普通的 javascript,像这样的小功能非常容易定制。
    vazo
        3
    vazo  
       2020-02-29 19:52:24 +08:00
    真香
    cmdOptionKana
        4
    cmdOptionKana  
    OP
       2020-02-29 20:55:00 +08:00
    @vazo 谢挽尊😂
    encro
        5
    encro  
       2020-03-01 12:59:27 +08:00
    不用排斥 vue,ng 之类嘛,其实只用 vue 2 js 版+ng1,不用 es6,也只引入一个文件就行,非常简洁,代码上能少不少,体验上提升空间比较大。
    cmdOptionKana
        6
    cmdOptionKana  
    OP
       2020-03-01 17:22:51 +08:00
    @encro 也不是排斥,这次这个作品比较特殊,比较适合单个文件包含一切,文件体积还要尽量小,因为最好是每个项目的根目录都拷贝一个 small-plans.html 文件,它会检查自己的文件地址,在不同目录下打开可以各自独立,互不影响。

    其实我第一版的时候就用了 vue,甚至还用 Golang 做了一个后台,功能也比现在这个版本强大一些,但最终还是改成了现在这样。
    encro
        7
    encro  
       2020-03-01 17:57:43 +08:00
    @cmdOptionKana
    但是确实不如 markdown

    [x]todo1
    [x]todo2

    这样好啊。
    cmdOptionKana
        8
    cmdOptionKana  
    OP
       2020-03-01 21:08:29 +08:00
    @encro 如果全部都是一句话,是 markdown 好

    但如果要添加详细内容,markdown 容易看起来乱,我这个可以收起详细内容。

    另外 markdown 也不会自动把已完成项目移到下面。

    简单来说,内容少的 markdown 最好,内容多点就用这个小工具,项目大了就要用更专业的工具了。
    HereApp
        9
    HereApp  
       2020-03-02 14:08:10 +08:00
    思路像是一个 Web App,如果使用 Mac OS, 可以考虑放进 Menu icon 快速打开。
    i.v2ex.co/Sz55O14I.png
    /t/643399
    caogecym
        10
    caogecym  
       2020-03-04 03:08:01 +08:00
    真香
    cmdOptionKana
        11
    cmdOptionKana  
    OP
       2020-03-04 09:23:27 +08:00 via iPad
    @caogecym 谢谢支持,持续改进中
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2841 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:26 · PVG 08:26 · LAX 16:26 · JFK 19:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.