heynote/README.md

123 lines
4.8 KiB
Markdown
Raw Normal View History

2023-03-14 14:12:19 +01:00
# Heynote
2023-03-14 14:24:35 +01:00
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/heyman/heynote)](https://github.com/heyman/heynote/releases)
2023-12-25 23:48:33 +01:00
[![Build Status](https://github.com/heyman/heynote/workflows/Tests/badge.svg)](https://github.com/heyman/heynote/actions?query=workflow%3ATests)
2023-03-14 14:24:35 +01:00
2023-03-14 14:17:29 +01:00
2023-07-08 16:59:01 +02:00
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.
2023-03-14 14:12:19 +01:00
Available for Mac, Windows, and Linux.
2023-03-14 14:12:19 +01:00
## Features
- Persistent text buffer
- Block-based
- Syntax highlighting
```
C++, C#, Clojure, CSS,
Erlang, Go, HTML, Java,
JavaScript, JSX, TypeScript,
TOML, TSX, JSON, Lezer,
Markdown, PHP, Python, Ruby,
Rust, Shell, SQL, XML, YAML
```
2023-03-14 14:12:19 +01:00
- Language auto-detection
- Auto-formatting
- Math/Calculator mode
- Currency conversion
2023-03-14 14:32:13 +01:00
- Multi-cursor editing
- Dark & Light themes
2023-12-22 11:40:24 +01:00
- Option to set a global hotkey to show/hide the app
2023-03-14 14:32:13 +01:00
- Default or Emacs-like key bindings
2023-03-14 14:12:19 +01:00
## Installation
2023-12-22 11:36:04 +01:00
Download the appropriate (Mac, Windows or Linux) version from the latest Github release (or from [heynote.com](https://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).
2023-03-14 14:12:19 +01:00
2023-12-23 12:02:55 +01:00
### Notes on Linux installation
2023-12-23 12:16:30 +01:00
It's been reported [(#48)](https://github.com/heyman/heynote/issues/48) that ChromeOS's Debian VM need the following packages installed to run the Heynote AppImage:
```
libfuse2
libnss3
libnspr4
```
2023-03-14 14:12:19 +01:00
## Development
2023-07-08 16:59:01 +02:00
To develop Heynote you need Node.js and you should (hopefully) just need to check out the code and then run:
2023-03-14 14:12:19 +01:00
```
> npm install
> npm run dev
```
### Contributions
2023-03-15 10:54:12 +01:00
I'm happy to merge contributions that fit my vision for the app. Bug fixes are always welcome.
2023-03-14 14:12:19 +01:00
2023-12-23 11:39:07 +01:00
## 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.
2023-12-23 12:17:14 +01:00
### Can you add a feature for naming blocks and/or adding tags? [(#44)](https://github.com/heyman/heynote/issues/44)
2023-12-23 12:15:05 +01:00
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?
**On Mac**
```
⌘ + Enter Add new block below the current block
⌘ + Shift + Enter Split the current block at cursor position
⌘ + L Change block language
⌘ + Down Goto next block
⌘ + Up Goto previous block
⌘ + A Select all text in a note block. Press again to select the whole buffer
⌘ + ⌥ + Up/Down Add additional cursor above/below
⌥ + Shift + F Format block content (works for JSON, JavaScript, HTML, CSS and Markdown)
```
**On Windows and Linux**
```
Ctrl + Enter Add new block below the current block
Ctrl + Shift + Enter Split the current block at cursor position
Ctrl + L Change block language
Ctrl + Down Goto next block
Ctrl + Up Goto previous block
Ctrl + A Select all text in a note block. Press again to select the whole buffer
Ctrl + Alt + Up/Down Add additional cursor above/below
Alt + Shift + F Format block content (works for JSON, JavaScript, HTML, CSS and Markdown)
Alt Show menu
```
2023-12-27 11:54:23 +01:00
### Can Math blocks do X?
Heynote's Math blocks are powered by [Math.js](https://mathjs.org/). Checkout their [documentation](https://mathjs.org/docs/reference/index.html) to see what [functions](https://mathjs.org/docs/reference/functions.html) and [constants](https://mathjs.org/docs/reference/constants.html) are available.
2023-12-07 19:43:32 +01:00
## Thanks!
Heynote is built upon [CodeMirror](https://codemirror.net/), [Vue](https://vuejs.org/), [Electron](https://www.electronjs.org/), [Math.js](https://mathjs.org/), [Prettier](https://prettier.io/) and other great open-source projects.
2023-03-14 14:12:19 +01:00