Hi! I’m super excited to announce that the first canary version of v6.0.0 is available
It comes with a bunch of ground-up improvements. Let’s go!
The New Editor based on CodeMirror 6
Floating toolbar
In v5, the toolbar was fixed on top of the editor, which takes up the space even when you don’t use it.
Instead, the editor now displays a floating toolbar when selecting text.
GitHub Alerts syntax support
The editor now supports highlighting Alerts with the proper colors and left border.
It even works with nested alerts and quotes.
Also, it provides an autocompletion to assist in entering the alert type.
Slash commands
In an empty line, pressing /
shows up a list of available insert commands such as blockquote, heading, and alerts.
Autocompletion in codeblocks
When you edit ccode in a codeblock, autocompletion automatically gets enabled, depending on a supported language.
Emoji autocompletion
By inputting :
and first two characters, it shows GitHub-styled emoji candidates:
Codeblock language suggestion
When you press ```, it suggests available supported languages:
Insert a note link (Experimental)
When you press [[
, you can search for a note to insert as an internal note link.
It previews the selected note content.
Telescope (a.k.a. Command Palette)
A command palette has been one of the long-awaited features.
On the other hand, the built-in search bar has been becoming more and more popular for utility apps these days.
So, I decided to build a versatile search bar, inspired by other macOS’s Spotlight-like tools like Raycast, that can search multiple types of sources at the same time. This feature is called Telescope (yes, the name was borrowed from telescope.nvim!)
For example, it supports the following sources:
- Commands
- Notebooks
- Tags,
- Table of contents of the editing note
How to use
Press Cmd/Ctrl-K or select View → Toggle Telescope from the application menu to launch Telescope:
Then, just type some keywords. It supports fuzzy-matching, so you don’t care about spelling so much.
Each source may have a scope prefix like >
and b
.
They let you quickly narrow down items with the associated scope.
For example, when you wanna search only commands, press > + Space. Press Esc to clear the scope.
Commands
- Shortcut:
>
Most operations in Inkdrop are defined as commands.
You can execute these commands by dispatching programmatically.
Telescope allows you to dispatch a command without using the API.
It also displays associated shortcut keys on the right side of the command items if available.
Notebooks
- Shortcut:
b
The next powerful Telescope source is notebooks.
It allows you to not only open the selected notebook but also open as Workspace, and move the current note to the selected one by pressing Enter with a modifier key as indicated at the bottom of the bar.
Tags
- Shortcut:
t
The Tags source helps you navigate notes through tags.
Table of contents
- Shortcut:
#
This source is interesting.
When you are writing a long-form blog article, you may want to jump around section titles.
This source lists the sections of the editing note. You can quickly jump to the selected section from it.
Pretty neat, huh?
On top of that, it also displays task items!
It would be helpful to manage todo lists in the notes.
API coming soon
Telescope is extensible by design, too.
You can add custom sources freely.
I can’t wait to see what source you will add!
Warning
Currently, it lists all the available commands.
But, some commands require parameters, which can’t be invoked via Telescope, so they have to be hidden.
You will get an unexpected behavior or error when invoking these commands.
They will be hidden in the future releases.
Flatpak and AppImage support
It migrated to the modern build pipeline based on Electron Builder, which allows to support Flatpak and AppImage for modern Linux distros.
[!NOTE]
Flatpak is not published on FlatHub yet since it is not the official release.
[!CAUTION]
The Snap package has been deprecated as of v6.
Notice on Canary builds
ipm
is no longer bundled
Since ipm
involves a massive number of dependencies, I decided to stop bundling it.
I’m planning to publish a separate package for publishing/maintaining plugins.
For now, please use the ipm
command of v5.
The path to the user data directory is different
The user data directory is different from the official binaries.
The directory name is inkdrop-canary
instead of inkdrop
, so that you can have a separate set up for both versions.
For example:
- on macOS:
~/Library/Application Support/inkdrop-canary/
. - on Windows:
%APPDATA%\inkdrop-canary\
- on Linux:
~/.config/inkdrop-canary/
vim plugin
It is not published yet, but you can clone the v6
branch.
Most plugins and syntax themes for v5 are incompatible
CodeMirror v5 is not compatible with v6. So do the Inkdrop plugins that extend the editor and syntax themes.
inkdrop.getActiveEditor()
now returns CodeMirror#EditorView
ToDo
- Update Syntax & UI themes
- Syntax and UI theme preview
- Notebook icons
- Sidebar improvements
- Bundle Mermaid and Math by default
- Publish a separate
ipm
command - AI features
- Preview pane improvements
- Find in preview (I finally came up with a promising idea)
- Improve image upload speed
- Arm64 support
- Migrate from leveldown to sqlite3
Join the Canary testing
[!warning]
Canary is meant to be early testing. You cannot expect it as stable as the official release. Feedback is appreciated!
macOS
Windows (x64)
Linux (x64)
How to give feedback
Please create a topic on the “Issues > Canary” category.
This is the most preferred way for me because I can manage which issue has been resolved or not.
There is our Discord server, where you can casually discuss and talk with other users.