A dedicated scratchpad for developers
Go to file
Jonatan Heyman bb511b868b
Add support for more languages (#69)
* Contain language selection dialog in an element that can be scrolled, and automatically scroll it if needed when navigating the list with arrow keys

* Add support for more languages:

Clojure, Erlang, Golang, Lezer, Ruby, Shell, YAML

* Move prettier auto format settings for languages into Language() class

* Remove invalid import

* Fix bug that could cause auto formatting to fail for the last block.
Add tests for language auto detection and formatting.

* Fix broken tests

* Fix language auto detection on Safari Webkit which was broken

* Remove unnecessary wait time
2023-12-26 00:27:43 +01:00
.github/workflows Implement tests using Playwright (#68) 2023-12-25 17:41:15 +01:00
assets Implement web version of Heynote (#63) 2023-12-25 14:18:44 +01:00
build Try to get Mac singning and notarization working in github action 2023-03-05 13:28:15 +01:00
electron Implement web version of Heynote (#63) 2023-12-25 14:18:44 +01:00
public Add support for more languages (#69) 2023-12-26 00:27:43 +01:00
resources Mac icon pixel push 2023-01-17 00:53:15 +01:00
src Add support for more languages (#69) 2023-12-26 00:27:43 +01:00
tests Add support for more languages (#69) 2023-12-26 00:27:43 +01:00
webapp Remove debug print 2023-12-25 19:44:53 +01:00
.gitignore Implement tests using Playwright (#68) 2023-12-25 17:41:15 +01:00
electron-builder.json5 Add Linux support (#6) 2023-12-21 19:18:04 +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 Add support for more languages (#69) 2023-12-26 00:27:43 +01:00
package.json Add support for more languages (#69) 2023-12-26 00:27:43 +01:00
playwright.config.ts Add support for more languages (#69) 2023-12-26 00:27:43 +01:00
README.md Add support for more languages (#69) 2023-12-26 00:27:43 +01:00
tsconfig.json Set allowJs:true in tsconfig.json 2023-01-15 12:55:12 +01:00
tsconfig.node.json Move contents of heynote-electron subdirectory into git repo root 2023-01-13 13:21:34 +01:00
vite.config.ts Implement web version of Heynote (#63) 2023-12-25 14:18:44 +01:00

Heynote

GitHub release (latest SemVer) Build Status

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
    • Go
    • HTML
    • Java
    • JavaScript
    • JSON
    • Lezer
    • Markdown
    • PHP
    • Python
    • Ruby
    • Rust
    • Shell
    • SQL
    • 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

Installation

Download the appropriate (Mac, Windows or Linux) version from the latest Github release (or from heynote.com). The Windows build is not signed, so you might see some scary warning (I can not justify paying a yearly fee for a certificate just to get rid of that).

Notes on Linux installation

It's been reported (#48) that ChromeOS's Debian VM need the following packages installed to run the Heynote AppImage:

libfuse2
libnss3
libnspr4

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

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?

The default paths for the buffer data for the respective OS are:

  • Mac: ~/Library/Application Support/Heynote/buffer.txt
  • Windows: %APPDATA%\Heynote\buffer.txt
  • Linux: ~/.config/Heynote/buffer.txt

From version >=1.5.0, symlinks will be supported and you'll be able to configure the path where buffer.txt is stored.

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.

Thanks!

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