Qnote を使用すると、何万もの短いメモをすばやく作成して検索できます。
#
を付けて Note にタグを作成するメモは SQLite データベースに保存されます (さらに多くのデータベースがサポートされる予定です)。検索は、Bleve (デフォルト) または追加のセットアップを行った Elasticsearch によって提供されます。
Golang をまだセットアップしていない場合は、セットアップする必要があります。ただ走るよりも
go get github.com/anmil/quicknote/cmd/qnote
これにより、ライブラリがプルされ、Golang bin ディレクトリにビルドされます。
ブックを使用すると、仕事用のメモと個人用のメモなど、関連するメモを互いに分離して保存できます。特に明記されていない限り、すべてのアクションは作業ブックに対してのみ実行されます。 -n
フラグを使用して作業ブックを変更できます。
新しいブックを作成するには
qnote new book <book name>
qnote ls books
ブックとブック内のすべてのメモを削除できます。
qnote rm book <book name>
本を削除したいが、メモは残しておきたい場合。ブックを別のブックに結合できます。ブックを結合すると、1 つのブックからすべてのメモが取得され、別のブックに移動され、空のブックが削除されます。
qnote merge <book to delete> <book to move notes to>
ブックは、クエリの結果またはノート ID のリストからという 2 つの方法で分割できます。
クエリによる
qnote split query <book name> <query>
これにより、作業ブックに対してクエリ検索 (QueryStringQuery を使用) が実行され、クエリの結果が<book name>
に移動されます (存在しない場合は作成されます)。クエリ文字列で書籍を指定する必要はありません。それはすでに追加されています。
ID別
qnote split ids <book name> <note ids...>
これも同じことを行いますが、メモをクエリする代わりに、指定された ID のメモを移動します。
エディター (デフォルトの Vim、Env: EDITOR でオーバーライド) を開いて新しいメモを作成するには
qnote new note
メモは、最初の行をタイトルとして、残りを本文として取得するパーサーを介して実行されます。 #
文字で始まる単語はメモのタグとして使用されます。
次のテキストを含むメモを作成する
This is a test #note
notes are #cool and #fun
one #note is never enough
This is a test #note
、Tags note, cool, fun
というタイトルのメモが作成され、本文は次のとおりです。
notes are #cool and #fun
one #note is never enough
URL からメモを作成することもできます。
qnote new url <url>
qnote は URL に対して GET リクエストを実行します。返された HTML を解析して、Web ページのtitle
、 meta[name=keywords]
、 meta[name=description]
タグを調べます。タイトルと URL がタイトルとして使用され、キーワードがタグとして使用され、説明が本文として使用されます。この情報が入力された状態でエディターが開き、保存する前に変更を加えることができます。
ブック内のすべてのメモをリストするには
qnote ls notes
すべてのブックのすべてのメモをリストするには
qnote ls notes all
エディタを開いてメモを編集するには
qnote edit note <note id>
メモを削除するには
qnote rm note `<note id>`
qnote はデフォルトで Bleve を使用しますが、メモにインデックスを付けて検索できるようにする ElasticSearch もサポートしています。 ElasticSearch の方がはるかに強力で高速であるため、多少の追加セットアップを気にしない場合は、ElasticSearch をお勧めします。 Elasticsearch をインストールすると、Linux では$HOME/.config/quicknote
に、Max OSX では$HOME/Library/Application Support/quicknote
にある qnote の設定ファイルを編集できます。
フレーズ接頭辞を使用して作業中のブック内のメモを検索するには
qnote search query
-q
フラグを設定すると、より強力なクエリ構文 QueryStringQuery (Bleve ElasticSearch) を使用することもできます。 -q
フラグを使用すると、クエリはすべての書籍に対して実行されることに注意してください。
検索できるフィールドは、 id
、 created
、 modifed
、 title
、 tags
(共通の区切りリスト)、 body
、およびbook
です。したがって、書籍「Work」内で「projectx」タグを持つメモを検索したいとします。あなたは走るでしょう
ブレーベの場合
qnote search -q "+book:Work +tag:projectx"
とエラスティックサーチ
qnote search -q "book:Work AND tags:projectx"
ノートを作成、編集、削除すると、qnote がインデックスの更新を処理します。ただし、インデックスプロバイダーの変更、ElasticSearch の再インストール、別のシステムからのメモデータベースのコピーなどの理由でインデックスを再作成する必要がある場合は、走れるよ
qnote search reindex
そして、qnote はすべてのノートのインデックスを再作成します。
メモをバックアップする最も簡単な方法は、Linux ではデータ ディレクトリ$HOME/.config/quicknote
に、Max OSX では$HOME/Library/Application Support/quicknote
に qnote.db をコピーすることです。 qnote ls notes
コマンドの-f
フラグを使用して、リストを csv または json 形式でエクスポートすることもできます。
現時点では、CSV または JSON からメモを復元する方法はありません。
すべてのコマンドとフラグは、 help
コマンド内のドキュメントです。 qnote help <command>
実行するだけで、コマンドの説明とフラグが表示されます。
例 1:
$ qnote help
Qnote allows you to quickly create and search tens of thousands of short notes.
Create Books to organize collections of notes.
Add tags to notes for more accurate searching.
Export your notes in text, csv, and json.
Notes are stored in an SQLite database (support for more databases is coming).
Searching is provided by Bleve by default, or Elasticsearch with some extra setup.
Usage:
qnote [command]
Available Commands:
delete Delete Note or Notebook
edit Edit Note or Notebook
get Get/List Notes, Notebook, Tags
merge Merge all notes from <book_name 1> into <book_name 2>
new Create new Note or Notebook
search Search notes
split Split Book
version Print the version of qnote
Flags:
-n, --notebook string Working Notebook (default "General")
Use "qnote [command] --help" for more information about a command.
例 2:
$ qnote help edit book
Edit the working Book's name. This requires re-index the Book
Usage:
qnote edit book <new book_name> [flags]
Global Flags:
例 3:
$ qnote get -h
Get/List Notes, Notebook, Tags
Usage:
qnote get [command]
Aliases:
get, list, ls
Available Commands:
book List all books
note List all notes in the working Book, or all notes for the given [note id...]
tag lists all tags for the working Book
Flags:
-f, --display-format string Format to display notes in [ids, text, short, json, csv] (default "text")
-d, --display-order string The order to display Notebook, Notes, Tags [asc, desc] (default "asc")
-s, --sort-by string Sort notes by [id, created, modified, title] (default "modified")
Global Flags:
-n, --notebook string Working Notebook (default "General")
Use "qnote get [command] --help" for more information about a command.