Nyhilo / kep

Console-based, tag-searchable note taking application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kep

Kep is a commend-line note taking and documenting tool.

Goals

This project aims to achieve the following goals:

  • Provide a list of CLI commands for taking notes
  • Notes should open up in a text editor of choice, pre-formated, and only require a save action for them to be added to kep
  • These commands should have shortcut commands for expediency
  • .kep should be able to have an internal name that is different to their file name
  • .kep files should be able to store a list of tags, and the tags should be searchable and filterable from the CLI
  • .kep files should be able to be organized into folders, in addition to the tagging functionality
  • .kep files should be able to reference non-.kep files in the same folder, such as images, html files, etc.
  • kep should be usable from anywhere, but stores notes in a single place
  • The location of the /kep/ files directory should be configurable
  • .kep files should be able to be printed/displayed in the CLI, separate from editing
  • .kep files should be able to do minor mardown styling when reading
  • The /kep/ files directory should be navigable in the CLI, and properly store .kep files relative to the current location

Folder Structure

By default, the expected folder structure of the /kep/ directory will be:

/home/kep/
        .kep/
            index   # Stores an index of folders and tags for faster searching
            config
        notes/
            # List of subfolders and un-sorted .kep files

File format

kep files should have a header that stores metadata information (such as for tagging, linking, etc), followed by the content. All header fields are optional.

deploymentmeetingnotes.kep:

Title: Software A Deployment Meeting Notes
Date Created: 2019-10-23 11:32 am
Date Modified: 2019-10-23 1:14 pm
Tags: notes software_a meeting october 2019
---

Brad didn't show up to this meeting, should remember to get with him later to review

- Stuff about scope
    * Some other stuff about scope
    * [Pdf in this same folder](scope.pdf)
- What it should look like
    * Colors and stuff

|---------------|
|               |
| Ascii Picture |
|               |
|---------------|

kep files can also contain only metadata and reference other files copied to the same directory. This is useful for using kep to keep simple productivity scripts that you want to find later in a taggable format

copydatabase.sql.kep

Title: Copy Database
Date Created: 2019-8-16 4:13 pm
Tags: sql database user copy sql_procedure scripts
Files: copydatabase.sql
---

Current Usage

kep doesn't currently have any usable functionality.

Planned Usage

Create a new note in the destination subdirectory under /home/kep/files/. Stores the note unsorted under /files/ if no directory is given. Immediately opens the file in the default text editor or editor of choice specified in the config.

kep note "Software A Deployment Meeting Notes" /meetings

Can also take a .kep file name to keep it simple

kep note donuts.kep /thoughts/food

Shortcut for kep note. If the first argument has a slash in it, it is assumed that it is the destination for a file name

kep /meetings "Software A Deployment Follow Up"

Or just store the note in the default directory

kep "note i will sort later"

Copy a file to the kep /files/ directory. For use outside of /home/kep/. Open the metadata .kep file for that file afterwards.

kep file websiteScrape.py /scripts/python

Print the contents (but not the metadata) of a .kep file to the console

kep read /meetings/deploymentmeetingnotes.kep
kep read /meetings/ "Software A Deployment Meeting Notes"

Search for files with given name

kep search deployment

> Notes with names containing 'deployment':
    1. "Software A Deployment Meeting"  /meetings/deploymentmeetingnotes.kep    2019-10-23
    2. "Website Deployment Meeting"     /meetings/websitemeetingnotes.kep       2018-11-05
    3. "deployment.py"                  /scripts/deployment.py.kep              2019-02-17

Search for files with given tag

kep search -tag meeting 2019

> Notes with tags 'meeting', '2019':
    1. "Software A Deployment Meeting"  /meetings/deploymentmeetingnotes.kep    2019-10-23
    2. "Software A Planning Meeting"    /meetings/deploymentmeetingnotes.kep    2019-10-16

Read a specified note from the previous search (dynamic!)

kep read 2

Same as kep read, but opens the .kep file in your editor of choice

kep edit <kep file or number if previously searched>

Tentative additional commands:

kep tags ...                                # show tags on given file
kep tag add ...                             # add tag to given file
kep file -fetch ...                         # copy file from /kep/files to current location
kep search -tag meeting -date < 2018-5-1    # search for files with the given tag created before 2019-5-1

About

Console-based, tag-searchable note taking application

License:MIT License


Languages

Language:Python 100.0%