Simple Note System
About
The Simple Note System is a shell script partially inspired by pass, in that it stores notes as normal, plaintext, files in normal folders. It uses the environment-specified editor, and can be configured to use GPG encryption.
SNS was originally conceived one morning during an update to a popular note-taking app. The thought occurred that a note system need not reinvent the wheel with its own GUI editor and proprietary file format, but instead could use the tools already provided by the operating system.
As it developed, OpenSSL encryption was dropped in favor of GPG, and the script was almost entirely rewritten as SNSv2.
simple note system
==================
usage: sns [-cedlp] <notebook/section/name>
sns [-hi]
-c | --create : Create note
-d | --delete : Delete note
-e | --edit : Open note for editing
-h | --help : Display this message
-i | --init : Write default config and initalize SNS store"
-l | --list : List all notes in NOTEBOOK
-p | --print : Print note to console
Installing
To install, place sns.sh in your path, and copy src/bash-completion/sns
to /usr/share/bash-completion/completions/sns.
Or simply run ./install.sh.
To uninstall, remove the files you copied, or run ./install.sh --uninstall
Once installed, SNS will require you to run sns -i, to indicate you would like
to create its note store and write its default configuration.
By default, SNS will set itself up in ~/.config/sns, with ~/.config/sns/sns.conf
as its configuration file.
Configuration
In SNS's configuration file, you can change the editor SNS uses, along with the date format used in notes, and whether or not to use GPG encryption.
A word about encryption: Enabling encryption will cause problems if previously un-encrypted notes exist. In the future, I'd like to resolve these, however for the time being it's best to decide when you install SNS if you'd like to enable encryption or not. Encryption amendment: As of SNS 2a10, experimental support is in place for migrating between encrypted and unencrypted note stores.
Credits
The majority of the code here is my own, however the bash completion code comes from pass, the standard UNIX package manager, along with some design and feature ideas.
License
Simple Note System is licensed under the terms of the GNU General Public License
Version 2, as detailed in LICENSE.
Bugs
If something seems off, or just doesn't work, please open an issue and I'll look into it.