From fa5c2aeb1190fb4934b01d529372007540d852af Mon Sep 17 00:00:00 2001 From: iOSonntag Date: Sat, 23 Sep 2023 05:27:29 +0200 Subject: [PATCH] Complete v0.3.1 --- .editorconfig | 4 +- .github/workflows/release.yml | 38 +++++ README.md | 109 +++++-------- main.ts | 9 +- manifest.json | 11 +- package.json | 9 +- pnpm-lock.yaml | 78 +++++---- resources/settings_01.png | Bin 0 -> 215086 bytes resources/treefocus_01.png | Bin 0 -> 80918 bytes src/_config/initial-settings.ts | 35 ++++- src/core/plugin-settings.ts | 53 +++---- src/core/tree-focus.ts | 116 +++++++++++++- .../known-type-keys.ts | 13 ++ .../obsidian-settings-tab.ts | 35 +++++ .../view-types.ts | 2 - src/services/mode-evaluation-service.ts | 9 +- src/services/plugin-data-store.ts | 4 +- src/util/error-helper.ts | 1 + src/views/settings-view.ts | 8 + styles.css | 148 +++++++++++++++++- versions.json | 2 +- 21 files changed, 517 insertions(+), 167 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 resources/settings_01.png create mode 100644 resources/treefocus_01.png create mode 100644 src/enhanced-obsidian-components/known-type-keys.ts delete mode 100644 src/enhanced-obsidian-components/view-types.ts diff --git a/.editorconfig b/.editorconfig index 84b8a66..a921f07 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,5 +6,5 @@ charset = utf-8 end_of_line = lf insert_final_newline = true indent_style = tab -indent_size = 4 -tab_width = 4 +indent_size = 2 +tab_width = 2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..de1ce5f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,38 @@ +name: Release Obsidian plugin + +on: + push: + tags: + - "*" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: "18.x" + + - uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: Build plugin + run: | + pnpm install + pnpm run build + + - name: Create release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + tag="${GITHUB_REF#refs/tags/}" + + gh release create "$tag" \ + --title="$tag" \ + --draft \ + main.js manifest.json styles.css \ No newline at end of file diff --git a/README.md b/README.md index bb0348e..36ce9a8 100644 --- a/README.md +++ b/README.md @@ -1,96 +1,57 @@ -# Obsidian Sample Plugin +# Obsidian Plugin: TreeFocus -This is a sample plugin for Obsidian (https://obsidian.md). +Highlight, dim & style your files & folders in the file explorer (navigation) +based on predefined or custom rules. -This project uses Typescript to provide type checking and documentation. -The repo depends on the latest plugin API (obsidian.d.ts) in Typescript Definition format, which contains TSDoc comments describing what it does. +> Also works in combination with `obsidian-iconize` / `obsidian-icon-folder` plugin! Hurray 🕺 🎊 🎉 ! -**Note:** The Obsidian API is still in early alpha and is subject to change at any time! +## Example Result + -This sample plugin demonstrates some of the basic functionality the plugin API can do. -- Adds a ribbon icon, which shows a Notice when clicked. -- Adds a command "Open Sample Modal" which opens a Modal. -- Adds a plugin setting tab to the settings page. -- Registers a global click event and output 'click' to the console. -- Registers a global interval which logs 'setInterval' to the console. +
+The screenshot is a result of choosing the Transformation Theme `Fancy` and +based on the following rules: -## First time developing plugins? +
-Quick starting guide for new plugin devs: -- Check if [someone already developed a plugin for what you want](https://obsidian.md/plugins)! There might be an existing plugin similar enough that you can partner up with. -- Make a copy of this repo as a template with the "Use this template" button (login to GitHub if you don't see it). -- Clone your repo to a local development folder. For convenience, you can place this folder in your `.obsidian/plugins/your-plugin-name` folder. -- Install NodeJS, then run `npm i` in the command line under your repo folder. -- Run `npm run dev` to compile your plugin from `main.ts` to `main.js`. -- Make changes to `main.ts` (or create new `.ts` files). Those changes should be automatically compiled into `main.js`. -- Reload Obsidian to load the new version of your plugin. -- Enable plugin in settings window. -- For updates to the Obsidian API run `npm update` in the command line under your repo folder. +- activate `DIM` mode on all files / folders starting with `"_"` +- explicitly activate mode `HIGHLIGHT` on: + - `/Backend` + - `/More` -## Releasing new releases -- Update your `manifest.json` with your new version number, such as `1.0.1`, and the minimum Obsidian version required for your latest release. -- Update your `versions.json` file with `"new-plugin-version": "minimum-obsidian-version"` so older versions of Obsidian can download an older version of your plugin that's compatible. -- Create new GitHub release using your new version number as the "Tag version". Use the exact version number, don't include a prefix `v`. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releases -- Upload the files `manifest.json`, `main.js`, `styles.css` as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release. -- Publish the release. +## Settings -> You can simplify the version bump process by running `npm version patch`, `npm version minor` or `npm version major` after updating `minAppVersion` manually in `manifest.json`. -> The command will bump version in `manifest.json` and `package.json`, and add the entry for the new version to `versions.json` +You can configure the behavior of this plugin by either defining general rules +or explicitly set the transformation mode per file / folder. -## Adding your plugin to the community plugin list + -- Check https://github.com/obsidianmd/obsidian-releases/blob/master/plugin-review.md -- Publish an initial version. -- Make sure you have a `README.md` file in the root of your repo. -- Make a pull request at https://github.com/obsidianmd/obsidian-releases to add your plugin. -## How to use +## Bugs -- Clone this repo. -- Make sure your NodeJS is at least v16 (`node --version`). -- `npm i` or `yarn` to install dependencies. -- `npm run dev` to start compilation in watch mode. +Report bugs at: [TreeFocus - GitHub Repository](https://github.com/iOSonntag/obsidian-plugin-treefocus/issues) -## Manually installing the plugin -- Copy over `main.js`, `styles.css`, `manifest.json` to your vault `VaultFolder/.obsidian/plugins/your-plugin-id/`. +## Contribution -## Improve code quality with eslint (optional) -- [ESLint](https://eslint.org/) is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code. -- To use eslint with this project, make sure to install eslint from terminal: - - `npm install -g eslint` -- To use eslint to analyze this project use this command: - - `eslint main.ts` - - eslint will then create a report with suggestions for code improvement by file and line number. -- If your source code is in a folder, such as `src`, you can use eslint with this command to analyze all files in that folder: - - `eslint .\src\` +Pull requests are **WELCOME** ! -## Funding URL +> If you have improvements or feel like you can solve a bug, please do not +> hesitate to submit a pull requests. Even if you think you might not be skilled +> enough. That's pure bullsh*t. We are all beginners - all the time :) -You can include funding URLs where people who use your plugin can financially support it. +## Support -The simple way is to set the `fundingUrl` field to your link in your `manifest.json` file: +If you find this useful - feel free to buy me a coffee :) -```json -{ - "fundingUrl": "https://buymeacoffee.com" -} -``` +Buy Me A
+Coffee -If you have multiple URLs, you can also do: - -```json -{ - "fundingUrl": { - "Buy Me a Coffee": "https://buymeacoffee.com", - "GitHub Sponsor": "https://github.com/sponsors", - "Patreon": "https://www.patreon.com/" - } -} -``` - -## API Documentation - -See https://github.com/obsidianmd/obsidian-api +or direct via +- [Buy Me A Coffee](https://www.buymeacoffee.com/iOSonntag) +- [GitHub Sponsor](https://github.com/sponsors/iOSonntag) +- [PayPal](https://paypal.com/paypalme/iOSonntag/20) +- [Homepage](https://iOSonntag.com/buy-me-a-coffe) \ No newline at end of file diff --git a/main.ts b/main.ts index a1e6bbe..b0a95b1 100644 --- a/main.ts +++ b/main.ts @@ -2,7 +2,7 @@ import { App, FileExplorer, Menu, PluginManifest, TAbstractFile, WorkspaceLeaf } import { pluginMetaData } from 'src/_config/meta'; import { TreeFocus } from 'src/core/tree-focus'; import { ObsidianPlugin } from 'src/enhanced-obsidian-components/obsidian-plugin'; -import { FILE_EXPLORER_TYPE } from 'src/enhanced-obsidian-components/view-types'; +import { SOURCE_TYPE_FILE_EXPLORER_CONTEXT_MENU, VIEW_TYPE_FILE_EXPLORER } from 'src/enhanced-obsidian-components/known-type-keys'; import { Log } from 'src/util/logger'; export default class TreeFocusPlugin extends ObsidianPlugin { @@ -42,7 +42,7 @@ export default class TreeFocusPlugin extends ObsidianPlugin { getFileExplorers(): FileExplorer[] { - let list = this.app.workspace.getLeavesOfType(FILE_EXPLORER_TYPE); + let list = this.app.workspace.getLeavesOfType(VIEW_TYPE_FILE_EXPLORER); return list.map((leaf) => leaf.view as FileExplorer); } @@ -57,6 +57,11 @@ export default class TreeFocusPlugin extends ObsidianPlugin { onFileMenu(menu: Menu, file: TAbstractFile, source: string, leaf?: WorkspaceLeaf): any { Log.eventFired('workspace.file-menu'); + Log.debug('menu', menu, 'file', file, 'source', source, 'leaf', leaf); + + if (source !== SOURCE_TYPE_FILE_EXPLORER_CONTEXT_MENU) return; + + this.treeFocus.onOpenFileExplorerContextMenu(menu, file); } diff --git a/manifest.json b/manifest.json index bd2a411..342d02a 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,16 @@ { "id": "treefocus", "name": "TreeFocus", - "version": "0.8.1", + "version": "0.3.1", "minAppVersion": "1.2.0", "description": "Highlight, dim & style your files & folders in the file explorer (navigation) based on predefined or custom rules.", "author": "iOSonntag", "authorUrl": "https://iOSonntag.com", - "fundingUrl": "https://iOSonntag.com/buy-me-a-coffee", - "isDesktopOnly": false + "isDesktopOnly": false, + "fundingUrl": { + "Buy Me a Coffee": "https://www.buymeacoffee.com/iOSonntag", + "GitHub Sponsor": "https://github.com/sponsors/iOSonntag", + "PayPal": "https://paypal.com/paypalme/iOSonntag/20", + "Homepage": "https://iOSonntag.com/buy-me-a-coffee" + } } diff --git a/package.json b/package.json index 6a00766..f652fe7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "obsidian-sample-plugin", - "version": "1.0.0", - "description": "This is a sample plugin for Obsidian (https://obsidian.md)", + "name": "obsidian-treefocus", + "version": "0.3.1", + "description": "Obsidian plugin: Highlight, dim & style your files & folders in the file explorer (navigation) based on predefined or custom rules.", "main": "main.js", "scripts": { "dev": "node esbuild.config.mjs", @@ -20,5 +20,8 @@ "obsidian": "latest", "tslib": "2.4.0", "typescript": "4.7.4" + }, + "dependencies": { + "deepmerge": "^4.3.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29b87d8..8bb7981 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,16 +4,21 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +dependencies: + deepmerge: + specifier: ^4.3.1 + version: 4.3.1 + devDependencies: '@types/node': specifier: ^16.11.6 version: 16.11.6 '@typescript-eslint/eslint-plugin': specifier: 5.29.0 - version: 5.29.0(@typescript-eslint/parser@5.29.0)(eslint@8.49.0)(typescript@4.7.4) + version: 5.29.0(@typescript-eslint/parser@5.29.0)(eslint@8.50.0)(typescript@4.7.4) '@typescript-eslint/parser': specifier: 5.29.0 - version: 5.29.0(eslint@8.49.0)(typescript@4.7.4) + version: 5.29.0(eslint@8.50.0)(typescript@4.7.4) builtin-modules: specifier: 3.3.0 version: 3.3.0 @@ -22,7 +27,7 @@ devDependencies: version: 0.17.3 obsidian: specifier: latest - version: 1.4.11(@codemirror/state@6.2.1)(@codemirror/view@6.19.0) + version: 1.4.11(@codemirror/state@6.2.1)(@codemirror/view@6.20.1) tslib: specifier: 2.4.0 version: 2.4.0 @@ -41,8 +46,8 @@ packages: resolution: {integrity: sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==} dev: true - /@codemirror/view@6.19.0: - resolution: {integrity: sha512-XqNIfW/3GaaF+T7Q1jBcRLCPm1NbrR2DBxrXacSt1FG+rNsdsNn3/azAfgpUoJ7yy4xgd8xTPa3AlL+y0lMizQ==} + /@codemirror/view@6.20.1: + resolution: {integrity: sha512-eeLmPgW+/70PBzPLABaeZZA69yweoHl1jga1Oszv2XjG/yEWheJTIpdWHZHwEERe5IIZJpUsvvRk6uWHnPIJ3w==} dependencies: '@codemirror/state': 6.2.1 style-mod: 4.1.0 @@ -247,13 +252,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.49.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.49.0 + eslint: 8.50.0 eslint-visitor-keys: 3.4.3 dev: true @@ -269,7 +274,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.21.0 + globals: 13.22.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -279,8 +284,8 @@ packages: - supports-color dev: true - /@eslint/js@8.49.0: - resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} + /@eslint/js@8.50.0: + resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -349,7 +354,7 @@ packages: '@types/estree': 1.0.1 dev: true - /@typescript-eslint/eslint-plugin@5.29.0(@typescript-eslint/parser@5.29.0)(eslint@8.49.0)(typescript@4.7.4): + /@typescript-eslint/eslint-plugin@5.29.0(@typescript-eslint/parser@5.29.0)(eslint@8.50.0)(typescript@4.7.4): resolution: {integrity: sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -360,12 +365,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.29.0(eslint@8.49.0)(typescript@4.7.4) + '@typescript-eslint/parser': 5.29.0(eslint@8.50.0)(typescript@4.7.4) '@typescript-eslint/scope-manager': 5.29.0 - '@typescript-eslint/type-utils': 5.29.0(eslint@8.49.0)(typescript@4.7.4) - '@typescript-eslint/utils': 5.29.0(eslint@8.49.0)(typescript@4.7.4) + '@typescript-eslint/type-utils': 5.29.0(eslint@8.50.0)(typescript@4.7.4) + '@typescript-eslint/utils': 5.29.0(eslint@8.50.0)(typescript@4.7.4) debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 functional-red-black-tree: 1.0.1 ignore: 5.2.4 regexpp: 3.2.0 @@ -376,7 +381,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.29.0(eslint@8.49.0)(typescript@4.7.4): + /@typescript-eslint/parser@5.29.0(eslint@8.50.0)(typescript@4.7.4): resolution: {integrity: sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -390,7 +395,7 @@ packages: '@typescript-eslint/types': 5.29.0 '@typescript-eslint/typescript-estree': 5.29.0(typescript@4.7.4) debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 typescript: 4.7.4 transitivePeerDependencies: - supports-color @@ -404,7 +409,7 @@ packages: '@typescript-eslint/visitor-keys': 5.29.0 dev: true - /@typescript-eslint/type-utils@5.29.0(eslint@8.49.0)(typescript@4.7.4): + /@typescript-eslint/type-utils@5.29.0(eslint@8.50.0)(typescript@4.7.4): resolution: {integrity: sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -414,9 +419,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.29.0(eslint@8.49.0)(typescript@4.7.4) + '@typescript-eslint/utils': 5.29.0(eslint@8.50.0)(typescript@4.7.4) debug: 4.3.4 - eslint: 8.49.0 + eslint: 8.50.0 tsutils: 3.21.0(typescript@4.7.4) typescript: 4.7.4 transitivePeerDependencies: @@ -449,7 +454,7 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.29.0(eslint@8.49.0)(typescript@4.7.4): + /@typescript-eslint/utils@5.29.0(eslint@8.50.0)(typescript@4.7.4): resolution: {integrity: sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -459,9 +464,9 @@ packages: '@typescript-eslint/scope-manager': 5.29.0 '@typescript-eslint/types': 5.29.0 '@typescript-eslint/typescript-estree': 5.29.0(typescript@4.7.4) - eslint: 8.49.0 + eslint: 8.50.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.49.0) + eslint-utils: 3.0.0(eslint@8.50.0) transitivePeerDependencies: - supports-color - typescript @@ -595,6 +600,11 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: false + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -660,13 +670,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.49.0): + /eslint-utils@3.0.0(eslint@8.50.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.49.0 + eslint: 8.50.0 eslint-visitor-keys: 2.1.0 dev: true @@ -680,15 +690,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.49.0: - resolution: {integrity: sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==} + /eslint@8.50.0: + resolution: {integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) '@eslint-community/regexpp': 4.8.1 '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.49.0 + '@eslint/js': 8.50.0 '@humanwhocodes/config-array': 0.11.11 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -707,7 +717,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.21.0 + globals: 13.22.0 graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 @@ -861,8 +871,8 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + /globals@13.22.0: + resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -1026,14 +1036,14 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /obsidian@1.4.11(@codemirror/state@6.2.1)(@codemirror/view@6.19.0): + /obsidian@1.4.11(@codemirror/state@6.2.1)(@codemirror/view@6.20.1): resolution: {integrity: sha512-BCVYTvaXxElJMl6MMbDdY/CGK+aq18SdtDY/7vH8v6BxCBQ6KF4kKxL0vG9UZ0o5qh139KpUoJHNm+6O5dllKA==} peerDependencies: '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 dependencies: '@codemirror/state': 6.2.1 - '@codemirror/view': 6.19.0 + '@codemirror/view': 6.20.1 '@types/codemirror': 5.60.8 moment: 2.29.4 dev: true diff --git a/resources/settings_01.png b/resources/settings_01.png new file mode 100644 index 0000000000000000000000000000000000000000..cd68a182462cf0843b5c53b9e9724c28cf3ca678 GIT binary patch literal 215086 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 >&|Hmc?Mpf3RxJ6b!5itn~@ofrn%q`OFEz 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ß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