A very simple note taking application. It has no dependencies and ships as a static binary.
You can view recent changes in the changelog.
- Secure: Everything is local to your computer
- Private: Each note can be encrypted
- Search as you type (tag, tag prefix, and full text index)
- Standalone: You can use it on an airplane
- Keyboard friendly
- Cross platform:
- Linux (amd64, arm6, arm7)
- MacOS
- FreeBSD
- Windows (experimental)
- Distributed writes (experimental)
- Autosave (note specific)
- On demand re-indexing (useful for backup/restore)
Download and extract the latest
release version.
The zip file contains an executable named notable
. The MacOS version also
includes an app bundle.
go install github.com/jmcfarlane/notable@latest
notable
Notable uses GNU Make and shell scripts for it's build. You can get
some detail on what the build supports by it's help
target:
git clone https://github.com/jmcfarlane/notable.git
cd notable
make help
>> Help info for supported targets:
make all: Produce a binary suitable for local testing only
make build: Produce artifacts via scripts/build.sh (meant for OCI builds)
make clean: Purge the target directory
make coverage: Display code coverage in html
make docker-build-export-target: Perform an OCI build (and export the target dir)
make docker-build: Perform a docker build
make docker-runnable: Create a runnable docker container
make docker-run: Run the most recent runable docker container in the foreground
make help: Print help information
make install: Install using/into the active $GOPATH
make iterate: Build and run with a test db in the foreground
make prepare-release: Prepare all assets for release
make publish-release: Publish a release
make target: Create the target directory
make test: Run go test
make tidy: Tidy makes sure go.mod matches the source code in the module
make uninstall: Uninstall everything from this project
make vet: Run go vet
make test vet
make iterate
Run via a Docker container
docker run -p 8080:8080 -d -v ~/.notable:/root/.notable jmcfarlane/notable:latest
make docker-runnable
make docker-run
Help can be invoked by the ?
key (when the note content is not
focused).
Project | Reason for use |
---|---|
Ace | Editor |
Backbone.js | Javascript framework |
bboltDB | Datastore |
Bleve | Full text search |
Bootstrap | User interface |
Chi | HTTP Router |
errors | Golang error primatives |
go-homedir | Home directory detection |
Golang | Business logic |
jQuery | Dom manipulation |
logrus | Golang logging |
Mousetrap | Keyboard bindings |
Require.js | Dependency management |
text plugin | Text templates |
Underscore.js | Client side templating |
uuid | UUID implementation |