Code Monkey home page Code Monkey logo

heynote's People

Contributors

ahmedatia avatar blackholefox avatar dependabot[bot] avatar espenja avatar feh-pined0 avatar flolbr avatar heyman avatar imkaashif avatar jbl0ndie avatar joshblum avatar laeyoung avatar maran1947 avatar noahandrews avatar psh10066 avatar tanuj-22 avatar timtrademark avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

heynote's Issues

Add option to hide macOS dock icon

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.

Math block features are undersold

Math blocks understand:

  • Factorial
  • Fractional and whole exponents
  • Trigonometric and Transcendental functions
  • Understands pi and e
  • Can operate on complex numbers

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.

FR: Custom color palate

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.

Feature Request: Add GoLang, Ruby, Rails and Vue.js

Hello!
I'm working on two projects at the moment, one in Go, and the other a Ruby/Rails/Vue project. I'd like to switch the blocks to those languages. Is there a formal way to request these three (four if you count Rails)?

Great work so far!

(found via HN)

image

FR: Block map

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

Feature request: allow numpad + / - for zoom in / out

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',
  }

FR: Always-on-top mode

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.

image

see https://developer.apple.com/documentation/appkit/nswindowstylemask/nswindowstylemaskutilitywindow

Backup the scratch pad, preferably on git

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.

Feature Request: Selectable default block type

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.

Feature Request: Brew release

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.

Feature Request: Executable Blocks

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.

File syncing buffer.txt

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.

Collapsed blocks

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.

Default language setting

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.

Feature Request: Support hiding to tray/menubar

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.

Feature Request: Block title and Ctrl+P fuzzy finder navigation

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.

Export current block as file

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!

Feature request: preference for font size

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.

Add timestamps to block metadata

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).

FR: Android app

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.

Block aware search

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.

Feature Request: support multiple files

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

Request: Cmd+K to open a global with all the options

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

[FR} Naming block

It would be great, if block can be tagged/named & data can be exported by name/tag instead of copy & paste?

Feature request: Block navigation mode (and few others)

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

  • Edit history / simple versioning
  • Sync, or custom stroage location to allow 3rd party sync

Thanks again!

More syntax highlighting languages

Requested:

  • Vue
  • HCL
  • R
  • Ini
  • Dart
  • Properties
  • Scala
  • Liquid
  • reStructuredText
  • PowerShell
  • Diff
  • TOML
  • Golang
  • Ruby
  • Shell
  • YAML
  • TypeScript
  • JSX
  • TSX
  • Clojure
  • C#
  • Erlang
  • Groovy

FR: Tab inserts a tab character when in a plain text block instead of indenting whole line

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.

Cell corruption when deleting block contents

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:

heynote.2023-12-23.12-00-31.mp4

Feature Request: Command Palette

Add a visual command palette similar to what is offered in VS code. A proper command palette can provide a layer of discoverability for someone to find an obscure or less commonly used command/key bind.

image

Use Fend for better unit conversion & maths

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).

FR: Move / re-order blocks?

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!

Feature Request: Shell Block

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.