{"id":13634319,"url":"https://github.com/jmcfarlane/notable","last_synced_at":"2025-04-06T15:13:04.520Z","repository":{"id":2795745,"uuid":"3796047","full_name":"jmcfarlane/notable","owner":"jmcfarlane","description":"Notable - a simple note taking application","archived":false,"fork":false,"pushed_at":"2023-12-19T18:45:14.000Z","size":13108,"stargazers_count":180,"open_issues_count":0,"forks_count":16,"subscribers_count":6,"default_branch":"main","last_synced_at":"2023-12-20T13:43:54.883Z","etag":null,"topics":["golang","linux","macos","notes","security"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmcfarlane.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2012-03-22T09:15:58.000Z","updated_at":"2024-01-02T21:56:19.719Z","dependencies_parsed_at":"2022-09-26T22:01:44.849Z","dependency_job_id":"f9dc9ba1-fe91-481f-a35b-8612bde750b2","html_url":"https://github.com/jmcfarlane/notable","commit_stats":{"total_commits":335,"total_committers":5,"mean_commits":67.0,"dds":0.4985074626865672,"last_synced_commit":"c3e2706e4e9b46b6c341d49c703d0b03fd53a50b"},"previous_names":[],"tags_count":16,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcfarlane%2Fnotable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcfarlane%2Fnotable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcfarlane%2Fnotable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcfarlane%2Fnotable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmcfarlane","download_url":"https://codeload.github.com/jmcfarlane/notable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247500469,"owners_count":20948880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","linux","macos","notes","security"],"created_at":"2024-08-01T23:01:01.754Z","updated_at":"2025-04-06T15:13:04.496Z","avatar_url":"https://github.com/jmcfarlane.png","language":"Go","readme":"# Notable\n\n[![Go Report Card](https://goreportcard.com/badge/jmcfarlane/notable)](https://goreportcard.com/report/jmcfarlane/notable)\n[![GitHub release](https://img.shields.io/github/release/jmcfarlane/notable.svg)](https://github.com/jmcfarlane/notable/releases)\n![Build Status](https://github.com/jmcfarlane/notable/actions/workflows/test.yaml/badge.svg)\n[![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/jmcfarlane/notable/blob/main/LICENSE)\n\nA **very** simple note taking application. It has no dependencies and\nships as a static binary.\n\n![](docs/images/notable.png)\n\nYou can view recent changes in the [changelog](CHANGELOG.md).\n\n## Features\n\n- [x] Secure: Everything is local to your computer\n- [x] Private: Each note can be encrypted\n- [x] Search as you type (tag, tag prefix, and full text index)\n- [x] Standalone: You can use it on an airplane\n- [x] Keyboard friendly\n- [x] Cross platform:\n\t- [x] Linux (amd64, arm6, arm7)\n\t- [x] MacOS\n\t- [x] FreeBSD\n\t- [x] Windows (experimental)\n- [x] Distributed writes (*experimental*)\n\t- [x] [Keybase](https://keybase.io/)\n\t- [x] [Syncthing](https://syncthing.net/)\n- [x] Autosave (note specific)\n- [x] On demand re-indexing (useful for backup/restore)\n\n## Installation\n\n### Linux, FreeBSD, MacOS, Windows\n\nDownload and extract the latest\n[release](https://github.com/jmcfarlane/notable/releases) version.\nThe zip file contains an executable named `notable`. The MacOS version also\nincludes an [app bundle](https://en.wikipedia.org/wiki/Bundle_(macOS)).\n\n### Install from source\n\n```\ngo install github.com/jmcfarlane/notable@latest\nnotable\n```\n\n### Understanding the build\n\nNotable uses GNU Make and shell scripts for it's build. You can get\nsome detail on what the build supports by it's `help` target:\n\n```\ngit clone https://github.com/jmcfarlane/notable.git\ncd notable\nmake help\n\u003e\u003e Help info for supported targets:\n   make all: Produce a binary suitable for local testing only\n   make build: Produce artifacts via scripts/build.sh (meant for OCI builds)\n   make clean: Purge the target directory\n   make coverage: Display code coverage in html\n   make docker-build-export-target: Perform an OCI build (and export the target dir)\n   make docker-build: Perform a docker build\n   make docker-runnable: Create a runnable docker container\n   make docker-run: Run the most recent runable docker container in the foreground\n   make help: Print help information\n   make install: Install using/into the active $GOPATH\n   make iterate: Build and run with a test db in the foreground\n   make prepare-release: Prepare all assets for release\n   make publish-release: Publish a release\n   make target: Create the target directory\n   make test: Run go test\n   make tidy: Tidy makes sure go.mod matches the source code in the module\n   make uninstall: Uninstall everything from this project\n   make vet: Run go vet\n```\n\n### Compile from source (using known good dependencies)\n\n```\nmake test vet\nmake iterate\n```\n\n### Run via a [Docker](https://www.docker.com/) container\n\n```\ndocker run -p 8080:8080 -d -v ~/.notable:/root/.notable jmcfarlane/notable:latest\n```\n\n### Build the Docker container and run it locally (ephemeral notes)\n\n```\nmake docker-runnable\nmake docker-run\n```\n\n## Screenshots\n\n### Keyboard shortcuts\n\nHelp can be invoked by the `?` key (when the note content is not\nfocused).\n\n![](docs/images/help.png)\n\n### Notes can be encrypted individually\n\n![](docs/images/encrypted.png)\n\n### Search via tag, tag prefix, and full text index\n\n![](docs/images/search.png)\n\n### Visual indication of unsaved changes\n\n![](docs/images/unsaved-changes.png)\n\n### Edit content\n\n![](docs/images/edit.png)\n\n### Open multiple notes via tabs\n\n![](docs/images/tabs.png)\n\n## Third party software\n\n| Project                                                       | Reason for use            |\n| ------------------------------------------------------------- | ------------------------- |\n| [Ace](https://ace.c9.io/)                                     | Editor                    |\n| [Backbone.js](http://backbonejs.org/)                         | Javascript framework      |\n| [bboltDB](https://go.etcd.io/bbolt)                           | Datastore                 |\n| [Bleve](http://www.blevesearch.com/)                          | Full text search          |\n| [Bootstrap](http://getbootstrap.com/)                         | User interface            |\n| [Chi](https://github.com/go-chi/chi)                          | HTTP Router               |\n| [errors](https://github.com/pkg/errors)                       | Golang error primatives   |\n| [go-homedir](https://github.com/mitchellh/go-homedir)         | Home directory detection  |\n| [Golang](https://golang.org/)                                 | Business logic            |\n| [jQuery](https://jquery.com/)                                 | Dom manipulation          |\n| [logrus](https://github.com/sirupsen/logrus)                  | Golang logging            |\n| [Mousetrap](https://craig.is/killing/mice)                    | Keyboard bindings         |\n| [Require.js](http://requirejs.org/)                           | Dependency management     |\n| [text plugin](http://github.com/requirejs/text)               | Text templates            |\n| [Underscore.js](http://underscorejs.org/)                     | Client side templating    |\n| [uuid](https://github.com/gofrs/uuid)                         | UUID implementation       |\n","funding_links":[],"categories":["Applications","Go"],"sub_categories":["Notes","📔 Notes (16)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmcfarlane%2Fnotable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmcfarlane%2Fnotable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmcfarlane%2Fnotable/lists"}