A dedicated scratchpad for developers
Go to file
Jonatan Heyman c010df083c WIP: Multiple notes support
Add support for migrating old buffer file to new library.

Add support for changing location for the notes library.

Replace theme toggle in status bar with a dropdown in Appearance settings.

Improve New Note and Update Note dialogs.

Implement UI for confirming note delete (the actualal deltion is still to be implemented).
2024-09-10 13:34:23 +02:00
.github Change title format in issue template 2024-01-05 02:13:41 +01:00
assets WIP: Multiple notes support 2024-09-10 13:34:23 +02:00
build Remove unnessecary entitlements 2024-01-25 23:09:30 +01:00
docs WIP: Multiple notes support 2024-09-10 13:34:23 +02:00
electron WIP: Multiple notes support 2024-09-10 13:34:23 +02:00
public WIP: Implement support for multiple notes 2024-07-24 13:53:44 +02:00
resources Mac icon pixel push 2023-01-17 00:53:15 +01:00
shared-utils WIP: Multiple notes support 2024-09-10 13:34:23 +02:00
src WIP: Multiple notes support 2024-09-10 13:34:23 +02:00
tests WIP: Multiple notes support 2024-09-10 13:34:23 +02:00
webapp WIP: Implement ability to create new notes. 2024-07-26 11:30:25 +02:00
.gitignore Implement tests using Playwright (#68) 2023-12-25 17:41:15 +01:00
electron-builder.json5 Fix broken windows build by adding old favicon.ico as icon.ico and pointing to it in electron-builder config 2024-01-05 01:16:34 +01:00
index.html Turn off nodeIntegration. Without it disabled, Math.js does not work in production build. 2023-03-02 20:59:13 +01:00
LICENSE Add license info 2023-03-14 14:12:04 +01:00
package-lock.json Use fuzzysearch to filter notes in NoteSelector 2024-07-27 11:11:49 +02:00
package.json Use fuzzysearch to filter notes in NoteSelector 2024-07-27 11:11:49 +02:00
playwright.config.ts Fix test on linux/windows 2024-01-06 01:51:07 +01:00
README.md Add Vue to supported languages list in README 2024-07-14 14:55:26 +02:00
tsconfig.json Add key bindings for inserting new blocks at the end/top of the buffer, as well as before the current block (#85) 2024-01-04 16:11:26 +01:00
tsconfig.node.json Avoid code duplication by auto building the GUESSLANG_LANGUAGES list in langdetect-worker.js from the src/editor/languages.js:LANGUAGES list. 2024-02-09 16:02:07 +01:00
vite.config.mjs Add links to documentation in Readme 2024-07-08 14:48:45 +02:00

Heynote

GitHub release (latest SemVer) Build Status

General Information

Heynote is a dedicated scratchpad for developers. It functions as a large persistent text buffer where you can write down anything you like. Works great for that Slack message you don't want to accidentally send, a JSON response from an API you're working with, notes from a meeting, your daily to-do list, etc.

The Heynote buffer is divided into blocks, and each block can have its own Language set (e.g. JavaScript, JSON, Markdown, etc.). This gives you syntax highlighting and lets you auto-format that JSON response.

Available for Mac, Windows, and Linux.

Features

  • Persistent text buffer

  • Block-based

  • Syntax highlighting:

    C++, C#, Clojure, CSS, Erlang, Dart, Go, Groovy, HTML, Java, JavaScript, JSX, Kotlin, TypeScript, TOML, TSX, JSON, Lezer, Markdown, PHP, Python, Ruby, Rust, Shell, SQL, Swift, Vue, XML, YAML

  • Language auto-detection

  • Auto-formatting

  • Math/Calculator mode

  • Currency conversion

  • Multi-cursor editing

  • Dark & Light themes

  • Option to set a global hotkey to show/hide the app

  • Default or Emacs-like key bindings

Documentation

Documentation is available on the Heynote website.

Development

To develop Heynote you need Node.js and you should (hopefully) just need to check out the code and then run:

> npm install
> npm run dev

Run Tests

To run the tests:

> npm run test

To run the tests in the Playwright UI:

> npm run test:ui

Contributions

I'm happy to merge contributions that fit my vision for the app. Bug fixes are always welcome.

FAQ

Where is the buffer data stored?

See the documentation.

Can you make a mobile app?

No, at the moment this is out of scope, sorry.

Can you add a feature for naming blocks and/or adding tags? (#44)

Currently, I'm not planning on adding this. The main reason is that it goes against the scratchpadness of the program.

I can totally see the usefulness of such a feature, and it's definitely something that I would expect from a more traditional Notes app. However a large part of Heynote's appeal is it's simplicity, and if that is to remain so, I'm going to have to say no to a lot of actually useful features.

What are the default keyboard shortcuts?

See the documentation.

Thanks!

Heynote is built upon CodeMirror, Vue, Electron, Math.js, Prettier and other great open-source projects.