A dedicated scratchpad for developers
Go to file
2025-08-22 14:08:26 +02:00
.github Rename notarization environment variable 2025-04-22 14:13:51 +02:00
assets Add command and status bar icon for toggling "Always on top" setting 2025-08-14 10:47:22 +02:00
build Remove unnessecary entitlements 2024-01-25 23:09:30 +01:00
docs Update changelog 2025-08-22 14:08:26 +02:00
electron Update logic that checks if window fits within the screen area, to take offset space (due to OS HUD like menu bars) of the workArea into account 2025-08-14 18:08:28 +02:00
public Elixir language support 2025-01-04 14:01:55 +01:00
resources Mac icon pixel push 2023-01-17 00:53:15 +01:00
shared-utils Add Mod+Shift+P shortcut to initial buffer content 2025-08-22 13:52:03 +02:00
src Show key bindings in command palette 2025-08-22 14:02:48 +02:00
tests Show key bindings in command palette 2025-08-22 14:02:48 +02:00
webapp Make sure to save all open buffers in saveAndQuit handlers, and make sure to run saveAndQuit in webapp/tests 2025-08-12 15:27:27 +02:00
.gitignore Implement tests using Playwright (#68) 2023-12-25 17:41:15 +01:00
electron-builder.json5 Remove electron-builder-notarize, since electron-builder should now have built in notarization 2025-04-22 14:13:51 +02: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 Bump version to 2.5.0 2025-08-15 14:30:59 +02:00
package.json Bump version to 2.5.0 2025-08-15 14:30:59 +02:00
playwright.config.ts Retry tests on CI 2025-07-18 23:30:15 +02:00
README.md Update Docs, Changelog and Readme 2025-08-10 15:53:34 +02:00
tsconfig.json Fix issue causing vite build not to work 2025-01-07 23:37:36 +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 Fix issue with new newlines getting inserted into docs 2025-06-27 15:55:46 +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(s)

  • Block-based

  • Syntax highlighting:

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

  • Language auto-detection

  • Auto-formatting

  • Math/Calculator mode

  • Currency conversion

  • Multiple buffers

  • Multi-cursor editing

  • Dark & Light themes

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

  • Default, Emacs-like or custom key bindings

  • Spellchecking

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.

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.