Releases: platers/obsidian-linter
1.27.1
Linter v1.27.1
This is a quick patch for a new install issue where if you had not installed the Linter before it hits an error trying to check the existing settings.
Bug Fix
- No longer fails on initial install where a setting is accessed that does not exist
What's Changed
- Fix Load Issue and Bump Version for Patch by @pjkaufman in #1195
Full Changelog: 1.27.0...1.27.1
1.27.0
Linter v1.27.0
The latest release is out and ready for users to start working with it. Some changes that have been made that are notable is that now Live Preview updates should work the same as they do for source mode. This should mean fewer bugs for users who use Live Preview. Also, the ability to run YAML Timestamp
after a certain amount of time has passed since the last edit to a note is also available. Plus the Linter should be smaller and load faster due to a couple changes in how the Linter works.
Be aware that the Linter will now download the default list of auto-corrections when Auto-Correct Common Misspellings
is enabled and it is not present at startup or if you enable the rule and it is not currently present. This allows for a faster load time and a smaller bundle size especially if you do not use this rule.
The Linter's settings page has been revamped a little and should load much faster now. It should feel snappier. You will no longer see settings for rules that are not enabled except for the option to enable a rule. This should cut down on some confusion around why rules have not run in the past and it should clean up the settings page for users making the settings list a bit cleaner. Also, do note that incompatible settings will not be allowed to be turned on together and trying to enable both settings at the same time will result in the other setting being turned off. This should only apply to Paragraph Blank Lines
and Line Break Between Lines with Content
and Header Increment
's Start at Header Increment at Heading Level 2
and File Name Heading
. If one of these incompatible rules is found on startup, one of them is turned off and a notice will let you know which has been turned off. You can change which one is turned off by going to the settings and turning on the rule/setting that you want to have enabled.
Thank you to everyone that has reported issues as well as contributed fixes and/or new rules!
Features
- Made some styling changes to make some of the Linter settings to be cleaner and more akin to what is present elsewhere in Obsidian
- Added an option to Auto-Correct Common Misspellings to allow for ignoring words with a capital letter present at anywhere except the first letter
- Added ability to refresh custom auto-correct file contents that the Linter is aware of from the settings page
- Added the ability to run
YAML Timestamp
x seconds after a change is made in an editor - Added the ability to ignore the date modified in the file system in favor of just updating that value when a change is made by the Linter or the user in an editor
- Added rule for adding blank lines around horizontal rules
- Added options to
Ordered List Style
to allow for the list item style to be kept as is and the ability to start the number ordering with the number that starts the list (this is helpful when you have an ordered list with other content in between it) - Moved the default list of common misspellings to a file that gets downloaded once when needed instead of bundling it into the
main.js
- Hide settings that are reliant on other settings being enabled including extra settings for rules that are disabled
- Added logic to help prevent conflicting rules from being enabled at the same time since they result in unexpected or undesired behavior
Bugs
- Fixed the Linter running Auto-Correct Common Misspellings on custom auto-correct files which erased these custom file config values
- Fixed an issue with pasting a URL not working consistently
- Fixed Live Preview not working in some scenarios when a file was updated (hopefully this will put these issues to rest for good)
What's Changed
- Fix: Paste with a URL not Working Consistently by @pjkaufman in #1158
- Release Prep & Fix Up UT RAM Usage by @pjkaufman in #1159
- Add and Update Integration Tests by @pjkaufman in #1168
- Fix: Live Preview Editor Updates by @pjkaufman in #1169
- Update Docs, Some Component Formatting, and Auto-Correct Common Misspellings Functionality by @pjkaufman in #1173
- Feat:
Auto-Correct Common Mispellings
Allow Users to Ignore Words with Multiple Capitals by @pjkaufman in #1175 - Chore: Add Zip File for Manual Plugin Install to Release Workflow by @pjkaufman in #1176
- Chore: Swap Off of Deprectated
MarkdownRender.renderMarkdown
toMarkdownRender.render
by @pjkaufman in #1177 - Feat: Update Date Modified on Editor Content Change & Miscellaneous Style and YAML Timestamp Changes by @pjkaufman in #1178
- Auto-release beta 1.27.0-rc-1 by @pjkaufman in #1179
- Protect Against Null Reference by @pjkaufman in #1184
- horizontal rule spacing by @thomas-forbes in #1171
- Feat: add additional ordered list options by @jose-elias-alvarez in #1183
- Move Default Auto-Correct Misspellings to Separate File by @pjkaufman in #1185
- Hide Unreachable Settings by @pjkaufman in #1189
- Remove JS Styling, Minify CSS, Speed Up Settings Page Loading, Remove Use of
innerHTML
, and Remove Default Hotkey by @pjkaufman in #1190 - Add Other Markdown to HTML Locale String Changes by @pjkaufman in #1191
- Handle Rule Conflicts by @pjkaufman in #1192
- Release Prep by @pjkaufman in #1193
New Contributors
- @thomas-forbes made their first contribution in #1171
- @jose-elias-alvarez made their first contribution in #1183
Full Changelog: 1.26.0...1.27.0
1.27.0-rc-1
Linter v1.27.0-rc-1
It is that time again. The Linter is releasing another time. This release is a BRAT release and it should allow BETA/BRAT testers to be able to get access to the new more consistent way of updating content in source and Live Preview mode. This will hopefully get rid of the issues that have been encountered when using Linter in Live Preview (I know this statement has been made several times before, but this time I am hoping it will be the last time I have to say this since it uses CodeMirror directly now). Beyond that the only other big change was to YAML Timestamp. Many people have been waiting for the ability to have date modified set after a user edits a file without having to manually lint. Well, now that is the case. The only logic run after a change in the editor is the YAML timestamp logic and only if a user turns on the setting to do so under the general tab.
Features
- Made some styling changes to make some of the Linter settings to be cleaner and more akin to what is present elsewhere in Obsidian
- Added an option to Auto-Correct Common Misspellings to allow for ignoring words with a capital letter present at anywhere except the first letter
- Added ability to refresh custom auto-correct file contents that the Linter is aware of from the settings page
- Added the ability to run YAML Timestamp x seconds after a change is made in an editor
- Added the ability to ignore the date modified in the file system in favor of just updating that value when a change is made by the Linter or the user in an editor
Bugs
- Fixed the Linter running Auto-Correct Common Misspellings on custom auto-correct files which erased these custom file config values
- Fixed an issue with pasting a URL not working consistently
- Fixed Live Preview not working in some scenarios when a file was updated (hopefully this will put these issues to rest for good)
What's Changed
- Fix: Paste with a URL not Working Consistently by @pjkaufman in #1158
- Release Prep & Fix Up UT RAM Usage by @pjkaufman in #1159
- Add and Update Integration Tests by @pjkaufman in #1168
- Fix: Live Preview Editor Updates by @pjkaufman in #1169
- Update Docs, Some Component Formatting, and Auto-Correct Common Misspellings Functionality by @pjkaufman in #1173
- Feat:
Auto-Correct Common Mispellings
Allow Users to Ignore Words with Multiple Capitals by @pjkaufman in #1175 - Chore: Add Zip File for Manual Plugin Install to Release Workflow by @pjkaufman in #1176
- Chore: Swap Off of Deprectated
MarkdownRender.renderMarkdown
toMarkdownRender.render
by @pjkaufman in #1177 - Feat: Update Date Modified on Editor Content Change & Miscellaneous Style and YAML Timestamp Changes by @pjkaufman in #1178
- Auto-release beta 1.27.0-rc-1 by @pjkaufman in #1179
Full Changelog: 1.26.0...1.27.0-rc-1
1.26.0
Linter v1.26.0
Thanks for your patience with some of these changes as I have been working more and more with BRAT releases to get more experimental features or fixes in place. I will likely continue going this route in the future to allow for fixes to get tested and released faster in some cases, especially ones that do not meet my use cases.
This release has a lot of bug fixes and a couple of new features. This change adds some flexibility to ranged ignores which now allows you to use Obsidian style comments. There has also been the addition of the ability to specify files that have custom auto-corrections for misspellings. Do note that there are limitations to how this works at this time, but it can be improved down the road based on feedback.
Thank you to all of those that have reported bugs, requested features, suggested documentation, and even contributed changes. These changes would not have been possible without y'all.
Features
- Added the ability to use Obsidian comments for ranged ignores
- Added the ability to specify files where custom auto-correct values are located (see here for a reference on how to use them)
Bugs
- Fixed an issue with some versions of the Linter having the wrong minimum version of Obsidian specified which would cause errors when it would lint files
- Fixed an issue with an edge case where updating the Frontmatter in Live Preview would break the Frontmatter
- Fixed an issue with the wrong CJK unicode being used in regex which would occasionally cause issues
- Fixed an issue with the
YAML Title
rules where capitalization of the headings would not work the first time it ran due to the order the rules ran in - Fixed an issue with moving tags to the frontmatter where it would not allow emojis in the tags
- Fixed an issue with
'
and-
being considered words when it came to heading capitalization - Fixed an issue with formatting tags using regex that could affect other subsequent keys' and their values if they had a
#
in them
Documentation
- Updated wording for
Heading Blank Lines
to try to make it clearer that there will be only one line before and/or after a heading based on the settings used for that rule
What's Changed
- Fix: Minimum App Version Fixed to Prevent Wrong Version Being Used on Older Obsidian Versions by @pjkaufman in #1124
- Fix: Live Preview YAML Update Occasional Breaks Frontmatter by @pjkaufman in #1126
- Fix CJK symbols and punctuation unicode by @NatsukiFukazawa in #1128
- Support Obsidian-style comment for inline linter toggle by @sevmonster in #1122
- Fix: capitalize-headings, yaml-title, yaml-title-alias require two lint passes to resolve by @tcoliver in #1131
- Add Custom Auto-Correct Options by @pjkaufman in #1132
- Prerelease PR by @pjkaufman in #1134
- Fix: Load Issue Due to Not Defaulting an Array by @pjkaufman in #1135
- Auto-release beta 1.26.0-rc-2 by @pjkaufman in #1136
- Fix: Tags Regex Not Allowing Emojis by @pjkaufman in #1139
- Cleanup: Remove Examples from Plugin Build and Fix Load Bug for Custom Replacements by @pjkaufman in #1140
- Bump braces from 3.0.2 to 3.0.3 by @dependabot in #1141
- Bump katex from 0.16.9 to 0.16.11 by @dependabot in #1142
- Auto-release beta 1.26.0-rc-3 by @pjkaufman in #1144
- Fix ITs Not Running Properly and
'
and-
Being Considered to be Words and Letters by @pjkaufman in #1151 - Update
Heading Blank Lines
Wording to Be a Little Clearer by @pjkaufman in #1152 - Fix:
Format Tags in YAML
Should Only Matchtag
ortags
YAML Value. by @pjkaufman in #1157
New Contributors
- @NatsukiFukazawa made their first contribution in #1128
- @sevmonster made their first contribution in #1122
- @tcoliver made their first contribution in #1131
Full Changelog: 1.25.0...1.26.0
1.26.0-rc-3
Linter 1.26.0-rc-3
This release is a beta release for BRAT. It should fix the issue with custom replacements not loading properly before the first time the Linter runs. There is also a fix for regex not allowing emojis to be present. Also, got the bundle size to be smaller for this release for the plugin which should not break anything and should improve loading times, even if just a little.
Bugs
- Fixed tags not allowing emojis in them
- Fixed custom replacements not being loaded in before the first time the Linter runs after the plugin loads
What's Changed
- Fix: Tags Regex Not Allowing Emojis by @pjkaufman in #1139
Full Changelog: 1.26.0-rc-2...1.26.0-rc-3
1.26.0-rc-2
Linter 1.26.0-rc-2
This release is a beta release for BRAT. It should fix the issue with not being able to fully load the Linter due to trying to access a value as an array when it did not already exist.
What's Changed
- Prerelease PR by @pjkaufman in #1134
- Fix: Load Issue Due to Not Defaulting an Array by @pjkaufman in #1135
- Auto-release beta 1.26.0-rc-2 by @pjkaufman in #1136
Full Changelog: 1.26.0-rc-1...1.26.0-rc-2
1.26.0-rc-1
Linter v1.26.0-rc-1
This release is a beta release for BRAT. It has several fixes for the Linter, but it also includes the ability to add custom misspellings to the auto-correct misspelling list and it allows ranged ignores to be Obsidian comments as well as html comments.
Features
- Added the ability to add custom misspellings to the list of words to auto-correct
- Added the ability for users to use Obsidian comments for ranged ignores instead of just html comments
Bugs
- Fixed another edge case where Live Preview updates would break the YAML frontmatter
- Fixed an issue with CJK symbols not being correctly identified in some cases
- Fixed an issue with capitalizing headers taking effect after the header was moved to the YAML which caused multiple lints to be needed to make the YAML title match the header
What's Changed
- Fix: Minimum App Version Fixed to Prevent Wrong Version Being Used on Older Obsidian Versions by @pjkaufman in #1124
- Fix: Live Preview YAML Update Occasional Breaks Frontmatter by @pjkaufman in #1126
- Fix CJK symbols and punctuation unicode by @NatsukiFukazawa in #1128
- Support Obsidian-style comment for inline linter toggle by @sevmonster in #1122
- Fix: capitalize-headings, yaml-title, yaml-title-alias require two lint passes to resolve by @tcoliver in #1131
- Add Custom Auto-Correct Options by @pjkaufman in #1132
New Contributors
- @NatsukiFukazawa made their first contribution in #1128
- @sevmonster made their first contribution in #1122
- @tcoliver made their first contribution in #1131
Full Changelog: 1.25.0...1.26.0-rc-1
1.25.0
Linter v1.25.0
This release goes ahead and moves the previous beta release to regular users. It also adds a couple of feature changes and bug fixes. Users can now ignore files using regex and have their YAML timestamps be UTC.
Features
- Users can now use regex to ignore files based on file paths that match the regex(es) specified
- Users can now specify that the YAML timestamp value will be in UTC
Docs
- Some wording updates were added to a couple of rules to help clarify how certain rules work
Bugs
- Fixes
YAML Timestamp
overwriting created date when retention of creation date is set, the timezone is in the format, and the computer is currently in a different timezone from the one where the created date was created - Fixes
Blockquote Style
removing spaces from list item code and math blocks - Fixes
YAML Title Alias
not respecting multiline format when the alias key is empty and preserve existing format is enabled - Fixes a scenario where linting in Live Preview would mess up the markdown in the file since it tried to update the frontmatter piecemeal
- Fixes
No Bare URLs
not allowing~
in the URL path - Fixes image links being affected by
Quote Style
- Fixes footnotes with hyphens not being counted as footnotes
- Fixes some issues with tag regex that caused incorrect matches which could cause issues with the frontmatter
What's Changed
- Fix: YAML Timestamp Overwrites Created Date When Retention Set and Timezone in Format when Current Timezone Is Different by @pjkaufman in #1081
- Fix: Update Wording in Translation Files to Help Clarify How Certain Rules Work by @pjkaufman in #1083
- Basic implementation of YAML timestamp UTC option by @lucible in #1070
- Fix:
blockquote-style
Removes Spaces from List Item Code and Math Blocks by @pjkaufman in #1088 - Fix:
yaml-title-alias
Does Not Respect Multiline Format when Initially Empty with Preserve Existing Format Used by @pjkaufman in #1089 - Fix: Live Preview Update Breaks Frontmatter if Frontmatter Exists and Update Happens on the
---
of the end of the Frontmatter by @pjkaufman in #1094 - Fix: URL Not Allowing
~
in Path by @pjkaufman in #1095 - Feat: Add Ability to Ignore Files Via Regex by @pjkaufman in #1096
- Add Beta Release Info by @pjkaufman in #1097
- Fix: Ignore Images for
Quote Style
by @pjkaufman in #1110 - fix: footnote-after-punctuation containing hyphen by @domodwyer in #1113
- Fix: Blockquotes Joined When Code Block Ends/Starts Two Same Level Blockquotes by @pjkaufman in #1118
- Fix: Update Tag Regex to Better Conform to Specified Obsidian Tag Spec by @pjkaufman in #1119
- Release Prep 1.25.0 by @pjkaufman in #1120
New Contributors
- @lucible made their first contribution in #1070
- @domodwyer made their first contribution in #1113
Full Changelog: 1.24.0...1.25.0
1.25.0-rc-1
Linter v1.25.0-rc-1
This release is a beta release for BRAT. It mostly contains bug fixes, but it adds the ability to use regex to ignore files to lint and setting the YAML timestamp value as a UTC value. Please feel free to open an issue if there is a bug in the logic.
Features
- Users can now use regex to ignore files based on file paths that match the regex(es) specified
- Users can now specify that the YAML timestamp value will be in UTC
Docs
- Some wording updates were added to a couple of rules to help clarify how certain rules work
Bugs
- Fixes
YAML Timestamp
overwritting created date when retention of creation date is set, the timezone is in the format, and the computer is currently in a different timezone from the one where the created date was created - Fixes
Blockquote Style
removing spaces from list item code and math blocks - Fixes
YAML Title Alias
not respecting multiline format when the alias key is empty and preserve existing format is enabled - Fixes a scenario where linting in Live Preview would mess up the markdown in the file since it tried to update the frontmatter piecemeal
- Fixes
No Bare URLs
not allowing~
in the URL path
What's Changed
- Fix: YAML Timestamp Overwrites Created Date When Retention Set and Timezone in Format when Current Timezone Is Different by @pjkaufman in #1081
- Fix: Update Wording in Translation Files to Help Clarify How Certain Rules Work by @pjkaufman in #1083
- Basic implementation of YAML timestamp UTC option by @lucible in #1070
- Fix:
blockquote-style
Removes Spaces from List Item Code and Math Blocks by @pjkaufman in #1088 - Fix:
yaml-title-alias
Does Not Respect Multiline Format when Initially Empty with Preserve Existing Format Used by @pjkaufman in #1089 - Fix: Live Preview Update Breaks Frontmatter if Frontmatter Exists and Update Happens on the
---
of the end of the Frontmatter by @pjkaufman in #1094 - Fix: URL Not Allowing
~
in Path by @pjkaufman in #1095 - Feat: Add Ability to Ignore Files Via Regex by @pjkaufman in #1096
- Add Beta Release Info by @pjkaufman in #1097
New Contributors
Full Changelog: 1.24.0...1.25.0-rc-1
1.24.0
Linter v1.24.0
This release includes some feature changes as well as some bug fixes. This change brings the fix for folds not being retained on lint from beta to everyone. There was also an update made to the Chinese translation of the settings and UI text to make it more up to date with some of the changes that have happened since it was last updated.
Features
- Users can now specify the key to use to help keep track of previous file titles for
YAML Title Alias
- Users can now specify which line ending they would like to use between two spaces,
\
, and and line break html/xml - Users can now customize what is considered to be English punctuation and symbols (except for
*
) for adding spaces around CJK and English characters
Bugs
- Fixes
Blockquote Style
removing spaces from codeblocks - Fixes custom commands trying to run when only blank custom commands are present
- Fixed "`" being included in what the Linter considered to be tags
What's Changed
- Add BRAT Release Prep by @pjkaufman in #1053
- Chore: Added Some Changes for Beta Releases by @pjkaufman in #1056
- Feat: Add Ability to Specify Alias Helper Key for
YAML Title Alias
by @pjkaufman in #1057 - Fix:
Blockquote Style
Removes Spaces in Code Blocks by @pjkaufman in #1059 - Fix: Custom Commands Can Attempt to Run When No Custom Commands Are Valid by @pjkaufman in #1061
- chinese translate update by @Ooopz in #1063
- Fix: Make Sure Tags Do Not Have "`" in Them by @pjkaufman in #1076
- Feat: Add Ability for User to Select from Multiple Different Line Break Indicators by @pjkaufman in #1058
- Feat: Customize CJK English Spacing by @pjkaufman in #1078
- Release Prep by @pjkaufman in #1080
Full Changelog: 1.23.3-rc-1...1.24.0