mirror of
https://github.com/lostpaul/obsidian-folder-notes.git
synced 2026-07-22 07:40:24 +00:00
Folder overview list
This commit is contained in:
parent
794cc1499b
commit
203c067d8d
15 changed files with 607 additions and 303 deletions
423
package-lock.json
generated
423
package-lock.json
generated
|
|
@ -9,7 +9,8 @@
|
|||
"version": "1.0.1",
|
||||
"license": "GPL-3.0-or-later",
|
||||
"dependencies": {
|
||||
"@popperjs/core": "^2.11.6"
|
||||
"@popperjs/core": "^2.11.6",
|
||||
"front-matter-plugin-api-provider": "^0.1.3-alpha"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^16.11.6",
|
||||
|
|
@ -23,17 +24,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@codemirror/state": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.0.tgz",
|
||||
"integrity": "sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA==",
|
||||
"dev": true,
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz",
|
||||
"integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@codemirror/view": {
|
||||
"version": "6.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.9.2.tgz",
|
||||
"integrity": "sha512-ci0r/v6aKOSlzOs7/STMTYP3jX/+YMq2dAfAJcLIB6uom4ThtrUlzeuS7GTRGNqJJ+qAJR1vGWfXgu4CO/0myQ==",
|
||||
"dev": true,
|
||||
"version": "6.14.0",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.14.0.tgz",
|
||||
"integrity": "sha512-I263FPs4In42MNmrdwN2DfmYPFMVMXgT7o/mxdGp4jv5LPs8i0FOxzmxF5yeeQdYSTztb2ZhmPIu0ahveInVTg==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@codemirror/state": "^6.1.4",
|
||||
|
|
@ -42,9 +41,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint-community/eslint-utils": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz",
|
||||
"integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==",
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
|
||||
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
|
|
@ -58,9 +57,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint-community/regexpp": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.0.tgz",
|
||||
"integrity": "sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==",
|
||||
"version": "4.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
|
||||
"integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
|
|
@ -68,15 +67,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz",
|
||||
"integrity": "sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==",
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
|
||||
"integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ajv": "^6.12.4",
|
||||
"debug": "^4.3.2",
|
||||
"espree": "^9.5.0",
|
||||
"espree": "^9.5.2",
|
||||
"globals": "^13.19.0",
|
||||
"ignore": "^5.2.0",
|
||||
"import-fresh": "^3.2.1",
|
||||
|
|
@ -92,9 +91,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz",
|
||||
"integrity": "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==",
|
||||
"version": "8.43.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
|
||||
"integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
|
|
@ -102,9 +101,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@humanwhocodes/config-array": {
|
||||
"version": "0.11.8",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
|
||||
"integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
|
||||
"integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
|
|
@ -173,9 +172,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@popperjs/core": {
|
||||
"version": "2.11.6",
|
||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
|
||||
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==",
|
||||
"version": "2.11.8",
|
||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
|
||||
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/popperjs"
|
||||
|
|
@ -185,34 +184,31 @@
|
|||
"version": "0.0.108",
|
||||
"resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.108.tgz",
|
||||
"integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/tern": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
|
||||
"integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
|
||||
"dev": true
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
|
||||
"integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA=="
|
||||
},
|
||||
"node_modules/@types/json-schema": {
|
||||
"version": "7.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
|
||||
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
||||
"version": "7.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
|
||||
"integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "16.18.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.11.tgz",
|
||||
"integrity": "sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==",
|
||||
"version": "16.18.37",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz",
|
||||
"integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/tern": {
|
||||
"version": "0.23.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz",
|
||||
"integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "*"
|
||||
}
|
||||
|
|
@ -402,9 +398,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.8.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
|
||||
"integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
|
||||
"version": "8.9.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
|
||||
"integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"bin": {
|
||||
|
|
@ -1012,17 +1008,17 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz",
|
||||
"integrity": "sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==",
|
||||
"version": "8.43.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
|
||||
"integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@eslint/eslintrc": "^2.0.1",
|
||||
"@eslint/js": "8.36.0",
|
||||
"@humanwhocodes/config-array": "^0.11.8",
|
||||
"@eslint/eslintrc": "^2.0.3",
|
||||
"@eslint/js": "8.43.0",
|
||||
"@humanwhocodes/config-array": "^0.11.10",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
"ajv": "^6.10.0",
|
||||
|
|
@ -1031,9 +1027,9 @@
|
|||
"debug": "^4.3.2",
|
||||
"doctrine": "^3.0.0",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"eslint-scope": "^7.1.1",
|
||||
"eslint-visitor-keys": "^3.3.0",
|
||||
"espree": "^9.5.0",
|
||||
"eslint-scope": "^7.2.0",
|
||||
"eslint-visitor-keys": "^3.4.1",
|
||||
"espree": "^9.5.2",
|
||||
"esquery": "^1.4.2",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
|
|
@ -1041,13 +1037,12 @@
|
|||
"find-up": "^5.0.0",
|
||||
"glob-parent": "^6.0.2",
|
||||
"globals": "^13.19.0",
|
||||
"grapheme-splitter": "^1.0.4",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^5.2.0",
|
||||
"import-fresh": "^3.0.0",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"is-glob": "^4.0.0",
|
||||
"is-path-inside": "^3.0.3",
|
||||
"js-sdsl": "^4.1.4",
|
||||
"js-yaml": "^4.1.0",
|
||||
"json-stable-stringify-without-jsonify": "^1.0.1",
|
||||
"levn": "^0.4.1",
|
||||
|
|
@ -1110,18 +1105,21 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint-visitor-keys": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
|
||||
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
|
||||
"integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint/node_modules/eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
|
||||
"integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
|
|
@ -1130,6 +1128,9 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint/node_modules/estraverse": {
|
||||
|
|
@ -1142,29 +1143,16 @@
|
|||
"node": ">=4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint/node_modules/glob-parent": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
||||
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/espree": {
|
||||
"version": "9.5.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz",
|
||||
"integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==",
|
||||
"version": "9.5.2",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
|
||||
"integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"acorn": "^8.8.0",
|
||||
"acorn-jsx": "^5.3.2",
|
||||
"eslint-visitor-keys": "^3.3.0"
|
||||
"eslint-visitor-keys": "^3.4.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
|
|
@ -1259,6 +1247,18 @@
|
|||
"node": ">=8.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-glob/node_modules/glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-json-stable-stringify": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||
|
|
@ -1345,6 +1345,14 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/front-matter-plugin-api-provider": {
|
||||
"version": "0.1.3-alpha",
|
||||
"resolved": "https://registry.npmjs.org/front-matter-plugin-api-provider/-/front-matter-plugin-api-provider-0.1.3-alpha.tgz",
|
||||
"integrity": "sha512-N7pd25mNfDWCFqV4fqy3vaGK8+oUQEH84Yq7VWbX8zj1YQSLMjZDGw6rWaB3HZe29q+RKfkm3tTIka8GHmqJ4A==",
|
||||
"dependencies": {
|
||||
"obsidian": "^1.2.8"
|
||||
}
|
||||
},
|
||||
"node_modules/fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
|
|
@ -1380,15 +1388,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
||||
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.1"
|
||||
"is-glob": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/globals": {
|
||||
|
|
@ -1427,10 +1436,10 @@
|
|||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/grapheme-splitter": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
|
||||
"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
|
||||
"node_modules/graphemer": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
|
||||
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
|
|
@ -1545,17 +1554,6 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/js-sdsl": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
|
||||
"integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/js-sdsl"
|
||||
}
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
|
|
@ -1671,7 +1669,6 @@
|
|||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
|
|
@ -1690,10 +1687,9 @@
|
|||
"peer": true
|
||||
},
|
||||
"node_modules/obsidian": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.1.1.tgz",
|
||||
"integrity": "sha512-GcxhsHNkPEkwHEjeyitfYNBcQuYGeAHFs1pEpZIv0CnzSfui8p8bPLm2YKLgcg20B764770B1sYGtxCvk9ptxg==",
|
||||
"dev": true,
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.2.8.tgz",
|
||||
"integrity": "sha512-HrC+feA8o0tXspj4lEAqxb1btwLwHD2oHXSwbbN+CdRHURqbCkuIDLld+nkuyJ1w1c9uvVDRVk8BoeOnWheOrQ==",
|
||||
"dependencies": {
|
||||
"@types/codemirror": "0.0.108",
|
||||
"moment": "2.29.4"
|
||||
|
|
@ -1939,9 +1935,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.3.8",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||
"version": "7.5.3",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
|
||||
"integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
|
|
@ -2012,10 +2008,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/style-mod": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
|
||||
"integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==",
|
||||
"dev": true,
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.3.tgz",
|
||||
"integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
|
|
@ -2127,10 +2122,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/w3c-keyname": {
|
||||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz",
|
||||
"integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==",
|
||||
"dev": true,
|
||||
"version": "2.2.8",
|
||||
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
|
||||
"integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/which": {
|
||||
|
|
@ -2188,17 +2182,15 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@codemirror/state": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.0.tgz",
|
||||
"integrity": "sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA==",
|
||||
"dev": true,
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz",
|
||||
"integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==",
|
||||
"peer": true
|
||||
},
|
||||
"@codemirror/view": {
|
||||
"version": "6.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.9.2.tgz",
|
||||
"integrity": "sha512-ci0r/v6aKOSlzOs7/STMTYP3jX/+YMq2dAfAJcLIB6uom4ThtrUlzeuS7GTRGNqJJ+qAJR1vGWfXgu4CO/0myQ==",
|
||||
"dev": true,
|
||||
"version": "6.14.0",
|
||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.14.0.tgz",
|
||||
"integrity": "sha512-I263FPs4In42MNmrdwN2DfmYPFMVMXgT7o/mxdGp4jv5LPs8i0FOxzmxF5yeeQdYSTztb2ZhmPIu0ahveInVTg==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@codemirror/state": "^6.1.4",
|
||||
|
|
@ -2207,9 +2199,9 @@
|
|||
}
|
||||
},
|
||||
"@eslint-community/eslint-utils": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz",
|
||||
"integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==",
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
|
||||
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
|
|
@ -2217,22 +2209,22 @@
|
|||
}
|
||||
},
|
||||
"@eslint-community/regexpp": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.0.tgz",
|
||||
"integrity": "sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==",
|
||||
"version": "4.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
|
||||
"integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"@eslint/eslintrc": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz",
|
||||
"integrity": "sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==",
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
|
||||
"integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"ajv": "^6.12.4",
|
||||
"debug": "^4.3.2",
|
||||
"espree": "^9.5.0",
|
||||
"espree": "^9.5.2",
|
||||
"globals": "^13.19.0",
|
||||
"ignore": "^5.2.0",
|
||||
"import-fresh": "^3.2.1",
|
||||
|
|
@ -2242,16 +2234,16 @@
|
|||
}
|
||||
},
|
||||
"@eslint/js": {
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz",
|
||||
"integrity": "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==",
|
||||
"version": "8.43.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
|
||||
"integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"@humanwhocodes/config-array": {
|
||||
"version": "0.11.8",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
|
||||
"integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
|
||||
"integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
|
|
@ -2301,42 +2293,39 @@
|
|||
}
|
||||
},
|
||||
"@popperjs/core": {
|
||||
"version": "2.11.6",
|
||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
|
||||
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw=="
|
||||
"version": "2.11.8",
|
||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
|
||||
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A=="
|
||||
},
|
||||
"@types/codemirror": {
|
||||
"version": "0.0.108",
|
||||
"resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.108.tgz",
|
||||
"integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/tern": "*"
|
||||
}
|
||||
},
|
||||
"@types/estree": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
|
||||
"integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
|
||||
"dev": true
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
|
||||
"integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA=="
|
||||
},
|
||||
"@types/json-schema": {
|
||||
"version": "7.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
|
||||
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
||||
"version": "7.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
|
||||
"integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.18.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.11.tgz",
|
||||
"integrity": "sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==",
|
||||
"version": "16.18.37",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz",
|
||||
"integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/tern": {
|
||||
"version": "0.23.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz",
|
||||
"integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/estree": "*"
|
||||
}
|
||||
|
|
@ -2437,9 +2426,9 @@
|
|||
}
|
||||
},
|
||||
"acorn": {
|
||||
"version": "8.8.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
|
||||
"integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
|
||||
"version": "8.9.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz",
|
||||
"integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
|
|
@ -2792,17 +2781,17 @@
|
|||
"peer": true
|
||||
},
|
||||
"eslint": {
|
||||
"version": "8.36.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz",
|
||||
"integrity": "sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==",
|
||||
"version": "8.43.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
|
||||
"integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@eslint/eslintrc": "^2.0.1",
|
||||
"@eslint/js": "8.36.0",
|
||||
"@humanwhocodes/config-array": "^0.11.8",
|
||||
"@eslint/eslintrc": "^2.0.3",
|
||||
"@eslint/js": "8.43.0",
|
||||
"@humanwhocodes/config-array": "^0.11.10",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
"ajv": "^6.10.0",
|
||||
|
|
@ -2811,9 +2800,9 @@
|
|||
"debug": "^4.3.2",
|
||||
"doctrine": "^3.0.0",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"eslint-scope": "^7.1.1",
|
||||
"eslint-visitor-keys": "^3.3.0",
|
||||
"espree": "^9.5.0",
|
||||
"eslint-scope": "^7.2.0",
|
||||
"eslint-visitor-keys": "^3.4.1",
|
||||
"espree": "^9.5.2",
|
||||
"esquery": "^1.4.2",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
|
|
@ -2821,13 +2810,12 @@
|
|||
"find-up": "^5.0.0",
|
||||
"glob-parent": "^6.0.2",
|
||||
"globals": "^13.19.0",
|
||||
"grapheme-splitter": "^1.0.4",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^5.2.0",
|
||||
"import-fresh": "^3.0.0",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"is-glob": "^4.0.0",
|
||||
"is-path-inside": "^3.0.3",
|
||||
"js-sdsl": "^4.1.4",
|
||||
"js-yaml": "^4.1.0",
|
||||
"json-stable-stringify-without-jsonify": "^1.0.1",
|
||||
"levn": "^0.4.1",
|
||||
|
|
@ -2841,9 +2829,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
|
||||
"integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
|
|
@ -2857,16 +2845,6 @@
|
|||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"glob-parent": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
||||
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"is-glob": "^4.0.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -2898,21 +2876,21 @@
|
|||
}
|
||||
},
|
||||
"eslint-visitor-keys": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
|
||||
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
|
||||
"integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
|
||||
"dev": true
|
||||
},
|
||||
"espree": {
|
||||
"version": "9.5.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz",
|
||||
"integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==",
|
||||
"version": "9.5.2",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
|
||||
"integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"acorn": "^8.8.0",
|
||||
"acorn-jsx": "^5.3.2",
|
||||
"eslint-visitor-keys": "^3.3.0"
|
||||
"eslint-visitor-keys": "^3.4.1"
|
||||
}
|
||||
},
|
||||
"esquery": {
|
||||
|
|
@ -2982,6 +2960,17 @@
|
|||
"glob-parent": "^5.1.2",
|
||||
"merge2": "^1.3.0",
|
||||
"micromatch": "^4.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-glob": "^4.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
|
|
@ -3055,6 +3044,14 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"front-matter-plugin-api-provider": {
|
||||
"version": "0.1.3-alpha",
|
||||
"resolved": "https://registry.npmjs.org/front-matter-plugin-api-provider/-/front-matter-plugin-api-provider-0.1.3-alpha.tgz",
|
||||
"integrity": "sha512-N7pd25mNfDWCFqV4fqy3vaGK8+oUQEH84Yq7VWbX8zj1YQSLMjZDGw6rWaB3HZe29q+RKfkm3tTIka8GHmqJ4A==",
|
||||
"requires": {
|
||||
"obsidian": "^1.2.8"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
|
|
@ -3084,12 +3081,13 @@
|
|||
}
|
||||
},
|
||||
"glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
||||
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"is-glob": "^4.0.1"
|
||||
"is-glob": "^4.0.3"
|
||||
}
|
||||
},
|
||||
"globals": {
|
||||
|
|
@ -3116,10 +3114,10 @@
|
|||
"slash": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"grapheme-splitter": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
|
||||
"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
|
||||
"graphemer": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
|
||||
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
|
|
@ -3207,13 +3205,6 @@
|
|||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"js-sdsl": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
|
||||
"integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
|
|
@ -3304,8 +3295,7 @@
|
|||
"moment": {
|
||||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
|
||||
"dev": true
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
|
|
@ -3321,10 +3311,9 @@
|
|||
"peer": true
|
||||
},
|
||||
"obsidian": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.1.1.tgz",
|
||||
"integrity": "sha512-GcxhsHNkPEkwHEjeyitfYNBcQuYGeAHFs1pEpZIv0CnzSfui8p8bPLm2YKLgcg20B764770B1sYGtxCvk9ptxg==",
|
||||
"dev": true,
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.2.8.tgz",
|
||||
"integrity": "sha512-HrC+feA8o0tXspj4lEAqxb1btwLwHD2oHXSwbbN+CdRHURqbCkuIDLld+nkuyJ1w1c9uvVDRVk8BoeOnWheOrQ==",
|
||||
"requires": {
|
||||
"@types/codemirror": "0.0.108",
|
||||
"moment": "2.29.4"
|
||||
|
|
@ -3477,9 +3466,9 @@
|
|||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.8",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||
"version": "7.5.3",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
|
||||
"integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "^6.0.0"
|
||||
|
|
@ -3526,10 +3515,9 @@
|
|||
"peer": true
|
||||
},
|
||||
"style-mod": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
|
||||
"integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==",
|
||||
"dev": true,
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.3.tgz",
|
||||
"integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw==",
|
||||
"peer": true
|
||||
},
|
||||
"supports-color": {
|
||||
|
|
@ -3615,10 +3603,9 @@
|
|||
}
|
||||
},
|
||||
"w3c-keyname": {
|
||||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz",
|
||||
"integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==",
|
||||
"dev": true,
|
||||
"version": "2.2.8",
|
||||
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
|
||||
"integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
|
||||
"peer": true
|
||||
},
|
||||
"which": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { App, TFolder, Menu, TAbstractFile, Notice, TFile, Editor, MarkdownView } from 'obsidian';
|
||||
import FolderNotesPlugin from './main';
|
||||
import { getFolderNote, createFolderNote, deleteFolderNote, turnIntoFolderNote, openFolderNote } from './folderNoteFunctions';
|
||||
import { getFolderNote, createFolderNote, deleteFolderNote, turnIntoFolderNote, openFolderNote } from './functions/folderNoteFunctions';
|
||||
import { ExcludedFolder } from './excludedFolder';
|
||||
export class Commands {
|
||||
plugin: FolderNotesPlugin;
|
||||
|
|
@ -65,14 +65,15 @@ export class Commands {
|
|||
this.plugin.registerEvent(this.app.workspace.on('file-menu', (menu: Menu, file: TAbstractFile) => {
|
||||
if (file instanceof TFile) {
|
||||
const folder = file.parent;
|
||||
if (folder === null) return;
|
||||
const folderNote = getFolderNote(this.plugin, folder.path);
|
||||
if (folderNote?.path === file.path) { return; }
|
||||
menu.addItem((item) => {
|
||||
item.setTitle('Create folder note')
|
||||
.setIcon('edit')
|
||||
.onClick(async () => {
|
||||
let newPath = file.parent.path + '/' + file.basename;
|
||||
if (file.parent.path === '' || file.parent.path === '/') {
|
||||
let newPath = file.parent?.path + '/' + file.basename;
|
||||
if (!(file.parent instanceof TFolder) || file.parent.path === '' || file.parent.path === '/') {
|
||||
newPath = file.basename;
|
||||
}
|
||||
if (this.plugin.app.vault.getAbstractFileByPath(newPath)) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { Keymap } from 'obsidian';
|
||||
import FolderNotesPlugin from 'src/main';
|
||||
import { openFolderNote, createFolderNote, getFolderNote } from 'src/folderNoteFunctions';
|
||||
import { openFolderNote, createFolderNote, getFolderNote } from 'src/functions/folderNoteFunctions';
|
||||
import { getExcludedFolder } from 'src/excludedFolder';
|
||||
export async function handleViewHeaderClick(event: MouseEvent, plugin: FolderNotesPlugin) {
|
||||
if (!(event.target instanceof HTMLElement)) return;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { TFile, TFolder, TAbstractFile, Notice } from 'obsidian';
|
||||
import FolderNotesPlugin from 'src/main';
|
||||
import { extractFolderName, getFolderNote } from '../folderNoteFunctions';
|
||||
import { extractFolderName, getFolderNote } from '../functions/folderNoteFunctions';
|
||||
import { getExcludedFolder } from '../excludedFolder';
|
||||
export function handleFolderRename(file: TFolder, oldPath: string, plugin: FolderNotesPlugin) {
|
||||
const fileName = plugin.settings.folderNoteName.replace('{{folder_name}}', file.name);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,16 @@
|
|||
import { MarkdownPostProcessorContext, parseYaml, TAbstractFile, TFolder, TFile } from 'obsidian';
|
||||
import { getFolderNote } from './folderNoteFunctions';
|
||||
import { getFolderNote } from './functions/folderNoteFunctions';
|
||||
import FolderNotesPlugin from './main';
|
||||
export type yamlSettings = {
|
||||
title?: string;
|
||||
disableTitle?: boolean;
|
||||
depth?: number;
|
||||
type?: 'folder' | 'markdown' | 'canvas';
|
||||
includeTypes?: string[];
|
||||
style?: 'list' | 'grid';
|
||||
disableCanvasTag?: boolean;
|
||||
};
|
||||
|
||||
export function createCanvasOverview() {
|
||||
// console.log('test');
|
||||
}
|
||||
|
|
@ -9,9 +19,20 @@ export function createOverview(plugin: FolderNotesPlugin, source: string, el: HT
|
|||
// parse source to yaml
|
||||
const yaml = parseYaml(source);
|
||||
const depth = yaml?.depth || 1;
|
||||
const title = yaml?.title || 'Overview';
|
||||
const type: 'folder' | 'markdown' | 'canvas' = yaml?.type.trim() || 'markdown';
|
||||
const style: 'list' | 'grid' = yaml?.style || 'grid';
|
||||
const title = yaml?.title || plugin.settings.defaultOverview.title || 'Folder overview';
|
||||
const disableTitle = yaml?.disableTitle || plugin.settings.defaultOverview.disableTitle || false;
|
||||
let includeTypes: string[] = yaml?.includeTypes || plugin.settings.defaultOverview.includeTypes || ['folder', 'markdown'];
|
||||
includeTypes = includeTypes.map((type) => type.toLowerCase());
|
||||
const style: 'list' | 'grid' = yaml?.style || 'list';
|
||||
const disableCanvasTag = yaml?.disableCanvasTag || plugin.settings.defaultOverview.disableCanvasTag || false;
|
||||
|
||||
const root = el.createEl('div', { cls: 'folder-overview' });
|
||||
const titleEl = root.createEl('h1', { cls: 'folder-overview-title' });
|
||||
const ul = root.createEl('ul', { cls: 'folder-overview-list' });
|
||||
if (!disableTitle) {
|
||||
titleEl.innerText = title;
|
||||
}
|
||||
if (includeTypes.length === 0) { return; }
|
||||
let files: TAbstractFile[] = [];
|
||||
const sourceFile = plugin.app.vault.getAbstractFileByPath(ctx.sourcePath);
|
||||
if (!sourceFile) return;
|
||||
|
|
@ -25,13 +46,6 @@ export function createOverview(plugin: FolderNotesPlugin, source: string, el: HT
|
|||
}
|
||||
|
||||
files = sourceFolder.children;
|
||||
if (type === 'folder') {
|
||||
files = files.filter((file) => file instanceof TFolder);
|
||||
} else if (type === 'canvas') {
|
||||
files = files.filter((file) => file instanceof TFolder || file.name.endsWith('.canvas'));
|
||||
} else if (type === 'markdown') {
|
||||
files = files.filter((file) => file instanceof TFolder || file.name.endsWith('.md'));
|
||||
}
|
||||
|
||||
files = files.filter((file) => {
|
||||
const folderPath = plugin.getFolderPathFromString(file.path);
|
||||
|
|
@ -41,13 +55,11 @@ export function createOverview(plugin: FolderNotesPlugin, source: string, el: HT
|
|||
return true;
|
||||
}
|
||||
});
|
||||
if (!includeTypes.includes('folder')) {
|
||||
files = getAllFiles(files, sourceFolderPath, depth);
|
||||
}
|
||||
files = sortFiles(files);
|
||||
|
||||
|
||||
const root = el.createEl('div', { cls: 'folder-overview' });
|
||||
const titleEl = root.createEl('h1', { cls: 'folder-overview-title' });
|
||||
const ul = root.createEl('ul', { cls: 'folder-overview-list' });
|
||||
titleEl.innerText = title;
|
||||
if (style === 'grid') {
|
||||
const grid = root.createEl('div', { cls: 'folder-overview-grid' });
|
||||
files.forEach((file) => {
|
||||
|
|
@ -61,23 +73,10 @@ export function createOverview(plugin: FolderNotesPlugin, source: string, el: HT
|
|||
const pathBlacklist: string[] = [];
|
||||
files.forEach((file) => {
|
||||
if (file instanceof TFolder) {
|
||||
const folderItem = ul.createEl('li', { cls: 'folder-overview-list folder-list' });
|
||||
const folderNote = getFolderNote(plugin, file.path);
|
||||
if (folderNote instanceof TFile) {
|
||||
const folderNoteLink = folderItem.createEl('a', { cls: 'folder-overview-list-item folder-name-item internal-link', href: folderNote.path });
|
||||
folderNoteLink.innerText = file.name;
|
||||
pathBlacklist.push(folderNote.path);
|
||||
} else {
|
||||
const folderName = folderItem.createEl('span', { cls: 'folder-overview-list-item folder-name-item' });
|
||||
folderName.innerText = file.name;
|
||||
}
|
||||
goThroughFolders(plugin, folderItem, file, depth, sourceFolderPath, ctx, yaml, pathBlacklist);
|
||||
const folderItem = addFolderList(plugin, ul, pathBlacklist, file);
|
||||
goThroughFolders(plugin, folderItem, file, depth, sourceFolderPath, ctx, yaml, pathBlacklist, includeTypes, disableCanvasTag);
|
||||
} else if (file instanceof TFile) {
|
||||
if (type === 'canvas' && !file.name.endsWith('.canvas')) return;
|
||||
if (pathBlacklist.includes(file.path)) return;
|
||||
const listItem = root.createEl('li', { cls: 'folder-overview-list' });
|
||||
const link = listItem.createEl('a', { cls: 'internal-link', href: file.path });
|
||||
link.innerText = file.name.replace('.md', '').replace('.canvas', '');
|
||||
addFileList(plugin, ul, pathBlacklist, file, includeTypes, disableCanvasTag);
|
||||
}
|
||||
});
|
||||
} else if (style === 'explorer') {
|
||||
|
|
@ -93,11 +92,13 @@ export function createOverview(plugin: FolderNotesPlugin, source: string, el: HT
|
|||
root.appendChild(folderElement);
|
||||
*/
|
||||
}
|
||||
removeEmptyFolders(ul);
|
||||
if (includeTypes.length > 1) {
|
||||
removeEmptyFolders(ul);
|
||||
}
|
||||
}
|
||||
|
||||
function goThroughFolders(plugin: FolderNotesPlugin, list: HTMLLIElement, folder: TFolder,
|
||||
depth: number, sourceFolderPath: string, ctx: MarkdownPostProcessorContext, yaml: any = {}, pathBlacklist: string[]) {
|
||||
function goThroughFolders(plugin: FolderNotesPlugin, list: HTMLLIElement | HTMLUListElement, folder: TFolder,
|
||||
depth: number, sourceFolderPath: string, ctx: MarkdownPostProcessorContext, yaml: yamlSettings, pathBlacklist: string[], includeTypes: string[], disableCanvasTag: boolean) {
|
||||
let files = folder.children.filter((file) => {
|
||||
const folderPath = plugin.getFolderPathFromString(file.path);
|
||||
if (!folderPath.startsWith(sourceFolderPath)) { return false; }
|
||||
|
|
@ -105,36 +106,14 @@ function goThroughFolders(plugin: FolderNotesPlugin, list: HTMLLIElement, folder
|
|||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
const type: 'folder' | 'markdown' | 'canvas' = yaml?.type || 'markdown';
|
||||
if (type === 'folder') {
|
||||
files = files.filter((file) => file instanceof TFolder);
|
||||
} else if (type === 'canvas') {
|
||||
files = files.filter((file) => file instanceof TFolder || file.name.endsWith('.canvas'));
|
||||
} else if (type === 'markdown') {
|
||||
files = files.filter((file) => file instanceof TFolder || file.name.endsWith('.md'));
|
||||
}
|
||||
files = sortFiles(files);
|
||||
const ul = list.createEl('ul', { cls: 'folder-overview-list' });
|
||||
files.forEach((file) => {
|
||||
if (file instanceof TFolder) {
|
||||
const folderItem = ul.createEl('li', { cls: 'folder-overview-list folder-list' });
|
||||
const folderNote = getFolderNote(plugin, file.path);
|
||||
if (folderNote instanceof TFile) {
|
||||
const folderNoteLink = folderItem.createEl('a', { cls: 'folder-overview-list-item folder-name-item internal-link', href: folderNote.path });
|
||||
folderNoteLink.innerText = file.name;
|
||||
pathBlacklist.push(folderNote.path);
|
||||
} else {
|
||||
const folderName = folderItem.createEl('span', { cls: 'folder-overview-list-item folder-name-item' });
|
||||
folderName.innerText = file.name;
|
||||
}
|
||||
goThroughFolders(plugin, folderItem, file, depth, sourceFolderPath, ctx, yaml, pathBlacklist);
|
||||
const folderItem = addFolderList(plugin, ul, pathBlacklist, file);
|
||||
goThroughFolders(plugin, folderItem, file, depth, sourceFolderPath, ctx, yaml, pathBlacklist, includeTypes, disableCanvasTag);
|
||||
} else if (file instanceof TFile) {
|
||||
if (type === 'canvas' && !file.name.endsWith('.canvas')) return;
|
||||
if (pathBlacklist.includes(file.path)) return;
|
||||
const listItem = ul.createEl('li', { cls: 'folder-overview-list' });
|
||||
const link = listItem.createEl('a', { cls: 'internal-link', href: file.path });
|
||||
link.innerText = file.name.replace('.md', '').replace('.canvas', '');
|
||||
addFileList(plugin, ul, pathBlacklist, file, includeTypes, disableCanvasTag);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -174,3 +153,46 @@ function removeEmptyFolders(ul: HTMLUListElement | HTMLLIElement) {
|
|||
el.remove();
|
||||
});
|
||||
}
|
||||
|
||||
function addFolderList(plugin: FolderNotesPlugin, list: HTMLUListElement | HTMLLIElement, pathBlacklist: string[], folder: TFolder) {
|
||||
const folderItem = list.createEl('li', { cls: 'folder-overview-list folder-list' });
|
||||
const folderNote = getFolderNote(plugin, folder.path);
|
||||
if (folderNote instanceof TFile) {
|
||||
const folderNoteLink = folderItem.createEl('a', { cls: 'folder-overview-list-item folder-name-item internal-link', href: folderNote.path });
|
||||
folderNoteLink.innerText = folder.name;
|
||||
pathBlacklist.push(folderNote.path);
|
||||
} else {
|
||||
const folderName = folderItem.createEl('span', { cls: 'folder-overview-list-item folder-name-item' });
|
||||
folderName.innerText = folder.name;
|
||||
}
|
||||
return folderItem;
|
||||
}
|
||||
|
||||
function addFileList(plugin: FolderNotesPlugin, list: HTMLUListElement | HTMLLIElement, pathBlacklist: string[], file: TFile, includeTypes: string[], disableCanvasTag: boolean) {
|
||||
if (includeTypes.length > 0) {
|
||||
if (file.extension === 'md' && !includeTypes.includes('markdown')) return;
|
||||
if (file.extension === 'canvas' && !includeTypes.includes('canvas')) return;
|
||||
}
|
||||
if (pathBlacklist.includes(file.path)) return;
|
||||
const listItem = list.createEl('li', { cls: 'folder-overview-list file-link' });
|
||||
const nameItem = listItem.createEl('div', { cls: 'folder-overview-list-item' });
|
||||
const link = nameItem.createEl('a', { cls: 'internal-link', href: file.path });
|
||||
link.innerText = file.name.replace('.md', '').replace('.canvas', '');
|
||||
if (file.extension === 'canvas' && !disableCanvasTag) {
|
||||
nameItem.createDiv({ cls: 'nav-file-tag' }).innerText = 'canvas';
|
||||
}
|
||||
}
|
||||
|
||||
function getAllFiles(files: TAbstractFile[], sourceFolderPath: string, depth: number) {
|
||||
const allFiles: TAbstractFile[] = [];
|
||||
files.forEach((file) => {
|
||||
if (file instanceof TFolder) {
|
||||
if ((file.path.split('/').length - sourceFolderPath.split('/').length) - 1 < depth -1) {
|
||||
allFiles.push(...getAllFiles(file.children, sourceFolderPath, depth));
|
||||
}
|
||||
} else {
|
||||
allFiles.push(file);
|
||||
}
|
||||
});
|
||||
return allFiles;
|
||||
}
|
||||
|
|
|
|||
77
src/functions/ListComponent.ts
Normal file
77
src/functions/ListComponent.ts
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
import { Setting } from 'obsidian';
|
||||
import { FolderOverviewSettings } from '../modals/folderOverview';
|
||||
export default class ListComponent {
|
||||
containerEl: HTMLElement;
|
||||
controlEl: HTMLElement;
|
||||
emptyStateEl: HTMLElement;
|
||||
listEl: HTMLElement;
|
||||
values: string[];
|
||||
modal: FolderOverviewSettings;
|
||||
constructor(containerEl: HTMLElement) {
|
||||
this.containerEl = containerEl;
|
||||
this.controlEl = containerEl.querySelector('.setting-item-control') || containerEl;
|
||||
this.listEl = this.controlEl.createDiv('setting-command-hotkeys');
|
||||
}
|
||||
addModal(modal: FolderOverviewSettings) {
|
||||
this.modal = modal;
|
||||
this.values = modal.yaml.includeTypes || [];
|
||||
return this;
|
||||
}
|
||||
setValues(values: string[]) {
|
||||
this.listEl.empty();
|
||||
this.values = values;
|
||||
this.modal.yaml.includeTypes = values;
|
||||
if (values.length !== 0) {
|
||||
values.forEach((value) => {
|
||||
this.addElement(value);
|
||||
});
|
||||
}
|
||||
this.modal.updateYaml();
|
||||
return this;
|
||||
}
|
||||
addElement(value: string) {
|
||||
this.listEl.createSpan('setting-hotkey', (span) => {
|
||||
span.innerText = value;
|
||||
const removeSpan = span.createEl('span', { cls: 'ofn-list-item-remove setting-hotkey-icon' });
|
||||
// add svg icon
|
||||
const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-x"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>';
|
||||
const svgElement = removeSpan.createEl('span', { cls: 'ofn-list-item-remove-icon' });
|
||||
svgElement.innerHTML = svg;
|
||||
removeSpan.onClickEvent((e) => {
|
||||
this.removeValue(value);
|
||||
span.remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
async addValue(value: string) {
|
||||
this.values.push(value);
|
||||
this.addElement(value);
|
||||
this.modal.yaml.includeTypes = this.values;
|
||||
return this;
|
||||
}
|
||||
addResetButton() {
|
||||
const resetButton = this.controlEl.createEl('span', { cls: 'clickable-icon setting-restore-hotkey-button' });
|
||||
const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-rotate-ccw"><path d="M3 2v6h6"></path><path d="M3 13a9 9 0 1 0 3-7.7L3 8"></path></svg>';
|
||||
resetButton.innerHTML = svg;
|
||||
resetButton.onClickEvent((e) => {
|
||||
this.modal.plugin.loadSettings();
|
||||
this.setValues(this.modal.plugin.settings.defaultOverview.includeTypes || []);
|
||||
this.modal.display();
|
||||
});
|
||||
return this;
|
||||
}
|
||||
removeValue(value: string) {
|
||||
this.values = this.values.filter((v) => v !== value);
|
||||
this.setValues(this.values);
|
||||
this.modal.display();
|
||||
}
|
||||
}
|
||||
|
||||
function createList(this: Setting, cb: (list: ListComponent) => ListComponent) {
|
||||
const list = new ListComponent(this.settingEl);
|
||||
cb(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
// ListComponent.prototype.setValues = setValues;
|
||||
(Setting as any).prototype.createList = createList;
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
import FolderNotesPlugin from './main';
|
||||
import FolderNameModal from './modals/folderName';
|
||||
import ExistingFolderNoteModal from './modals/existingNote';
|
||||
import { applyTemplate } from './template';
|
||||
import FolderNotesPlugin from '../main';
|
||||
import FolderNameModal from '../modals/folderName';
|
||||
import ExistingFolderNoteModal from '../modals/existingNote';
|
||||
import { applyTemplate } from '../template';
|
||||
import { TFolder, TFile, TAbstractFile, Keymap } from 'obsidian';
|
||||
import DeleteConfirmationModal from './modals/deleteConfirmation';
|
||||
import { addExcludedFolder, deleteExcludedFolder, getExcludedFolder, ExcludedFolder, updateExcludedFolder } from './excludedFolder';
|
||||
import DeleteConfirmationModal from '../modals/deleteConfirmation';
|
||||
import { addExcludedFolder, deleteExcludedFolder, getExcludedFolder, ExcludedFolder, updateExcludedFolder } from '../excludedFolder';
|
||||
|
||||
export async function createFolderNote(plugin: FolderNotesPlugin, folderPath: string, openFile: boolean, useModal?: boolean, existingNote?: TFile) {
|
||||
const leaf = plugin.app.workspace.getLeaf(false);
|
||||
17
src/globals.d.ts
vendored
17
src/globals.d.ts
vendored
|
|
@ -15,11 +15,22 @@ declare module 'obsidian' {
|
|||
interface Vault {
|
||||
getConfig: (config: string) => unknown;
|
||||
}
|
||||
interface Setting {
|
||||
createList: (list: ListComponent | ((list: ListComponent) => void)) => ListComponent;
|
||||
}
|
||||
|
||||
class ListComponent {
|
||||
containerEl: HTMLElement;
|
||||
emptyStateEl: HTMLElement;
|
||||
listEl: HTMLElement;
|
||||
values: string[];
|
||||
constructor(containerEl: HTMLElement);
|
||||
}
|
||||
}
|
||||
|
||||
interface FileExplorerWorkspaceLeaf extends WorkspaceLeaf {
|
||||
containerEl: HTMLElement;
|
||||
view: FileExplorerView;
|
||||
containerEl: HTMLElement;
|
||||
view: FileExplorerView;
|
||||
}
|
||||
|
||||
interface FileExplorerViewFileItem extends TAbstractFile {
|
||||
|
|
@ -28,5 +39,5 @@ interface FileExplorerViewFileItem extends TAbstractFile {
|
|||
}
|
||||
|
||||
interface FileExplorerView extends View {
|
||||
fileItems: { [path: string]: FileExplorerViewFileItem };
|
||||
fileItems: { [path: string]: FileExplorerViewFileItem };
|
||||
}
|
||||
|
|
|
|||
22
src/main.ts
22
src/main.ts
|
|
@ -1,13 +1,15 @@
|
|||
import { Plugin, TFile, TFolder, TAbstractFile, MarkdownPostProcessorContext } from 'obsidian';
|
||||
import { Plugin, TFile, TFolder, TAbstractFile, MarkdownPostProcessorContext, parseYaml } from 'obsidian';
|
||||
import { DEFAULT_SETTINGS, FolderNotesSettings, SettingsTab } from './settings';
|
||||
import { Commands } from './commands';
|
||||
import { FileExplorerWorkspaceLeaf } from './globals';
|
||||
import { handleViewHeaderClick, handleFolderClick } from './events/handleClick';
|
||||
import { handleFileRename, handleFolderRename } from './events/handleRename';
|
||||
import { createFolderNote, extractFolderName, getFolderNote, getFolder } from './folderNoteFunctions';
|
||||
import { createFolderNote, extractFolderName, getFolderNote, getFolder } from './functions/folderNoteFunctions';
|
||||
import { getExcludedFolder } from './excludedFolder';
|
||||
// import { FrontMatterTitlePluginHandler } from './events/frontMatterTitle';
|
||||
import { createOverview as createFolderOverview } from './folderOverview';
|
||||
import { FolderOverviewSettings } from './modals/folderOverview';
|
||||
import './functions/ListComponent';
|
||||
export default class FolderNotesPlugin extends Plugin {
|
||||
observer: MutationObserver;
|
||||
settings: FolderNotesSettings;
|
||||
|
|
@ -143,8 +145,22 @@ export default class FolderNotesPlugin extends Plugin {
|
|||
if (!this.settings.syncDelete) { return; }
|
||||
this.app.vault.delete(folderNote);
|
||||
}));
|
||||
|
||||
this.registerMarkdownCodeBlockProcessor('folder-overview', (source: string, el: HTMLElement, ctx: MarkdownPostProcessorContext) => {
|
||||
const observer = new MutationObserver(() => {
|
||||
const editButton = el.parentElement?.childNodes.item(1);
|
||||
if (editButton) {
|
||||
editButton.addEventListener('click', (e) => {
|
||||
e.stopImmediatePropagation();
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
new FolderOverviewSettings(this.app, this, parseYaml(source), ctx, el).open();
|
||||
}, { capture: true });
|
||||
}
|
||||
});
|
||||
observer.observe(el, {
|
||||
childList: true,
|
||||
subtree: true,
|
||||
});
|
||||
createFolderOverview(this, source, el, ctx);
|
||||
});
|
||||
if (this.app.workspace.layoutReady) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { App, Modal, Setting, TFolder } from 'obsidian';
|
||||
import FolderNotesPlugin from '../main';
|
||||
import { createFolderNote } from 'src/folderNoteFunctions';
|
||||
import { createFolderNote } from 'src/functions/folderNoteFunctions';
|
||||
export default class ConfirmationModal extends Modal {
|
||||
plugin: FolderNotesPlugin;
|
||||
app: App;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { App, Modal, Setting, TFile, Platform } from 'obsidian';
|
||||
import FolderNotesPlugin from '../main';
|
||||
import { getFolder } from 'src/folderNoteFunctions';
|
||||
import { getFolder } from 'src/functions/folderNoteFunctions';
|
||||
export default class DeleteConfirmationModal extends Modal {
|
||||
plugin: FolderNotesPlugin;
|
||||
app: App;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { App, Modal, Setting, TFile, Platform, TFolder, TAbstractFile } from 'obsidian';
|
||||
import FolderNotesPlugin from '../main';
|
||||
import { turnIntoFolderNote } from 'src/folderNoteFunctions';
|
||||
import { turnIntoFolderNote } from 'src/functions/folderNoteFunctions';
|
||||
export default class ExistingFolderNoteModal extends Modal {
|
||||
plugin: FolderNotesPlugin;
|
||||
app: App;
|
||||
|
|
|
|||
171
src/modals/folderOverview.ts
Normal file
171
src/modals/folderOverview.ts
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
import { App, Modal, Setting, MarkdownPostProcessorContext, stringifyYaml, TFile } from 'obsidian';
|
||||
import { yamlSettings } from 'src/folderOverview';
|
||||
import FolderNotesPlugin from '../main';
|
||||
import ListComponent from 'src/functions/ListComponent';
|
||||
export class FolderOverviewSettings extends Modal {
|
||||
plugin: FolderNotesPlugin;
|
||||
app: App;
|
||||
yaml: yamlSettings;
|
||||
ctx: MarkdownPostProcessorContext;
|
||||
el: HTMLElement;
|
||||
constructor(app: App, plugin: FolderNotesPlugin, yaml: yamlSettings, ctx: MarkdownPostProcessorContext, el: HTMLElement) {
|
||||
super(app);
|
||||
this.plugin = plugin;
|
||||
this.app = app;
|
||||
this.yaml = yaml;
|
||||
this.ctx = ctx;
|
||||
this.el = el;
|
||||
}
|
||||
onOpen() {
|
||||
this.display();
|
||||
}
|
||||
display() {
|
||||
const { contentEl } = this;
|
||||
contentEl.empty();
|
||||
// close when user presses enter
|
||||
contentEl.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Enter') {
|
||||
this.close();
|
||||
}
|
||||
});
|
||||
contentEl.createEl('h2', { text: 'Folder overview settings' });
|
||||
new Setting(contentEl)
|
||||
.setName('Disable the title')
|
||||
.setDesc('Choose if the title should be shown')
|
||||
.addToggle((toggle) =>
|
||||
toggle
|
||||
.setValue(this.yaml.disableTitle || false)
|
||||
.onChange(async (value) => {
|
||||
this.yaml.disableTitle = value;
|
||||
this.display();
|
||||
await this.updateYaml();
|
||||
})
|
||||
);
|
||||
if (!this.yaml.disableTitle) {
|
||||
new Setting(contentEl)
|
||||
.setName('Title')
|
||||
.setDesc('Choose the title of the folder overview')
|
||||
.addText((text) =>
|
||||
text
|
||||
.setValue(this.yaml?.title || 'Folder overview')
|
||||
.onChange(async (value) => {
|
||||
this.yaml.title = value;
|
||||
await this.updateYaml();
|
||||
})
|
||||
);
|
||||
}
|
||||
const setting = new Setting(contentEl);
|
||||
setting.setName('Include types');
|
||||
const list = setting.createList((list: ListComponent) =>
|
||||
list
|
||||
.addModal(this)
|
||||
.setValues(this.yaml?.includeTypes || this.plugin.settings.defaultOverview.includeTypes || [])
|
||||
.addResetButton()
|
||||
);
|
||||
if ((this.yaml?.includeTypes?.length || 0) < 3) {
|
||||
setting.addDropdown((dropdown) => {
|
||||
if (!this.yaml.includeTypes) this.yaml.includeTypes = this.plugin.settings.defaultOverview.includeTypes || [];
|
||||
this.yaml.includeTypes = this.yaml.includeTypes.map((type: string) => type.toLowerCase());
|
||||
if (!this.yaml.includeTypes.includes('markdown')) {
|
||||
dropdown.addOption('Markdown', 'Markdown');
|
||||
}
|
||||
if (!this.yaml.includeTypes.includes('folder')) {
|
||||
dropdown.addOption('Folder', 'Folder');
|
||||
}
|
||||
if (!this.yaml.includeTypes.includes('canvas')) {
|
||||
dropdown.addOption('Canvas', 'Canvas');
|
||||
}
|
||||
dropdown.addOption('+', '+');
|
||||
dropdown.setValue('+');
|
||||
dropdown.onChange(async (value) => {
|
||||
// @ts-ignore
|
||||
await list.addValue(value.toLowerCase());
|
||||
await this.updateYaml();
|
||||
this.display();
|
||||
});
|
||||
});
|
||||
}
|
||||
if (this.yaml.includeTypes?.includes('canvas')) {
|
||||
new Setting(contentEl)
|
||||
.setName('Disable canvas tag')
|
||||
.setDesc('Choose if the canvas tag should be shown')
|
||||
.addToggle((toggle) => {
|
||||
toggle
|
||||
.setValue(this.yaml.disableCanvasTag || this.plugin.settings.defaultOverview.disableCanvasTag || false)
|
||||
.onChange(async (value) => {
|
||||
this.yaml.disableCanvasTag = value;
|
||||
await this.updateYaml();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
new Setting(contentEl)
|
||||
.setName('File depth')
|
||||
.setDesc('File & folder = +1 depth')
|
||||
.addSlider((slider) =>
|
||||
slider
|
||||
.setValue(this.yaml?.depth || 1)
|
||||
.setLimits(1, 10, 1)
|
||||
.onChange(async (value) => {
|
||||
this.yaml.depth = value;
|
||||
await this.updateYaml();
|
||||
})
|
||||
);
|
||||
|
||||
new Setting(contentEl)
|
||||
.setName('Overview style')
|
||||
.setDesc('Choose the style of the overview (grid style soon)')
|
||||
.addDropdown((dropdown) =>
|
||||
dropdown
|
||||
.addOption('list', 'List')
|
||||
.addOption('grid', 'Grid')
|
||||
.setValue(this.yaml?.style || 'list')
|
||||
.onChange(async (value: 'list') => {
|
||||
this.yaml.style = value;
|
||||
await this.updateYaml();
|
||||
})
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
onClose() {
|
||||
const { contentEl } = this;
|
||||
contentEl.empty();
|
||||
}
|
||||
async updateYaml() {
|
||||
const file = this.plugin.app.vault.getAbstractFileByPath(this.ctx.sourcePath);
|
||||
if (!(file instanceof TFile)) return;
|
||||
let stringYaml = stringifyYaml(this.yaml);
|
||||
await this.plugin.app.vault.process(file, (text) => {
|
||||
const info = this.ctx.getSectionInfo(this.el);
|
||||
// check if stringYaml ends with a newline
|
||||
if (stringYaml[stringYaml.length - 1] !== '\n') {
|
||||
stringYaml += '\n';
|
||||
}
|
||||
if (info) {
|
||||
const { lineStart } = info;
|
||||
const lineEnd = this.getCodeBlockEndLine(text, lineStart);
|
||||
if (lineEnd === -1 || !lineEnd) return text;
|
||||
const lineLength = lineEnd - lineStart;
|
||||
const lines = text.split('\n');
|
||||
lines.splice(lineStart, lineLength + 1, `\`\`\`folder-overview\n${stringYaml}\`\`\``);
|
||||
return lines.join('\n');
|
||||
}
|
||||
return `\`\`\`folder-overview\n${stringYaml}\`\`\``;
|
||||
});
|
||||
}
|
||||
getCodeBlockEndLine(text: string, startLine: number, count = 1) {
|
||||
let line = startLine + 1;
|
||||
const lines = text.split('\n');
|
||||
while (line < lines.length) {
|
||||
if (count > 20) { return -1; }
|
||||
if (lines[line].startsWith('```')) {
|
||||
return line;
|
||||
}
|
||||
line++;
|
||||
count++;
|
||||
}
|
||||
return line;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
import { App, Notice, Platform, PluginSettingTab, Setting, TFile, TFolder } from 'obsidian';
|
||||
import FolderNotesPlugin from './main';
|
||||
import { TemplateSuggest } from './suggesters/templateSuggester';
|
||||
import { extractFolderName, getFolderNote } from './folderNoteFunctions';
|
||||
import { extractFolderName, getFolderNote } from './functions/folderNoteFunctions';
|
||||
import { addExcludeFolderListItem, ExcludedFolder, addExcludedFolder, ExcludePattern, addExcludePatternListItem } from './excludedFolder';
|
||||
// import ConfirmationModal from "./modals/confirmCreation";
|
||||
import { yamlSettings } from './folderOverview';
|
||||
export interface FolderNotesSettings {
|
||||
syncFolderName: boolean;
|
||||
ctrlKey: boolean;
|
||||
|
|
@ -26,6 +27,7 @@ export interface FolderNotesSettings {
|
|||
disableFolderHighlighting: boolean;
|
||||
storageLocation: 'insideFolder' | 'parentFolder' | 'vaultFolder';
|
||||
syncDelete: boolean;
|
||||
defaultOverview: yamlSettings;
|
||||
}
|
||||
|
||||
export const DEFAULT_SETTINGS: FolderNotesSettings = {
|
||||
|
|
@ -50,6 +52,14 @@ export const DEFAULT_SETTINGS: FolderNotesSettings = {
|
|||
storageLocation: 'insideFolder',
|
||||
syncDelete: false,
|
||||
showRenameConfirmation: true,
|
||||
defaultOverview: {
|
||||
title: 'Folder overview',
|
||||
disableTitle: false,
|
||||
depth: 3,
|
||||
includeTypes: ['folder', 'markdown'],
|
||||
style: 'list',
|
||||
disableCanvasTag: false,
|
||||
},
|
||||
};
|
||||
export class SettingsTab extends PluginSettingTab {
|
||||
plugin: FolderNotesPlugin;
|
||||
|
|
|
|||
17
styles.css
17
styles.css
|
|
@ -40,6 +40,10 @@
|
|||
display: none;
|
||||
}
|
||||
|
||||
.hide-folder .folder-name {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav-folder-collapse-indicator:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
@ -106,12 +110,17 @@
|
|||
}
|
||||
|
||||
.folder-overview-list {
|
||||
margin-top : 0;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 1.200;
|
||||
padding-top: 1.200;
|
||||
margin-top : 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding-bottom: 1.200 !important;
|
||||
padding-top: 1.200 !important;
|
||||
}
|
||||
|
||||
.folder-overview-list-item {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
|
||||
.folder-overview-list::marker {
|
||||
color: var(--text-faint);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue