Take notes quickly.
-
Requirements
-
Install
$ git clone https://github.com/NaleRaphael/qnote.git $ pip install qnote
The following commands are based on these two concepts:
note
: a fundamental object to present title, content and tags of a notenotebook
: a collection of notes
qnote add [-t | --title <title>] [-c | --content <content>] [-t | --tags <tags>]
qnote clear [-y | --yes]
qnote edit [--uuid <note_uuid>] [--editor <editor_name>]
edit selected [--editor <editor_name>]
qnote list [--date] [--uuid]
qnote move [--uuid <note_uuid>] [--notebook <notebook_name>]
move selected [--notebook <notebook_name>]
qnote notebook open <name>
notebook create <name>
notebook delete <name> [-f | --force]
notebook list [--date]
notebook rename <old-name> <new-name>
notebook search <pattern>
qnote open [--uuid <note_uuid>]
open selected
qnote remove [--uuid <note_uuid>]
remove selected
qnote status [<notebook_name>]
qnote search uuid <pattern_of_uuid>
search title <pattern_of_title>
search content <pattern_of_content>
search tags <tags>
qnote select [--multiple] [--date] [--uuid]
select clear
select list [--date] [--uuid]
qnote tag list
tag clear_empty
tag rename <old_name> <new_name>
-
Add a new note by entering interactive mode
$ qnote add
-
Add a new note directly
$ qnote add --title "# My first note" --content "Good day" --tags "#diary, #misc"
-
Clear trash can
$ qnote clear
All notes removed by command
qnote remove
will be moved into a trash can called[TRASH]
first. You can move them back byqnote move
or delete them by this command.Note that this is an irreversible operation, all notes will be deleted permanently.
-
Edit specific note
$ qnote edit [--uuid <note_uuid>] [--editor <editor_name>] # --uuid: edit the note with given UUID # --editor: edit the note in specific editor
-
Edit note from selected list
$ qnote edit select [--editor <editor_name>] # alias: qnote edit sel
- List all note in current notebook
$ qnote list [--date] [--uuid] # --date: Show create_time and update_time of notes. # --uuid: Show UUID of notes.
-
Move note to another notebook
$ qnote move [--uuid <note_uuid>] [--notebook <notebook_name>] # --uuid: UUID of the notes to move. If this argument is not given, interactive mode will start and user can select notes from notebook. # --notebook: Destination of the notes to moved into.
-
Move selected note to another notebook
$ qnote move selected [--notebook <notebook_name>] # --notebook: Destination of the notes to moved into.
-
Open a note (view-only)
$ qnote open [--uuid <note_uuid>] # --uuid: UUID of the note to open. If this argument is not given, interactive mode will start and user can select a note from notebook.
-
Open selected note
$ qnote open selected # alias: qnote open sel
-
Remove a note from current notebook to trash can
$ qnote remove [--uuid <note_uuid>] # --uuid: UUID of the note to remove. If this argument is not given, interactive mode will start and user can select a note from notebook.
-
Remove selected note
$ qnote remove selected # alias: qnote remove sel
-
Search notes by UUID
$ qnote search uuid <pattern_of_uuid>
Note that hyphen "-" in UUID can be ignored.
e.g. for a UUID "...685-5878...", we can use "8558" as a query.
-
Search notes by title
$ qnote search title <pattern_of_title>
-
Search notes by content
$ qnote search content <pattern_of_content>
-
Search notes by tags
$ qnote search tags <tags>
If multiple values are given, they should be separated by commas and enclosed by quotation marks.
e.g. "#tag_name_1, #tag_name_2, ..."
-
Open a notebook
$ qnote notebook open <name>
-
Create a notebook
$ qnote notebook create <name>
-
Delete a notebook
$ qnote notebook delete <name> [-f | --force] [-y | --yes] # -f: Forcibly delete specified notebook. # -y: Automatically answer YES to the prompt for confirmation.
Note that existing notes will be deleted permanently.
Please consider using
qnote remove
to remove those notes to trash can before deleting a notebook if you are not sure that you really don't want to keep those notes. -
List all existing notebooks
$ qnote notebook list [--date] # --date: Show create_time and update_time of notebooks.
-
Rename notebook
$ qnote notebook rename <old-name> <new-name>
This is an interesting feature to make you manage notes easier. You can select notes by this command and apply other actions later.
-
Select notes
$ qnote select [--multiple] [--date] [--uuid] # --multiple: If this flag is set, user can select multiple notebooks in the interactive mode. # --date: Show create_time and update_time of notes. # --uuid: Show uuid of notes.
-
Clear selected notes
$ qnote select clear
-
List all selected notes
$ qnote select list [--date] [--uuid] # --date: Show create_time and update_time of notes. # --uuid: Show uuid of notes.
-
Show status of an notebook.
$ qnote status [<notebook_name>]
If no notebook is specified, status of current notebook (which is pointed by
HEAD
) will be shown.
-
List all tags
$ qnote tag list
-
Clear those tags which no notes are tagged by
$ qnote tag clear_empty
-
Rename tag
$ qnote tag rename <old_name> <new_name>
I was looking for a note-taking tool which is easy to use, low resource consuming and even extensible since I really want to make some experimental features to make me take notes more conveniently.
But finding such an ideal application seems way more difficult than building one by myself. So I decided to make this tool.
And thanks to the following awesome tools, this project is also inspired by them:
Feel free to open an issue when you find out a bug.