Releases: platers/obsidian-linter
1.22.0
Linter v1.22.0
This release is mostly made up of bug fixes focusing on some older bugs and trying to fix up several issues that were reported around use in Live Preview and Reading mode. This release also includes a change to Custom Commands that allows you to have it run properly with Advanced Tables since Custom Commands now run after the cache has updated for a file.
Features
- Added the ability to make sure that there is just 1 space after the blockquote indicators even if there are multiple spaces after the blockquote indicator. This will not affect spaces before list items and checklists that are inside a blockquote.
- Added the help url to the manifest which points to the documentation site
- Thanks @TfTHacker !
- If the documentation side could be made clearer, please let us know
- Updated how Custom Commands are run to make sure that they run after the cache updates if the file is updated to make sure that custom commands that do rely on the cache have updated cache info when they run
Bugs
- Fixed URL regex not allowing
#to be in part of the ending part of the path - Fixed an issue with the translator helper where it was not properly mapping between some languages and their source files
- Fixed updates in Live Preview not updating the right places in the YAML frontmatter
- Please let us know if this is not fixed or if other issues arise in Live Preview or Reading mode
- Fixed Custom Commands taking focus away from the currently active window and not adding it back when you have lint on active file change enabled
- Fixed an issue where Live Preview and Reading mode frontmatter were not getting their displays updated right away once the Linter updated the file
- Fixed
Re-Index Footnotesmoving the footnotes to the end of the file- The sorting of footnotes and moving footnotes to the end of the file is done by
Move Footnotes to End of Document
- The sorting of footnotes and moving footnotes to the end of the file is done by
- Fixed
YAML Key Sortaffecting keys that were listed in priority sort order that were not base level YAML keys- The sort currently only works on the base level YAML keys
What's Changed
- Make Sure Hash Midway in URL Path Works by @pjkaufman in #960
- Refactor Translation Logic and Make It More Testable by @pjkaufman in #962
- Make Sure
Blockqoute StyleGets Rid of Multiple Spaces for Blockquote Indicators when Set toSpaceby @pjkaufman in #965 - Potential Live Preview Save Issue Fix by @pjkaufman in #963
- Add helpUrl to manifest by @TfTHacker in #970
- Custom Commands: Wait for Cache for Lint on File Change and Lint on Save by @pjkaufman in #966
- Refocus on Editor After Custom Commands Run by @pjkaufman in #972
- Potential Fix for Live Preview Properties Update by @pjkaufman in #976
- Add Support for Checklist Items and List Items for
Blockquote Styleby @pjkaufman in #978 - Rework Footnote Logic by @pjkaufman in #979
- Fix URL Regex not Matching Multiple URL Params and Update Move Footnote Description by @pjkaufman in #981
- Fix
YAML Key SortTrying to Update Nested Keys Based on Priority Sort by @pjkaufman in #982 - Release Prep by @pjkaufman in #983
New Contributors
- @TfTHacker made their first contribution in #970
Full Changelog: 1.21.0...1.22.0
1.21.0
Linter v1.21.0
This release is mostly made up of bug fixes, but it also goes ahead and adds two new rules Add Blank Line After YAML and Add Default Language for Code Fences. There is also an addition of the ability to run custom commands on folder and vault lint. Do note that this is a slow operation and may not play well with some other plugins that do not work with the sidebar.
Features
Add Blank Line After YAMLwas added for adding a blank line after the YAML frontmatter if it does not end the file and there is not already at least one blank line after itAdd Default Language for Code Fenceswas added to add a default code block language to code blocks that do not have a language set already- Custom Commands can now be run on folder and vault lint
- This process is slow since it requires opening each file in the folder/vault in the sidebar tab
Bugs
- Make Sure
Quote StylesDoes Not Affect Markdown or Wiki Links - Fixed up
No Bare URLsto make sure that>and some other punctuation are not included in a URL - Fixed
>inBlockquote Stylethat is not a blockquote indicator getting modified - Fixed getting first header not handling
#at end of Markdown link display text - Fixed a couple of issues around inconsistencies in new line recognition for empty blockquotes
- Fixed overwriting the save callback for Obsidian
- Fixed tag recognition including ignored blocks
What's Changed
- Make Sure
Quote StylesDoes Not Affect Markdown or Wiki Links by @pjkaufman in #931 No Bare URLsShould not Include>or Chinese Characters by @pjkaufman in #937Blockquote Style: Handle>in Blockquotes So They Are Not Affected by @pjkaufman in #939- Fix Getting First Header Not Handling
#at End of Markdown Link Display Text by @pjkaufman in #942 - Add Ability to Run Custom Commands on Folder and Vault Lint by @pjkaufman in #940
- Update Dependencies by @pjkaufman in #946
- Fix Newline Blockquote Recognition by @pjkaufman in #945
- Fix: Linter break obsidian save file. by @HananoshikaYomaru in #947
- Feat: Add Default Language for Code Fences by @magicwenli in #949
- Fix Ignored Syntax Getting Included in Tags by @pjkaufman in #953
- Add Rule
Add Blank Line After YAMLby @pjkaufman in #955 - Update Docs and Versions for Realse by @pjkaufman in #956
New Contributors
- @HananoshikaYomaru made their first contribution in #947
- @magicwenli made their first contribution in #949
Full Changelog: 1.20.1...1.21.0
1.20.1
Linter v1.20.1
This release is a patch for several bugs that were reported. It is a smaller release and hopefully helps improve some things. A big thank you to @MokkaCicc for helping update the icons used by the Linter.
Bugs
- Fixed an issue with
Heading Blank Linesnot respectingBottom = falsein some scenarios - Fixed up and updated the smart quotes algorithm to be a little smarter in how it works so it throws errors less and handles contractions better
- Updated
No-Bare-URLsto allow?,!and)at the end of a URL. But)can only end the URL if there is an opening parenthesis without a closing one - Fixed Ukrainian language getting setting to Turkish in the Linter
- Fixed an issue with inline code getting capitalized by
Capitalize HeaderswhenStyle = ALL CAPS
What's Changed
- Fix Up Heading Blank Line Logic for Avoiding Adding a Blank Line Between Headers when Bottom is False by @pjkaufman in #881
- Change icons to Lucide Icons by @MokkaCicc in #888
- Update Multiline Empty Array Value by @pjkaufman in #894
- Update
Quote StyleSmart Quote Logic to Make it More Robust by @pjkaufman in #893 - Fix
No-Bare-URLsNot Accounting for by @pjkaufman in #918 - Fix Ukrainian Lang Getting Set to the Turkish Lang by @pjkaufman in #919
- Fix
Capitalize HeadingsAffecting Inline Code in Headers by @pjkaufman in #922 - Updated Versions for Release by @pjkaufman in #923
New Contributors
- @MokkaCicc made their first contribution in #888
Full Changelog: 1.20.0...1.20.1
1.20.0
Linter v1.20.0
This release focuses a little more on bugs than other things. However it adds some general changes that can improve the functionality of a couple of the existing rules. There is also a change in how some of the settings look to make them more like how Obsidian creates their default setting styles.
Also, the new wiki is live at https://platers.github.io/obsidian-linter/. It should make looking for information on rules and how to contribute to the Linter easier to find. Feel free to let us know if anything is not working with it.
Features
- New wiki is live with more up to date and better docs
- Improved performance when linting a folder
- Settings have been updated to conform a little better to the default Obsidian setting styles
No Bare URLsnow has an setting that when enabled allows it to work on URIs- The German translation was improved by @afischer211
Heading Blank Linesnow does not add a blank line between two headings whenBottom=falseConvert Spaces to Tabsnow works on blockquotes and callouts making sure to ignore the first space after the last blockquote indicator (>)- The default paste behavior is no longer overridden if no paste rules are enabled
- The Linter command for pasting as plain text no longer can be run unless the default paste logic is being overwritten
Bugs
- Remove Trailing Punctuation in Headers now properly ignores whitespace after punctuation that ends a header
- Fixed
Remove Leftover Footnotes from Quote on PasteAffecting Links and Images - Fixed an issue with
No Bare URLsconsidering periods and some other punctuation as the end of a URL - Fixed
YAML Timestampformats with whitespace at the end causing the YAML keys to always get updated by removing whitespace from the end of the format - Fixed a couple more scenarios where the Linter could be run against non-markdown files if you really tried to get it to run
- Fixed multicursor paste again to make it work now that the selected text needs to be passed in as well
What's Changed
- Release Prep by @pjkaufman in #842
- Finalize Wiki by @pjkaufman in #848
- Fix Remove Trailing Punctuation in Header when Followed by Whitespace and Add Better Logic for Finding Folder Childer by @pjkaufman in #852
- Update Settings Components to Be More Uniform by @pjkaufman in #854
- Fixed an Issue with
Remove Leftover Footnotes from Quote on PasteAffecting Links and Images by @pjkaufman in #859 - Add
No Bare URIsoption and FixNo Bare URLsIncluding Certain Punctuation by @pjkaufman in #860 - Fix Timestamp Format Having Trailing Whitespace Making Format Invalid by @pjkaufman in #863
- Fix Linter Running Against Non-Markdown Files in Some Instances by @pjkaufman in #865
- fix #847: improved german translation by @afischer211 in #871
- Update
Heading Blank Linesto Not Add Blank Line Between 2 Headings whenBottom=falseby @pjkaufman in #874 Convert Spaces to TabsNow Works on Blockquotes after the First Space by @pjkaufman in #875- Fix Multicursor Paste Again and Enhance Paste Modification Logic by Only Enabling when A Paste Rule is Enabled by @pjkaufman in #879
- Release Prep by @pjkaufman in #880
New Contributors
- @afischer211 made their first contribution in #871
Full Changelog: 1.19.1...1.20.0
1.19.1
Linter v1.19.1
This release is a patch for a couple of issues that were noticed around Lint on File Change. This should fix trying to lint a file that has been deleted and linting non-markdown files (i.e. files that do not have the extension md).
Bugs
- Ignored inline code for removing space around specific characters
- Fixed
Lint on File Changethrowing an error when the current file is deleted - Fixed an issue with
Lint on File Changelinting non-markdown files - Fixed an issue with empty lines around code blocks breaking apart a callout
What's Changed
- Ignored Inline Code for
Remove Space Around Charactersby @pjkaufman in #832 - Fix
Lint on File ChangeThrowing an Error on Current File Delete by @pjkaufman in #835 - Fixed an Issue with
Empty Lines Around CodeBreaking Some Callouts Apart by @pjkaufman in #836 - Add Extra Logs for Rule Output when a Rule Runs by @pjkaufman in #839
- Fix Linting Non-Markdown Files for
Lint on File Changeby @pjkaufman in #838
Full Changelog: 1.19.0...1.19.1
1.19.0
Linter v1.19.0
This release is more of a patch than a full-fledged release, but it has 2 feature additions that were not present before. This release fixes lint on change affecting ignored folders, updates the lint on change message to only show when a file is updated, and ignores inline code when update quotes as part of Quote Style.
Features
- The lint on change message now only displays when a change is made to a file
Quote Stylenow ignores inline code
Bugs
- Lint on change now respects ignored folders
What's Changed
- Fix Issue with Lint on Change Updating Files in Ignored Folders and Make Lint On Change Notification Only Show when a File Is Updated by @pjkaufman in #829
- Make
Quote StyleIgnore Inline Code by @pjkaufman in #830 - Release Prep by @pjkaufman in #831
Full Changelog: 1.18.0...1.19.0
1.18.0
Linter v1.18.0
This release was again mostly bug fixes with some ease of development changes. A highly requested feature of linting on the active file changing was added as well. There has also been an update to the documentation where it has been added to a generated site located at https://platers.github.io/obsidian-linter/. The site is not completely ready to be referenced by the plugin code, but the content is up to date and will be replacing other documentation found in the README and elsewhere.
Features
- A Turkish translation for the plugin was added
- Updates were provided for the Chinese translation
- There were updates to the wording for the English translation to make the wording similar
- The ability to automatically lint the active file as you close or swap to a new active file
Sort YAML Keyswill now handle the keys when they end in a colon (:)- Timing logs have been improved to only show for rules that actually run
Bugs
- Linting the non-current file was always modifying the file even when no changes were made
- When pasting a checklist or list item, the paste rules now take into account the selected text as well to keep from pasting and having no checklist item indicator or list item indicator present
- When a Callouts are present and are nested, make sure that they do not get merged when adding blank lines around blockquotes/callouts
- Handle moving math block indicators to their own lines better when the math block indicators have other content on the same line
What's Changed
- Update Wording to Be More Consistent and Concise by @pjkaufman in #790
- Add ESLint Auto Fix for Fixable Issues in CI by @pjkaufman in #791
- Updated the Documentation and Added Plugin Name to Installation Instructions by @pjkaufman in #795
- Add Options to Lint on File Change and Show a Message Saying which File Was Linted on File Change by @pjkaufman in #799
- Update
Sort YAML Keysto Handle Keys Ending in Colon by @pjkaufman in #800 - Fix Duplicated Description for
Lint on File Changeand Fix Removal of Indicators for Lists and Checklists when Paste Content and Selected Text Start with List or Checlkist Indicators by @pjkaufman in #802 - chinese translate update by @Ooopz in #803
- Revert "Add ESLint Auto Fix for Fixable Issues in CI" by @pjkaufman in #808
- tr.ts by @alitekdemir in #805
- Fix Issue with Lint via File Menu Always Updating File Modified Date by @pjkaufman in #807
- Updated Lint File from File Menu to Go Ahead and Lint Using the Editor if Possible by @pjkaufman in #811
- Make Timing Logs Only Show for Rules that Run and Make Example Clearer by @pjkaufman in #815
- Fix Blank Lines Around Callouts Causing Callouts to Merge by @pjkaufman in #817
- Fix Moving Math Block Indicators to Their Own Line Breaking Math Blocks when Malformed with Content Between Them by @pjkaufman in #818
- Add Release Workflow, Update Docs, and Update Version for Release by @pjkaufman in #823
New Contributors
- @Ooopz made their first contribution in #803
- @alitekdemir made their first contribution in #805
Full Changelog: 1.17.0...1.18.0
1.17.0
Linter v1.17.0
This release mainly touched on bug fixes with the addition of labels for custom replacement values so that you can explain what the custom replacement is used for and a rule suggester like the tag or link suggester that can be used when typing in rules to disable for the Linter using the disabled rules key in the YAML.
Features
- Added a label for custom replacements
- Added the ability to suggest rules to disable when the rule's name or alias is typed in like how tags and links work in native Obsidian
Bugs
- Updated the Chinese translation for
Quote Title - Made sure that
No Bare URLsdoes not affect HTML - Fixed an infinite loop in
move-footnotes-to-the-bottomandre-index-footnoteswhere a footnote definition that was the first line of a file and duplicated elsewhere caused an infinite loop - Updated the logic for moving math block indicators to their own line to try to handle scenarios where 2 math blocks get combined into 1
- Updated
Paragraph Blank Linesto not add blank lines around footnote definitions at the end of a file
What's Changed
- Update Chinese Translation of
Quote Style's Name by @pjkaufman in #770 - Add Rule Suggester for Linter to Help When Disabling Rules by @pjkaufman in #772
- Documentation Site by @pjkaufman in #730
- Fix a Typo and Add Documentation Workflow by @pjkaufman in #775
- Updated
No Bare URLsto Ignore html Elements by @pjkaufman in #778 - Label for Custom Replacement by @pjkaufman in #779
- Fix an Infinite Loop for
re-index-footnotesandmove-footnote-to-the-bottomby @pjkaufman in #785 - Try to Handle Math Blocks Getting Combined when 1 or More Are Malformed by @pjkaufman in #786
- Ignore Footnote Definitions for Paragraph Blank Lines by @pjkaufman in #788
- Release Prep by @pjkaufman in #789
Full Changelog: 1.16.0...1.17.0
1.16.0
Linter v1.16.0
This release mainly focused on bug fixes. There was also a fix to the Chinese translation wording and an update to allow custom checkbox markers (the value inside the square brackets) to be recognized as checkboxes for the regex.
Features
- Allow use of custom checkbox markers
Bugs
- Numeric aliases are now escaped when changes are made to the
aliasoraliaseskeys. Heading Blank Linesno longer removes empty lines after a heading whenBottom=False- When retaining the value in the created date timestamp key for
YAML Timestamp, it no longer always considers the file to have been update. It now only considers the file to have been updated if something has changed or the date created actually gets updated. - Custom Replacements now respect ranged ignores and YAML frontmatter disabled rules when
allis present - Custom commands now respect disabled rules when
allis present
What's Changed
- Fix translation in zh-cn.ts by @lifeek23 in #746
- Make Checklists Account for Custom Checklist Markers by @pjkaufman in #749
- Update Issue Templates and Readme by @pjkaufman in #750
- fix npm dependencies issues by @qazxcdswe123 in #756
- Escape Numeric Aliases & Refactor
YAML Title AliasLogic by @pjkaufman in #757 - Update Alias Handling of Numeric Values for All Formatting and Handle Commas in
YAML Title AliasBetter by @pjkaufman in #759 - Fix
Heading Blank LineswithBottom=FalseRemoving Blank Lines by @pjkaufman in #760 - Fix Retention of Created Date Causing
YAML Timestampto Always Update Date Modified and Fix Logging of Timing Info by @pjkaufman in #761 - Have Custom Replacement Respect Ranged Ignores and YAML Fronmatter Disabling and Make Custom Commands not Run if
allis Disable in Frontmatter by @pjkaufman in #762 - Release Prep by @pjkaufman in #766
New Contributors
- @lifeek23 made their first contribution in #746
- @qazxcdswe123 made their first contribution in #756
Full Changelog: 1.15.2...1.16.0
1.15.2
Linter v1.15.2
This is a patch that just has the fix for the notice with characters updated by the Linter on the last run not automatically going away after a couple of seconds.
What's Changed
- Update Characters Changed Notification by Removing User Click Timeout by @pjkaufman in #741
- Update Versions for Patch by @pjkaufman in #742
Full Changelog: 1.15.1...1.15.2