You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.4 KiB
58 lines
1.4 KiB
# Knowledge Base |
|
|
|
This is a script that I use to manage my personal knowledge base. I have yet to |
|
find a tool that fits my requirements / desires so I decided to build one. |
|
|
|
This is still in early stages of development so expect braking changes to come |
|
if you use it. |
|
|
|
## Setup |
|
|
|
After cloning the repository, you can run |
|
|
|
``` |
|
sudo make install |
|
``` |
|
|
|
To initialise, run |
|
|
|
``` |
|
kb init |
|
``` |
|
|
|
This will create the necessary folders and create an sqlite database to store |
|
the index in |
|
|
|
## Goals |
|
|
|
### Mostly Plain Text |
|
|
|
Most of my notes are currently in Markdown. This has a couple of advantages for |
|
me: |
|
|
|
* I can read them anywhere |
|
* I can version control them with Git |
|
* They can be grepped |
|
|
|
There may be some exceptions. I may wish to include links or images which I will |
|
version control with Git LFS; but for the most part, my notes are plain text. |
|
|
|
### Tags |
|
|
|
Before starting this project, my notes were organised into folders. |
|
Unfortunately, this makes storing articles or notes that apply to different |
|
areas difficult. I would prefer a tag based system. This would allow a file to |
|
have multiple tags assigned to it. |
|
|
|
### Fast |
|
|
|
I want to be able to retrieve my notes quickly by tag or by title. To do this, |
|
this tool will index notes using an SQLite database. This will not be version |
|
controlled. |
|
|
|
### Don't re-invent the wheel |
|
|
|
I will be building on top of already great, fast tools such as |
|
[RipGrep](https://github.com/BurntSushi/ripgrep) and |
|
[FZF](https://github.com/junegunn/fzf). |
|
|
|
|