Initial commit
This commit is contained in:
182
.obsidian/plugins/obsidian-linter/data.json
vendored
Normal file
182
.obsidian/plugins/obsidian-linter/data.json
vendored
Normal file
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"ruleConfigs": {
|
||||
"Escape YAML Special Characters": {
|
||||
"Escapes colons with a space after them (: ), single quotes ('), and double quotes (\") in YAML.": false,
|
||||
"Default Escape Character": "\"",
|
||||
"Try to Escape Single Line Arrays": false,
|
||||
"Force Yaml Escape on Keys": ""
|
||||
},
|
||||
"Format Tags in YAML": {
|
||||
"Remove Hashtags from tags in the YAML frontmatter, as they make the tags there invalid.": false
|
||||
},
|
||||
"Format Yaml Array": {
|
||||
"Allows for the formatting of regular yaml arrays as either multi-line or single-line and `tags` and `aliases` are allowed to have some Obsidian specific yaml formats. Note that single string to single-line goes from a single string entry to a single-line array if more than 1 entry is present. The same is true for single string to multi-line except it becomes a multi-line array.": false,
|
||||
"Yaml aliases section style": "single-line",
|
||||
"Format yaml aliases section": true,
|
||||
"Yaml tags section style": "single-line",
|
||||
"Format yaml tags section": true,
|
||||
"Default yaml array section style": "single-line",
|
||||
"Format yaml array sections": true,
|
||||
"Force key values to be single-line arrays": "",
|
||||
"Force key values to be multi-line arrays": ""
|
||||
},
|
||||
"Insert YAML attributes": {
|
||||
"Inserts the given YAML attributes into the YAML frontmatter. Put each attribute on a single line.": false,
|
||||
"Text to insert": "aliases: \ntags: "
|
||||
},
|
||||
"Move Tags to Yaml": {
|
||||
"Move all tags to Yaml frontmatter of the document.": false,
|
||||
"Yaml tags section style": "single-line",
|
||||
"Remove the hashtag from tags in content body": false,
|
||||
"Tags to ignore": ""
|
||||
},
|
||||
"Remove YAML Keys": {
|
||||
"Removes the YAML keys specified": false,
|
||||
"YAML Keys to Remove": ""
|
||||
},
|
||||
"YAML Key Sort": {
|
||||
"Sorts the YAML keys based on the order and priority specified. Note: may remove blank lines as well.": false,
|
||||
"YAML Key Priority Sort Order": "",
|
||||
"Priority Keys at Start of YAML": true,
|
||||
"YAML Sort Order for Other Keys": "None"
|
||||
},
|
||||
"YAML Timestamp": {
|
||||
"Keep track of the date the file was last edited in the YAML front matter. Gets dates from file metadata.": false,
|
||||
"Date Created": true,
|
||||
"Date Created Key": "date created",
|
||||
"Date Modified": true,
|
||||
"Date Modified Key": "date modified",
|
||||
"Format": "dddd, MMMM Do YYYY, h:mm:ss a"
|
||||
},
|
||||
"YAML Title": {
|
||||
"Inserts the title of the file into the YAML frontmatter. Gets the title from the first H1 or filename if there is no H1.": false,
|
||||
"Title Key": "title"
|
||||
},
|
||||
"YAML Title Alias": {
|
||||
"Inserts the title of the file into the YAML frontmatter's aliases section. Gets the title from the first H1 or filename.": false,
|
||||
"YAML aliases section style": "Multi-line array",
|
||||
"Preserve existing aliases section style": true,
|
||||
"Keep alias that matches the filename": false,
|
||||
"Use the YAML key `linter-yaml-title-alias` to help with filename and heading changes": true
|
||||
},
|
||||
"Capitalize Headings": {
|
||||
"Headings should be formatted with capitalization": false,
|
||||
"Style": "Title Case",
|
||||
"Ignore Cased Words": true,
|
||||
"Ignore Words": "macOS, iOS, iPhone, iPad, JavaScript, TypeScript, AppleScript",
|
||||
"Lowercase Words": "via, a, an, the, and, or, but, for, nor, so, yet, at, by, in, of, on, to, up, as, is, if, it, for, to, with, without, into, onto, per"
|
||||
},
|
||||
"File Name Heading": {
|
||||
"Inserts the file name as a H1 heading if no H1 heading exists.": true
|
||||
},
|
||||
"Header Increment": {
|
||||
"Heading levels should only increment by one level at a time": true
|
||||
},
|
||||
"Footnote after Punctuation": {
|
||||
"Ensures that footnote references are placed after punctuation, not before.": true
|
||||
},
|
||||
"Move Footnotes to the bottom": {
|
||||
"Move all footnotes to the bottom of the document.": true
|
||||
},
|
||||
"Re-Index Footnotes": {
|
||||
"Re-indexes footnote keys and footnote, based on the order of occurrence (NOTE: This rule deliberately does *not* preserve the relation between key and footnote, to be able to re-index duplicate keys.)": false
|
||||
},
|
||||
"Convert Bullet List Markers": {
|
||||
"Converts common bullet list marker symbols to markdown list markers.": false
|
||||
},
|
||||
"Emphasis Style": {
|
||||
"Makes sure the emphasis style is consistent.": false,
|
||||
"Style": "consistent"
|
||||
},
|
||||
"No Bare URLs": {
|
||||
"Encloses bare URLs with angle brackets except when enclosed in back ticks, square braces, or single or double quotes.": false
|
||||
},
|
||||
"Ordered List Style": {
|
||||
"Makes sure that ordered lists follow the style specified. Note that 2 spaces or 1 tab is considered to be an indentation level.": false,
|
||||
"Number Style": "ascending",
|
||||
"Ordered List Indicator End Style": "."
|
||||
},
|
||||
"Proper Ellipsis": {
|
||||
"Replaces three consecutive dots with an ellipsis.": false
|
||||
},
|
||||
"Remove Consecutive List Markers": {
|
||||
"Removes consecutive list markers. Useful when copy-pasting list items.": false
|
||||
},
|
||||
"Remove Empty List Markers": {
|
||||
"Removes empty list markers, i.e. list items without content.": false
|
||||
},
|
||||
"Remove Hyphenated Line Breaks": {
|
||||
"Removes hyphenated line breaks. Useful when pasting text from textbooks.": false
|
||||
},
|
||||
"Remove Multiple Spaces": {
|
||||
"Removes two or more consecutive spaces. Ignores spaces at the beginning and ending of the line. ": false
|
||||
},
|
||||
"Strong Style": {
|
||||
"Makes sure the strong style is consistent.": false,
|
||||
"Style": "consistent"
|
||||
},
|
||||
"Two Spaces Between Lines with Content": {
|
||||
"Makes sure that two spaces are added to the ends of lines with content continued on the next line for paragraphs, blockquotes, and list items": false
|
||||
},
|
||||
"Unordered List Style": {
|
||||
"Makes sure that unordered lists follow the style specified.": false,
|
||||
"List item style": "consistent"
|
||||
},
|
||||
"Compact YAML": {
|
||||
"Removes leading and trailing blank lines in the YAML front matter.": false,
|
||||
"Inner New Lines": false
|
||||
},
|
||||
"Consecutive blank lines": {
|
||||
"There should be at most one consecutive blank line.": false
|
||||
},
|
||||
"Convert Spaces to Tabs": {
|
||||
"Converts leading spaces to tabs.": false,
|
||||
"Tabsize": 4
|
||||
},
|
||||
"Empty Line Around Blockquotes": {
|
||||
"Ensures that there is an empty line around blockquotes unless they start or end a document. **Note that an empty line is either one less level of nesting for blockquotes or a newline character.**": false
|
||||
},
|
||||
"Empty Line Around Code Fences": {
|
||||
"Ensures that there is an empty line around code fences unless they start or end a document.": false
|
||||
},
|
||||
"Empty Line Around Tables": {
|
||||
"Ensures that there is an empty line around github flavored tables unless they start or end a document.": false
|
||||
},
|
||||
"Heading blank lines": {
|
||||
"All headings have a blank line both before and after (except where the heading is at the beginning or end of the document).": false,
|
||||
"Bottom": true,
|
||||
"Empty Line Between Yaml and Header": true
|
||||
},
|
||||
"Line Break at Document End": {
|
||||
"Ensures that there is exactly one line break at the end of a document.": false
|
||||
},
|
||||
"Paragraph blank lines": {
|
||||
"All paragraphs should have exactly one blank line both before and after.": false
|
||||
},
|
||||
"Remove Empty Lines Between List Markers and Checklists": {
|
||||
"There should not be any empty lines between list markers and checklists.": false
|
||||
},
|
||||
"Remove link spacing": {
|
||||
"Removes spacing around link text.": false
|
||||
},
|
||||
"Remove Space around Fullwidth Characters": {
|
||||
"Ensures that fullwidth characters are not followed by whitespace (either single spaces or a tab). Note that this may causes issues with markdown format in some cases.": false
|
||||
},
|
||||
"Space after list markers": {
|
||||
"There should be a single space after list markers and checkboxes.": false
|
||||
},
|
||||
"Space between Chinese and English or numbers": {
|
||||
"Ensures that Chinese and English or numbers are separated by a single space. Follows these [guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines)": false
|
||||
},
|
||||
"Trailing spaces": {
|
||||
"Removes extra spaces after every line.": false,
|
||||
"Two Space Linebreak": false
|
||||
}
|
||||
},
|
||||
"lintOnSave": false,
|
||||
"displayChanged": true,
|
||||
"foldersToIgnore": [],
|
||||
"linterLocale": "system-default",
|
||||
"logLevel": 4,
|
||||
"lintCommands": []
|
||||
}
|
||||
2039
.obsidian/plugins/obsidian-linter/main.js
vendored
Normal file
2039
.obsidian/plugins/obsidian-linter/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-linter/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-linter/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-linter",
|
||||
"name": "Linter",
|
||||
"version": "1.6.0",
|
||||
"minAppVersion": "0.15.6",
|
||||
"description": "Enforces consistent markdown styling.",
|
||||
"author": "Victor Tao",
|
||||
"authorUrl": "https://github.com/platers",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
142
.obsidian/plugins/obsidian-linter/styles.css
vendored
Normal file
142
.obsidian/plugins/obsidian-linter/styles.css
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
/**
|
||||
* Based on https://github.com/Fevol/obsidian-translate/blob/master/src/ui/translator-components/SettingsPage.svelte
|
||||
*/
|
||||
|
||||
.linter-navigation-item {
|
||||
cursor: pointer;
|
||||
border-radius: 100px;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: 8px 8px 2px 2px;
|
||||
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
white-space: nowrap;
|
||||
|
||||
padding: 4px 6px;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
overflow: hidden;
|
||||
|
||||
background-color: var(--background-primary-secondary-alt);
|
||||
|
||||
transition: color 0.25s ease-in-out,
|
||||
padding 0.25s ease-in-out,
|
||||
background-color 0.35s cubic-bezier(0.45, 0.25, 0.83, 0.67),
|
||||
max-width 0.35s cubic-bezier(0.57, 0.04, 0.58, 1);
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1325px) {
|
||||
.linter-navigation-item.linter-desktop {
|
||||
max-width: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
.linter-navigation-item.linter-mobile {
|
||||
max-width: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
.linter-navigation-item-icon {
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
.linter-navigation-item:hover {
|
||||
border-color: var(--interactive-accent-hover);
|
||||
border-bottom: 0px;
|
||||
}
|
||||
|
||||
.linter-navigation-item-selected {
|
||||
background-color: var(--interactive-accent) !important;
|
||||
color: var(--text-on-accent);
|
||||
padding: 4px 9px !important;
|
||||
max-width: 200px !important;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: 8px 8px 2px 2px;
|
||||
border-bottom: 0px;
|
||||
transition: color 0.25s ease-in-out,
|
||||
padding 0.25s ease-in-out,
|
||||
background-color 0.35s cubic-bezier(0.45, 0.25, 0.83, 0.67),
|
||||
max-width 0.45s cubic-bezier(0.57, 0.04, 0.58, 1) 0.2s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Based on https://github.com/phibr0/obsidian-commander/blob/main/src/styles.scss
|
||||
*/
|
||||
.linter {
|
||||
transition: transform 400ms 0s;
|
||||
}
|
||||
|
||||
.linter-setting-title {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
justify-content: space-between;
|
||||
gap: 30px;
|
||||
}
|
||||
.linter-setting-title.linter-mobile {
|
||||
justify-content: space-around;
|
||||
}
|
||||
.linter-setting-title h1 {
|
||||
font-weight: 900;
|
||||
margin-top: 6px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.linter-setting-header {
|
||||
margin-bottom: 24px;
|
||||
overflow-y: hidden;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.linter-setting-header .linter-setting-tab-group {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
}
|
||||
.linter-setting-tab-group {
|
||||
margin-top: 6px;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
border-bottom: 2px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.linter-setting-header .linter-tab-settings {
|
||||
padding: 6px 12px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
border-left: 2px solid transparent;
|
||||
border-right: 2px solid transparent;
|
||||
}
|
||||
.linter-setting-header .linter-tab-settings:first-child {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.linter-setting-header .linter-tab-settings.linter-tab-settings-active {
|
||||
border-bottom: 2px solid var(--background-primary);
|
||||
transform: translateY(2px);
|
||||
border-radius: 2px;
|
||||
border-left: 2px solid var(--background-modifier-border);
|
||||
border-top: 2px solid var(--background-modifier-border);
|
||||
border-right: 2px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
/** Hide linter element css
|
||||
* Based on https://zellwk.com/blog/hide-content-accessibly/
|
||||
*/
|
||||
.linter-visually-hidden {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
clip-path: rect(0 0 0 0);
|
||||
height: auto; /* new - was 1px */
|
||||
margin: 0; /* new - was -1px */
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
white-space: nowrap; /* 1 */
|
||||
}
|
||||
Reference in New Issue
Block a user