Skip to content

inkdropapp/version-history-beta

Repository files navigation

Inkdrop Release Notes (Beta)

v5.9.0-beta.1

2024-10-29

🎨 Theming is now simpler than ever

I'm so excited to announce that Inkdrop has got a new theming system!

I've been working on refactoring the app's theming system to make it easier to customize and maintain for future versions. The UI components were originally from Semantic UI, and Inkdrop has relied on its well-designed theming system based on LESS, an alternative stylesheet language with some extended syntaxes like variables.

However, modern CSS now supports a lot of features that LESS has provided, such as CSS variables and CSS nesting. Moreover, CSS supports cascade layers, which allow you to control the specificity and order of rule sets across stylesheets. They would be very useful for theming in Inkdrop.

The main issue was that Semantic UI themes include everything from resets and layouts to buttons, dropdowns, and menus. This is because Semantic UI's theming architecture wasn't designed to be dynamically loaded or switched. This limitation has prevented me from adding new UI components and updating current designs. Also, it was hard to understand the LESS-based theming architecture for contributors, including Gulp tasks for building it.

The new theming system is much simpler. All you have to do is customize CSS variables. No pre-compilations needed. For example, here is a part of the new Solarized Dark UI theme:

:root {
  --primary-color: hsl(var(--hsl-blue-500) / 90%);
  --input-background: var(--color-bg);
  --page-background: var(--color-bg);
  --text-color: hsl(var(--hsl-fg));
  --link-hover-color: var(--color-blue-300);
  --sidebar-background: var(--color-bg);
  --note-list-bar-background: hsl(var(--hsl-bg-muted-highlight));
  --note-list-bar-border-right: 1px solid hsl(var(--hsl-base02));
}

Instead of using LESS variables to let you customize component styles, the app now refers to these CSS variables to apply customizations on top of the default styles with CSS cascading layers. This way, I can safely change the existing styles and add new components without making breaking changes to the existing themes. If I were to add new components, I could define new CSS variables with fallback values, something like:

.new-component {
  background: var(--new-component-background, var(--strong-transparent-black));
}

If --new-component-background isn't defined in your theme, it automatically falls back to --strong-transparent-block. Neat.

Please check out the updated guide on how to create a theme here!

🍻 The acrylic translucent background support is back on Windows!

Since Electron started supporting the backgroundMaterial option for Windows, the acrylic effect has returned now!

Enable acrylic translucent background

However, there is a critical bug preventing it from working properly on frameless windows. To resolve this, I had to add a system window title bar, but it actually doesn't look so bad.

Acrylic effect light on Windows

Acrylic effect dark on Windows

The default light and dark themes support the acrylic translucent background out of the box, so Vibrant Dark UI will be deprecated soon.

Check out the documentation on how to make your theme support the acrylic background mode.

💪 Mobile support (in the future)

Users have been requesting more themes on the mobile app (1, 2, 3). I've been exploring a way to port custom themes to the mobile version. Previously, this was impossible since the mobile app is built with React Native, where CSS can't be simply applied to the UI components. But as the new theming system relies on the CSS variables, you can now generate a JSON file from the theme. You can simply run the generate-palette command in the theme repository. Check out the documentation for more details.

It still needs more work though, I can't wait to bring your themes into the mobile app!

👀 Minor design improvements

I've rewritten the default UI themes for migrating to the new theming system. Here are what they look like now:

New default light UI

New default dark UI

😎 Editor drawer animations

editor-drawer-demo

🎊 New themes: Solarized Light and Dark UI

They also support the acrylic background! I love them.

Solarized Light UI with Acrylic Background

Solarized Dark UI with Acrylic Background

I hope you like them!

Other improvements

  • Bump up Electron to 31.6.0
  • Bump up PouchDB to 9.0.0
  • Display the loading indicator when loading more plugins (Thanks Palmar)

Migrating your themes to the new system

While the app still has a backward-compatibility for the old UI themes, I would strongly encourage the theme creators to update their UI themes, or they will eventually be broken since I'm planning to add new features with new UI components. So, please check out the updated guide in the docs.

If you have any questions, feel free to post questions on the "Developers & API" category on the user forum here.

Change the Inkdrop target version to "^5.9.0"

Do not forget to update the "engines.inkdrop" field in your package.json to ^5.9.0 so that the update won't be installed on the older version and surprize the users. It should be something like this:

{
  ...
  "engines": {
    "inkdrop": "^5.9.0"
  }
}

v5.9.0-beta.0

2024-09-25

🔎 The full-text search engine is now language-agnostic

Note

This is the same update on mobile v5.4.0

This update would solve this issue: Odd searching issue when searching for text

The app had been using the language-dependent tokenization processes called Porter stemming algorithm and a Japanese-specific segmentation algorithm. In some cases, they cause some odd searching issue, where you can't find notes with particular keywords.

I recently found that SQLite3 officially supports the trigram tokenizer. I managed to migrate to it. Now, you can use any languages including Chinese, Japanese, Arabic, etc., in your notes! Also, it fully supports partial matching, so it is optimal for searching code snippets. For example, it can properly find a note with a code fragment like "er } = require(".

trigram-demo

🕵️‍♀️ Highlight matched keywords in the note list

highlight-matched-keywords

As you can see in the above screenshot, it now can highlight matched keywords in the note list, which would help you more quickly find your desired note.

Improvements

  • feat(context-menu): add 'Paste as Plain Text' to the editor context menu Paste as Plain Text context menu #x-small

Bug fixes

  • fix(dialog): updatedAt should not be updated when the note gets moved
  • fix(theme): Cannot enable Vibrant dark theme on the light mode on the system (Thanks SDO and Marco)
  • fix(redux): prevent performing some actions on the non-existing notebooks (Thanks Akiya-san
    • Prevent opening another note when failing to save the current note
    • Prevent creating a new note in the notebook that does not exist
    • Display an error dialog when failing to create a new note
  • fix(layouts): editor view icons overlap with Search / Replace buttons (Thanks Marco)
  • fix(layout): missing window buttons on the error blank slate (Thanks gaeulbyul)
  • fix(preview): odd spacing in the metadata pane (Thanks Lukas and Dmitry)
  • fix(preferences-plugins): queries should be debounced
  • fix(theme): Missing olive tag color (Thanks Lukas)
  • fix(preferences-plugins): Blank screen from search on filter of Installed plugins (Thanks Bundit)

v5.8.1-beta.2

2024-04-23

Bugfixes

  • mde: custom font family not being applied (Thanks Shimizu-san)
  • dev-tools: Copy tag id from sidebar throws an error (Thanks Lukas)
  • Do not enable the 'Readable Line Length' option by default (Thanks Shimizu-san)

Improvements

  • Avoid triggering Auto link title when the cursor is in the middle of the link
    • For example, when you type [link title](| (| is the cursor position) and hit Cmd/Ctrl-V, it shouldn't trigger the paste-as-link dialog.

Internal changes

Adopting Cascade Layers

Cascade layers would make theming much simpler. They allow themes to avoid rule specificity issues. Inkdrop will bundle more default styles in the future versions, and with cascade layers, custom themes will only need to override the default styles rather than including every style.

UI, syntax, and preview themes are automatically enclosed with the corresponding cascade layers in v5.8.1. The order of precedence is defined as the following at the moment:

@layer reset, base, tokens, theme, theme.ui, theme.preview, theme.syntax;
  • reset: Reset styles
  • base: The app base styles
  • tokens: CSS common variables
  • theme.ui: UI theme
  • theme.preview: Preview theme
  • theme.syntax: Syntax theme

Others

  • Remove the reset CSS styles from UI theme stylesheets automatically when loading
  • 🐛 Focus rings not working on some components
    • Changed the cascading layer to @layer theme.ui

v5.8.1-beta.1

2024-04-19

Bug fixes

  • Wrong icon in 'Apps and Features' list on Windows (Thanks Dmitry)
  • Scroll positions get reset when changing the layout (Thanks Ivan)
  • Random crashes when quitting Inkdrop on Windows (Thanks Patrick)
  • The 'Create' button does nothing on the Paste URL as Link dialog (Thanks Patrick)
  • Duplicate menu items in the Trash notebook (Thanks Dmitry)

Embed the default preview theme in the app

In v5.8.1, the app would solve the following issue by embedding the default preview theme:

The problem is that themes have to provide every style, which requires to update when the app gets a new feature with a stylesheet. Since we can't expect every theme developer to sustainably and quickly update their themes, it'd be nice to have the default styles instead of requiring the themes to include every style. So, from this version, themes basically 'override' the default theme.

https://github.com/inkdropapp/inkdrop-github-preview-theme

The default preview theme github-preview now doesn't apply any styles. If you create a new preview theme, you only have to add styles for customizations.

This way, the existing preview themes can continue working without updating, like GFM Alerts.

In the future, I'll make the same change to the UI themes.

Improvements

Update the GitHub preview theme to match the latest GitHub styles

The default preview theme was outdated, so it has been updated based on this reopsitory. This also fixes the task list identation issue (Thanks Dmitry).

Apply the syntax theme to codeblocks in the Markdown preview (Needs update)

While working on simplifying theming the Markdown preview styles mentioned above, I thought it'd be nice to support applying the current syntax theme to the codeblocks in the preview pane automatically. It allows you to avoid making another preview theme just for changing the codeblock syntax highlighting styles.

For example: Solarized Dark

Solarized Dark

Solarized Light:

Solarized Light

How to make your syntax theme support it

The Markdown renderer now adds a class name .codeblock to the enclosing div elements of the codeblocks. So, it is easy to add styles to them just by adding a CSS selector .mde-preview .codeblock pre to your stylesheet like so:

diff --git a/styles/index.css b/styles/index.css
index 14ae539..3f6bcbb 100644
--- a/styles/index.css
+++ b/styles/index.css
@@ -26,7 +26,8 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
   --base-magenta: #d33682;

   /* Color scheme for code-mirror */
-  .CodeMirror {
+  .CodeMirror,
+  .mde-preview .codeblock pre {
     color-scheme: dark;

     color: var(--base05);
     .cm-header {
       color: var(--base-yellow);
     }

Check out Solarized Dark Syntax for more detail.

Better Preferences UI

The setting items have been organized and it has got much easier to find and change settings.

Better setting UIs

And the Plugins page has got a filter input:

Filter installed plugins with keyword

New editor option: "Paste URL as link"

Some people don't like the feature (Thanks Ryota).

  • Preferences -> Editing -> Markdown -> Paste URL as link

Preferences

v5.8.0-beta.3

2024-03-29

Improvements

  • fix(editor): unpin when changing the note status to 'Completed' or 'Dropped'
  • feat(tutorial): add video tutorial links
  • fix(preview): change the metadata section style to make it clear as a UI rather than note content
  • feat(notebook-list-bar): keyword matching includes parent notebook names

Bugfixes

  • fix(markdown): inline style tags not working
  • fix(editor): toggline side-by-side mode does not sync scroll bar positions properly
  • fix(preview): the broken link icon still remains when editing
  • fix(search-bar): keyword won't be reset when changing the note list view
  • fix(note-list-bar): selection gets messed up when holding up/down arrow key to select notes so fast
  • fix(github-preview): incorrect colors of nested alerts
  • fix(auto-link-title): do not insert when inside image link
  • fix(markdown): line breaks not working in gfm-alerts (Thanks Lukas)
  • fix(editor): layout gets corrupted when having custom panes like sidetoc
  • fix(editor-meta): read-only state is not handled in meta-notebook
  • fix(preview): remove margin-top for headings immediately under the metadata section
  • fix(editor): avoid opening the same note via a command
  • fix(preview): do not render the metadata section when print mode
  • fix(preferences): incorrect label 'htmlFor' attribute (Thanks Tahsin)
  • fix(editor): allow url to be pasted without an assist feature
  • chore(themes): use vanilla CSS instead of LESS

v5.8.0-beta.2

2024-03-15

Revisiting the editor drawer

In v5.8.0-beta.1, the backlinks have been added to the editor drawer. But as picklecillo pointed out, you may want to make it persistent so that you can jump around the linked notes quickly.

First, I considered adding another dropdown for backlinks next to the notebook name under the note title. But I thought it wouldn't be useful if you want to check backlinks across multiple notes sequentially. I found myself rarely opening the editor drawer to check the note information. It should be solely used for additional actions like ‘Revision history’, ‘Share on web’, ‘Pin to top’, etc, that’s simple and easy to understand. Instead of adding various things to the editor drawer and making it complicated, it’d be nice to display the note metadata and backlinks in the preview.

So, I decided to render the note information in the preview as a part of the note, as you can see below:

Metadata rendered in the preview

This way, you can quickly check the metadata without toggling the editor drawer while it doesn’t distract your writing experience.

The backlink section can be folded. The app remembers the fold/unfold state across notes.

fold/unfold the backlink section

The scroll sync still works just fine:

scroll sync

New option: Readable line lengths

This option limits the maximum width of the editor and preview panes to prevent excessively long lines of text. Enabled by default.

New option

Bugfixes

  • fix(macOS): Full Screen Button Disable Problem (Thanks Tahsin)
  • fix(note-list): Inconsistent tag filtering (Thanks Lukas)
  • fix(editor): Auto link title: does not properly check whether only exactly one link is inserted (Thanks Lukas)

v5.8.0-beta.1

2024-03-08

I'm excited to announce v5.8.0-beta.1, which has got so many improvements and new features!

Inter-note workflow improvements

v5.8.0 works much more efficiently in connecting your notes.

🆕 Backlinks

If you connect your notes with internal links, you may want this feature. It now supports displaying which notes have links to the current editing note on the editor drawer.

v5-8-0_backlinks

With backlinks, you can quickly jump around related notes.

Tip: Wiki-style link creations

If you are used to writing Wiki, do you know Inkdrop supports creating placeholder links? It is simple. Just write a link without an URI!

- [Link title]()

Then, click it on the preview pane and it will create a new note with the title. As of v5.8.0, it automatically updates link titles in the note when you change the note title.

🆕 Create a new note from the selection

When debugging a bug, you sometimes find another issue to solve as your investigation goes deeper. You already took some notes on the new issue. Inkdrop doesn't block your concentration by allowing you to create a new note from the selection.

First, select the text and right-click it on the editor:

v5.8.0-beta.1_create-new-note-from-selection_01

A dialog shows up, then input a note title:

v5.8.0-beta.1_create-new-note-from-selection_02

Hit Enter, and you get a new note with the selected text.

v5.8.0-beta.1_create-new-note-from-selection_03As you can see, you already have a backlink from the source note. You can click it to go back.

v5.8.0-beta.1_create-new-note-from-selection_04

The selected text is replaced with a link to the new note.

  • New command:
    • core:new-note-from-selection

🙌 Remember the scroll positions

When writing a note while referring to other notes, it was frustrating to always get the cursor and scroll positions to be reset when going back to the note. In order to help you work with multiple notes efficiently, v5.8.0 now remembers the cursor and scroll positions in the navigation history.

In the above example, when clicking a backlink, the cursor position is already where the new link is created.

Navigation improvements

🫡 Preserve the note list order when clicking a tag on the note list item

The tag labels on the note list allow you to click to filter by a tag, which is handy to quickly narrow down to a specific topic on the list. By design, it was using the full-text search feature internally, which always changed the sort order to 'Best match'. It looked strange as you just intended to filter the current notes, but not to search with keywords, so the list sort order should be preserved. As of v5.8.0, it now properly preserves the sort order when filtering by a tag.

For example, some notes are tagged with 'v5.8.0'. Currently, the note list displays all the notes in a workspace of the notebook 'Inkdrop', ordered by last modification dates in descending order. You want to filter notes by the tag by clicking it on the note list item.

v5.8.0-beta.1_preserve-note-list-sort-order_01

Then, the note list displays only notes with the tag 'v5.8.0'. Before, it changed the order to 'Best Match'. As of v5.8.0, it preserves the sort order, which is the last modification date in the descending order in this example.

v5.8.0-beta.1_preserve-note-list-sort-order_02

You can of course change the order from the dropdown menu on the note list header bar anytime.

'Go to Workspace' context menu

When you are checking notes in the 'All Notes' on the sidebar, you may feel like quickly jumping into a workspace view of the viewing note. You could open a notebook but it now also lets you go to the workspace view from the context menu of the notebook dropdown menu on the editor:

v5.8.0-beta.1_go-to-workspace

But what about nested notebooks? Let's say, you see a note in the child notebook, but you want to go to the workspace of the parent notebook. No worries. After selecting the 'Go to Workspace' context menu, the focus moves to the sidebar. Then, you can hit Backspace to go up to the parent workspace.

v5.8.0-beta.1_go-to-workspace_02

It is helpful to quickly switch between projects.

  • New commands:
    • editor:go-to-workspace-of-editing-note
    • core:sidebar-workspace-go-up

Editor improvements

🔔 Markdown Alerts syntax support

Recently, GitHub officially supports Alerts. It is a simple extension of Markdown, which allows you to insert 'alerts' a.k.a. admonitions or callouts. For example:

> [!IMPORTANT]
> This is currently a work in progress, expect things to be broken!

v5.8.0-beta.1_gfm-alerts_01

Inkdrop now supports these alerts, too!

v5.8.0-beta.1_gfm-alerts_02

You don't have to remember the syntax. The editor toolbar has got a button for alerts here.

v5.8.0-beta.1_gfm-alerts_03

  • New commands:
    • core:insert-alert-note
    • core:insert-alert-tip
    • core:insert-alert-important
    • core:insert-alert-warning
    • core:insert-alert-caution

🔗 Auto link title

Links are crucial for tech note-taking since you often need to refer to external information from your notes.

I've been using John's paste-url plugin to paste URLs as a Markdown link. In this release, I'm happy that it is now officially supported!

For example, you are referring to a bug report on the GitHub repository and you'd like to mention it in your note. You can copy the URL from the browser and paste it in the editor, then a dialog shows up:

v5.8.0-beta.1_auto-link-title

The app automatically fetches the page title of the given URL. You can choose a link format with up/down arrow keys. It can correctly extract the page title even if the website doesn't support server-side rendering, which is nice.

UI design improvements

🧐 Focus outlines

I wanted to improve a small but fundamental thing - focus indicators. Since some input components like buttons and the search bar didn't have proper focus outlines, you couldn't tell where the current focus is. This improvement makes you a bit more comfortable to press Tab to move focus around.

v5.8.0-beta.1_focus-outlines

🔖 Better tag appearances for the dark UI theme

The tag colors were too vibrant when you were on the dark UI theme. As a big fan of using tags, I wanted to make them look more unified for it.

v5.8.0-beta.1_tag-redesign-for-dark

Other improvements and bug fixes

  • chore(electron): Bump up to 28.1.3
  • fix(ipm): rimraf is not loaded beforehand
  • fix(sidebar): hovering sidebar item not highlighting when dragging a note item
  • fix(dnd): offset of custom drag layer is incorrect
  • fix(database): completed or dropped notes are not properly moved to trash when deleting a notebook
  • fix(navigation): Support mouse button 3 and 4 for navigation on Windows and Linux
  • fix(semantic-ui): Drop jQuery 😭👍
  • fix(process-diff): update internal note links when a note gets renamed its title (Thanks Lukas)
  • fix(note-list): Filtering tags with spaces in the tag name does not work (Thanks Lukas)
  • fix(note-list): Note list not updated when editing so fast

v5.6.3-beta.0

2024-01-15

Improvements

  • feat(mde-preview): support creating a note from an empty link (Related topic)
  • feat(deep-link): support opening plugin detail from URI
    • Example: inkdrop://plugin/mermaid
  • feat(command): add core:copy-note-uri, which copies a URI of the selected note
  • feat(preview): support internal note link expansion: Render rich internal links to enhance connecting notes
  • feat(note-list): Experimental: support filtering by tag by just clikcing a tag list item on the note list item
  • feat(search): clearing the search keywords should not open the last opened note (Thanks SDO)
  • feat(sidebar): animate sidebar list items
  • feat(sidebar): animate workspace transition
  • feat(ui): animate main layout
  • fix(editor-title): support moving focus to editor from title input with DOWN key (Thanks Phil)
  • fix(redux-store): navigation: push state when opening a workspace (Thanks picklecillo)

Bug fixes

  • fix(clipboard): cleaning up html unexpectedly removes \r
  • fix(note-status): make conflicted notes when changing note status via keyboard shortcuts (Thanks Anon)
  • fix(proxy): do not use proxy agent with axios. it causes the app to access with a wrong port (Thanks Shimizu-san)
  • fix(theme-manager): (Internal) ignore the initial add event
  • fix(package-manager): should ignore the resolve file error (Thanks Brenton)
  • fix(dropdown): click handler should hide when clicking the dropdown label again when visible (Thanks Jakub and Simon)
  • fix(keymap): cmd-alt-m is used by system global shortcut on macOS
    • Changed the keymap for core:move-to-notebook from cmd-alt-m to cmd-ctrl-m
  • fix(redux): the editor should wait for saving the note before closing
  • fix(macOS): app hungs when typing text while CapsLock is enabled on macOS (Thanks Alessandro and Jack)

v5.6.2-beta.0

2023-11-16

Bug fixes

  • fix(note-list): The popup menu for opening notebook not working (Thanks Shogo-san)
  • fix(keymap): Canceling multi-stroke keymaps not working (Thanks Markus)
  • fix(editor): "Move to notebook" not working properly, where it randomly moves a previously opened note (Thanks Shimizu-san)
  • fix(editor): Do not transform HTML into Markdown when pasting if it has special markups (Thanks Jake and Lukas)

Improvement

  • chore(electron): Bump up to 25.9.5

v5.6.0-beta.4

2023-10-12

Bug fixes

  • fix(plugins): Bundled plugins are not working (Thanks Lukas)
  • chore(assets): Remove Font Awesome as it is no longer used anywhere

Improvement

  • fix(editor): The notebook picker supports filtering by keyword notebook picker improved

v5.6.0-beta.3

2023-10-10

Bug fixes

  • fix(server): Local HTTP server not working (Thanks Raivis)
  • fix(editor): floating action buttons not appearing right after the launch (Thanks Lukas)
  • fix(ipm): The CLI command ipm install not working (Thanks Raivis)

v5.6.0-beta.2

2023-10-03

Bug fixes

  • fix(preview): number of task list items not updated correctly (Thanks Lukas)
  • fix(html): do not load browser-commons.js (Thanks Lukas)
  • fix(share): The app crashes when sharing a note (Thanks Martin)
  • fix(preferences): Add a note on the acrylic background effect on Windows
  • fix(login): The login screen is broken

v5.6.0-beta.1

2023-09-22

✨ Nested workspace views

In previous versions, pressing the "Detail" button on the notebook would take you to the workspace view, but you couldn't press the "Detail" button again once you were in that view. In this update, the "Detail" button is now functional within the workspace view as well!

nested workspace view

The sidebar now displays the path of the current and parent notebooks:

nested workspace view 2

Bug fixes

  • Can't change tag colors (Thanks Lukas)
  • Defer updating the preview a bit longer when the preview is not visible (Thanks Seito)
  • When exporting, use Untitled if the note title is empty
  • Different modules like react get loaded from an incorrect path, which causes the app to crash (Thanks Jaime)
  • The cursor jumps to a wrong position when toggling the side-by-side mode
  • The app crashes when uninstalling a plugin from Preferences (Thanks Lukas)
  • The note counts are not updated correctly in the workspace views (Thanks SDO)
  • open() does not open the url in a browser but opens it in an internal browser window instead (Thanks Shimizu)
  • Sidebar display all notes after toggling off a distraction free (Thanks Bundit)

API

I've been preparing to support the command palette feature. A new API for it is available on CommandRegistry. You can use it like so:

inkdrop.commands.findCommands({target: document.querySelector('.CodeMirror')})

v5.6.0-beta.0

2023-08-29

💨 Faster launch speed

Managed to make it 500-700ms faster 🚀

Here is a demo:

file_Gs-9UL_8u|433x500

✍️ STORY: How I made Inkdrop 500ms faster to launch🚀

Loading plugins lazily

Along with v5.6.0, some plugins have been updated with performance improvements as well. mermaid and math load their modules only when you open a note that uses one of them. It would keep the launch speed fast even if you installed plugins that require massive modules like them.

🎨 Markdown renderer engine update

v5.6.0 has upgraded Remark and Rehype packages to the latest versions. It isn't only an internal improvement but also gives you more possibilities to get useful features. It now has mdast and hast data in the preview state, which allows to add syntax-aware features like outline views more easily without relying on regular expressions.

✍️ STORY: Refactoring the extensible Markdown renderer 🛠️

On the other hand, it may cause some plugins not working due to the breaking changes. For plugin developers, I'll post another topic to help you update your plugins.

🌈 Built-in paste-as-markdown support

Plugins are useful but it'd be a burden to explore and decide which plugins to install for light users. I wanted to make the app just work out of the box. As a starter, paste-as-markdown is now bundled into the app by default. It allows you to paste HTML as Markdown from the clipboard. It'd be useful for copy-and-pasting formatted texts from browsers.

I'm planning to bundle Mermaid, GitHub Emoji, and Math plugins as well.

⬆️ Bump up Electron to 25.1.1

Expected some platform-dependent issues to be fixed with this release.

😵 Acrylic window style is not working on Windows

On Electron@25.1.1, the module that the app used to support the acrylic window style no longer works, unfortunately. The good news is that Electron itself officially supports the acrylic style for Windows:

electron/electron#38163

The bad news is that it is not stable and working as expected – It doesn't work with frameless windows, besides, it becomes unresizable and loses shadows. So, unfortunately, the acrylic window style is not supported on Windows in this release. Maybe I should stop supporting such an unstable feature 😭

✨ New API documentation (WIP)

I've been working on redesigning the documentation and the new API documentation is now available as WIP.

https://developers.inkdrop.app/

The design is heavily inspired by Stripe, built on top of Tailwind UI. It supports full-text search now. There are still many missing pages and broken links though, your help to improve the doc would be greatly appreciated. It will be more comprehensive and easy to understand and I hope you like it :D

I'll be working on creating a new user manual as well!

Other bug fixes and improvements

v5.5.2-beta.1

2022-09-28

Improvements

  • Dev: Add a link to dev-tools plugin in Preferences
  • Editor: Remove the file extension from the alt attribute when inserting an image from a file
    • Before: [filename.jpg](inkdrop://file:****)
    • After: [filename](inkdrop://file:****)
  • Theme: Switch the default light/dark themes automatically based on the system preferences (Thanks Mac and Ben)
    • You can disable this behavior by setting core.toggleDarkThemeAutomatically to false in config.cson

Bugfixes

  • Export: Inline styles not working in exported notes as pdf or html
  • Export: Canceled dialogs not being handled properly
  • UI: The note list not updating if a conflict happens
  • Editor: The editor should refresh after changing custom stylesheets
  • Editor: The app crashes when inputting a title longer than 128 characters (Thanks Danielsec)
  • Markdown Preview: Task checkboxes get wrong position when the item is empty
  • Local server: The numeric parameters for _changes work incorrectly
  • Local server: GET /tag:<id> not working
  • App: Notes not being saved when immediately quitting after editing (Thanks Ryuki)

v5.5.0-beta.1

2021-12-20

Improvements

Bugfixes

  • Can't change sort order by commands (Thanks Ryuki)
  • Window gets unintentionally resized when dragging if acrylic background enabled (Thanks elpnt)
  • Move the 'full sync' menu to under the Help menu

v5.3.0-beta.1

2021-03-12

New features

Improvements

  • Upgrade Electron from 7 to 12
  • API: add editor-floating-actions layout that allows you to add custom floating action buttons on the editor (See the doc) (Thanks Ron)
  • Scroll sidebar to the selection automatically when opened a notebook (Thanks Shogo)
  • Network diagnosis to help configure Inkdrop for running it behind corporate proxy from menu Help -> Run Network Diagnosis.
  • Set window background to dark on dark mode to avoid flashy white backgrounds (Thanks Hugh)

Bugfixes

  • Prevent adding more than one tags with the same name (Thanks Avis)
  • Change folder structure and file name of backup files that avoid using : character, which is prohibited in some cloud storage services (Thanks Ryan, Nicole, and Evan)

v5.2.0-beta.2

2020-12-08

New features

  • Support adding tags and status by drag-and-drop notes (Thanks Jan)
    DnD support
  • Add "Remove Tag" context menu on note tag bar (Thanks Jan)
  • Support inkdrop:// URL scheme on Windows (Thanks Otawara-san)
    • Now the URL scheme works across macOS, Linux and Windows 🎉

Improvements

  • Support YAML frontmatter for Markdown export (Thanks Robert)
  • Add some animations 🏃
    DnD support

Bugfixes

  • Allow smaller window size when distraction free mode (Thanks Shota-san)
  • Move a window into the primary screen if it was outside of screens (Thanks Alexander)
  • Fix word-break of shared page url on note sharing dialog
  • Hide workspace if notebook does not exist when restoring navigation state (Thanks T_Crain)
  • Fix placeholder bug in codemirror (Thanks Akira-san)

v5.2.0-beta.1

2020-11-23

A vlog for this update :)
vlog

Search feature improvements

  • title: and body: search qualifier to filter notes by title or body (Thanks Zhuolun) title qualifier
  • Support changing order of search results (Thanks Micah_Ledbetter) Search result order

Importing feature improvement

  • Support importing images when importing from Markdown or HTML files

Bugfixes

  • Some Pug codeblocks cause the app to be crashed (Thanks Kato-san)

v5.0.0-beta.2

2020-08-19

Improvements

  • Restart sync when system unlocked
  • Restart sync when system resumed

Bugfixes

  • Avoid loading 'null' mode in the editor
  • Fix the issue where "Cannot read property 'toString' of undefined" occasionally happens on the note list (Thanks Gustavo and Rael)

v5.0.0-beta.1

2020-07-02

New features

  • GUI for installing plugins Plugin GUI

Improvements

  • Show more human-friendly error messages
  • Include 'Completed' & 'Dropped' statuses when filtering with keywords
  • Remove 'Search' sidebar menu
  • Better conversion from HTML to Markdown

Bugfixes

  • (Revert) The editor not utilizing the full width of the text window (Thanks Vikas, Jasper, Gustavo, and Samantha)
  • Fallback to the default theme if not installed (Thanks Mark)
  • Exporting all notes as Markdown not working when exporting sub-notebooks (Thanks Tiemen)
  • Create new notebook modal already has value from previously create notebook (Thanks Martynas)

v4.7.0-beta.4

2020-07-02

Bugfixes

  • Selecting text is not working

v4.7.0-beta.3

2020-07-02

New features

  • Add MIME type x-scheme-handler/inkdrop for Linux so that you can open it with inkdrop:// URI scheme (Thanks Andi)
  • Toggle task list ([ ] or [x]) by mouse click in editor

Improvements

  • The app launch speed significantly improved
  • Refurbish the editor toolbar Editor toolbar
  • Refurbish icons Editor toolbar
  • Add a separator for grouping pinned notes (Thanks tdudz)
  • Improve search result by having bigger weight for title field (Thanks Zhuolun and James)
  • Set max-width for editor
  • Bump up Electron to v8.3.4
  • Show progress of updating local indices
  • Show error dialog when failed to load the config files (Thanks can_Y)

Bugfixes

  • add https:// if the URL is invalid format (Thanks Rael)
  • fix incorrect English (Thanks Rael)

v4.7.0-beta.2

2020-04-15

New features

  • Support editor:open-link command which allows you to open a link on browser from the editor. The default keystroke is shift-ctrl-o
  • Support Workspace feature
    workspace
  • Includes sub-notes when notebook item is collapsed
    Expanded:
    Expanded
    Collapsed:
    Collapsed
    The collapsing state also refrects listing notes so you can find sub-notes quickly
  • Remember note list state in navigatin history
  • Restore note list and editing state when exiting searching
    While searching:
    Searching
    After exiting from searching by hitting Esc key or clearing keyword, you get back to the previous state of the note list and the editor:
    After exiting search
    It is useful to write a note while referring to other notes.
  • Filtering notebooks by keyword
    Filter

Improvements

  • Show accelerators in context menu
    accelerators
  • Default keyboard shortcut for pinning notes
    • P on note list
  • Show pinned notes to top on "All notes" and remove "Pins" menu
  • Make strong & em text clearer in syntax themes
  • Improve blockquote styling in syntax and preview themes
  • Change the keystroke for core:insert-link to cmd-k or ctrl-k
  • Add Emacsy keybindings for Linux and Windows, which was only supported on macOS:
    '.CodeMirror textarea': {
      'ctrl-f': 'editor:go-char-right',
      'ctrl-b': 'editor:go-char-left',
      'ctrl-p': 'editor:go-line-up',
      'ctrl-n': 'editor:go-line-down',
      'alt-f': 'editor:go-word-right',
      'alt-b': 'editor:go-word-left',
      'ctrl-a': 'editor:go-line-start',
      'ctrl-e': 'editor:go-line-end',
      'ctrl-v': 'editor:go-page-down',
      'shift-ctrl-v': 'editor:go-page-up',
      'shift-ctrl-f': 'editor:go-char-right',
      'shift-ctrl-b': 'editor:go-char-left',
      'shift-ctrl-p': 'editor:go-line-up',
      'shift-ctrl-n': 'editor:go-line-down',
      'shift-alt-f': 'editor:go-word-right',
      'shift-alt-b': 'editor:go-word-left',
      'shift-ctrl-a': 'editor:go-line-start',
      'shift-ctrl-e': 'editor:go-line-end',
      'ctrl-d': 'editor:delete-char-after',
      'ctrl-h': 'editor:delete-char-before',
      'alt-d': 'editor:delete-word-after',
      'ctrl-k': 'editor:kill-line',
      'ctrl-t': 'editor:transpose-chars',
      'ctrl-o': 'editor:open-line'
    }
  • Select next note when deleting notes (Thanks Mike)
  • Restore focus when closing a dialog
  • Smaler font size for note title
  • Better performance in rendering note list items

Bugfixes

  • Plugin readme is not showing as expected
  • Incorrect parent book Id is used when creating new notebook (Thanks Gustavo)
  • Prevent closing window on pressing ctrl-w on note title input bar on Windows and Linux
  • Do not blur on pressing backspace with all text selected in tag input

v4.7.0-beta.1

2020-03-25

New feature

Improvement

  • Upgrade Electron from 7.1.3 to 8.2.0

v4.4.0-beta.2

2019-10-09

  • Improvement: Bump up Electron from 6.0.7 to 6.0.11
  • Improvement: Bump up ipm from 2.1.6 to 2.4.3
  • Bugfix: Opening next/prev note not working (Thanks Otawara-san)
  • Bugfix: Revert changes regarding checkpointers of data sync which might have been causing that some notes won't be synced in some cases
  • Bugfix: The scroll position is lost when toggling distraction free mode (Thanks Bastian)

v4.4.0-beta.1

2019-10-07

  • New feature: Importing markdown files (Thanks q1701)
  • Improvement: Bump up Electron from 3.1.4 to 6.0.7
  • Improvement: Better UI performance
  • Bugfix: Plugin configurations on prefrence window not working
  • Bugfix: Pages from the second page are blank when exporting as PDF
  • Bugfix: Some memory leaks in sync

v4.3.0-beta.3

2019-08-05

  • Improvement: Unnecessary spaces inserted when generating table rows (Thanks Otawara-san)
  • Improvement: Prevent restoring window size from exceeding the screen bounds (Thanks chocolat)
  • Improvement: Re-render when toggled preview (Thanks James)
  • Improvement: Change label for moving note to notebook (Thanks James)
  • Bugfix: Error notification not showing when failed to load keymap.cson
  • Bugfix: Show rendering error when failed to render Markdown and prevent the app crashing (Thanks ofton-san)

v4.3.0-beta.2

2019-07-26

  • New feature: Support changing created datetime and updated datetime of notes Screenshot
  • New feature: Add 'Notes' menu item to notebook filter side menu
  • Improvement: Support warning about deprecated packages (Thanks Samantha and Erdem)
    • You need to update spell-checker plugin for v4.3.0, which now supports multiple languages Screenshot
  • Improvement: Add app events app:ready and app:quit to Environment
  • Improvement: Update some dev stack

v4.3.0-beta.1

2019-07-22

  • New feature: Better table editing support
    • It automatically creates new row when pressing enter key
      • Command: editor:new-line
    • It lets you move across table cells with tab key
      • Command: editor:move-to-next-table-cell and editor:move-to-previous-table-cell Demo
  • New feature: Support highlighting tables in the editor
    • Before: before
    • After: after
  • New feature: Add core:search-notes and core:filter-notes commands
  • New feature: Support select all items on note list bar with core:select-all command
  • New feature: Support enum key in config schema for plugins. See the doc for detail.
  • Improvement: Update syntax themes to support highlighting tables and codeblocks
  • Improvement: Improve indenting ordered list items
  • Improvement: Do not focus to the search bar when selecting search item with keyboard input
  • Bugfix: Close window when it is in fullscreen (Thanks Sammy)
  • Bugfix: Add missing commands for changing note status
    • editor:change-note-status-(none|active|onhold|completed|dropped)

v4.2.0-beta.1

2019-06-30

  • New feature: Support editor.indentUnit config (Thanks Ahmed)
  • New feature: Add core:note-list-show-all-notes and core:sidebar-focus commands
  • Improvement: Add .htm extension to dialog filters (Thanks jiunhsien)
  • Bugfix: Skip listing invisible notes(Completed, Dropped state) properly (Thanks Keiji-san)
  • Bugfix: Retain view options when changing order/sort
  • Bugfix: Autoupdate not working on macOS

v4.1.0-beta.1

2019-06-20

  • New feature: Support <config_dir>/styles.less for style customizations
  • Improvement: Highlight search text on running editor:find or editor:replace command (Thanks Lu
  • Bugfix: Sync won't work via web proxy (Thanks Yusuke-san & Christian)
  • Bugfix: Show error message when it failed to load local database
  • Bugfix: Note tags are sometimes not properly migrated
  • Bugfix: Broken sync with Android (Thanks Joshua and Kato-san)

v4.0.1-beta.1

2019-06-06

  • New feature: Support <config_dir>/init.js for advanced customizations
  • Bugfix: https_proxy with non-ssl web proxy won't work (Thanks Christian and Rino-san)
  • Bugfix: Updating FTS index won't be triggered unless you edit a note (Thanks Sceptic, Hiro and Masatoshi-san)

v4.0.0-beta.9

2019-06-04

v4.0.0-beta.8

2019-06-03

  • New feature: Support configuring global keymaps to focus the app window (Thanks Gustavo)
  • New feature: Support inkdrop:// app scheme (macOS) and argv (Windows & Linux) to open a note from external apps
  • New feature: Hide main window instead of closing it (Thanks Gustavo)
  • Bugfix: SVG files cannot be inserted (Thanks John)

v4.0.0-beta.7

2019-05-17

  • New feature: Support inline image widgets for HTML img tags
  • Improvement: Support filtering by tag (Thanks Horii-san)
  • Improvement: Remember sidebar visibility (Thanks Horii-san)
  • Improvement: Add left margin to count badge (Thanks leptospira489)
  • Bugfix: JS compile cache not working

v4.0.0-beta.6

2019-05-13

  • Improvement: New logo
  • Improvement: Change scrollbar width and color for Windows and Linux (Thanks leptospira489)
  • Improvement: Change sidebar indent width slightly (Thanks Enokiya-san)
  • Improvement: ipm command uses the client API key for the desktop app instead of requiring to generate an API key
  • Bugfix: devMode won't work (Thanks Otawara-san)

v4.0.0-beta.5

2019-05-02

  • Bugfix: The app crashes when the note list scrolls after resizing the window (Thanks Horii-san)
  • Bugfix: Preferences window crashes when opened a plugin detail
  • Bugfix: Parse invalid search queries without errors

v4.0.0-beta.4

2019-04-29

  • Improvement: Improve sync to be more stable
  • Bugfix: Clear find state in the editor when search keyword not set (Thanks Erdem)
  • Bugfix: Notebook picker on the editor not working (Thanks Otawara-san)
  • Bugfix: Cannot empty the trash (Thanks Erdem)
  • Bugfix: Show a proper error message on incompatible plugins

v4.0.0-beta.3

2019-04-25

  • Improvement: Way smoother smart scroll sync
  • Bugfix: ctrl-y to redo in the editor not working on Windows and Linux (Thanks Otawara-san)
  • Bugfix: Dbl-clicking urls to open on the editor not working (Thanks Otawara-san)
  • Bugfix: Props for HTML img tag like width not working (Thanks Kazutaka-san)
  • Bugfix: Search keyword not being highlighted until you open a different note (Thanks Erdem)

v4.0.0-beta.2

2019-04-24

  • Improvement: Quicker smart scroll sync
  • Bugfix: Can't toggle task list on preview
  • Bugfix: Smart scroll sync is unstable (Thanks Otawara-san)
  • Bugfix: Previous search text highlighting won't be cleared on the editor (Thanks Erdem)
  • Bugfix: Backspace won't work on tags input bar (Thanks FORTRAN)
  • Bugfix: Can't remove notebooks and tags from sidebar

v4.0.0-beta.1

2019-04-22

  • New feature: End-to-end encryption
  • New feature: New search UI
  • New feature: Notebook submenus
  • New feature: Count badges
  • New feature: Smart scroll sync for side-by-side mode
  • Improvement: Better performance for full-text search
  • Improvement: Support embedding attachment images with HTML tags (Thanks Erdem)
  • Bugfix: Exported PDF randomly skips inline image (Thanks Asish)
  • Bugfix: First bullet point has an additional newline (Thanks derkork and Kuroyanagi-san)

v3.25.0-beta.0

2019-01-06

  • New feature: Support jump-to-line command (Thanks Otawara-san))
  • Improvement: Use break-word for table when printing (Thanks Otawara-san)
  • Bugfix: Vibrant background does not work on macOS Mojave (Thanks Caleb)
  • Bugfix: Menu item not rendering properly on Ubuntu 18.04 (Thanks andy)

The release notes for older versions can be found here

About

Inkdrop Release Notes for Beta Versions

Resources

Stars

Watchers

Forks

Packages

No packages published