* Add functionality to insert new block after the last block
- Update key bindings in `initial-content.ts` to include `Alt + Enter` for adding a new block after the last block.
- Implement `getLastNoteBlock` function in `block.js` to retrieve the last block in the note.
- Add `addNewBlockAfterLast` command in `commands.js` to handle the insertion of a new block after the last one.
- Integrate `addNewBlockAfterLast` command into the keymap in `keymap.js`.
* Add block insertion before/after current, before first and after last. Also, tests.
- Added `getFirstNoteBlock` in `block.js` for accessing the first text block.
- Implemented new functions in `commands.js` like `addNewBlockBeforeCurrent` and `addNewBlockBeforeFirst`.
- Updated `keymap.js` with new key bindings to facilitate block creation.
- Introduced `block-creation.spec.js` for testing the new block manipulation features.
* Fix visual bug when inserting new block at the top
* Update help text and Readme
* Fix wrong cursor position after inserting new blocks at the top of the buffer, when the previous first block's delimiter is long (e.g. Markdown)
* Make RegEx more generic
* Fix import
* Auto-generate the README.md and initial-content documentation
- Add a documentation generator
- Add an option to force the initial content to be erased with an env variable
* Add more specific tests
* Fix Mod key on Mac in test
---------
Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
* Add a setting to toggle the auto bracket-closing of CodeMirror
* Move Auto-close brackets setting into new settings tab Editing
* Add tests for Auto-close bracket setting
---------
Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
* Add support for opening settings dialog in the webapp
* Add tests for settings dialog
* Hide stand-alone app specific settings in web app
* Remove debug log
* Issue #62 Added Show in Dock, System Tray Toggle
* show dock toggle for mac only
* Add Open Heynote and Quit Heynote to Tray context menu
* Add Template Image as menu bar icon on MacOS
https://www.electronjs.org/docs/latest/api/native-image#template-image
* Use isMac, isWindows and isLinux for platform checks
* Add new tray/favicon
* Use favicon.ico as windows tray icon
* Show window on Tray double-click
* Open window when Tray is single clicked on non Mac platforms
* Fix indentation
* Remove unused import
---------
Co-authored-by: Jonatan Heyman <jonatan@heyman.info>
* Implement Buffer class in main process that watches for changes to the file, and notifies the editor in the renderer process so that it can update the buffer.
* Add Editor.setReadOnly() method
* Add dummy onChangeCallback function
* Remove debug logging
* Organize Settings in different tabs
* Add setting for turning off/on auto updates.
* Remove debug log
* Use a better variable name (systemTheme -> themeSetting)
* Store theme setting for Heynote webapp in local storage
* Move windows.darkMode -> window.heynote.themeMode
* Only add UpdateStatusItem if window.heynote.autoUpdate is set
* Update Vite
* Implement web version of Heynote.
Add a child vite project in ./webapp/ that is Heynote running within a browser. Imports almost all code from ../src/ and only adds a thin bridge that corresponds to the API between the Electron main process and the app code.
* Remove commented out tag
* Specify publicDir in vite config, instead of using a symlink
* Add webapp_dev npm command to package.json
* Add npm run command: webapp:build
* Add resolve alias '@' that points to project root.
Move assets file from public to assets in order to let Vite/Rollup handle bundling.
* Add bufferPath to config, support bufferPath symlink
* defaultPath before checking realpath
* Move code for retrieving buffer path into its own file
* Do the realpathSync() call for the whole final file path, to allow the buffer file to be a symlink
---------
Co-authored-by: Jonatan Heyman <jonatan@heyman.info>