Releases: Fevol/obsidian-criticmarkup
0.2.0
0.2.0
One year to the day since my first ever release, I am happy to announce the release of version 0.2.0, the first
version of the plugin with the metadata rewrite, which has been months in the making.
Apologies for the long wait! I did not intend for this to take so long, but this update necessitated a lot of changes to the core of the plugin,
and most of the existing systems had to be rewritten from the ground up.
If you find any issues, please report them in the GitHub issues, or notify me in the Discord server.
I will try to get to them as soon as possible.
Additionally, I'd like to hear from you if you have any suggestions for future additions to the plugin,
so I can prioritize them accordingly.
Features
- Metadata Extension
- NOTE: Extension is purely opt-in via the
Include Metadata Extension
setting - Ranges (suggestions + comments) can now contain arbitrary metadata information, this is stored as a JSON encoded string
and separated from the main contents by the@@
symbol, example:{++{"author":"Fevol"}@@This is a suggestion++}
- Metadata is now added automatically to ranges when editing in suggestion mode or marking selections as a type
- In the global view, you can filter the suggestions and ranges to filter by author or time range
- NOTE: Extension is purely opt-in via the
- Comment Replies Extension
- Comments directly adjacent to other ranges are now considered as replies to that range
- Ranges with replies will be highlighted in the editor
- Comments with multiple replies are grouped together in global view and comment gutter
- Comments can be automatically added to suggestions and other comments as replies
- Global View
- Suggestions can now be quickly accepted or rejected via Discord-style widget buttons
- Added information on the amount of suggestions and/or comments in the current filter context
- Comment Gutter
- The gutter can now be resized via the settings
- The gutter can now be folded away to have more editing space
- Added button to the editor for toggling the fold state of the gutter (can be removed via settings)
- Escape shortcut can now be used to exit a comment while editing
- Commands
Cycle Preview mode
: Cycle to the next preview mode for the current editorFold Gutter
: Folds the comment gutter in the current editorAdd Comment
: Adds a comment to the current location (or after the current suggestion) and focuses itGenerate text diff from clipboard
: Creates a diff from clipboard and current selection and adds differences as CriticMarkup suggestions
- Added
Alternative Editing Mode
(allows edits of text and ranges while ensuring that the CriticMarkup syntax is not broken) - Added option to hide the labels of editor header buttons
- Added option to set the number of database workers for indexing the vault
- Added toggle suggestion/preview mod buttons to statusbar (can be disabled via settings)
- Added toggle for quickly enabling/disabling the addition of (specific types of) metadata
- Comment Widgets (Icons) in editor can now be right-clicked to add a reply or focus the comment
- Comments in Reading View are now rendered as icons with tooltip instead of inline (#7)
Changes
- Suggestion mode
- Deleting in an addition or addition-part of a substitution will now actually delete the characters instead of marking them as a deletion (#6)
- Deletion/insertions into comments will not be considered as suggestion markup anymore
- Edit mode and Preview mode settings are now editor-specific instead of global (default modes can be set in the settings)
- Settings have been reorganized into different tabs
- Editor header buttons now function similarly to the Read/Live Preview mode button
- Using 'Mark range as...' command now adjusts the original selection to the new range
- Performance improvements
- Parsing and rendering now happens via incremental updates
- Currently active file is now directly added to the database index (instead of being reparsed)
- Rewrites
- Cursor movement logic has been rewritten from the ground up to be more configurable
- Suggestion logic is now rewritten as a mark-as extension to utilise generic mark functionality
Fixes
- Improved comment gutter hiding behavior when empty
- Improved comment gutter comment alignment problems
- Fixed comment gutter comments in the same block being inconsistently ordered
- Fix select-all not working in the editor
- Cursor placement after suggestion edit is now more consistent
- Prevent indexing of non-Markdown files in Database (#5)
Known Issues
Generate text diff from clipboard
does not work well when range includes suggestions/other criticmarkup- Set metadata as 'completed' does nothing currently
- Comments and markup being incorrectly rendered within tables
0.1.4
0.1.4
This update focuses on performance improvements (both for the comment rendering, as for the database initialization and loading). Please make sure to report any abnormally long loading times (with respect to Obsidian/Dataview).
Features
- Advanced setting: re-initialize database, use this when you're receiving 'database update' errors in the console for
commentator/cache
(retroactively added)
Changes
- Performance of editor has been drastically improved
- Prevent rerendering of comment gutter on every state change - reduced to an absolute minimum
- Left gutter only generates markers for visible parts of the editor
- Database optimizations
- Initial indexing of the database will now be much smoother & happen in the background. It may still take a minute or more if you have an especially large vault
- Reduced loading times for the database to an absolute minimum
- Improvements to database update scheduling and minimizing the total amount of transactions applied to the database
- Comment gutter will no longer take up any space when no comments exist within note
Fixes
- Accepting/reject suggestion in selection accidentally being applied to entire document
- Zip file of release still used the old id
- Issues with suggestion markup handling (retroactively fixed)
Developers
- Database is now separated into its own repository, feel free to adapt its code for your projects!
0.1.3
0.1.3
This is the first alpha build of the plugin. Some issues were fixed in this update, but many still remain.
Changes
Accept/Reject suggestions in Selection
command will only show when there are actually nodes at cursor/selection- Legacy code was removed, major clean-up
- You can now press
Ctrl + Enter
to stop editing a comment - Improved selection of suggestions/comments in the view
Fixes
- Improved offsets for changing type of multiple selections at once
Issues
- Vim movement actions might not work properly
- Fringe issues related to editing actions while in suggestion mode
- Inconsistent scrolling behaviour of the CriticMarkup view
Developers
- Database script now uses an events-based system like the Vault API
0.1.2
0.1.2
Features
- CriticMarkup View
- Custom view listing vault-wide comments and suggestions
- Filtering the markup
- By text within the markup (via search)
- Based on type (All/Addition/Deletion/...)
- Based on content (All/Filled/Empty)
- Based on location (Vault/Current folder/Current file)
- Select multiple comments and suggestions
- Accept/Reject changes of custom selection
Changes
- Comment gutter
- Comment will now shift to block location on focus
- Prevent overlap of comments close to each-other
- Improved editing of selected comments
- Full rewrite of the reading view postprocessor, cross-block suggestions will now display correctly
Fixes
- Live Preview
- Renderer not applying style when in source mode
- Suggestions gutter not showing context menu on click (required a double click before)
- Reading view not rerendering on setting toggle (#4)
- Small improvements to compatiblity with the Minimal theme
Issues
- Vim movement actions might not work properly
- Fringe issues related to editing actions while in suggestion mode
- Inconsistent scrolling behaviour of the CriticMarkup view
Developers
- Spinned-off
obsidian-svelte-component-library
andobsidian-typings
into separate repositories
0.1.1
0.1.1
Preview
- In-development version off the comment gutter, enable by setting
Comment style
toBlock
- Placement of comments is completely wrong
- Comments are editable on focus but no LP available
- You can randomly lose focus of comment
- ???
Features
- Inline read-only comment popups on hovering over comment, enable by setting
Comment style
toInline Icon
- Added alternative live preview rendered for improved accept/reject preview (replacement candidate for current renderer)
Fixes
- Cursor not being placed correctly when replacing text using suggestion mode
Issues
- Vim movement actions might not work properly
- Fringe issues related to editing actions while in suggestion mode
- Comment gutter being broken beyond belief
Please report any issues you encounter! (except for the comment gutter, though ideas are always welcome)
0.1.0
0.1.0
Features
- Fully functioning suggestion mode
- Cursor movement logic adapted to ignore CM syntax
- Improved Substitution markup handling
- Remove CM syntax on copying to clipboard
Changes
- Overhauled gutter code
- Cleaned-up code
Fixes
- Reduce likelihood of incorrectly formatted syntax causing errors
Issues
- Vim movement actions might not work properly
- Fringe issues related to editing actions while in suggestion mode
Please report any issues you encounter!
0.0.5
0.0.5
Features
- Added tenative version of suggestion mode
! please only report bugs concerning unwanted removal of text ! - Improved Criticmarkup rendering in reading view mode (many thanks to @Profile8647)
- Added support for source mode (does not hide criticmarkup syntax in live-preview mode)
0.0.4
0.0.4
Features
- Enable/Disable the gutter taking up width when there are no markings
Fixes
- Documents being parsed incorrectly (#3)
- Other plugins not rendering correctly in reading view mode
- Cursor not being placed correctly inside an empty substitution node
- Substitution nodes always adding strike-throughs in preview mode
- Accept/Reject suggestions not working properly with Substitution nodes
- Markup not being legible in dark mode
Issues
- Still no support for multiple cursors
- Marking with substitution command is slightly broken
- Mark commands are reasonably slow
0.0.3
0.0.3
Features
- Plugin features are now individually toggleable via settings
- Option to keep CriticMarkup styled while editing (looks can always be changed via CSS)
Fixes
- Cursor is now always correctly set to the correct position when inserting markup
- Fix issue with reading mode parsing
- Fix issue with markup commands where tags of entire node would be replaced, instead of only the selected text
Issues
- Still no support for multiple cursors
- Live-preview's 'preview accept/reject all' does not properly handle following elements: images, tables, LateX, callouts, mermaidjs
0.0.2
0.0.2
Features
- Postprocessor for View mode was added
- Added label next to
change preview mode
button to better indicate the current selected mode - Automatic bracket closing when entering CriticMarkup syntax (e.g.:
{
and the entering++
will autocomplete the node with++}
, with the cursor placed in the middle) - Editor will now automatically remove those whitespaces whenever your cursor exits a Substitution node
Changes
- Cursor is now automatically placed in middle when inserting a new CriticMarkup node (fixes #2)
- CSS styling was cleaned up, you can now use
--addition-color
/... to set the colour of the markup
Issues
- View mode can sometimes improperly clear tags
- Strikethrough can still happen to a Substitution node (still trying to figure out the conditions under which it happens)
- Substitution sometimes causes errors
- Multiple cursors are not supported at all
- Reading view preview not always correctly accepting/rejecting changes