Skip to content

Releases: platers/obsidian-linter

1.22.0

13 Dec 13:11
5b623be

Choose a tag to compare

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 Footnotes moving 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
  • Fixed YAML Key Sort affecting 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 Style Gets Rid of Multiple Spaces for Blockquote Indicators when Set to Space by @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 Style by @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 Sort Trying to Update Nested Keys Based on Priority Sort by @pjkaufman in #982
  • Release Prep by @pjkaufman in #983

New Contributors

Full Changelog: 1.21.0...1.22.0

1.21.0

04 Dec 01:39
7a38e20

Choose a tag to compare

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 YAML was 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 it
  • Add Default Language for Code Fences was 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 Styles Does Not Affect Markdown or Wiki Links
  • Fixed up No Bare URLs to make sure that > and some other punctuation are not included in a URL
  • Fixed > in Blockquote Style that 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 Styles Does Not Affect Markdown or Wiki Links by @pjkaufman in #931
  • No Bare URLs Should not Include > or Chinese Characters by @pjkaufman in #937
  • Blockquote 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 YAML by @pjkaufman in #955
  • Update Docs and Versions for Realse by @pjkaufman in #956

New Contributors

Full Changelog: 1.20.1...1.21.0

1.20.1

25 Oct 22:19
bcc58d0

Choose a tag to compare

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 Lines not respecting Bottom = false in 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-URLs to 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 Headers when Style = 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 Style Smart Quote Logic to Make it More Robust by @pjkaufman in #893
  • Fix No-Bare-URLs Not Accounting for by @pjkaufman in #918
  • Fix Ukrainian Lang Getting Set to the Turkish Lang by @pjkaufman in #919
  • Fix Capitalize Headings Affecting Inline Code in Headers by @pjkaufman in #922
  • Updated Versions for Release by @pjkaufman in #923

New Contributors

Full Changelog: 1.20.0...1.20.1

1.20.0

06 Sep 23:40
4f0ab77

Choose a tag to compare

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 URLs now has an setting that when enabled allows it to work on URIs
  • The German translation was improved by @afischer211
  • Heading Blank Lines now does not add a blank line between two headings when Bottom=false
  • Convert Spaces to Tabs now 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 Paste Affecting Links and Images
  • Fixed an issue with No Bare URLs considering periods and some other punctuation as the end of a URL
  • Fixed YAML Timestamp formats 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 Paste Affecting Links and Images by @pjkaufman in #859
  • Add No Bare URIs option and Fix No Bare URLs Including 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 Lines to Not Add Blank Line Between 2 Headings when Bottom=false by @pjkaufman in #874
  • Convert Spaces to Tabs Now 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

Full Changelog: 1.19.1...1.20.0

1.19.1

03 Aug 13:00

Choose a tag to compare

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 Change throwing an error when the current file is deleted
  • Fixed an issue with Lint on File Change linting 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 Characters by @pjkaufman in #832
  • Fix Lint on File Change Throwing an Error on Current File Delete by @pjkaufman in #835
  • Fixed an Issue with Empty Lines Around Code Breaking 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 Change by @pjkaufman in #838

Full Changelog: 1.19.0...1.19.1

1.19.0

01 Aug 00:14
dc37f03

Choose a tag to compare

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 Style now 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 Style Ignore Inline Code by @pjkaufman in #830
  • Release Prep by @pjkaufman in #831

Full Changelog: 1.18.0...1.19.0

1.18.0

29 Jul 18:45
3acbe45

Choose a tag to compare

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 Keys will 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 Keys to Handle Keys Ending in Colon by @pjkaufman in #800
  • Fix Duplicated Description for Lint on File Change and 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

Full Changelog: 1.17.0...1.18.0

1.17.0

11 Jul 23:54
4572fc6

Choose a tag to compare

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 URLs does not affect HTML
  • Fixed an infinite loop in move-footnotes-to-the-bottom and re-index-footnotes where 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 Lines to not add blank lines around footnote definitions at the end of a file

What's Changed

Full Changelog: 1.16.0...1.17.0

1.16.0

19 Jun 12:21
ae0f42f

Choose a tag to compare

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 alias or aliases keys.
  • Heading Blank Lines no longer removes empty lines after a heading when Bottom=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 all is present
  • Custom commands now respect disabled rules when all is 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 Alias Logic by @pjkaufman in #757
  • Update Alias Handling of Numeric Values for All Formatting and Handle Commas in YAML Title Alias Better by @pjkaufman in #759
  • Fix Heading Blank Lines with Bottom=False Removing Blank Lines by @pjkaufman in #760
  • Fix Retention of Created Date Causing YAML Timestamp to 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 all is Disable in Frontmatter by @pjkaufman in #762
  • Release Prep by @pjkaufman in #766

New Contributors

Full Changelog: 1.15.2...1.16.0

1.15.2

26 May 11:04
3e9df9d

Choose a tag to compare

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