Notable - a simple note taking application
Go JavaScript HTML Makefile Shell Python
Clone or download
jmcfarlane Merge pull request #94 from jmcfarlane/rice
Migrate from bindata to rice
Latest commit 15ff4e5 May 2, 2018
Permalink
Failed to load latest commit information.
cmd/lorem-ipsum Remove stalled command line client Nov 15, 2017
docs/images Update docs with screenshots and 3rd party stuffs May 4, 2017
etc/systemd/system Add example systemd service unit Mar 9, 2017
scripts Migrate from bindata to rice May 2, 2018
static Cleanup versions Nov 17, 2017
test Remove exported API Nov 16, 2017
.gitignore Remove stalled command line client Nov 15, 2017
.travis.yml Add tests against go 1.10 May 2, 2018
CHANGELOG.md Add tests against go 1.10 May 2, 2018
Dockerfile Replace the build, upgrade to go-1.9.2 Oct 30, 2017
Dockerfile.build Replace the build, upgrade to go-1.9.2 Oct 30, 2017
Gopkg.lock Migrate from bindata to rice May 2, 2018
Gopkg.toml Migrate from bindata to rice May 2, 2018
LICENSE Create a simple build Mar 23, 2012
Makefile Migrate from bindata to rice May 2, 2018
README.md Update readme with codecov badge Nov 15, 2017
app_test.go Improve signals and tests for the main pkg Nov 18, 2017
backend.go Remove dead code, improve tests Nov 16, 2017
backend_test.go Remove dead code, improve tests Nov 16, 2017
bolt.go Remove dead code, improve tests Nov 16, 2017
bolt_test.go Remove dead code, improve tests Nov 16, 2017
codecov.yml Migrate from bindata to rice May 2, 2018
daemon.go Fix errors around deamonization, add tests Nov 21, 2017
daemon_test.go Fix errors around deamonization, add tests Nov 21, 2017
deprecated_encryption.go Remove exported API Nov 16, 2017
deprecated_encryption_test.go Remove exported API Nov 16, 2017
encryption.go Remove dead code, improve tests Nov 16, 2017
encryption_test.go Remove dead code, improve tests Nov 16, 2017
handlers.go Add update and search tests, improve error handling Nov 21, 2017
handlers_test.go Add tests for note sorting and serving static content Nov 24, 2017
helper_test.go Improve signals and tests for the main pkg Nov 18, 2017
index.go Remove exported API Nov 16, 2017
index_test.go Add more tests Nov 22, 2017
main.go Migrate from bindata to rice May 2, 2018
main_test.go Fix test that was killing the run :/ Nov 23, 2017
model.go Remove exported API Nov 16, 2017
model_test.go Add tests for note sorting and serving static content Nov 24, 2017
rice-box.go Migrate from bindata to rice May 2, 2018
secondary.go Add more secondary tests, test for coverage.txt Nov 24, 2017
secondary_test.go Add more secondary tests, test for coverage.txt Nov 24, 2017
version.go Cleanup versions Nov 17, 2017
version_test.go Cleanup versions Nov 17, 2017

README.md

Notable

Go Report Card GitHub release Build Status License codecov

A very simple note taking application. It has no dependencies and ships as a static binary.

You can view recent changes in the changelog.

Features

  • 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
    • MacOS
    • FreeBSD
    • Windows (experimental)
  • Distributed writes (experimental)

Installation

Linux, FreeBSD, MacOS, Windows

Download and extract the latest release version. The zip file contains an executable named notable. The MacOS version also includes an app bundle.

Compile from source (using latest dependencies)

go get -u github.com/jmcfarlane/notable
notable

Understanding the build

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:

make help

Compile from source (using known good dependencies)

go get -u -d github.com/jmcfarlane/notable
cd $GOPATH/github.com/jmcfarlane/notable
make test vet
make
./notable

Run via a rkt container

Download the latest .aci from the release page. Then run it:

sudo rkt run --insecure-options=image --net=host --volume data,kind=host,source=$HOME/.notable \
    --mount volume=data,target=/root/.notable notable-v0.0.7.linux-amd64.aci

Run via a Docker container

docker run -p 8080:8080 -d -v ~/.notable:/root/.notable jmcfarlane/notable:latest

Build the Docker container and run it locally (ephemeral notes)

make docker-runnable
make docker-run

Screenshots

Keyboard shortcuts

Help can be invoked by the ? key (when the note content is not focused).

Notes can be encrypted individually

Search via tag, tag prefix, and full text index

Visual indication of unsaved changes

Edit content

Open multiple notes via tabs

Third party software

Project Reason for use
Ace Editor
Backbone.js Javascript framework
Bleve Full text search
BoltDB Datastore
Bootstrap User interface
errors Golang error primatives
go-homedir Home directory detection
Golang Business logic
httprouter Mux
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