heyman / heynote Goto Github PK
View Code? Open in Web Editor NEWA dedicated scratchpad for developers
Home Page: https://heynote.com
License: Other
A dedicated scratchpad for developers
Home Page: https://heynote.com
License: Other
Sorry if I missed it in the HN comments or here in the other issues...
Is there a way to re-order the blocks? Drag and drop and hotkeys for move block up
and move block down
would be amazing.
❤️ this project! I instantly switched to it from a custom lua thing I wrote for Hammerspoon a couple of years ago. Bravo!
When I have a lot of blocks, then I think it is good if we add a map that can help me to navigate instantly to the block I want instead of scrolling non-stop and searching for it. The idea is that we can have a name for each block that comes after a prefix (ex: #my-document), then there is a list that shows all of the block names. When I click on each name, the visible area in the editor will display the selected block
Btw, love your work Heynote
Am currently running the AppImage version of HeyNote in ChromeOS's Debian VM (currently "Bullseye").
I had to install the following to execute:
= libfuse2
= libnss3 , libnspr4
If lieu of tabs, allow the ability to group/sort the blocks by block type.
Your app currently checks for available updates.
I'd like to be able to switch that off for network silence.
that has all of these options
⌘ + 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)
as well as things like light mode/ dark mode, open file, etc :D
It would be great, if block can be tagged/named & data can be exported by name/tag instead of copy & paste?
Found you from hacker news, love the app, just wishI could change the multicursor keybind.
Fend supports a lot more units and more complex syntax than Math.js. It has built in support for variables, currency conversion, etc, so documents should be fully compatible.
You can use it through their wasm build, or directly through rust for a nicer api (if you switch to Tauri in the future).
It would be great to see a Flatpak release made available via Flathub.
Support for basic syntax highlighting would be great enhancement.
I find myself frequently keeping Shell snippets in my scratchpad, they are in the sweet spot of being useful enough to keep around but not important enough (not unduly difficult to rebuild) to save to a file and commit to a repo.
You should be able to set a custom location for the buffer file.
Love the product. I've been using Markdown on VS Code to track my todos. This interface and the 'one page to rule them all' idea is much better.
But how can I backup my notes? I don't want to lose them as heynote
can grow into my daily driver.
As far as i understand the keymap for zooming in/out differentiate between numpad and non numpad + and -.
It would be nice if one could also use the numpad + / - keys for zooming. I have no idea about electron but i think the correct maps here would be something like
keymaps: {
'zoom:in':'ctrl+numadd',
'zoom:out': 'ctrl+numsub',
}
First: Fantastic app!
Right now, new blocks always start in "Plain text (auto)" mode when created with Cmd+Enter. It would be nice to be able to select this - I expect I will use Markdown >90% of the time, for example.
As an extension of this, other keyboard shortcuts (e.g. Cmd+{1..9}) could be mapped to the creation of new blocks in different modes.
The current search feature is using the implementation from Codemirro which is not aware of blocks. Therefore it'll match the block delimiter lines (∞∞∞javascript
).
Heynote should have a search feature that is "block aware" that wouldn't match the hidden delimiters, and where you can choose to only search the current block.
I believe this is best implemented as it's own feature, rather than trying to extend the Codemirror search (though we could copy relevant parts into Heynote if beneficial).
I also think that we can come up with an improved UI for the search feature.
The Heynote syntax should have creation and update timestamps for each block. These timestamps can then be shown for the selected block (discreetly).
When this is implemented we must add migration for the old syntax (or possibly make the timestamps optional, and make sure the code can handle both cases).
Selecting the contents of an entire block and pressing CTRL + SHIFT + K
(on windows) causes the block separator and language type (e.g. ∞∞∞markdown
) to become text inside the next block and the next block's type becomes the previous block's type. See the following video:
Do you support multiple files in the future?
Is it possible to have the menu open and save the file?
what is the philosophy of the app?
do you want to keep only use one buffer text file?
btw, i love the app
I use it daily
It would be awesome to be able to execute a block and get its output as the next block or inline.
So not just note buffers, but tiny PowerShell / Shell / JS / Python snippets one could execute quickly.
Not the full weight of a Jupyter Notebook. The key is the lightweightness of the block framework.
Hi there. Greate project.
Can we add a default language setting? I want to use Markdown as the auto language every time I create a block.
Store and restore browser zoom level (like we do for window size)
Hiyo there, this app is great so far, great work.
My feature request would help Heynote fit nicely into my "summonable scratchpad" workflow by supporting hiding the open window (and on Windows/Linux, the taskbar entry) behind either a tray icon on Windows or a menubar icon on macOS. When hidden, it wouldn't show up in the Alt+Tab menu, but it could be toggled visible/invisible via either clicking the icon or using the global keyboard shortcut.
1Password 8, KeePassXC, and Thunderbird (on Windows) support behaviors like this if existing references are useful.
It'd be great if there were a package for Arch Linux: https://aur.archlinux.org/
Please include VIM key mapping!
:)
Happy to submit a PR for this a bit later if no one else gets to it!
Requested:
When typing (
or [
when text is selected, the whole text should be wrapped in the brackets not replaced by it
version: 1.4.2
platform: Apple ARM
Couple of annoyances
checkbox
one has to use list
and checkbox
Cool tool btw.
I will see if I can figure out how to make a PR for this, but...
It would be very nice to have a floating always-on-top window mode, so reference notes could be floated above VSCode (or any other window)
I had written a similar scratchpad type of tool for Hammerspoon and by setting a couple of flags on the Window type, you could get the window to float and also have a thinner titlebar (NSWindowStyleMaskUtilityWindow
) which was quite appealing.
see https://developer.apple.com/documentation/appkit/nswindowstylemask/nswindowstylemaskutilitywindow
Would love to have tab insert a tab character when in a plain text block for making quick tables. I can see the appeal of indenting the whole line for code blocks, but I feel for plain text it make more sense to insert a tab character instead.
I actually tried taking a stab at this already but was unable to have tab switch its behavior for different blocks,. Either only indenting the whole line, or only inserting tab character.
First, let me say I'm really loving Heynote! Would it be possible add an option to allow users on macOS the option of hiding the app's dock icon? I'm accessing Heynote via a global hotkey, so I don't have much use for it and I prefer the option of hiding such apps.
Doesn't seem to be clickable either. e.g.
[Google](https://google.com)
Could perhaps be rendered to something like below?
Hi there - Great piece of software!
It would be great if there was a way to save the current block as a file (.txt, .md, etc. depending on block language)
Keep up the great work!
I tend to keep a mix of several open and folded blocks for a long time but navigating between them hasn't been so easy (specially if I want to "jump" a few blocks).
I think a great way to power this jump between far apart blocks would be using Ctrl+P and filtering by the block "title" (first line of the block) in a fuzzy finder way (just as Ctrl+P works for files on VSCode). That way I don't need to remember the position of the block, go one by one via Ctrl+(Up|Down) or use a search.
This could also improve the current fold rendering, since the only language I see the first line of folded blocks is Markdown, so scanning the blocks and clicking isn't smooth atm also.
For collapsed blocks, I think it is better to show the first line rather than the last line.
The first line is more likely to give a clue what the block is about.
It might even be nice to be able to give a separate title to blocks and have collapsed blocks showing only the title, but now I am possibly courting creeping featuritis.
However, I would very much like keybindings to collaps/expand the current block. For example (on the Mac) ⌘ + Left to collapse, ⌘ + Right to expand. Or perhaps one of those to toggle the collapsed state.
Math blocks understand:
pi
and e
Non-integers are floating point numbers so you can expect this:
err = 0.1 + 0.2 - 0.3 0.00000000000000005551115123125783
Note that you can click on a computed result and its value goes to the clipboard.
I currently use Obsidian as my scratchpad, and I especially like that I can edit that note on both desktop and mobile whilst using Syncthing to sync it.
Heynote is even better scratchpad, but there isn't a mobile version. Would love to see an Android release someday.
Having this managed via brew would be epic :)
Right now the font size is pretty small on the size of my monitor, would be great to have this easily configurable since using Zoom in Electron apps resets after the app exits.
Heynote should detect changes to buffer.txt, and load new contents from the file into the text buffer. The implementation does not need to be very advanced e.g. support merging etc. but it should be good enough that you can sit and work at one computer with buffer.txt in Dropbox, and then switch over to Heynote running on another computer and continue the work there.
Hyperlinks for at least the Plain text and Markdown languages would be nice if they were clickable.
First, thx for the great app! I was barely about to try similar implementation myself but heynote seems well polished to use it for me.
If you don't mind, I'm curious if you could consider couple of features? Not demanding it should be implemented, just few ideas I wanted to have. (also curious if you're open to the contribution if some of items are worth to be added in heynote)
Block navigation mode
A mode that focus to block, allows to move focus to block with keyboard navigation; could be a plain arrow key, or depends on the user config vim-like hjkl navigation. Also supports to delete focused / selected blocks with a single stroke when it is selected such as ctrl-backspace.
Block title for fold
When block's folded, curious if block can have separate title.
Stick mode for block / folded
Mark certain block as sticky
, so scrolling down will not hide away entire block. Similar to vscode's sticky scroll (https://code.visualstudio.com/updates/v1_70#_editor-sticky-scroll)
Also, this could be a stretch but curious if it's possible to consider things like
Thanks again!
First praise, this is incredible, I've been wanting just this kind of app for so long. Thank you for making it and open-sourcing it.
I would love to be able to brew install heynote --cask
happy to work on submitting that myself just want to float it here first.
Would be useful to be able to set custom color palate, and this could also open scope for multiple "default" options e.g. Dracula color scheme.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.