Don't Be Afraid to Use the Linter Plugin in #Obsidian
One of the most powerful and seemingly complicated plugins in the Obsidian directory is Linter. With nine different tabs in its settings panel, it intimidated me until I spent some time looking it over and testing it on a small folder of test notes. Just installing it will do nothing to your notes. All the features are set to run on command initially and you can leave them that way perpetually if you just want to apply Linter settings manually to one folder of notes at the time. Linter describes itself thus: Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.
To be clear, this is how you can select default file properties for all your notes or set custom file properties for notes one folder at the time. Using Linter will standardize the formatting of almost every element of your notes.
If you have a lot of notes imported from different sources and especially if you have been using Obsidian since before the implementation of file properties, back when YAML front matter was created manually, you should be able to standardize the appearance and formatting of your vault. If you are a relatively new user, you can get a lot of benefit by setting some standards with Linter so that they apply to your notes going forward. I use the Commander Plugin to create a button in the Ribbon Bar to run Linter. I also created a keyboard shortcut to run Linter. The plugin creates an option in the right-click context menu to Lint a folder at the time.
General Tab - This is where you tell Linter when to apply its settings. If you choose “Lint on save”, the plugin will only apply its settings when you manually press Ctrl+S. If you select “Lint on change, then the settings will apply as you edit notes”. This tab is also where you can set Linter to ignore folders so that settings never apply to them. I set my Templates and Attachment folders to be ignored.
The YAML Tab - The settings I turn on are Add Blank Line After YAML, Dedupe YAML aliases, Dedupe, YAML tags, Dedupe YAML arrays. I set Linter to move all YAML tags to the front matter. In the sorting section, I turn on sorting for aliases, tags and arrays in ascending alphabetical order. In the YAML key sort section I turn on sorting and enable priority sorting for the following properties: title: author: url: tags: creation date: modification date: This will create those properties in every note I create in that exact order, with additional properties included beneath them in ascending alphabetical order.
I turn on the automatic inclusion of creation date and modification date using the YYYY-MM-DD format. This is useful when building certain Dataview queries later.
The only other setting I turn on in this tab is the YAML title which I set to match the file name.
H1 Headings Tab - On this tab I turn on Capitalize Headings, Ignore Cased Words, and Remove Trailing Punctuation Headings
Footnote Tab - I don’t make any changes here as I don’t use footnotes
Content Tab - I turn on every setting on this tab for consistency’s sake except for default language for code settings since I don’t use code fences for anything other than markdown.
Spacing Tab - On this tab I turn on Consecutive Blank Lines, Convert Tabs to Spaces, Empty Line Around Blockquotes, All Heading Blank Lines, Line Break at Document End, Paragraph Blank Lines, Remove Empty Lines Between List Markers, Remove Link Spacing, All the settings for trailing spaces
Paste Tab - I turn on everything except Remove Leftover Footnotes
Custom Tab - No changes
Debug Tab - No changes
The Linter user manual can be accessed here.
This is a powerful tool. Before applying it to your entire vault, ensure you have a backup.