All Projects → notemarks → Notemarks

notemarks / Notemarks

Licence: gpl-3.0
A git based labeling app to manage notes, documents, and bookmarks.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Notemarks

Nb
CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script.
Stars: ✭ 3,846 (+6204.92%)
Mutual labels:  note-taking, notes, bookmarks
Lifelong Learning
✅ ✅ ✅ A massive repo filled with notes on everything from coding to philosophy to psychology to marketing to product
Stars: ✭ 297 (+386.89%)
Mutual labels:  note-taking, notes
Deer
✏️A modern, fast, beautiful note taking app, built on Electron and React
Stars: ✭ 267 (+337.7%)
Mutual labels:  note-taking, notes
Takenote
TakeNote is a note-taking app for the web. You can use the demo app at takenote.dev. It is a static site without a database and does not sync your notes to the cloud. The notes are persisted temporarily in local storage, but you can download all notes in markdown format as a zip.
Stars: ✭ 5,180 (+8391.8%)
Mutual labels:  note-taking, notes
notes-app-cli
A command line interface for Notes.app on macOS.
Stars: ✭ 32 (-47.54%)
Mutual labels:  notes, note-taking
Memex
Simple bookmarks and notes
Stars: ✭ 258 (+322.95%)
Mutual labels:  notes, bookmarks
Stup
Daily notes in the terminal 🐧
Stars: ✭ 340 (+457.38%)
Mutual labels:  note-taking, notes
note-keeper
📓 A tiny bash tool for taking and organizing notes.
Stars: ✭ 58 (-4.92%)
Mutual labels:  notes, note-taking
Vscodenotebook
📝 Use VS Code as a reliable note-taking/journal application
Stars: ✭ 584 (+857.38%)
Mutual labels:  note-taking, notes
Instanote
Note keeping done in PHP 5.2 and JSON
Stars: ✭ 11 (-81.97%)
Mutual labels:  note-taking, notes
Notecalc3
NoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
Stars: ✭ 879 (+1340.98%)
Mutual labels:  note-taking, notes
uwunote
Kinda like Windows 10 Sticky notes but subjectively better - Written in go and GTK3+
Stars: ✭ 16 (-73.77%)
Mutual labels:  notes, note-taking
flawesome
Productivity Tool
Stars: ✭ 56 (-8.2%)
Mutual labels:  notes, note-taking
Issue Tracker Zh
中文GitHub反馈区
Stars: ✭ 267 (+337.7%)
Mutual labels:  note-taking, notes
jot
Command-line note-taking for minimalists
Stars: ✭ 24 (-60.66%)
Mutual labels:  notes, note-taking
Geekbook
G33KB00K3 - fun to read & fun to write -- 🤓 eXtreme eXtendable note taking system for nerds/geeks (including scientists!) docs: http://geekbook.rtfd.io = beautiful html generator of your markdown-based notes
Stars: ✭ 31 (-49.18%)
Mutual labels:  note-taking, notes
dendron-site
Getting started with Dendron
Stars: ✭ 99 (+62.3%)
Mutual labels:  notes, note-taking
octo
Build your knowledge base
Stars: ✭ 252 (+313.11%)
Mutual labels:  notes, note-taking
Jrnl
Collect your thoughts and notes without leaving the command line.
Stars: ✭ 5,126 (+8303.28%)
Mutual labels:  note-taking, notes
Notes
📝 Simple delightful note taking, with more unix and less lock-in.
Stars: ✭ 939 (+1439.34%)
Mutual labels:  note-taking, notes

logo/full.png

Build Status

A git based labeling app to manage notes, documents, and bookmarks.

notemarks.app

Or try a demo:

  • Demo tutorial: This is a small walk-through of notemarks features.
  • Demo awesome: This demo consists of only one note — the famous awesome readme. The main purpose of the demo is to show how embedded links are accessible in the general search.

Project status: The app is currently in an early beta status. There will be bugs, and there are many things to improve internally and externally. Nonetheless it has reached a level of basic usefulness 😉. I hope I can stabilize the app over the following weeks.

Why notemarks?

  • Mixing notes, documents, and bookmarks: My note-taking approach is an interplay of notes, documents (e.g. papers), and bookmarks. For instance, in some cases a note revolves around a bookmark or document, in other cases a note evolves into a collection of links. In notemarks all three can be managed in a coherent system — at least eventually.
  • Hierarchical label system: Hierarchical labeling system are perhaps the most powerful way to structure information. They can do the same as normal file system trees, but at the same time allow to organize things in orthogonal categories. In fact, one of the planned features is to use the file system structure as a built-in label dimension.
  • Access notes & bookmarks from everywhere: Notemarks is entirely web-based. This makes it easy to access ones notes from everywhere. Currently there are no native mobile apps, but I tried to make the web-app mobile friendly so that I can access my notes easily from my smartphone.
  • Full git integration: I love git, and for me, note-taking has to be done in git. However entirely manual pull/commits/push cycles can become a bit tedious. Notemarks provides some convenience to perform these standard steps with just a few mouse clicks.
  • Multi Repository Support: Want to separate your work notes from private notes, or tech notes from cooking recipes? Notemarks supports storing all entities across multiple repositories, which can be enabled/disabled depending on the context.
  • Keyboard friendly UI: Notemarks tries to support standard workflows with keyboard-only input.
  • No vendor lock in / open source: Notemarks is an open-source client layer over plain git repositories. Currently only supports GitHub as git backend, but the way it stores notes, documents, and bookmarks is fully transparent and hackable.

Usage notes

Keyboard shortcuts

In the long term it is planned to make keyboard shortcuts configurable. Currently they are:

  • CTRL+p jumps to the search input — following VSCode conventions.

  • and in the search allows to select notes.

  • ENTER in the search to select note.

  • CTRL+e toggles between note editing and note viewer.

Search

The label tree allows to include or exclude certain labels. A left mouse click (short press on mobile) selects a label for inclusion, a right mouse click (long press on mobile) selects a label for exclusion.

In general the search prioritizes notes over documents over links. Filter the search by entry type is an obvious TODO 😉

GitHub authentication

Notemarks can be used without GitHub authentication in read-only mode on public repositories — as is done in the demos. If write-access or read-access to private repositories is needed, it is necessary to authenticate with GitHub. This is currently solved by using GitHub's personal access token feature. In order to create a personal access token you need to go to your GitHub Settings → Developer settings → Personal access tokens → Generate new token. Currently I'm giving the token the repo status, i.e., Full control of private repositories. I need to investigate if a more fine granular access would work as well.

This access token then needs to be specified in the notemarks settings under GitHub authentication. Note that notemarks will never store the token without encryption. If you want to avoid re-entering the token every time, you can run notemarks with a local encryption password. In this case, notemarks uses strong encryption from webcrypto to store the token securely.

Internal concepts

Notemarks operates on plain files in a git repository, and stores all its internal information in a top-level .notemarks folder (similar to a .git folder). For instance, if your files are:

.
├── notes
│   ├── Note on bar.md
│   └── Note on foo.md
└── papers
    └── Great paper on something.pdf

it will internally create additional meta data files resulting in:

.
├── .notemarks
│   ├── link_db.yaml
│   ├── notes
│   │   ├── Note on bar.yaml
│   │   └── Note on foo.yaml
│   └── papers
│       └── Great paper on something.yaml
├── notes
│   ├── Note on bar.md
│   └── Note on foo.md
└── papers
    └── Great paper on something.pdf

There are two kind of meta data files:

  • The .yaml directly correspond to notes/documents and store information such as creation timestamps and associated labels.
  • The link_db.yaml stores internal information on bookmarks like internal titles or associated labels.

Title encoding

Notemarks infers note and document titles directly from their filenames in order to avoid having internal titles different from file system titles. Since some characters like / are useful characters in a note/document title, it encodes them into close unicode equivalents which are supported by file systems — in case of / e.g. ⧸ (BIG SOLIDUS). This is mainly tested against POSIX systems so far.

Planned features

Feel free to vote on linked issues to help prioritize features.

Short term

Mid term

Longer term

Support

If you like notemarks or want to support its development:

paypal

Thank you! 🙏

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].