notable

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2023 License: MIT Imports: 36 Imported by: 0

README

Notable

Go Report Card GitHub release Build Status License

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 (amd64, arm6, arm7)
    • MacOS
    • FreeBSD
    • Windows (experimental)
  • Distributed writes (experimental)
  • Autosave (note specific)
  • On demand re-indexing (useful for backup/restore)

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.

Install from source
go install github.com/jmcfarlane/notable@latest
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:

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
Compile from source (using known good dependencies)
make test vet
make iterate
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
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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL