Skip to content

Latest commit

 

History

History
127 lines (80 loc) · 4.73 KB

todo.md

File metadata and controls

127 lines (80 loc) · 4.73 KB

0. How this todo will work

  • There will be a branch for each feature (todo1.1, todo1.2, etc.)
  • These feature branches will merge into dev when the feature implementation is completed
  • The dev branch is merged into main for every major release update.

1. Internal Functionality

  • 1.1 Setup virtualenv activate script - .vinotes/bin/activate.sh

  • 1.2 Setup templating system for file creation (other than daily) - .vinotes/utils/create_note.py

    • file creation
    • apply template content .vinotes/templates/manager.py and .vinotes/utils/create_note.py
  • 1.3 Custom template creation / detection system

    • detect templates automatically
  • 1.4 Setup Configuration .vinotes/config.json

    • setup .vinotes/utils/config-manager.py
    • setup .vinotes/config.json
    • write appropriate config.json
    • implement in all applicable utils
  • 1.5 Setup Directory Creation in .vinotes/utils/create_note.py (make it so that anyone can make a file like ./literature/books/Metamorphosis Franz Kafka.md)

  • 1.6 shift all file creation to pathlib

  • 1.7 write a create-vault bash script to make a fresh vault every install

    • clone git repo for creation of vault
  • 1.8 open file when created option in config.json.

  • 1.9 after all config fields are setup for the first release, divide the "categories" of config to different lists.

  • 1.10 Add principle directory configuration options in config.json

    • internal functionality at todo-2.6
    • removes zettelkasten default features, upto the user to create principle directories, will only ship with daily and example templates.
  • 1.11 Implement a fuzzy finder functionality within the command vn open-note

  • 1.12 Clean up code, fix variables (24-07-2024).

  • 1.13 add functionality for updating utilities if theres ever a new live update on GitHub.

    • New command vn update
    • Pull tracked files from remote, check if updates are needed by comparing data, update required files.
    • figure out a way to update new config fields with retaining the changes made by the user - can be done with the json library.
  • 1.14 Dev mode

    • create dev.config.json
    • create dev_mode.py
    • dev_utils for developing utilities.
  • 1.15 Figure out a way to handle attachments

  • 1.16 update create_note.py to have the ability to create notes in the vault directory without any principle directory.

2. Commands

  • 2.1 help - .vinotes/utils/help.py

    • write help docs for all commands until now
  • 2.2 - trashed - open vault - .vinotes/bin/openvault.sh (Functionality trashed cuz doesnt make sense)

    • basic integration (just opens ./index.md)
    • every time command is run:
      • update index.md with past 5 daily files --- config.md integration opportunity for how many files to display
      • update index.md with random quote
      • update index.md with latest created files (very experimental and exceptional to first production release)
  • 2.3 open / create daily

    • create template for daily
    • ignore daily directory option in create_note.py
    • file creation and apply template content for daily note and open note
  • 2.4 create zettelkasten notes in create_note.py

    • fleeting notes - on the fly, raw data
    • literature notes - from books, articles, web, distill the quotes and information
    • permanent notes - interpret the above two into a single idea in our own words
    • update template_manager.py
    • testing
  • 2.5 - trashed - backup vault - users can setup their backup themselves.

  • 2.6 - add command vn reload to check for new templates and new principle directories.

  • 2.7 command - vn open-note

    • Basic implementation
    • # fuzzy finder (todo-1.11)
  • 2.8 comamnd - vn update to update binaries and utilities.

  • 2.9 commmand - vn changelog - opens changelog in nvim.

  • 2.10 vn export-page - ability to export pages selected from provided filepath or fzf into HTML or PDF.

  • 2.11 vn export-vault - ability to export the whole vault into HTML5. (very bare bones and experimental idea)

3. Releases

  • v1.0 - First Production Release

    • test for errors & bugs
    • update .vinotes/bin/help.sh
    • create setup script (either in bash or python)
    • update README.md (usage, docs, credits)
    • PUSH & PUBLISH RELEASE!
  • v1.1 - Second Production Release

    • test for errors & bugs
    • update .vinotes/bin/help.sh
    • create setup script (either in bash or python)
    • update README.md (usage, docs, credits)
    • update CHANGELOG.md
    • update wiki
    • PUSH & PUBLISH RELEASE!