├── .gitignore ├── CHANGELOG.md ├── CSS ├── Colored Folder │ └── F - Color.css ├── Folder Note │ ├── F - note.css │ ├── FN - Global.css │ └── Icon folder │ │ ├── FNI - Global.css │ │ ├── FNI - MOBILE.css │ │ └── FNI - Primary.css ├── IMG - Grid float.css ├── MD - Custom Syntax.css ├── README.md ├── YAML.css └── screenshot │ ├── Custom_syntax.png │ ├── Folder_note.png │ └── nested_colored.png └── plugins ├── Fast-start.js ├── README.md ├── filepath_copy.js └── space-quote.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mara-Li/Obsidian-Snippet-collection/44e4c430f271d006cff4797fe860df616a34d054/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.2.1 (2022-02-17) 2 | 3 | ### Fix 4 | 5 | - **minimal**: Fix inconstancy between file & folder flex positioning with icons 6 | 7 | ## v1.2.0 (2022-02-17) 8 | 9 | ### Fix 10 | 11 | - **minimal**: Fix weight ; size and mobile explorater 12 | 13 | ### Feat 14 | 15 | - **img**: Add "+center" placement 16 | - **icons**: Add support for docx 17 | 18 | ## v1.1.1 (2022-02-09) 19 | 20 | ### Fix 21 | 22 | - **lines**: Fix stylesettings id border style 23 | 24 | ### Refactor 25 | 26 | - **changelog**: fix changelog 27 | 28 | ## v1.1.0 (2022-02-09) 29 | 30 | ### Feat 31 | 32 | - **relationline**: Add folderradius setting 33 | 34 | ## v1.0.0 (2022-02-09) 35 | 36 | ### Fix 37 | 38 | - **contextualTypography**: Fix image grid float 39 | - **sanctum**: Fix some mobile things 40 | - **StyleSettings**: Fix indent 41 | 42 | ### Feat 43 | 44 | - **bg**: Add more style settings 45 | - **minimal**: Add support for minimal ! 46 | - **sanctum**: Add button tweaks and adjust folder 47 | 48 | ### BREAKING CHANGE 49 | 50 | - Style settings id 51 | 52 | ## v0.5.1 (2022-01-08) 53 | 54 | ### Fix 55 | 56 | - **sanctum**: :bug: fix overflow 57 | 58 | ### Refactor 59 | 60 | - **foldernote**: :zap: Clean folder 61 | 62 | ## v.0.5.0 (2022-01-07) 63 | 64 | ### Fix 65 | 66 | - **sanctum**: :zap: Fix useless css + nav overflow 67 | - :ambulance: fix overflow mobile 68 | - **StyleSetting**: :ambulance: Fix default variable in SS 69 | - **coloredFolder**: :art: fix line 70 | - **sanctum**: :zap: Improve PC folder note 71 | - **sanctum**: Fix file icons 72 | - :zap: Add style settings for unresolved links 73 | 74 | ### Feat 75 | 76 | - **sanctum**: :adhesive_bandage: Add color selection (color primary 3) 77 | - **sanctum**: Add sanctum tweaks 78 | - :art: Adding new folder (personalAdjust) 79 | - :sparkles: Add a style for unresolved wikilinks (last Obsidian Update) 80 | 81 | ### Refactor 82 | 83 | - **prettier**: :art: prettier 84 | - **prettier**: Prettier 85 | - **foldernote**: :wastebasket: Remove mobile folder note (moving to specific theme snippet) 86 | 87 | ## v0.3.0 (2021-12-11) 88 | 89 | ### Refactor 90 | 91 | - format css 92 | - Refactor all the file 93 | 94 | ### Fix 95 | 96 | - Fix and adjust the icons 97 | - Remove strange font 98 | 99 | ### Feat 100 | 101 | - **font**: add new font 102 | - Add some adjust for tags ; background code token ; links 103 | - Update folder note 104 | - Update for new Live Preview update 105 | 106 | ## v0.1.0 (2021-11-16) 107 | 108 | ### Feat 109 | 110 | - :zap: Adjust the apparence of icon folder 111 | 112 | ### Fix 113 | 114 | - This github is broken ... 115 | -------------------------------------------------------------------------------- /CSS/Colored Folder/F - Color.css: -------------------------------------------------------------------------------- 1 | /* 2 | =============================================================================== 3 | COLOURED NESTED FOLDER 4 | credit : Lithou ; Jeremy Valentine ; Mara-Li 5 | You need to change the data-path to corresponding to your folder. 6 | This will allow the colouring of the top level folders into sections that "drop down" when opened. 7 | The Color can be changed using Style Settings. 8 | =============================================================================== */ 9 | 10 | 11 | /* @settings 12 | name: Nested Folder — Relations Line 13 | id: relation-line 14 | settings: 15 | - 16 | id: relation-active 17 | type: class-toggle 18 | title: Relation Line 19 | description: Active the relation line 20 | - 21 | id: adjust-line 22 | format: heading 23 | collapsed: true 24 | title: Adjust Line 25 | level: 3 26 | - 27 | id: adjust-pc 28 | format: em 29 | title: Line PC 30 | description: Adjust line with icon (in em) (ON PC) 31 | default: 1.2 32 | type: variable-number 33 | - 34 | id: adjust-mobile 35 | format: em 36 | title: Line MOBILE 37 | description: Adjust line with icon (in em) (ON MOBILE) 38 | default: 0.8 39 | type: variable-number 40 | - 41 | id: line-color 42 | type: heading 43 | level: 2 44 | collapsed: true 45 | title: Border Color 46 | - 47 | id: nestlinecolor1 48 | title: Level 1 49 | type: variable-themed-color 50 | format: hex 51 | opacity: true 52 | default-light: "#ffffff44" 53 | default-dark: "#00000025" 54 | - 55 | id: nestlinecolor2 56 | title: Level 2 57 | type: variable-themed-color 58 | format: hex 59 | opacity: true 60 | default-light: "#ffffff44" 61 | default-dark: "#00000025" 62 | - 63 | id: nestlinecolor3 64 | title: Level 3 65 | type: variable-themed-color 66 | format: hex 67 | opacity: true 68 | default-light: "#ffffff44" 69 | default-dark: "#00000025" 70 | - 71 | id: nested-type 72 | type: heading 73 | level: 2 74 | collapsed: true 75 | title: Border Style 76 | - 77 | id: nestlinesize1 78 | title: Level 1 79 | type: variable-select 80 | default: solid 81 | options: 82 | - none 83 | - hidden 84 | - inset 85 | - outset 86 | - dotted 87 | - dashed 88 | - solid 89 | - double 90 | - groove 91 | - ridge 92 | - 93 | id: nestlinesize2 94 | title: Level 2 95 | type: variable-select 96 | default: groove 97 | options: 98 | - none 99 | - hidden 100 | - inset 101 | - outset 102 | - dotted 103 | - dashed 104 | - solid 105 | - double 106 | - groove 107 | - ridge 108 | - 109 | id: nestlinesize3 110 | title: Level 3 111 | type: variable-select 112 | default: dashed 113 | options: 114 | - none 115 | - hidden 116 | - inset 117 | - outset 118 | - dotted 119 | - dashed 120 | - solid 121 | - double 122 | - groove 123 | - ridge 124 | - 125 | id: border-size 126 | type: heading 127 | level: 2 128 | collapsed: true 129 | title: Border Size 130 | - 131 | id: nestlinestyle1 132 | type: variable-number 133 | title: Level 1 134 | default: 2 135 | format: px 136 | - 137 | id: nestlinestyle2 138 | type: variable-number 139 | title: Level 2 140 | default: 2 141 | format: px 142 | - 143 | id: nestlinestyle3 144 | type: variable-number 145 | title: Level 3 146 | default: 2 147 | format: px 148 | */ 149 | 150 | 151 | /* @settings 152 | name: Nested Folder — Colors 153 | id: nested 154 | settings: 155 | - 156 | id: FolderRadius 157 | type: variable-number 158 | format: px 159 | default: 5 160 | title: Folder Radius 161 | - 162 | id: files 163 | title: Files icon 164 | type: class-toggle 165 | - 166 | 167 | id: size 168 | type: variable-number 169 | format: px 170 | default: 18 171 | title: Icon Size 172 | - 173 | id: augmente 174 | title: Augmente font size nav 175 | default: 14 176 | max: 30 177 | min: 14 178 | format: px 179 | step: 1 180 | type: variable-number-slider 181 | - 182 | type: heading 183 | level: 2 184 | collapsed: true 185 | title: Unset folder parameters 186 | - 187 | id: root-file-color 188 | format: hex 189 | opacity: true 190 | type: variable-themed-color 191 | title: Root color 192 | default-light: "#26272b" 193 | default-dark: "#ffffff" 194 | - 195 | id: FoldText 196 | format: hex 197 | opacity: true 198 | title: Top level folder title color 199 | type: variable-themed-color 200 | default-light: "#0000002c" 201 | default-dark: "#ffffff44" 202 | - 203 | id: normal-folder 204 | type: variable-themed-color 205 | format: hex 206 | opacity: false 207 | title: Normal Folder color 208 | description: Color for unset folder. 209 | default-light: "#000000" 210 | default-dark: "#ffffff" 211 | - 212 | type: heading 213 | level: 2 214 | collapsed: false 215 | title: Settled Folder 216 | - 217 | id: bg00 218 | format: hex 219 | opacity: true 220 | type: variable-themed-color 221 | title: 00. Folder 222 | description: Background 223 | default-light: "#3131312c" 224 | default-dark: "#6e6e6e2c" 225 | - 226 | id: F00 227 | title: 00. Folder 228 | description: font 229 | type: variable-themed-color 230 | default-light: "#001219" 231 | default-dark: "#8d8d8d" 232 | format: hex 233 | opacity: false 234 | - 235 | id: bg10 236 | format: hex 237 | opacity: true 238 | description: Background 239 | type: variable-themed-color 240 | title: 10. Folder 241 | default-light: "#6867ad2c" 242 | default-dark: "#bb77622c" 243 | - 244 | id: F10 245 | title: 10. Folder 246 | description: Font 247 | type: variable-themed-color 248 | opacity: false 249 | default-light: "#4765AB" 250 | default-dark: "#bb7762" 251 | format: hex 252 | - 253 | id: bg20 254 | format: hex 255 | opacity: true 256 | type: variable-themed-color 257 | title: 20. Folder 258 | description: Background 259 | default-light: "#85adad2c" 260 | default-dark: "#77664e2c" 261 | - 262 | id: F20 263 | title: 20. Folder 264 | description: Font 265 | type: variable-themed-color 266 | opacity: false 267 | default-light: "#3E9C9D" 268 | default-dark: "#b7822f" 269 | format: hex 270 | - 271 | id: bg30 272 | description: Background 273 | format: hex 274 | opacity: true 275 | type: variable-themed-color 276 | title: 30. Folder 277 | default-light: "#50A6862c" 278 | default-dark: "#798c642c" 279 | - 280 | id: F30 281 | description: Font 282 | title: 30. Folder 283 | type: variable-themed-color 284 | default-light: "#50A686" 285 | default-dark: "#798c64" 286 | format: hex 287 | opacity: false 288 | - 289 | id: bg40 290 | description: Background 291 | format: hex 292 | opacity: true 293 | type: variable-themed-color 294 | title: 40. Folder 295 | default-light: "#4765AB2C" 296 | default-dark: "#4765AB2c" 297 | - 298 | id: F40 299 | title: 40. Folder 300 | description: Font 301 | type: variable-themed-color 302 | format: hex 303 | default-light: "#4765AB" 304 | default-dark: "#4765AB" 305 | opacity: false 306 | - 307 | id: bg50 308 | description: Background 309 | format: hex 310 | opacity: true 311 | type: variable-themed-color 312 | title: 50. Folder 313 | default-light: "#8FA1CC2c" 314 | default-dark: "#8FA1CC2c" 315 | - 316 | id: F50 317 | description: Font 318 | title: 50. Folder 319 | type: variable-themed-color 320 | format: hex 321 | default-dark: "#8FA1CC" 322 | default-light: "#8FA1CC" 323 | opacity: false 324 | - 325 | id: bg60 326 | description: Background 327 | format: hex 328 | opacity: true 329 | type: variable-themed-color 330 | title: 60. Folder 331 | default-light: "#8FA1CC2c" 332 | default-dark: "#8FA1CC2c" 333 | - 334 | id: F60 335 | title: 60. Folder 336 | description: Font 337 | type: variable-themed-color 338 | format: hex 339 | default-dark: "#8FA1CC" 340 | default-light: "#8FA1CC" 341 | opacity: false 342 | - 343 | id: bg70 344 | description: Background 345 | format: hex 346 | opacity: true 347 | type: variable-themed-color 348 | title: 70. Folder 349 | default-light: "#ffffff00" 350 | default-dark: "#ffffff00" 351 | - 352 | id: F70 353 | description: Font 354 | title: 70. Folder 355 | type: variable-themed-color 356 | format: hex 357 | default-dark: "#ffffff00" 358 | default-light: "#ffffff00" 359 | opacity: false 360 | - 361 | id: bg80 362 | description: Background 363 | format: hex 364 | opacity: true 365 | type: variable-themed-color 366 | title: 80. Folder 367 | default-light: "#ad8c332c" 368 | default-dark: "#ad8c332c" 369 | - 370 | id: F80 371 | description: Font 372 | title: 80. Folder 373 | type: variable-themed-color 374 | format: hex 375 | default-light: "#ad8c33" 376 | default-dark: "#ad8c33" 377 | opacity: false 378 | - 379 | id: bg90 380 | description: Background 381 | format: hex 382 | opacity: true 383 | type: variable-themed-color 384 | title: 90. Folder 385 | default-light: "#ffffff00" 386 | default-dark: "#ffffff00" 387 | - 388 | id: F90 389 | description: Font 390 | title: 90. Folder 391 | type: variable-themed-color 392 | format: hex 393 | default-light: "#ad8c33" 394 | default-dark: "#ad8c33" 395 | opacity: false 396 | - 397 | id: bg100 398 | description: Background 399 | format: hex 400 | opacity: true 401 | type: variable-themed-color 402 | title: 100. Folder 403 | default-light: "#ffffff00" 404 | default-dark: "#ffffff00" 405 | - 406 | id: F100 407 | description: Font 408 | title: 100. Folder 409 | type: variable-themed-color 410 | format: hex 411 | default-light: "#ffffff00" 412 | default-dark: "#ffffff00" 413 | opacity: false 414 | - 415 | id: bgZZ 416 | description: Background 417 | format: hex 418 | opacity: true 419 | type: variable-themed-color 420 | title: ZZ. Folder 421 | default-light: "#B69D912c" 422 | default-dark: "#617e8c2c" 423 | - 424 | id: FZZ 425 | description: Font 426 | title: ZZ. Folder 427 | type: variable-themed-color 428 | format: hex 429 | default-light: "#B69D91" 430 | default-dark : "#617e8c" 431 | opacity: false 432 | - 433 | id: bgArchive 434 | description: Background 435 | format: hex 436 | opacity: true 437 | type: variable-themed-color 438 | title: Archive 439 | default-light: "#ffffff00" 440 | default-dark: "#ffffff00" 441 | - 442 | id: FArchive 443 | description: Font 444 | title: Archive 445 | type: variable-themed-color 446 | format: hex 447 | default-light: "#ffffff00" 448 | default-dark: "#ffffff00" 449 | opacity: false 450 | */ 451 | 452 | :root { 453 | /* folder colours */ 454 | /* line styles for nesting indicators */ 455 | --nestlinesize1: solid; 456 | --nestlinestyle1: 2px; 457 | --nestlinesize2: groove; 458 | --nestlinestyle2: 2px; 459 | --nestlinesize3: dashed; 460 | --nestlinestyle3: 2px; 461 | --FolderRadius: 5px; 462 | --FoldTextMaster: var(--FoldText); 463 | --inbox-font: 0, 18, 25; 464 | --adjust-pc: 1.2em; 465 | --adjust-mobile: 0.8em; 466 | --size: 18px; 467 | --augmente: 14px; 468 | } 469 | 470 | .theme-dark { 471 | --F00: #8d8d8d; 472 | --F10: #bb7762; 473 | --F20: #b7822f; 474 | --F30: #798c64; 475 | --F40: #4765ab; 476 | --F50: #8fa1cc; 477 | --F60: #8fa1cc; 478 | --F70: #ffffff00; 479 | --F80: #ad8c33; 480 | --F90: #ad8c33; 481 | --F100: #ffffff00; 482 | --FZZ: #617e8c; 483 | --root-file-color: #ffffff; 484 | --FoldText: #ffffff44; 485 | --nestlinecolor1: #ffffff44; 486 | --nestlinecolor2: #ffffff44; 487 | --nestlinecolor3: #ffffff44; 488 | --bg00: #6e6e6e2c; 489 | --bg10: #bb77622c; 490 | --bg20: #77664e2c; 491 | --bg30: #798c642c; 492 | --bg40: #4765ab2c; 493 | --bg50: #8fa1cc2c; 494 | --bg60: #ffffff00; 495 | --bg70: #ffffff00; 496 | --bg80: #ad8c332c; 497 | --bg90: #ffffff00; 498 | --bg100: #ffffff00; 499 | --bgZZ: #617e8c2c; 500 | --normal-folder: #ffffff; 501 | --bgArchive: #ffffff00; 502 | --FArchive: #ffffff00; 503 | } 504 | 505 | .theme-light { 506 | --F00: #00121a; 507 | --F10: #bb7762; 508 | --F20: #3e9c9d; 509 | --F30: #50a686; 510 | --F50: #4765ab; 511 | --F40: #8fa1cc; 512 | --F60: #8fa1cc; 513 | --F70: #ffffff00; 514 | --F80: #ad8c33; 515 | --F90: #ad8c33; 516 | --F100: #ffffff00; 517 | --FZZ: #b69d91; 518 | --root-file-color: #26272b; 519 | --FoldText: #0000002c; 520 | --nestlinecolor1: #00000025; 521 | --nestlinecolor2: #00000025; 522 | --nestlinecolor3: #00000025; 523 | --bg00: #3131312c; 524 | --bg10: #bb77622c; 525 | --bg20: #85adad2c; 526 | --bg30: #50a6862c; 527 | --bg40: #4765ab2c; 528 | --bg50: #8fa1cc2c; 529 | --bg60: #ffffff00; 530 | --bg70: #ffffff00; 531 | --bg80: #ad8c332c; 532 | --bg90: #ffffff00; 533 | --bg100: #b69d912c; 534 | --bgZZ: #b69d912c; 535 | --normal-folder: #000000; 536 | --bgArchive: #ffffff00; 537 | --FArchive: #ffffff00; 538 | } 539 | 540 | .nav-file-title, 541 | .nav-folder-title { 542 | color: var(--normal-folder); 543 | font-size: var(--augmente) !important; 544 | border-radius: 0px; 545 | } 546 | 547 | .nav-folder-title[data-path^="/"] { 548 | display: none; 549 | } 550 | 551 | body:not(.is-grabbing) .nav-folder-title:hover { 552 | border-radius: 0px; 553 | } 554 | 555 | body:not(.is-grabbing) .nav-file-title:hover .nav-folder-collapse-indicator, 556 | body:not(.is-grabbing) .nav-folder-title:hover .nav-folder-collapse-indicator { 557 | background-color: transparent !important; 558 | } 559 | 560 | .nav-folder-title[data-path^="/"] { 561 | display: none; 562 | } 563 | 564 | .fx-icons .nav-folder:not(.nav-folder.mod-root) { 565 | margin-left: 0; 566 | } 567 | 568 | .nav-folder-collapse-indicator.collapse-icon svg.right-triangle { 569 | color: currentColor !important; 570 | } 571 | 572 | .nav-file-title.is-being-dragged, 573 | .nav-folder-title.is-being-dragged { 574 | background-color: #8e939349 !important; 575 | } 576 | 577 | .nav-folder-title.is-being-dragged-over { 578 | background-color: transparent !important; 579 | color: currentColor !important; 580 | filter: saturate(500%) !important; 581 | } 582 | 583 | .CodeMirror-foldgutter-folded, 584 | .is-collapsed .nav-folder-collapse-indicator, 585 | .nav-folder-collapse-indicator { 586 | color: currentColor !important; 587 | } 588 | 589 | .nav-file-tag { 590 | display: none; 591 | top: -1px; 592 | } 593 | 594 | /* 595 | .nav-folder-children { 596 | padding-left: 1.9em; 597 | } 598 | */ 599 | 600 | .nav-file-title.is-active::before { 601 | margin-top: 2px; 602 | width: 22px; 603 | height: 20px; 604 | } 605 | 606 | 607 | /* == File Explorer - animation for active file as per Obuntu === */ 608 | 609 | .nav-folder.mod-root>.nav-folder-title { 610 | padding-left: 6px; 611 | font-size: 14px; 612 | font-weight: normal !important; 613 | top: -6px; 614 | cursor: default; 615 | } 616 | 617 | .nav-file.is-active>.nav-file-title, 618 | .nav-file.is-active>.nav-file-title:hover { 619 | border-radius: 6px; 620 | font-weight: normal !important; 621 | border-left: 2px solid var(--text-accent); 622 | transition: all 0.5s ease; 623 | } 624 | 625 | .nav-file.is-active>.nav-file-title { 626 | padding-left: 5px; 627 | 628 | } 629 | 630 | .nav-file-title.is-active, 631 | body:not(.is-grabbing) .nav-file-title:hover, 632 | body:not(.is-grabbing) .nav-folder-title:hover { 633 | transition: all 0.2s ease; 634 | } 635 | 636 | div:not(.is-mobile)>.workspace-leaf-content .view-content .nav-file-title-content:hover, 637 | div:not(.is-mobile)>.workspace-leaf-content>.view-content>.nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-title:hover { 638 | color: var(--text-accent) !important; 639 | } 640 | 641 | .nav-folder-children .nav-file-title-content:first-child::before { 642 | font-size: 18px !important; 643 | } 644 | 645 | .nav-folder-children .nav-file-title-content:first-child::before { 646 | font-size: var(--size) !important; 647 | padding-left: 3px !important; 648 | } 649 | 650 | div:not(.is-mobile)>.workspace-leaf-content>.view-content .nav-folder-title { 651 | color: var(--text-accent) !important; 652 | } 653 | 654 | 655 | /* SR Plugins adjust */ 656 | 657 | div:not(.is-mobile)>.workspace-leaf-content>.view-content>.nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-title { 658 | color: var(--text-normal) !important; 659 | } 660 | 661 | div:not(.is-mobile)>.workspace-leaf-content>.view-content .nav-file-title-content { 662 | color: var(--text-normal) !important; 663 | } 664 | 665 | div:not(.is-mobile)>.workspace-leaf-content .view-content .nav-folder-children .nav-file-title-content:first-child::before { 666 | top: -1px !important; 667 | } 668 | 669 | 670 | /* Set up explorer container margins */ 671 | 672 | .nav-files-container { 673 | margin: 0px 5px; 674 | } 675 | 676 | .nav-folder-title { 677 | margin: 0; 678 | width: 100% !important; 679 | } 680 | 681 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children .nav-file-title { 682 | margin-left: -5px; 683 | } 684 | 685 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title { 686 | font-family: var(--default-font); 687 | font-size: calc(var(--augmente) + 3px) !important; 688 | color: var(--FoldText); 689 | padding-left: 5px; 690 | margin-top: 7px; 691 | /* space between top level sections */ 692 | border-radius: var(--FolderRadius) var(--FolderRadius) 0px 0px; 693 | } 694 | 695 | .nav-folder.mod-root>.nav-folder-children>.nav-folder.is-collapsed>.nav-folder-title { 696 | border-radius: var(--FolderRadius); 697 | } 698 | 699 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children { 700 | padding-left: 0px; 701 | border-top: var(--FoldText) 1px solid; 702 | border-radius: 0px 0px var(--FolderRadius) var(--FolderRadius); 703 | color: var(--FoldText); 704 | /* padding-bottom: 12px; */ 705 | } 706 | 707 | .nav-file-title.is-active, 708 | .nav-file-title:hover, 709 | body:not(.is-grabbing) .nav-folder-title:hover 710 | { 711 | border-radius: 5px; 712 | } 713 | 714 | 715 | /* ======================== FOLDER 00 =================== */ 716 | 717 | .nav-folder-title[data-path^="00."], 718 | .nav-file-title[data-path*="00."] { 719 | color: var(--F00) !important; 720 | } 721 | 722 | [data-path^="00."] .obsidian-icon-folder-icon svg{ 723 | fill: var(--F00) !important; 724 | } 725 | 726 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="00."], 727 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="00."]+.nav-folder-children { 728 | background-color: var(--bg00); 729 | } 730 | 731 | .theme-light .nav-file-title.is-active[data-path^="00."], 732 | .theme-dark .nav-file-title.is-active[data-path^="00."], 733 | .theme-dark .nav-folder-title[data-path^="00."]:hover, 734 | .theme-light .nav-folder-title[data-path^="00."]:hover, 735 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="00."], 736 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="00."], 737 | .theme-dark .nav-file-title[data-path^="00."]:hover, 738 | .colorful-active .nav-file-title.is-active[data-path^="00."], 739 | .theme-light .nav-file-title[data-path^="00."]:hover, 740 | .theme-light .nav-folder-title.is-active[data-path^="00."], 741 | .theme-dark .nav-folder-title.is-active[data-path^="00."] { 742 | color: var(--F00) !important; 743 | background-color: var(--bg00) !important; 744 | filter: saturate(150%); 745 | } 746 | 747 | 748 | /* ======================== FOLDER 10 =================== */ 749 | 750 | .nav-folder-title[data-path^="10."], 751 | .nav-file-title[data-path*="10."] { 752 | color: var(--F10) !important; 753 | } 754 | 755 | [data-path*="10."] .obsidian-icon-folder-icon svg{ 756 | fill: var(--F10) !important; 757 | } 758 | 759 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="10."], 760 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="10."]+.nav-folder-children { 761 | background-color: var(--bg10); 762 | } 763 | 764 | .theme-light .nav-file-title.is-active[data-path^="10."], 765 | .theme-dark .nav-file-title.is-active[data-path^="10."], 766 | .theme-dark .nav-folder-title[data-path^="10."]:hover, 767 | .nav-folder-title[data-path^="10."]:hover, 768 | .theme-light .nav-folder-title[data-path^="10."]:hover, 769 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="10."], 770 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="10."], 771 | .colorful-active .nav-file-title.is-active[data-path^="10."], 772 | .theme-dark .nav-file-title[data-path^="10."]:hover, 773 | .theme-light .nav-file-title[data-path^="10."]:hover, 774 | .theme-light .nav-folder-title.is-active[data-path^="10."], 775 | .theme-dark .nav-folder-title.is-active[data-path^="10."] { 776 | color: var(--F10) !important; 777 | background-color: var(--bg10) !important; 778 | filter: saturate(150%); 779 | } 780 | 781 | 782 | /* ======================== FOLDER 20 - 23 =================== */ 783 | 784 | .nav-folder-title[data-path^="20."], 785 | .nav-file-title[data-path^="20."], 786 | .nav-file-title[data-path^="20."][data-path*="21."], 787 | .nav-file-title[data-path^="20."][data-path*="22."], 788 | .nav-file-title[data-path^="20."][data-path*="23."] { 789 | color: var(--F20) !important; 790 | } 791 | 792 | [data-path^="20."] .obsidian-icon-folder-icon svg, 793 | [data-path^="20."][data-path*="21."] .obsidian-icon-folder-icon svg, 794 | [data-path^="20."][data-path*="22."] .obsidian-icon-folder-icon svg, 795 | [data-path^="20."][data-path*="23."] .obsidian-icon-folder-icon svg { 796 | fill: var(--F20) !important; 797 | } 798 | 799 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="20."], 800 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="20."]+.nav-folder-children { 801 | background-color: var(--bg20); 802 | } 803 | 804 | .theme-light .nav-file-title.is-active[data-path^="20."], 805 | .theme-dark .nav-file-title.is-active[data-path^="20."], 806 | .theme-dark .nav-folder-title[data-path^="20."]:hover, 807 | .theme-light .nav-folder-title[data-path^="20."]:hover, 808 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="20."], 809 | .colorful-active .nav-file-title.is-active[data-path^="20."], 810 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="20."], 811 | .theme-dark .nav-file-title[data-path^="20."]:hover, 812 | .theme-light .nav-file-title[data-path^="20."]:hover, 813 | .nav-file-title[data-path^="20."]:hover, 814 | .theme-light .nav-folder-title.is-active[data-path^="20."], 815 | .theme-dark .nav-folder-title.is-active[data-path^="20."] { 816 | color: var(--F20) !important; 817 | background-color: var(--bg20) !important; 818 | filter: saturate(150%); 819 | } 820 | 821 | 822 | /* ======================== FOLDER 30 =================== */ 823 | 824 | .nav-folder-title[data-path^="30"], 825 | .nav-file-title[data-path*="30."] { 826 | color: var(--F30) !important; 827 | } 828 | 829 | [data-path^="30"] .obsidian-icon-folder-icon svg, 830 | [data-path*="30."] .obsidian-icon-folder-icon svg { 831 | fill: var(--F30) !important; 832 | } 833 | 834 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="30."], 835 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="30."]+.nav-folder-children { 836 | background-color: var(--bg30); 837 | } 838 | 839 | .theme-light .nav-file-title.is-active[data-path^="30."], 840 | .theme-dark .nav-file-title.is-active[data-path^="30."], 841 | .theme-dark .nav-folder-title[data-path^="30."]:hover, 842 | .colorful-active .nav-file-title.is-active[data-path^="30."], 843 | .theme-light .nav-folder-title[data-path^="30."]:hover, 844 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="30."], 845 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="30."], 846 | .theme-dark .nav-file-title[data-path^="30."]:hover, 847 | .theme-light .nav-file-title[data-path^="30."]:hover, 848 | .theme-light .nav-folder-title.is-active[data-path^="30."], 849 | .theme-dark .nav-folder-title.is-active[data-path^="30."] { 850 | color: var(--F30) !important; 851 | background-color: var(--bg30) !important; 852 | filter: saturate(150%); 853 | } 854 | 855 | 856 | /* ======================== FOLDER 40 =================== */ 857 | 858 | .nav-folder-title[data-path^="40"], 859 | .nav-file-title[data-path*="40."] { 860 | color: var(--F40) !important; 861 | } 862 | 863 | [data-path^="40"] .obsidian-icon-folder-icon svg { 864 | fill: var(--F40) !important; 865 | } 866 | 867 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="40."], 868 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="40."]+.nav-folder-children { 869 | background-color: var(--bg40); 870 | } 871 | 872 | .theme-light .nav-file-title.is-active[data-path^="40."], 873 | .theme-dark .nav-file-title.is-active[data-path^="40."], 874 | .theme-dark .nav-folder-title[data-path^="40."]:hover, 875 | .theme-light .nav-folder-title[data-path^="40."]:hover, 876 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="40."], 877 | .colorful-active .nav-file-title.is-active[data-path^="40."], 878 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="40."], 879 | .theme-dark .nav-file-title[data-path^="40."]:hover, 880 | .theme-light .nav-file-title[data-path^="40."]:hover, 881 | .theme-light .nav-folder-title.is-active[data-path^="40."], 882 | .theme-dark .nav-folder-title.is-active[data-path^="40."] { 883 | color: var(--F40) !important; 884 | background-color: var(--bg40) !important; 885 | filter: saturate(150%); 886 | } 887 | 888 | 889 | /* ======================== FOLDER 50 =================== */ 890 | 891 | .nav-folder-title[data-path^="50."], 892 | .nav-file-title[data-path*="50."] { 893 | color: var(--F50) !important; 894 | } 895 | 896 | [data-path^="50"] .obsidian-icon-folder-icon svg { 897 | fill: var(--F50) !important; 898 | } 899 | 900 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="50."], 901 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="50."]+.nav-folder-children { 902 | background-color: var(--bg50); 903 | } 904 | 905 | .theme-light .nav-file-title.is-active[data-path^="50."], 906 | .theme-dark .nav-file-title.is-active[data-path^="50."], 907 | .theme-dark .nav-folder-title[data-path^="50."]:hover, 908 | .theme-light .nav-folder-title[data-path^="50."]:hover, 909 | .colorful-active .nav-file-title.is-active[data-path^="50."], 910 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="50."], 911 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="50."], 912 | .theme-dark .nav-file-title[data-path^="50."]:hover, 913 | .theme-light .nav-file-title[data-path^="50."]:hover, 914 | .theme-light .nav-folder-title.is-active[data-path^="50."], 915 | .theme-dark .nav-folder-title.is-active[data-path^="50."] { 916 | color: var(--F50) !important; 917 | background-color: var(--bg50) !important; 918 | filter: saturate(150%); 919 | } 920 | 921 | 922 | /* ======================== FOLDER 60 =================== */ 923 | 924 | .nav-folder-title[data-path^="60."], 925 | .nav-file-title[data-path*="60."] { 926 | color: var(--F60) !important; 927 | } 928 | 929 | [data-path^="60."] .obsidian-icon-folder-icon svg { 930 | fill: var(--F60) !important; 931 | } 932 | 933 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="60."], 934 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="60."]+.nav-folder-children { 935 | background-color: var(--bg60); 936 | } 937 | 938 | .theme-light .nav-file-title.is-active[data-path^="60."], 939 | .theme-dark .nav-file-title.is-active[data-path^="60."], 940 | .theme-dark .nav-folder-title[data-path^="60."]:hover, 941 | .theme-light .nav-folder-title[data-path^="60."]:hover, 942 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="60."], 943 | .colorful-active .nav-file-title.is-active[data-path^="60."], 944 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="60."], 945 | .theme-dark .nav-file-title[data-path^="60."]:hover, 946 | .theme-light .nav-file-title[data-path^="60."]:hover, 947 | .theme-light .nav-folder-title.is-active[data-path^="60."], 948 | .theme-dark .nav-folder-title.is-active[data-path^="60."] { 949 | color: var(--F60) !important; 950 | background-color: var(--bg60) !important; 951 | filter: saturate(150%); 952 | } 953 | 954 | 955 | /* ======================== FOLDER 70 =================== */ 956 | 957 | .nav-folder-title[data-path^="70"], 958 | .nav-file-title[data-path*="70."] { 959 | color: var(--F70) !important; 960 | } 961 | 962 | [data-path^="70"] .obsidian-icon-folder-icon svg { 963 | fill: var(--F70) !important; 964 | } 965 | 966 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="70."], 967 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="70."]+.nav-folder-children { 968 | background-color: var(--bg70); 969 | } 970 | 971 | .theme-light .nav-file-title.is-active[data-path^="70."], 972 | .theme-dark .nav-file-title.is-active[data-path^="70."], 973 | .theme-dark .nav-folder-title[data-path^="70."]:hover, 974 | .theme-light .nav-folder-title[data-path^="70."]:hover, 975 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="70."], 976 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="70."], 977 | .colorful-active .nav-file-title.is-active[data-path^="70."], 978 | .theme-dark .nav-file-title[data-path^="70."]:hover, 979 | .theme-light .nav-file-title[data-path^="70."]:hover, 980 | .theme-light .nav-folder-title.is-active[data-path^="70."], 981 | .theme-dark .nav-folder-title.is-active[data-path^="70."] { 982 | color: var(--F70) !important; 983 | background-color: var(--bg70) !important; 984 | filter: saturate(150%); 985 | } 986 | 987 | 988 | /* ======================== FOLDER 80 =================== */ 989 | 990 | .nav-folder-title[data-path^="80."], 991 | .nav-file-title[data-path^="80."] { 992 | color: var(--F80) !important; 993 | } 994 | 995 | [data-path^="80."] .obsidian-icon-folder-icon svg { 996 | fill: var(--F80) !important; 997 | } 998 | 999 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="80."], 1000 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="80."]+.nav-folder-children { 1001 | background-color: var(--bg80); 1002 | } 1003 | 1004 | .theme-light .nav-file-title.is-active[data-path^="80."], 1005 | .theme-dark .nav-file-title.is-active[data-path^="80."], 1006 | .theme-dark .nav-folder-title[data-path^="80."]:hover, 1007 | .theme-light .nav-folder-title[data-path^="80."]:hover, 1008 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="80."], 1009 | .colorful-active .nav-file-title.is-active[data-path^="80."], 1010 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="80."], 1011 | .theme-dark .nav-file-title[data-path^="80."]:hover, 1012 | .theme-light .nav-file-title[data-path^="80."]:hover, 1013 | .theme-light .nav-folder-title.is-active[data-path^="80."], 1014 | .theme-dark .nav-folder-title.is-active[data-path^="80."] { 1015 | color: var(--F80) !important; 1016 | background-color: var(--bg80) !important; 1017 | filter: saturate(150%); 1018 | } 1019 | 1020 | 1021 | /* ======================== FOLDER 90 =================== */ 1022 | 1023 | .nav-folder-title[data-path^="90."], 1024 | .nav-file-title[data-path*="90."] { 1025 | color: var(--F90) !important; 1026 | } 1027 | 1028 | [data-path^="90."] .obsidian-icon-folder-icon svg { 1029 | fill: var(--F90) !important; 1030 | } 1031 | 1032 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="90."], 1033 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="90."]+.nav-folder-children { 1034 | background-color: var(--bg90); 1035 | } 1036 | 1037 | .theme-light .nav-file-title.is-active[data-path^="90."], 1038 | .theme-dark .nav-file-title.is-active[data-path^="90."], 1039 | .theme-dark .nav-folder-title[data-path^="90."]:hover, 1040 | .theme-light .nav-folder-title[data-path^="90."]:hover, 1041 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="90."], 1042 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="90."], 1043 | .colorful-active .nav-file-title.is-active[data-path^="90."], 1044 | .theme-dark .nav-file-title[data-path^="90."]:hover, 1045 | .theme-light .nav-file-title[data-path^="90."]:hover, 1046 | .theme-light .nav-folder-title.is-active[data-path^="90."], 1047 | .theme-dark .nav-folder-title.is-active[data-path^="90."] { 1048 | color: var(--F90) !important; 1049 | background-color: var(--bg90) !important; 1050 | filter: saturate(150%); 1051 | } 1052 | 1053 | 1054 | /* ======================== FOLDER 100 =================== */ 1055 | 1056 | .nav-folder-title[data-path^="100."], 1057 | .nav-file-title[data-path*="100."] { 1058 | color: var(--F100) !important; 1059 | } 1060 | 1061 | [data-path^="100."] .obsidian-icon-folder-icon svg { 1062 | fill: var(--F100) !important; 1063 | } 1064 | 1065 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="100."], 1066 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="100."]+.nav-folder-children { 1067 | background-color: var(--bg100); 1068 | } 1069 | 1070 | .theme-light .nav-file-title.is-active[data-path^="100."], 1071 | .theme-dark .nav-file-title.is-active[data-path^="100."], 1072 | .theme-dark .nav-folder-title[data-path^="100."]:hover, 1073 | .theme-light .nav-folder-title[data-path^="100."]:hover, 1074 | .colorful-active .nav-file-title.is-active[data-path^="100."], 1075 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="100."], 1076 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="100."], 1077 | .theme-dark .nav-file-title[data-path^="100."]:hover, 1078 | .theme-light .nav-file-title[data-path^="100."]:hover, 1079 | .theme-light .nav-folder-title.is-active[data-path^="100."], 1080 | .theme-dark .nav-folder-title.is-active[data-path^="100."] { 1081 | color: var(--F100) !important; 1082 | background-color: var(--bg100) !important; 1083 | filter: saturate(150%); 1084 | } 1085 | 1086 | .theme-light .nav-folder-children .nav-folder-children, 1087 | .theme-dark .nav-folder-children .nav-folder-children { 1088 | border-left: none; 1089 | } 1090 | 1091 | 1092 | /* ======================== Outils - ZZ =================== */ 1093 | 1094 | .nav-folder-title[data-path^="ZZ."], 1095 | .nav-file-title[data-path*="ZZ."] { 1096 | color: var(--FZZ) !important; 1097 | } 1098 | 1099 | .nav-folder-title[data-path^="Outils"], 1100 | .nav-file-title[data-path*="Outils"] { 1101 | color: var(--FZZ) !important; 1102 | } 1103 | 1104 | [data-path^="ZZ."] .obsidian-icon-folder-icon svg, 1105 | [data-path^="Outils"] .obsidian-icon-folder-icon svg { 1106 | fill: var(--FZZ) !important; 1107 | } 1108 | 1109 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="ZZ."], 1110 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="ZZ."]+.nav-folder-children { 1111 | background-color: var(--bgZZ); 1112 | } 1113 | 1114 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="Outils"], 1115 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="Outils"]+.nav-folder-children { 1116 | background-color: var(--bgZZ); 1117 | } 1118 | 1119 | .theme-light .nav-file-title.is-active[data-path^="ZZ."], 1120 | .theme-dark .nav-file-title.is-active[data-path^="ZZ."], 1121 | .theme-dark .nav-folder-title[data-path^="ZZ."]:hover, 1122 | .theme-light .nav-folder-title[data-path^="ZZ."]:hover, 1123 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="ZZ."], 1124 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="ZZ."], 1125 | .theme-dark .nav-file-title[data-path^="ZZ."]:hover, 1126 | .theme-light .nav-file-title[data-path^="ZZ."]:hover, 1127 | .theme-light .nav-folder-title.is-active[data-path^="ZZ."], 1128 | .theme-dark .nav-folder-title.is-active[data-path^="ZZ."], 1129 | .theme-light .nav-file-title.is-active[data-path^="Outils"], 1130 | .theme-dark .nav-file-title.is-active[data-path^="Outils"], 1131 | .theme-dark .nav-folder-title[data-path^="Outils"]:hover, 1132 | .colorful-active .nav-file-title.is-active[data-path^="Outils"], 1133 | .theme-light .nav-folder-title[data-path^="Outils"]:hover, 1134 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="Outils"], 1135 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="Outils"], 1136 | .theme-dark .nav-file-title[data-path^="Outils"]:hover, 1137 | .theme-light .nav-file-title[data-path^="Outils"]:hover, 1138 | .theme-light .nav-folder-title.is-active[data-path^="Outils"], 1139 | .theme-dark .nav-folder-title.is-active[data-path^="Outils"] { 1140 | color: var(--FZZ) !important; 1141 | background-color: var(--bgZZ) !important; 1142 | filter: saturate(150%); 1143 | } 1144 | 1145 | 1146 | /* ======== ARCHIVE ================ */ 1147 | 1148 | .nav-folder-title[data-path^="Archive"], 1149 | .nav-file-title[data-path*="Archive"] { 1150 | color: var(--FArchive) !important; 1151 | } 1152 | 1153 | [data-path^="Archive"] .obsidian-icon-folder-icon svg { 1154 | fill: var(--FArchive) !important; 1155 | } 1156 | 1157 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="Archive"], 1158 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title[data-path^="Archive"]+.nav-folder-children { 1159 | background-color: var(--bgArchive); 1160 | } 1161 | 1162 | .theme-light .nav-file-title.is-active[data-path^="Archive"], 1163 | .theme-dark .nav-file-title.is-active[data-path^="Archive"], 1164 | .theme-dark .nav-folder-title[data-path^="Archive"]:hover, 1165 | .theme-light .nav-folder-title[data-path^="Archive"]:hover, 1166 | .colorful-active .nav-file-title.is-active[data-path^="Archive"], 1167 | .theme-dark .colorful-active .nav-file-title.is-active[data-path^="Archive"], 1168 | .theme-light .colorful-active .nav-file-title.is-active[data-path^="Archive"], 1169 | .theme-dark .nav-file-title[data-path^="Archive"]:hover, 1170 | .theme-light .nav-file-title[data-path^="Archive"]:hover, 1171 | .theme-light .nav-folder-title.is-active[data-path^="Archive"], 1172 | .theme-dark .nav-folder-title.is-active[data-path^="Archive"] { 1173 | color: var(--FArchive) !important; 1174 | background-color: var(--bgArchive) !important; 1175 | filter: saturate(150%); 1176 | } 1177 | 1178 | /* ======== LINES ================ */ 1179 | 1180 | /* Scrollbars eliminated */ 1181 | 1182 | ::-webkit-scrollbar { 1183 | width: 0px; 1184 | height: 0px; 1185 | } 1186 | 1187 | 1188 | 1189 | /* Relationship lines for 2nd, 3rd, and 4th level folders */ 1190 | 1191 | @media only screen and (max-device-width: 1080px) { 1192 | .relation-active .is-mobile .nav-folder.mod-root { 1193 | overflow: hidden !important; 1194 | } 1195 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-file { 1196 | border-left: var(--nestlinestyle1) var(--nestlinesize1) var(--nestlinecolor1); 1197 | margin-left: var(--adjust-mobile); 1198 | } 1199 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder { 1200 | border-left: var(--nestlinestyle1) var(--nestlinesize1) var(--nestlinecolor1); 1201 | margin-left: var(--adjust-mobile); 1202 | } 1203 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-file { 1204 | border-left: var(--nestlinestyle2) var(--nestlinesize2) var(--nestlinecolor2); 1205 | margin-left: var(--adjust-mobile); 1206 | } 1207 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder { 1208 | border-left: var(--nestlinestyle2) var(--nestlinesize2) var(--nestlinecolor2); 1209 | margin-left: var(--adjust-mobile); 1210 | } 1211 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-file { 1212 | border-left: var(--nestlinestyle3) var(--nestlinesize3) var(--nestlinecolor3); 1213 | margin-left: var(--adjust-mobile); 1214 | } 1215 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder { 1216 | border-left: var(--nestlinestyle3) var(--nestlinesize3) var(--nestlinecolor3); 1217 | margin-left: var(--adjust-mobile); 1218 | } 1219 | } 1220 | 1221 | @media only screen and (min-device-width: 1024px) { 1222 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-file { 1223 | border-left: var(--nestlinestyle1) var(--nestlinesize1) var(--nestlinecolor1); 1224 | margin-left: var(--adjust-pc); 1225 | } 1226 | 1227 | 1228 | 1229 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder { 1230 | border-left: var(--nestlinestyle1) var(--nestlinesize1) var(--nestlinecolor1); 1231 | margin-left: var(--adjust-pc); 1232 | } 1233 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-file { 1234 | border-left: var(--nestlinestyle2) var(--nestlinesize2) var(--nestlinecolor2); 1235 | margin-left: var(--adjust-pc); 1236 | } 1237 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder { 1238 | border-left: var(--nestlinestyle2) var(--nestlinesize2) var(--nestlinecolor2); 1239 | margin-left: var(--adjust-pc); 1240 | } 1241 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-file { 1242 | border-left: var(--nestlinestyle3) var(--nestlinesize3) var(--nestlinecolor3); 1243 | margin-left: calc(var(--adjust-pc)); 1244 | } 1245 | .relation-active .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder { 1246 | border-left: var(--nestlinestyle3) var(--nestlinesize3) var(--nestlinecolor3); 1247 | margin-left: calc(var(--adjust-pc)); 1248 | } 1249 | } 1250 | -------------------------------------------------------------------------------- /CSS/Folder Note/F - note.css: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | FOLDER NOTE EXAMPLE [PC] 4 | credit : Mara-Li 5 | Plugins : 6 | - FolderNote & FolderNote core : https://github.com/aidenlx/alx-folder-note 7 | - Icon Folder : https://github.com/FlorianWoelki/obsidian-icon-folder 8 | 9 | You need to change the data-path to corresponding to your folder. 10 | 11 | ============================================================================== */ 12 | 13 | .alx-empty-folder>.nav-folder-title>.nav-folder-collapse-indicator { 14 | display: none !important; 15 | } 16 | 17 | .obsidian-icon-folder-icon svg { 18 | width: 18px; 19 | height: 18px; 20 | } 21 | 22 | .nav-folder.alx-folder-with-note>.nav-folder-title>.nav-folder-title-content { 23 | text-decoration: none !important; 24 | } 25 | 26 | .nav-folder.alx-folder-with-note>.nav-folder-title>.nav-folder-title-content:after { 27 | display: none; 28 | } 29 | 30 | @media only screen and (min-device-width: 1024px) { 31 | /* PC */ 32 | .nav-file-title svg:not(.right-triangle) { 33 | margin-left: 2px !important; 34 | } 35 | .nav-file-title-content, 36 | .nav-folder-title-content { 37 | padding-left: 0; 38 | } 39 | /* example of folder note */ 40 | /* 41 | 42 | .alx-empty-folder .nav-folder-title[data-path*="my_folder_path/"] .nav-folder-title-content, 43 | .alx-empty-folder .nav-folder-title[data-path*="my_folder_path/"] .obsidian-icon-folder-icon { 44 | position: relative !important; 45 | left: 0.9em !important; 46 | } 47 | 48 | .nav-folder-title[data-path*="22. my_folder_path/"] .nav-folder-title-content, 49 | .nav-folder-title[data-path*="22. my_folder_path/"] svg:not(.right-triangle) { 50 | position: relative !important; 51 | right: 1.05em; 52 | } 53 | .nav-folder-title[data-path*="22. my_folder_path/"] svg:not(.right-triangle) { 54 | vertical-align: middle !important; 55 | } 56 | .alx-folder-with-note .nav-folder-title[data-path*="another_folder"] svg:not(.right-triangle) { 57 | margin-left: 0.8em; 58 | margin-right: 0; 59 | } 60 | .alx-empty-folder>.nav-folder-title[data-path*="22. my_folder_path/"]>.nav-folder-collapse-indicator { 61 | right: 30px; 62 | position: relative; 63 | } 64 | .alx-folder-with-note .nav-folder-title[data-path*="22. my_folder_path/"] .collapse-icon 65 | { 66 | right: 25px !important; 67 | position: relative !important; 68 | font-size: calc(var(--size) - 1px) !important; 69 | padding-left: 1px !important; 70 | }*/ 71 | } 72 | -------------------------------------------------------------------------------- /CSS/Folder Note/FN - Global.css: -------------------------------------------------------------------------------- 1 | @media only screen and (min-device-width: 1080px) { 2 | .nav-folder-children .nav-folder-children { 3 | border-left: none; 4 | } 5 | 6 | .nav-file-title-content, 7 | .nav-folder-title-content { 8 | border: none; 9 | } 10 | 11 | 12 | .full-file-names .tree-item-inner, 13 | .full-file-names .nav-file-title-content, 14 | .full-file-names .nav-folder-title-content, 15 | .full-file-names .search-result-file-title { 16 | text-overflow: unset; 17 | white-space: normal; 18 | line-height: 1.4; 19 | display: flex; 20 | align-items: center; 21 | } 22 | 23 | .full-file-names .nav-file-title, 24 | .full-file-names .nav-folder-title { 25 | margin-bottom: 3px; 26 | } 27 | 28 | .tree-item-self .collapse-icon { 29 | margin: 0; 30 | padding: 0; 31 | width: auto; 32 | } 33 | 34 | .backlink-pane>.tree-item-self>.collapse-icon { 35 | display: none; 36 | } 37 | 38 | .tag-container .tree-item-self .collapse-icon { 39 | padding-right: 4px; 40 | } 41 | 42 | .graph-controls .collapse-icon { 43 | font-size: 14px; 44 | margin-left: -3px; 45 | } 46 | 47 | .cm-fold-widget.collapse-indicator, 48 | .markdown-preview-view:not(.allow-fold-headings) .heading-collapse-indicator { 49 | display: none !important; 50 | } 51 | } 52 | 53 | @media only screen and (max-device-width: 1080px) { 54 | .nav-file { 55 | padding: 0; 56 | } 57 | 58 | .nav-file-title { 59 | margin: 0; 60 | padding-left: 0; 61 | } 62 | 63 | .nav-folder-children .nav-folder-children { 64 | border-left: none; 65 | margin-left: 0; 66 | } 67 | 68 | .nav-file-title-content, 69 | .nav-folder-title-content { 70 | border: none; 71 | } 72 | 73 | .nav-file-title { 74 | padding: 0; 75 | } 76 | 77 | 78 | .full-file-names .tree-item-inner, 79 | .full-file-names .nav-file-title-content, 80 | .full-file-names .nav-folder-title-content, 81 | .full-file-names .search-result-file-title { 82 | text-overflow: unset; 83 | white-space: normal; 84 | line-height: 1.4; 85 | display: flex; 86 | align-items: center; 87 | } 88 | 89 | .full-file-names .nav-file-title, 90 | .full-file-names .nav-folder-title { 91 | margin-bottom: 3px; 92 | } 93 | 94 | .tree-item-self .collapse-icon { 95 | margin: 0; 96 | padding: 0; 97 | width: auto; 98 | } 99 | 100 | .backlink-pane>.tree-item-self>.collapse-icon { 101 | display: none; 102 | } 103 | 104 | .tag-container .tree-item-self .collapse-icon { 105 | padding-right: 4px; 106 | } 107 | 108 | .graph-controls .collapse-icon { 109 | font-size: 14px; 110 | margin-left: -3px; 111 | } 112 | 113 | .cm-fold-widget.collapse-indicator, 114 | .markdown-preview-view:not(.allow-fold-headings) .heading-collapse-indicator { 115 | display: none !important; 116 | } 117 | 118 | .is-mobile .nav-file-title.is-active .nav-file-title-content { 119 | line-height: 1.8; 120 | } 121 | 122 | .is-mobile .nav-file-title { 123 | margin-bottom: 0; 124 | } 125 | 126 | .nav-file-title, 127 | .nav-folder-title, 128 | .is-collapsed .search-result-file-title, 129 | .tag-pane-tag { 130 | font-weight: normal !important; 131 | } 132 | 133 | .is-mobile .nav-file-title.is-active { 134 | box-shadow: none !important; 135 | } 136 | 137 | .nav-file-title.is-being-dragged, 138 | .nav-file-title.is-active, 139 | body:not(.is-grabbing) .nav-file-title.is-active:hover { 140 | filter: saturate(150%); 141 | } 142 | 143 | div.nav-folder.mod-root>div.nav-folder-children>div.nav-folder>div.nav-folder-title>div.nav-folder-collapse-indicator.collapse-icon { 144 | margin-left: -2px; 145 | } 146 | 147 | div.nav-folder-children>div.nav-folder>div.nav-folder-title>div.nav-folder-collapse-indicator.collapse-icon { 148 | margin-left: 0; 149 | margin-right: 3px; 150 | } 151 | 152 | .nav-folder.mod-root>.nav-folder-title.is-being-dragged-over .nav-folder-title-content { 153 | box-shadow: inset 0 -2px hsl(var(--accent-hsl)); 154 | } 155 | 156 | .nav-folder-title { 157 | position: relative; 158 | padding-left: 3px; 159 | padding-right: 3px; 160 | margin-right: 3px; 161 | } 162 | 163 | .nav-file-title { 164 | position: relative; 165 | margin-right: 5px; 166 | margin-left: 0px; 167 | vertical-align: -2px; 168 | } 169 | 170 | 171 | body.is-mobile:not(.alx-no-click-on-mobile) .nav-folder>.nav-folder-title>.nav-folder-collapse-indicator { 172 | width: revert !important; 173 | } 174 | } -------------------------------------------------------------------------------- /CSS/Folder Note/Icon folder/FNI - Global.css: -------------------------------------------------------------------------------- 1 | .obsidian-icon-folder-icon { 2 | position: relative; 3 | top: -1px; 4 | padding-right: 0.4em !important; 5 | padding-left: 4px; 6 | border: 0 !important; 7 | } 8 | 9 | .nav-folder-children .nav-folder-children { 10 | margin-left: 0 !important; 11 | border-left: none; 12 | overflow: hidden; 13 | } 14 | 15 | .nav-files-container { 16 | overflow-x: hidden; 17 | } 18 | 19 | 20 | .workspace-split.mod-left-split .nav-files-container, 21 | .workspace-split.mod-right-split .nav-files-container { 22 | padding: 0; 23 | } 24 | 25 | 26 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title>* { 27 | padding: 0 0; 28 | } 29 | 30 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.alx-empty-folder) .nav-folder-title { 31 | position: relative; 32 | left: -1.1em; 33 | } 34 | 35 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.alx-empty-folder .nav-folder-title { 36 | position: relative; 37 | left: 0em; 38 | } 39 | 40 | 41 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children .alx-empty-folder .nav-folder-title { 42 | position: relative; 43 | left: 0; 44 | } 45 | 46 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.alx-empty-folder) .nav-folder-title .nav-folder-collapse-indicator.collapse-icon { 47 | left: -0.5em; 48 | position: relative; 49 | } 50 | 51 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder .nav-file-title { 52 | left: -0.15em !important; 53 | } 54 | 55 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder .nav-folder-title[data-path] .obsidian-icon-folder-icon, 56 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder .nav-file-title[data-path] .obsidian-icon-folder-icon { 57 | padding-left: 5px !important; 58 | } 59 | 60 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children .nav-file-title { 61 | margin-left: 0.5em; 62 | } 63 | 64 | .nav-folder-collapse-indicator.collapse-icon { 65 | opacity: 0; 66 | } 67 | 68 | .nav-folder-title { 69 | padding-left: 0; 70 | } 71 | 72 | .nav-folder-children .nav-file-title-content:first-child::before { 73 | margin-left: 0.25em !important; 74 | } 75 | 76 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children>.nav-folder>.nav-folder-children .nav-file-title { 77 | left: -1.2em !important; 78 | position: relative; 79 | } -------------------------------------------------------------------------------- /CSS/Folder Note/Icon folder/FNI - MOBILE.css: -------------------------------------------------------------------------------- 1 | .obsidian-icon-folder-icon { 2 | position: relative; 3 | top: -1px; 4 | padding-right: 0.4em !important; 5 | padding-left: 4px; 6 | border: 0 !important; 7 | } 8 | 9 | .nav-folder-title, 10 | .nav-file-title { 11 | padding: 3px 0 !important; 12 | } 13 | 14 | .nav-folder-children .nav-folder-children { 15 | margin-left: 0 !important; 16 | border-left: none; 17 | overflow: hidden; 18 | } 19 | 20 | .nav-file-title { 21 | left: 0.9em; 22 | 23 | } 24 | 25 | .nav-files-container { 26 | overflow-x: hidden; 27 | } 28 | 29 | 30 | .workspace-split.mod-left-split .nav-files-container, 31 | .workspace-split.mod-right-split .nav-files-container { 32 | padding: 0; 33 | } 34 | 35 | .nav-file-title .obsidian-icon-folder-icon { 36 | left: 5px; 37 | } 38 | 39 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title>* { 40 | padding: 0 0; 41 | } 42 | 43 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.alx-empty-folder) .nav-folder-title { 44 | position: relative; 45 | left: -1em; 46 | } 47 | 48 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.alx-empty-folder .nav-folder-title { 49 | position: relative; 50 | left: 0em; 51 | } 52 | 53 | 54 | 55 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children .alx-empty-folder .nav-folder-title { 56 | position: relative; 57 | left: 1em; 58 | 59 | } 60 | 61 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.alx-empty-folder) .nav-folder-title .nav-folder-collapse-indicator.collapse-icon { 62 | left: -0.5em; 63 | position: relative; 64 | } 65 | 66 | .nav-folder-collapse-indicator.collapse-icon { 67 | opacity: 0; 68 | } 69 | 70 | .nav-folder-title { 71 | padding-left: 0; 72 | } 73 | 74 | .nav-folder-children .nav-file-title-content:first-child::before { 75 | margin-left: 0.25em !important; 76 | } 77 | 78 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children .nav-file-title { 79 | margin-left: -0.4em !important; 80 | } 81 | 82 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children>.nav-folder>.nav-folder-children .nav-file-title { 83 | left: 3px !important; 84 | position: relative; 85 | } -------------------------------------------------------------------------------- /CSS/Folder Note/Icon folder/FNI - Primary.css: -------------------------------------------------------------------------------- 1 | .obsidian-icon-folder-icon { 2 | position: relative; 3 | top: -1px; 4 | padding-right: 0.4em !important; 5 | padding-left: 4px; 6 | border: 0 !important; 7 | } 8 | 9 | .nav-folder-children .nav-folder-children { 10 | margin-left: 0 !important; 11 | border-left: none; 12 | overflow: hidden; 13 | } 14 | 15 | .nav-files-container { 16 | overflow-x: hidden; 17 | } 18 | 19 | .workspace-split.mod-left-split .nav-files-container, 20 | .workspace-split.mod-right-split .nav-files-container { 21 | padding: 0; 22 | } 23 | 24 | @media only screen and (min-device-width: 1024px) { 25 | /* PC */ 26 | 27 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title>* { 28 | padding: 0 0; 29 | } 30 | 31 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.alx-empty-folder) .nav-folder-title { 32 | position: relative; 33 | left: -1em; 34 | } 35 | 36 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.alx-empty-folder .nav-folder-title { 37 | position: relative; 38 | left: 0em; 39 | } 40 | 41 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children .alx-empty-folder .nav-folder-title { 42 | position: relative; 43 | left: 1em; 44 | } 45 | 46 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.alx-empty-folder) .nav-folder-title .nav-folder-collapse-indicator.collapse-icon { 47 | left: -0.5em; 48 | position: relative; 49 | } 50 | 51 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder .nav-file-title { 52 | left: -0.15em !important; 53 | } 54 | 55 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder .nav-folder-title[data-path] .obsidian-icon-folder-icon, 56 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder .nav-file-title[data-path] .obsidian-icon-folder-icon { 57 | padding-left: 5px !important; 58 | } 59 | 60 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children .nav-file-title { 61 | margin-left: 0.5em; 62 | } 63 | 64 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children .nav-file-title[data-path*='Symbole relation'] { 65 | margin-left: -5px; 66 | } 67 | 68 | .nav-folder-collapse-indicator.collapse-icon { 69 | opacity: 0; 70 | } 71 | 72 | .nav-folder-title { 73 | padding-left: 0; 74 | } 75 | 76 | .nav-folder-children .nav-file-title-content:first-child::before { 77 | margin-left: 0.25em !important; 78 | } 79 | 80 | .relation-active .nav-folder:not(.mod-root)>.nav-folder-children>.nav-folder>.nav-folder-children .nav-file-title { 81 | left: -1.2em !important; 82 | position: relative; 83 | } 84 | } 85 | 86 | @media only screen and (max-device-width: 1024px) { 87 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-title>* { 88 | padding: 0 0; 89 | } 90 | 91 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.nav-folder.alx-folder-with-note.alx-empty-folder)>.nav-folder-title { 92 | position: relative; 93 | left: -1em; 94 | } 95 | 96 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.alx-empty-folder .nav-folder-title { 97 | position: relative; 98 | left: 2em !important; 99 | } 100 | 101 | .nav-folder.mod-root>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder>.nav-folder-children>.nav-folder:not(.alx-empty-folder) .nav-folder-title .nav-folder-collapse-indicator.collapse-icon { 102 | left: -0.5em; 103 | position: relative; 104 | } 105 | 106 | .nav-folder-collapse-indicator.collapse-icon { 107 | opacity: 0; 108 | } 109 | 110 | .nav-folder-title { 111 | padding-left: 0; 112 | } 113 | 114 | .nav-folder-children .nav-file-title-content:first-child::before { 115 | margin-left: 0.25em !important; 116 | } 117 | } -------------------------------------------------------------------------------- /CSS/IMG - Grid float.css: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | IMAGE FLAGS SNIPPET 4 | Credit : Lithou ; Mara-Li 5 | Source : http://github.com/lithou/sandbox 6 | Allow to use image in multiple way ; See more in Lithou Sandbox. 7 | This edition work with Live Preview in a hacky way. 8 | ============================================================================== */ 9 | 10 | 11 | img.image-embed 12 | { 13 | --coremarg: 1%; 14 | --extramarg: 1%; 15 | /* This margin is used for any added margin between items */ 16 | --defaultwidth: 60%; 17 | /*This is the default width for core flags such as the "side" and "tape" */ 18 | --minwidth: 50px; 19 | /* This specifies the minimum width that %based width images will go to*/ 20 | --defaultzoomwidth: 100%; 21 | /* this specifies the default width when an image is zoomed in (usually set active which is clicking with mouse) */ 22 | --defaultscale: 1.5; 23 | /* this specifies the default ratio that an image is zoomed in (usually set to hover) */ 24 | } 25 | 26 | span.internal-embed.image-embed.is-loaded { 27 | display: inherit !important; 28 | } 29 | 30 | /* Core Flags */ 31 | 32 | .image-embed[alt*="+"], 33 | .image-embed[alt*="-"], 34 | .markdown-source-view.mod-cm6 .cm-content>[contenteditable=false]~.image-embed[alt*="+"] 35 | { 36 | contain: revert !important; 37 | } 38 | 39 | 40 | /*side */ 41 | 42 | img[alt*="+side"] { 43 | width: 20em; 44 | min-width: var(--minwidth); 45 | float: right; 46 | margin: 0px; 47 | margin-left: var(--coremarg) !important; 48 | } 49 | 50 | img[alt*="+rside"] { 51 | width: 15em; 52 | min-width: var(--minwidth); 53 | float: left; 54 | margin: 0; 55 | margin-right: 5px; 56 | } 57 | 58 | img[alt="+center"] { 59 | padding-left: 20%; 60 | } 61 | 62 | /*tape */ 63 | 64 | img[alt*="+tape"] { 65 | position: relative; 66 | float: right; 67 | width: var(--defaultwidth); 68 | min-width: var(--minwidth); 69 | margin: auto; 70 | margin-left: var(--coremarg); 71 | transform: rotate(2deg); 72 | } 73 | 74 | img[alt*="+tape"]::before::before { 75 | content: ""; 76 | position: absolute; 77 | margin: auto; 78 | width: 30%; 79 | height: 14%; 80 | top: -7%; 81 | left: 35%; 82 | background: rgba(255, 234, 118, 0.377); 83 | /*here you can chosse the scotch tape background*/ 84 | clip-path: polygon( 85 | 50% 0%, 86 | 100% 0%, 87 | 98% 10%, 88 | 100% 20%, 89 | 98% 30%, 90 | 100% 40%, 91 | 98% 50%, 92 | 100% 60%, 93 | 98% 70%, 94 | 100% 80%, 95 | 98% 90%, 96 | 100% 100%, 97 | 0% 100%, 98 | 2% 90%, 99 | 0% 80%, 100 | 2% 70%, 101 | 0% 60%, 102 | 2% 50%, 103 | 0% 40%, 104 | 2% 30%, 105 | 0% 20%, 106 | 2% 10%, 107 | 0% 0% 108 | ); 109 | } 110 | 111 | /* Push Pin */ 112 | 113 | img[alt*="+pin"] { 114 | position: relative; 115 | float: right; 116 | width: 20em; 117 | min-width: var(--minwidth); 118 | margin: auto; 119 | margin-left: var(--coremarg); 120 | -webkit-transform: rotate(0deg); 121 | -moz-transform: rotate(0deg); 122 | -o-transform: rotate(0deg); 123 | -ms-transform: rotate(0deg); 124 | transform: rotate(3deg); 125 | } 126 | 127 | img[alt*="+pin"]::before { 128 | content: ""; 129 | position: absolute; 130 | width: 5px; 131 | height: 5px; 132 | background-color: #4588cc; 133 | top: -3%; 134 | left: 50%; 135 | border: solid #336699 8px; 136 | border-radius: 50%; 137 | box-shadow: #274d74 -5px 3px 1px; 138 | } 139 | 140 | /* Portrait and Landscape */ 141 | 142 | img[alt*="+portrait"] { 143 | float: right; 144 | position: relative; 145 | width: calc(var(--defaultwidth) / 1.5); 146 | min-width: var(--minwidth); 147 | vertical-align: top; 148 | border: solid 5px; 149 | background-color: black; 150 | /*this is the "border colour around the image */ 151 | clip-path: ellipse(40% 45% at 50% 50%); 152 | } 153 | 154 | img[alt*="+landscape"] { 155 | position: relative; 156 | width: var(--defaultwidth); 157 | min-width: var(--minwidth); 158 | float: right; 159 | border: solid 3px; 160 | background-color: black; 161 | /* This setting will create a border effect of set color */ 162 | clip-path: ellipse(45% 35% at 50% 50%); 163 | } 164 | 165 | /* Banner and HR */ 166 | 167 | img[alt*="+banner"] { 168 | display: block; 169 | height: 100px; 170 | overflow: hidden; 171 | } 172 | 173 | img[alt*="+banner"] > img { 174 | margin-top: -130px; 175 | } 176 | 177 | img[alt*="+hr"] { 178 | display: block; 179 | height: 10px; 180 | overflow: hidden; 181 | border-radius: 20px; 182 | } 183 | 184 | img[alt*="+hr"] > img { 185 | margin-top: -200px; 186 | } 187 | 188 | /*Custom Core Flags */ 189 | 190 | img[alt*="+right"] { 191 | position: relative; 192 | left: 50%; 193 | } 194 | 195 | img[alt*="+block"] { 196 | display: block; 197 | } 198 | 199 | /* Modifier Flags */ 200 | 201 | /* Orientation and position */ 202 | 203 | img[alt*="-left"] { 204 | float: left; 205 | margin: 0px; 206 | margin-right: var(--extramarg); 207 | } 208 | 209 | img[alt*="-right"] { 210 | float: right; 211 | margin: 0px; 212 | margin-left: var(--extramarg); 213 | } 214 | 215 | img[alt*="-fix"] { 216 | position: fixed; 217 | } 218 | 219 | img[alt*="-abs"] { 220 | position: absolute; 221 | } 222 | 223 | /* Size */ 224 | 225 | img[alt*="-thumb"] { 226 | width: 6rem; 227 | } 228 | 229 | img[alt*="-sm"] { 230 | width: 13rem; 231 | } 232 | 233 | img[alt*="-med"] { 234 | width: 18rem; 235 | } 236 | 237 | img[alt*="-lg"] { 238 | width: 27rem; 239 | } 240 | 241 | img[alt*="-huge"] { 242 | width: 37rem; 243 | } 244 | 245 | img[alt*="-cwidth"] { 246 | float: none; 247 | margin-left: -10%; 248 | width: 67rem; 249 | } 250 | 251 | /* Borders */ 252 | 253 | img[alt*="-border1"] { 254 | border: solid black 3px; 255 | } 256 | 257 | img[alt*="-border2"] { 258 | border: solid white 3px; 259 | } 260 | 261 | img[alt*="-bradius1"] { 262 | border-radius: 5px; 263 | } 264 | 265 | img[alt*="-bradius2"] { 266 | border-radius: 20px; 267 | } 268 | 269 | img[alt*="-bradiustl"] { 270 | border-top-left-radius: 20px; 271 | } 272 | 273 | img[alt*="-bradiusbr"] { 274 | border-bottom-right-radius: 20px; 275 | } 276 | 277 | img[alt*="-bradiustr"] { 278 | border-top-right-radius: 20px; 279 | } 280 | 281 | img[alt*="-bradiusbl"] { 282 | border-bottom-left-radius: 20px; 283 | } 284 | 285 | img[alt*="-bthick"] { 286 | border-width: 5px; 287 | } 288 | 289 | img[alt*="-bthin"] { 290 | border-width: 1px; 291 | } 292 | 293 | /* Shadows */ 294 | 295 | img[alt*="-shadow1"] > img { 296 | box-shadow: darkgrey -2px 2px 2px; 297 | } 298 | 299 | img[alt*="-glow"] { 300 | box-shadow: darkgrey 0px 0px 20px; 301 | } 302 | 303 | img[alt*="-nofloat"] { 304 | display: inline-block; 305 | float: none; 306 | } 307 | 308 | /* zoom and reverse rotate on hover */ 309 | 310 | img[alt*="+tape"]:not(:active):hover, 311 | img[alt*="+pin"]:not(:active):hover { 312 | transform: scale(1.5) rotate(-2deg); 313 | } 314 | 315 | /* Grid View */ 316 | 317 | span[alt*="+grid"] { 318 | display: table-cell; 319 | vertical-align: middle; 320 | padding: 3px; 321 | } 322 | 323 | .workspace-leaf-content[data-mode="source"] img[alt*="+grid"] { 324 | width: 20em; 325 | } 326 | 327 | /* Grid View Alternative 328 | 329 | /* I'm adding explaination commments here so you know how this works. 330 | 331 | I'm also writing this so next time I edit this code I don't forget why 332 | I did it this way and sit there confused for 30mins trying to figure it out. 333 | 334 | BTW. Hello future Lithou. If you're reading this: You're welcome 335 | 336 | How it works: 337 | This applies to an image if two conditions are met. 338 | First condition is if the page has a css class of "grid" 339 | Second conditions is if no pipe is used when calling an image 340 | 341 | examples: 342 | ![[test.jpg|alt text]] <-- will not apply as pipe used to make custom alt text 343 | ![[test.jpg]] <-- will apply since no pipe used 344 | 345 | When no pipe is used, no alt attribute is called by the user. 346 | Obsidian will therefore set the alt attribute equal to the file name. (this is default if it changes, this will pobably break so look here first if it stops working) 347 | This rule will target any image with an alt attribute that has a period in it. 348 | Since all image files should follow "name.extension" all will contain a period. 349 | 350 | Note: One key to keep in mind is to not use a period as part of any other img flags. */ 351 | 352 | .img-grid img.image-embed[alt*="."] { 353 | display: table-cell; 354 | vertical-align: middle; 355 | padding: 3px; 356 | } 357 | 358 | .img-grid img[alt*="."] { 359 | max-height: 30vh; 360 | } 361 | 362 | .theme-dark, 363 | .theme-light { 364 | /*Sizes*/ 365 | --radius: 0px; 366 | --micro: 70px; 367 | --tiny: 100px; 368 | --small: 200px; 369 | --small-med: 300px; 370 | --med-small: 400px; 371 | --medium: 500px; 372 | --med-tall: 600px; 373 | --tall: 700px; 374 | } 375 | 376 | /*----Mobile----*/ 377 | @media (max-width: 500px) { 378 | 379 | .theme-dark, 380 | .theme-light { 381 | /*Mobile Sizes*/ 382 | --radius: 0px; 383 | --micro: 70px; 384 | --tiny: 100px; 385 | --small: 150px; 386 | --small-med: 200px; 387 | --med-small: 250px; 388 | --medium: 300px; 389 | --med-tall: 450px; 390 | --tall: 500px; 391 | } 392 | } 393 | 394 | /*--------*/ 395 | i { 396 | display: block; 397 | font-style: unset; 398 | color: var(--text-normal); 399 | text-align: center; 400 | background-color: var(--background-secondary-alt); 401 | padding: 0 1em; 402 | } 403 | 404 | i[alt*="right"] { 405 | display: block; 406 | text-align: right; 407 | background-color: var(--background-secondary-alt); 408 | padding-right: .8em; 409 | } 410 | 411 | 412 | i[alt*="left"] { 413 | display: block; 414 | text-align: left; 415 | background-color: var(--background-secondary-alt); 416 | padding-left: .8em; 417 | } 418 | 419 | i[alt*="clear"] { 420 | clear: both; 421 | } 422 | 423 | i[alt*="nobg"] { 424 | background-color: transparent; 425 | } 426 | 427 | 428 | 429 | /*----Image Positions/Adjustments----*/ 430 | /*Captions*/ 431 | .img-cap .image-embed::after, 432 | .image-embed[src*="#cap"]::after { 433 | content: attr(alt); 434 | color: var(--inactive); 435 | display: block; 436 | text-align: center; 437 | } 438 | 439 | /* Lithou's Img-Grid CSS */ 440 | .img-grid span.image-embed[alt*="."], 441 | span.image-embed[src*=grid], 442 | span.image-embed[alt*=grid], 443 | img[alt*=grid] { 444 | display: table-cell; 445 | vertical-align: middle; 446 | padding: 3px; 447 | } 448 | 449 | .img-grid img[alt*="."], 450 | .image-embed[alt*=grid], 451 | img[alt*=grid], 452 | .image-embed[src*="#grid"] { 453 | max-height: 30vh; 454 | } 455 | 456 | .img-grid img[alt*="."]:hover, 457 | .image-embed[src*="#grid"]:hover, 458 | .image-embed[src*="#grid"]:hover, 459 | img[alt*=grid]:hover { 460 | transform: scale(1.5); 461 | } 462 | 463 | /*Invert Colors*/ 464 | .theme-dark img[alt*=invertb], 465 | .theme-dark .image-embed[src*="#invertb"] { 466 | filter: invert(1) hue-rotate(180deg); 467 | } 468 | 469 | .theme-light img[alt*=invertw], 470 | .theme-light .image-embed[src*="#invertw"] { 471 | filter: invert(1) hue-rotate(180deg); 472 | } 473 | 474 | .theme-dark img[alt*=invertbc], 475 | .theme-dark .image-embed[src*="#invertbc"] { 476 | filter: invert(1) hue-rotate(180deg) contrast(1.5); 477 | } 478 | 479 | .theme-light img[alt*=invertwc], 480 | .theme-light .image-embed[src*="#invertwc"] { 481 | filter: invert(1) hue-rotate(180deg) contrast(1.45); 482 | } 483 | 484 | /*Fix Float Issues*/ 485 | img[alt*=clear], 486 | .image-embed[src*="#clear"] { 487 | clear: both; 488 | } 489 | 490 | img[alt*=unclr], 491 | .image-embed[src*="#unclr"] { 492 | clear: none !important; 493 | } 494 | 495 | /*Round Image*/ 496 | img[alt*=circle] { 497 | border-radius: 50%; 498 | } 499 | 500 | /*Center Image*/ 501 | img:is([alt*="ctr"], [alt*="center"]), 502 | .image-embed[src*="#ctr"] .image-embed[alt*=ctr], 503 | .image-embed[src*="#center"] .image-embed[alt*=center], 504 | .imgctr img { 505 | display: block; 506 | margin-left: auto; 507 | margin-right: auto; 508 | } 509 | 510 | /*--Simplified Version--*/ 511 | /*Image Locations*/ 512 | /*Left & Right*/ 513 | body .popover.hover-popover img[alt*=left], 514 | body .popover.hover-popover img[alt*=locl], 515 | body .popover.hover-popover img[src*="#locl"] img, 516 | body .popover.hover-popover .image-embed[alt*=left], 517 | body .popover.hover-popover .image-embed[alt*=locl], 518 | body .popover.hover-popover .image-embed[src*="#locl"] img, 519 | body span:not(.is-live-preview) img[alt*=left], 520 | body span:not(.is-live-preview) img[alt*=locl], 521 | body span:not(.is-live-preview) img[src*="#locl"] img, 522 | body span:not(.is-live-preview) .image-embed[alt*=left], 523 | body span:not(.is-live-preview) .image-embed[alt*=locl], 524 | body span:not(.is-live-preview) .image-embed[src*="#locl"] img { 525 | float: left; 526 | margin-right: 2%; 527 | margin-top: 0px; 528 | margin-bottom: 0px; 529 | } 530 | 531 | body .popover.hover-popover img[alt*=right], 532 | body .popover.hover-popover img[alt*=locr], 533 | body .popover.hover-popover img[src*="#locr"] img, 534 | body .popover.hover-popover .image-embed[alt*=right], 535 | body .popover.hover-popover .image-embed[alt*=locr], 536 | body .popover.hover-popover .image-embed[src*="#locr"] img, 537 | body span:not(.is-live-preview) img[alt*=right], 538 | body span:not(.is-live-preview) img[alt*=locr], 539 | body span:not(.is-live-preview) img[src*="#locr"] img, 540 | body span:not(.is-live-preview) .image-embed[alt*=right], 541 | body span:not(.is-live-preview) .image-embed[alt*=locr], 542 | body span:not(.is-live-preview) .image-embed[src*="#locr"] img { 543 | float: right; 544 | margin-left: 2%; 545 | margin-bottom: 0px; 546 | } 547 | 548 | 549 | /*Image Shapes*/ 550 | /*Banners*/ 551 | img[alt*="banner"], 552 | .image-embed[alt*="banner"] img, 553 | .image-embed[src*="#banner"] { 554 | display: block; 555 | object-fit: cover; 556 | height: var(--small); 557 | width: 100%; 558 | margin-bottom: 0px; 559 | clear: both; 560 | } 561 | 562 | img[alt*="banner+small"], 563 | .image-embed[alt*="banner+small"] img, 564 | .image-embed[src*="#banner+small"] { 565 | display: block; 566 | object-fit: cover; 567 | height: var(--tiny); 568 | width: 100%; 569 | margin-bottom: 0px; 570 | clear: both; 571 | } 572 | 573 | img[alt*="banner+tall"], 574 | .image-embed[alt*="banner+tall"] img, 575 | .image-embed[src*="#banner+tall"] { 576 | display: block; 577 | object-fit: cover; 578 | height: var(--medium); 579 | width: 100%; 580 | margin-bottom: 0px; 581 | clear: both; 582 | } 583 | 584 | 585 | 586 | /*Portait*/ 587 | img[alt*="+portrait"], 588 | .image-embed[alt*="+portrait"] img, 589 | .image-embed[src*="#+portrait"] { 590 | object-fit: cover; 591 | height: var(--small-med); 592 | width: 40%; 593 | } 594 | 595 | img[alt*="+portrait+small"], 596 | .image-embed[alt*="+portrait+small"] img, 597 | .image-embed[src*="#+portrait+small"] { 598 | height: var(--small); 599 | width: 20%; 600 | object-fit: cover; 601 | } 602 | 603 | img[alt*="+portrait+tall"], 604 | .image-embed[alt*="+portrait+tall"] img, 605 | .image-embed[src*="#+portrait+tall"] { 606 | height: 500px; 607 | width: 50%; 608 | object-fit: cover; 609 | } 610 | 611 | /*Profile*/ 612 | img[alt*="profile"], 613 | .image-embed[alt*="profile"] img, 614 | .image-embed[src*="#profile"] { 615 | object-fit: cover; 616 | height: var(--tiny); 617 | width: var(--tiny); 618 | } 619 | 620 | img[alt*="profile+medium"], 621 | .image-embed[alt*="profile+medium"] img, 622 | .image-embed[src*="#profile+medium"] { 623 | object-fit: cover; 624 | height: var(--small); 625 | width: var(--small); 626 | } 627 | 628 | img[alt*="profile+tall"], 629 | .image-embed[alt*="profile+tall"] img, 630 | .image-embed[src*="#profile+tall"] { 631 | object-fit: cover; 632 | height: var(--medium); 633 | width: var(--medium); 634 | } 635 | 636 | /*--Customizable Version--*/ 637 | /*-Image Sizing-*/ 638 | 639 | /*Fit image within bounds WITHOUT stretching*/ 640 | img[alt*="cover"], 641 | .image-embed[src*="#cover"], 642 | span.image-embed[src*="#cover"] img, 643 | img[alt*="cvr"], 644 | .image-embed[src*="#cvr"], 645 | span.image-embed[src*="#cvr"] img { 646 | object-fit: cover; 647 | } 648 | 649 | /*Height*/ 650 | img[alt*="hmicro"], 651 | .image-embed[src*="#hmicro"] img { 652 | height: var(--micro); 653 | } 654 | 655 | img[alt*="htiny"], 656 | .image-embed[src*="#htiny"] img { 657 | height: var(--tiny); 658 | } 659 | 660 | img[alt*="hsmall"], 661 | .image-embed[src*="#hsmall"] img { 662 | height: var(--small); 663 | } 664 | 665 | img[alt*="hs-med"], 666 | .image-embed[src*="#hs-med"] img { 667 | height: var(--small-med); 668 | } 669 | 670 | img[alt*="hm-sm"], 671 | .image-embed[src*="#hs-sm"] img { 672 | height: var(--med-small); 673 | } 674 | 675 | img[alt*="hmed"], 676 | .image-embed[src*="#hmed"] img { 677 | height: var(--medium); 678 | } 679 | 680 | img[alt*="hm-tl"], 681 | .image-embed[src*="#hm-tl"], 682 | .image-embed[src*="#hm-tl"] img { 683 | height: var(--med-tall); 684 | } 685 | 686 | img[alt*="htall"], 687 | .image-embed[src*="#htall"] img { 688 | height: var(--tall); 689 | } 690 | 691 | /*Width*/ 692 | img[alt*="wmicro"], 693 | .image-embed[src*="#wmicro"] img, 694 | .image-embed[alt*="#wmicro"]::after { 695 | width: var(--micro); 696 | } 697 | 698 | img[alt*="wtiny"], 699 | .image-embed[src*="#wtiny"] img, 700 | .image-embed[src*="#wtiny"]::after { 701 | width: var(--tiny); 702 | } 703 | 704 | img[alt*="wsmall"], 705 | .image-embed[src*="#wsmall"] img, 706 | .image-embed[src*="#wsmall"]::after { 707 | width: var(--small); 708 | } 709 | 710 | img[alt*="ws-med"], 711 | .image-embed[src*="#ws-med"] img, 712 | .image-embed[src*="#ws-med"]::after { 713 | width: var(--small-med); 714 | } 715 | 716 | img[alt*="wm-sm"], 717 | .image-embed[src*="#wm-sm"] img, 718 | .image-embed[src*="#wm-sm"]::after { 719 | width: var(--med-small); 720 | } 721 | 722 | img[alt*="wmed"], 723 | .image-embed[src*="#wmed"] img, 724 | .image-embed[src*="#wmed"]::after { 725 | width: var(--medium); 726 | } 727 | 728 | img[alt*="wm-tl"], 729 | .image-embed[src*="#wm-tl"] img, 730 | .image-embed[src*="#wm-tl"]::after { 731 | width: var(--med-tall); 732 | } 733 | 734 | img[alt*="wtall"], 735 | .image-embed[src*="#wtall"] img, 736 | .image-embed[src*="#wtall"]::after { 737 | width: var(--tall); 738 | } 739 | 740 | 741 | /*--Image Position--*/ 742 | img[alt*="p+"], 743 | .image-embed[src*="#p+"] img { 744 | object-fit: cover; 745 | } 746 | 747 | /*Inner Image*/ 748 | img[alt*="p+c"], 749 | .image-embed[src*="#p+c"] img { 750 | object-position: center; 751 | } 752 | 753 | img[alt*="p+t"], 754 | .image-embed[src*="#p+t"] img { 755 | object-position: top; 756 | } 757 | 758 | img[alt*="p+b"], 759 | .image-embed[src*="#p+b"] img { 760 | object-position: bottom; 761 | } 762 | 763 | img[alt*="p+l"], 764 | .image-embed[src*="#p+l"] img { 765 | object-position: left; 766 | } 767 | 768 | img[alt*="p+r"], 769 | .image-embed[src*="#p+r"] img { 770 | object-position: right; 771 | } 772 | 773 | 774 | img[alt*="p+cl"], 775 | .image-embed[src*="#p+cl"] img { 776 | object-position: 15%; 777 | } 778 | 779 | img[alt*="p+ccl"], 780 | .image-embed[src*="#p+ccl"] img { 781 | object-position: 25%; 782 | } 783 | 784 | img[alt*="p+cr"], 785 | .image-embed[src*="#p+cr"] img { 786 | object-position: 60%; 787 | } 788 | 789 | img[alt*="p+ccr"], 790 | .image-embed[src*="#p+ccr"] img { 791 | object-position: 75%; 792 | } 793 | 794 | img[alt*="p+tc"], 795 | .image-embed[src*="#p+tc"] img { 796 | object-position: 50% 10%; 797 | } 798 | 799 | img[alt*="p+tcc"], 800 | .image-embed[src*="#p+tcc"] img { 801 | object-position: 50% 20%; 802 | } 803 | 804 | img[alt*="p+cct"], 805 | .image-embed[src*="#p+cct"] img { 806 | object-position: 50% 30%; 807 | } 808 | 809 | img[alt*="p+ct"], 810 | .image-embed[src*="#p+ct"] img { 811 | object-position: 50% 40%; 812 | } 813 | 814 | img[alt*="p+cb"], 815 | .image-embed[src*="#p+cb"] img { 816 | object-position: 50% 60%; 817 | } 818 | 819 | img[alt*="p+ccb"], 820 | .image-embed[src*="#p+ccb"] img { 821 | object-position: 50% 70%; 822 | } 823 | 824 | img[alt*="p+bc"], 825 | .image-embed[src*="#p+bc"] img { 826 | object-position: 50% 80%; 827 | } 828 | 829 | img[alt*="p+bcc"], 830 | .image-embed[src*="#p+bcc"] img { 831 | object-position: 50% 90%; 832 | } 833 | 834 | 835 | /*--Image Shapes--*/ 836 | /*Banners*/ 837 | img[alt*="sban"], 838 | .internal-embed[src*="#sban"] img { 839 | object-fit: cover; 840 | width: 100%; 841 | } 842 | 843 | /*Profile*/ 844 | /*Rounded Image*/ 845 | img[alt*="sprf"] { 846 | object-fit: cover; 847 | border-radius: 100%; 848 | } -------------------------------------------------------------------------------- /CSS/MD - Custom Syntax.css: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================================================== 3 | CUSTOM SYNTAX 4 | If anyone find the original author of this snippet, I will add it to the credit. 5 | Plugin allow to custom syntax using only markdown, see Readme for reference. 6 | Credit: Mara-Li 7 | 8 | ============================================================================== */ 9 | 10 | 11 | /* Center caption */ 12 | 13 | mark > em > code { 14 | font-family: initial !important; 15 | display: block; 16 | text-align: center; 17 | background-color: unset !important; 18 | border: unset !important; 19 | box-shadow: unset !important; 20 | font-style: initial; 21 | font-weight: unset; 22 | font-size: small; 23 | text-decoration: none; 24 | color: inherit !important; 25 | } 26 | 27 | span.cm-highlight.cm-em.cm-inline-code { 28 | background-color: unset; 29 | font-style: initial; 30 | font-weight: unset; 31 | font-size: small; 32 | text-decoration: none; 33 | color: inherit; 34 | } 35 | 36 | /* Right align */ 37 | 38 | mark > strong > code { 39 | font-family: initial !important; 40 | display: block; 41 | text-align: right; 42 | background-color: unset !important; 43 | border: unset !important; 44 | box-shadow: unset !important; 45 | font-style: italic; 46 | font-weight: normal !important; 47 | text-decoration: none; 48 | color: inherit !important; 49 | font-size: inherit !important; 50 | } 51 | 52 | span.cm-highlight.cm-strong.cm-inline-code { 53 | background-color: unset; 54 | font-style: initial; 55 | font-weight: unset; 56 | font-size: small; 57 | text-decoration: none; 58 | color: inherit; 59 | } 60 | 61 | /* Red text */ 62 | 63 | strong > mark { 64 | text-decoration: unset; 65 | color: red !important; 66 | background-color: transparent !important; 67 | text-decoration: unset !important; 68 | } 69 | 70 | span.cm-strong.cm-highlight { 71 | color: red !important; 72 | text-decoration: unset; 73 | background-color: transparent !important; 74 | font-weight: normal; 75 | } 76 | 77 | /* Blue text */ 78 | 79 | em > del { 80 | font-style: initial; 81 | text-decoration: unset; 82 | color: rgb(106, 106, 209) !important; 83 | font-weight: normal; 84 | } 85 | 86 | span.cm-em.cm-strikethrough { 87 | color: rgb(106, 106, 209) !important; 88 | text-decoration: unset; 89 | font-weight: normal; 90 | } 91 | 92 | /* yellow */ 93 | 94 | strong > del { 95 | font-style: initial; 96 | text-decoration: unset !important; 97 | color: rgb(255, 208, 1) !important; 98 | background-color: transparent !important; 99 | } 100 | 101 | span.cm-strong.cm-strikethrough { 102 | color: rgb(255, 208, 1) !important; 103 | text-decoration: unset; 104 | } 105 | 106 | /* green */ 107 | 108 | em > mark { 109 | font-style: initial; 110 | text-decoration: unset !important; 111 | color: green !important; 112 | background-color: transparent !important; 113 | font-weight: bold !important; 114 | } 115 | 116 | span.cm-em.cm-highlight { 117 | color: green !important; 118 | text-decoration: unset; 119 | background-color: transparent !important; 120 | font-style: initial; 121 | font-weight: bold !important; 122 | } 123 | 124 | /* Cyan highlight */ 125 | 126 | strong > mark > del { 127 | font-weight: normal; 128 | text-decoration: unset; 129 | background-color: cyan; 130 | color: rgb(82, 82, 82); 131 | } 132 | 133 | span.cm-strong.cm-highlight.cm-strikethrough { 134 | font-weight: normal; 135 | color: rgb(82, 82, 82) !important; 136 | text-decoration: unset; 137 | background-color: cyan !important; 138 | } 139 | 140 | /* Lime highlight */ 141 | 142 | em > mark > del { 143 | text-decoration: unset; 144 | background-color: lime !important; 145 | font-style: initial; 146 | color: rgb(82, 82, 82) !important; 147 | } 148 | 149 | span.cm-em.cm-highlight.cm-strikethrough { 150 | color: rgb(82, 82, 82); 151 | text-decoration: unset; 152 | background-color: lime !important; 153 | } 154 | 155 | /* Underline */ 156 | 157 | strong em, 158 | span.cm-strong.cm-em, 159 | .cm-em.cm-strong:not(.cm-formatting), 160 | ins { 161 | text-decoration: underline; 162 | background-color: transparent; 163 | padding: revert; 164 | text-transform: none; 165 | } 166 | -------------------------------------------------------------------------------- /CSS/README.md: -------------------------------------------------------------------------------- 1 | This repo is a collection of CSS snippets for [Obsidian.md](https://obsidian.md/). 2 | 3 | > ⚠️ Some snippet won't be updated, adjust them as you want. 4 | 5 | To install them on PC: 6 | - Put the snippets in the `snippets` folder of `.obsidian` in the root of your vault; 7 | - In Obsidian: Appearance → Refresh snippets ⇒ Activate the ones you want. 8 | 9 | > :warning: In IOS, it is impossible to access hidden folders. You can: 10 | > - Use Textastic 11 | > - Working Copy with a link to a folder 12 | > - a-shell 13 | 14 | [For more information](https://forum.obsidian.md/t/mobile-ios-app-to-work-with-hidden-folder/25741) 15 | 16 | Alternatively, you can use [Obsidian Snippet Downloader](https://github.com/Mara-Li/obsidian-snippet-downloader) 17 | 18 | Each snippets can be adjusted with [Style Settings](https://github.com/mgmeyers/obsidian-style-settings/). 19 | 20 | # [Custom Syntax](MD%20-%20Custom%20Syntax.css) 21 | This is a simple snippet that allows a specific formatting using markdown syntax, without using HTML. 22 | 23 | ![](screenshot/Custom_syntax.png) 24 | 25 | References : 26 | - `**~~text~~**` : Yellow text 27 | - `*~~text~~*` : Blue text 28 | - `**==text==**` : Red text 29 | - `*==text==*` : Bold green text 30 | - `__*text*__` : Underline 31 | - `**==~~text~~==**` : Cyan Highlight 32 | - `*==~~text~~==*`: Green highlight 33 | 34 | # Folder Note 35 | ![](screenshot/Folder_note.png) 36 | 37 | :warning: This snippet is mostly present in terms of EXAMPLE. 38 | 39 | This snippet allows you to turn a folder into a note, by moving the various icons in a folder. 40 | To use it you need : 41 | - [Folder Note](https://github.com/aidenlx/alx-folder-note) 42 | - [Icon Folder](https://github.com/FlorianWoelki/obsidian-icon-folder) 43 | 44 | Some themes have snippet exemple to adjust the folder note icons : 45 | - [Primary](Folder%20Note/Icon%20folder/FNI%20-%20Primary.css) 46 | 47 | :warning: You need to change the paths of your files! 48 | 49 | # [Colored Folder](Colored%20Folder/F%20-%20Color.css) 50 | ![](screenshot/nested_colored.png) 51 | 52 | Credit: 53 | - [Lithou](https://forum.obsidian.md/t/adding-color-to-obsidian-a-rainbow-of-possibility/12805/11) 54 | - [Javalent](https://github.com/valentine195/Obsidian-Vault/blob/master/.obsidian/snippets/colors.folders.css) 55 | 56 | 57 | This snippet allows: 58 | - Add colors for each folder numbered from 00 to 100 59 | - Add lines for the children files of a folder 60 | 61 | 62 | 63 | # [Image Float](CSS/IMG - Grid float.css) 64 | 65 | All of the credit for this snippet to go [Lithou](http://github.com/lithou/sandbox). I just adapted this snippet to work with Live Preview. I pretty didn't know if Lithou updated it. 66 | 67 | # [YAML](CSS/YAML.css) 68 | 69 | Some tweaks around yaml to make it beautiful in Live Preview. 70 | ![image](https://user-images.githubusercontent.com/30244939/175826104-6d4251c7-3ceb-48fb-9817-724ddd49955b.png) 71 | 72 | -------------------------------------------------------------------------------- /CSS/YAML.css: -------------------------------------------------------------------------------- 1 | /* @settings 2 | name: YAML 3 | id: yaml-snippets 4 | settings: 5 | - 6 | id: heading-title 7 | type: heading 8 | level: 3 9 | title: Title 10 | description: Adjust the block's title 11 | collapsed: true 12 | - 13 | id: display-top 14 | type: class-toggle 15 | title: Display border top 16 | description: Display a border top for the block 17 | - 18 | id: display-bottom 19 | type: class-toggle 20 | title: Display border bottom 21 | description: Display a border bottom for the block 22 | - 23 | id: yaml-title 24 | title: Content 25 | description: Add some content to the block 26 | type: variable-text 27 | default: "📖 Metadata" 28 | - 29 | id: yaml-title-style 30 | title: Font style 31 | type: variable-select 32 | default: normal 33 | options: 34 | - normal 35 | - italic 36 | - oblique 37 | - 38 | id: yaml-title-weight 39 | title: Font weight 40 | type: variable-number-slider 41 | default: 900 42 | min: 100 43 | max: 900 44 | - 45 | id: yaml-title-size 46 | title: Title size 47 | type: variable-text 48 | default: 'larger' 49 | - 50 | id: yaml-title-family 51 | title: Font family 52 | type: variable-text 53 | default: 'Inter' 54 | - 55 | id: yaml-title-color 56 | title: Color 57 | type: variable-themed-color 58 | format: hsl 59 | default-light: hsl(0, 0%, 30%) 60 | default-dark: hsl(0, 0%, 70%) 61 | opacity: false 62 | - 63 | id: yaml-title-align 64 | title: text align 65 | type: variable-select 66 | default: left 67 | options: 68 | - left 69 | - center 70 | - right 71 | - justify 72 | - 73 | id: heading-border 74 | type: heading 75 | title: Border 76 | level: 4 77 | collapsed: true 78 | - 79 | id: yaml-border-size 80 | title: Border size 81 | description: Adjust the size of the border (up to 10px) 82 | type: variable-number-slider 83 | default: 1 84 | min: 0 85 | max: 10 86 | step: 1 87 | format: px 88 | - 89 | id: yaml-border-style 90 | title: Border style 91 | description: Add some style to border 92 | type: variable-select 93 | default: solid 94 | options: 95 | - solid 96 | - dashed 97 | - dotted 98 | - double 99 | - groove 100 | - ridge 101 | - inset 102 | - outset 103 | - 104 | id: yaml-border-color 105 | title: Border color 106 | type: variable-themed-color 107 | format: hsl 108 | default-light: hsl(0, 0%, 85%) 109 | default-dark: hsl(0, 0%, 85%) 110 | - 111 | id: value-yaml 112 | type: heading 113 | title: Value 114 | level: 3 115 | collapsed: true 116 | - 117 | id: yaml-font 118 | title: Font for value 119 | type: variable-text 120 | default: 'Inter' 121 | - 122 | id: yaml-transform 123 | title: Text transform 124 | description: Add some style to value 125 | type: variable-select 126 | default: uppercase 127 | options: 128 | - none 129 | - capitalize 130 | - uppercase 131 | - lowercase 132 | - 133 | id: yaml-font-style 134 | title: Font style 135 | description: Add some style to font 136 | type: variable-select 137 | default: italic 138 | options: 139 | - normal 140 | - italic 141 | - oblique 142 | - 143 | id: yaml-color 144 | title: Color 145 | type: variable-themed-color 146 | default-light: hsl(0, 0%, 30%) 147 | default-dark: hsl(0, 0%, 70%) 148 | format: hsl 149 | opacity: false 150 | - 151 | id: heading-value 152 | type: heading 153 | title: Value 154 | level: 4 155 | collapsed: true 156 | - 157 | id: yaml-underline-size 158 | title: Underline size 159 | description: Adjust the size of the underline (up to 10px) 160 | type: variable-number-slider 161 | default: 2 162 | min: 0 163 | max: 10 164 | step: 1 165 | format: px 166 | - 167 | id: yaml-underline-style 168 | title: Underline style 169 | description: Add some style to underline 170 | type: variable-select 171 | default: solid 172 | options: 173 | - solid 174 | - dashed 175 | - dotted 176 | - double 177 | - groove 178 | - ridge 179 | - inset 180 | - outset 181 | - 182 | id: yaml-border-color 183 | title: Border color 184 | type: variable-themed-color 185 | format: hsl 186 | default-light: hsl(0, 0%, 85%) 187 | default-dark: hsl(0, 0%, 85%) 188 | */ 189 | 190 | 191 | :root { 192 | --yaml-font: 'Inter'; 193 | --yaml-transform: capitalize; 194 | --yaml-font-style: italic; 195 | --yaml-title: '📖 Metadata'; 196 | --yaml-border-style: dotted; 197 | --yaml-border-size: 1px; 198 | --yaml-underline-style: solid; 199 | --yaml-underline-size: 2px; 200 | --yaml-title-style: normal; 201 | --yaml-title-weight: 900; 202 | --yaml-title-size: larger; 203 | --yaml-title-family: 'Inter'; 204 | --yaml-title-align: 'left'; 205 | 206 | } 207 | 208 | .theme-light { 209 | --yaml-color: hsl(0, 0%, 30%); 210 | --yaml-border-color: hsl(0, 0%, 85%); 211 | --yaml-title-color: hsl(0, 0%, 30%); 212 | } 213 | 214 | .theme-dark { 215 | --yaml-color: hsl(0, 0%, 70%); 216 | --yaml-border-color: hsl(0, 0%, 85%); 217 | --yaml-title-color: hsl(0, 0%, 70%); 218 | } 219 | 220 | .is-live-preview .cm-line .cm-hmd-frontmatter { 221 | font-family: var(--yaml-font); 222 | text-transform: var(--yaml-transform); 223 | font-style: var(--yaml-font-style); 224 | 225 | } 226 | 227 | /* Applies to front-matter variable when inactive (cursor not on the line) */ 228 | .is-live-preview .cm-line:not(.cm-active)>.cm-hmd-frontmatter.cm-atom { 229 | color: var(--yaml-color); 230 | } 231 | 232 | /* Applies to front-matter variable when active (cursor on the line) */ 233 | .is-live-preview .cm-line .cm-hmd-frontmatter.cm-atom { 234 | font-weight: 700; 235 | color: var(--yaml-color); 236 | } 237 | 238 | /* Colon after variable when inactive (because we hide all meta symbols including colon and commas when inactive) */ 239 | .is-live-preview .cm-line:not(.cm-active) .cm-hmd-frontmatter.cm-atom::after { 240 | content: ""; 241 | } 242 | 243 | /* Applies to Values */ 244 | .is-live-preview .cm-line:not(.cm-active)>.cm-hmd-frontmatter:not(.cm-meta):not(.cm-atom) { 245 | color: var(--yaml-color); 246 | border-bottom: var(--yaml-underline-size) var(--yaml-underline-style) var(--yaml-border-color); 247 | } 248 | 249 | /* Period after values, to separate values (specially when the value is more than one word) */ 250 | .is-live-preview .cm-line:not(.cm-active)>.cm-hmd-frontmatter:not(.cm-meta):not(.cm-atom)::after { 251 | content: ""; 252 | } 253 | 254 | /* Hides triple dashes and meta symbols like brackets, colons, commas when inactive */ 255 | .is-live-preview .cm-line:not(.cm-active) .cm-hmd-frontmatter.cm-def, 256 | .is-live-preview .cm-line:not(.cm-active) .cm-hmd-frontmatter.cm-meta { 257 | visibility: hidden; 258 | opacity: 0; 259 | } 260 | 261 | /* Shows triple dashes and metadata when active */ 262 | .is-live-preview .cm-line:not(.cm-active)>span.cm-def.cm-hmd-frontmatter { 263 | visibility: hidden; 264 | } 265 | 266 | .display-top .is-live-preview .cm-fold-indicator.is-collapsed + .cm-widgetBuffer + .cm-def.cm-hmd-frontmatter::before { 267 | display: none !important; 268 | opacity: 0; 269 | } 270 | 271 | .display-top .is-live-preview .cm-line+.cm-line:not(.cm-active)>.cm-def.cm-hmd-frontmatter:before { 272 | content: ' ' !important; 273 | border: none !important; 274 | display: none !important; 275 | } 276 | 277 | .display-bottom .is-live-preview .cm-line + .cm-line:not(.cm-active) > .cm-def.cm-hmd-frontmatter:after { 278 | content: " " !important; 279 | display: block; 280 | visibility: visible; 281 | height: 0 !important; 282 | margin-top: -20px; 283 | margin-bottom: 5px; 284 | border-top: var(--yaml-border-size) var(--yaml-border-style) var(--yaml-border-color); 285 | } 286 | 287 | .display-top .is-live-preview .cm-contentContainer > .cm-content > .cm-line:not(.cm-active) > .cm-def.cm-hmd-frontmatter:before { 288 | content: var(--yaml-title); 289 | visibility: visible !important; 290 | display: block; 291 | height: 0px; 292 | font-style: var(--yaml-title-style); 293 | font-weight: var(--yaml-title-weight); 294 | font-size: var(--yaml-title-size); 295 | font-family: var(--yaml-title-family); 296 | color: var(--yaml-title-color); 297 | text-align: var(--yaml-title-align); 298 | border-top: var(--yaml-border-size) var(--yaml-border-style) var(--yaml-border-color); 299 | } 300 | 301 | .is-live-preview .cm-line:not(.cm-active) .cm-fold-indicator.is-collapsed + .cm-widgetBuffer + .cm-def.cm-hmd-frontmatter { 302 | visibility: visible !important; 303 | opacity: 0.8 !important; 304 | border-bottom: none; 305 | } -------------------------------------------------------------------------------- /CSS/screenshot/Custom_syntax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mara-Li/Obsidian-Snippet-collection/44e4c430f271d006cff4797fe860df616a34d054/CSS/screenshot/Custom_syntax.png -------------------------------------------------------------------------------- /CSS/screenshot/Folder_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mara-Li/Obsidian-Snippet-collection/44e4c430f271d006cff4797fe860df616a34d054/CSS/screenshot/Folder_note.png -------------------------------------------------------------------------------- /CSS/screenshot/nested_colored.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mara-Li/Obsidian-Snippet-collection/44e4c430f271d006cff4797fe860df616a34d054/CSS/screenshot/nested_colored.png -------------------------------------------------------------------------------- /plugins/Fast-start.js: -------------------------------------------------------------------------------- 1 | module.exports = {} 2 | 3 | module.exports.onload = async (plugin) => { 4 | plugin.addCommand({ 5 | id: 'List-plugins', 6 | name: 'List installed plugins', 7 | checkCallback: async (checking) => { 8 | var plugins = Object.values(plugin.app.plugins.manifests).map(p=>p.id).sort((a, b)=>a.localeCompare(b)); 9 | let written = []; 10 | const actualOpenedFile = plugin.app.workspace.getActiveFile(); 11 | if (actualOpenedFile && actualOpenedFile.extension === 'md') { 12 | if (!checking) { 13 | let contents = await plugin.app.vault.read(actualOpenedFile); 14 | const listedPlugin = contents.split(/\r?\n/); 15 | written = listedPlugin.map(p=>p.slice(6)); 16 | let missingPlugin = plugins.filter(val=>!written.includes(val)); 17 | let removedPlugin = written.filter(val=>!plugins.includes(val)); 18 | let msg = 'Updated List! '; 19 | if (missingPlugin.length === 0 && removedPlugin.length === 0) { 20 | msg = 'List sorted alphabetically.'; 21 | } 22 | if (removedPlugin.length > 0) { 23 | removedPlugin.forEach(p=>{ 24 | const replacer = new RegExp('\\- \\[.?\\] ' + p, "i"); 25 | contents = contents.replace(replacer, ''); 26 | }); 27 | msg += `${removedPlugin.length} plugin(s) deleted `; 28 | } 29 | contents = contents.split('\n') 30 | .sort((a, b) => a.replace(/\- ((\[{2})|(\[.\]) )?/i, '') 31 | .toLowerCase() 32 | .localeCompare(b.replace(/\- ((\[{2})|(\[.\]) )?/i, '') 33 | .toLowerCase())) 34 | .join('\n'); 35 | if (missingPlugin.length > 0) { 36 | contents = contents + '\n- [ ] ' + missingPlugin.join('\n- [ ] '); 37 | msg += `${missingPlugin.length} plugin(s) added`; 38 | } 39 | await plugin.app.vault.modify(actualOpenedFile, contents.trim()); 40 | await new Notice(msg); 41 | } 42 | return true; 43 | } 44 | return false; 45 | } 46 | }); 47 | 48 | async function fastStart(file, shortDelay, longDelay){ 49 | const contents = await plugin.app.vault.read(file); 50 | let allPlugins = contents.split(/r?\n/); 51 | let short = []; 52 | let long = []; 53 | let disable = []; 54 | for (let i = 0; i]')) { 58 | long.push(allPlugins[i].slice(6, allPlugins.lenth)) 59 | } else if (allPlugins[i].startsWith('- [c]')) { 60 | disable.push(allPlugins[i].slice(6, allPlugins.lenth)) 61 | } 62 | } 63 | setTimeout(async () => { 64 | short.forEach(async p => { 65 | await plugin.app.plugins.enablePlugin(p) 66 | }, shortDelay * 1000); 67 | }); 68 | setTimeout(async () => { 69 | long.forEach(async p => { 70 | await plugin.app.plugins.enablePlugin(p) 71 | }, longDelay * 1000); 72 | }); 73 | disable.forEach(async p => { 74 | await plugin.app.plugins.disablePlugin(p) 75 | }); 76 | } 77 | 78 | 79 | plugin.addCommand({ 80 | id: 'Startup-script', 81 | name: 'Startup script', 82 | callback: async () => { 83 | const findFile = plugin.app.vault.getFiles() 84 | console.log(findFile); 85 | try{ 86 | if (!plugin.app.isMobile) { 87 | const PCFile = findFile.find(f=>f.name === 'PC.md'); 88 | await fastStart(PCFile, 2, 8); 89 | } else { 90 | const MobileFile = findFile.find(f=>f.name === 'Mobile.md'); 91 | await fastStart(MobileFile, 8, 15); 92 | }} catch(e){ 93 | new Notice(e) 94 | } 95 | } 96 | }); 97 | } 98 | -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | Each script here must be used with [User Plugins](https://github.com/mnowotnik/obsidian-user-plugins) 2 | 3 | # [Fast Start](Fast-start.js) 4 | 5 | This script allow to start your Obsidian Vault without waiting for the vault to load all plugins, with delayed it. 6 | First, identify on PC & mobile plugin that lengthen the loading time of your vault. 7 | 8 | 1. Create "Mobile.md" & "PC.md" file in your vault 9 | 2. In each file run `List installed plugins` 10 | - `[>]` indicate a long delay 11 | - `[x]` indicate a short delay 12 | - `[c]` indicate a plugin that will be disabled 13 | - `[ ]` indicate a plugin that will be enabled (default) => There are the plugins you need to keep to run at startup! 14 | 3. Register the startup script command with [Commander](https://github.com/phibr0/obsidian-commander) (Macro -> Startup script ; Auto-Run on Startup -> true) 15 | Depending on the device, you maybe need to add a little delay for the macro to run after the vault is loaded. 16 | 17 | # [Links copy](filepath_copy.js) 18 | 19 | Create a new file menu and editor menu commands, that allow to copy the **hard link** of the current file or folder. 20 | 21 | Usefull if you need to do some work on folder or file in another editor. 22 | 23 | # [Add space to quote](space-quote.js) 24 | 25 | Just add a space after the `>` when you forgot it. 26 | Useful when used with linter. 27 | 28 | -------------------------------------------------------------------------------- /plugins/filepath_copy.js: -------------------------------------------------------------------------------- 1 | module.exports = {} 2 | 3 | module.exports.onload = async (plugin) => { 4 | async function copyFilePath(file, vault) { 5 | file = file.path.replaceAll('/', '\\'); 6 | vault = plugin.app.vault.adapter.basePath; 7 | path = `${vault}\\${file}`; 8 | await navigator.clipboard.writeText(path); 9 | await new Notice('File path copied to clipboard'); 10 | } 11 | 12 | async function copyFolderPath(file) { 13 | file = file.path.replaceAll('/', '\\').replace(file.name, ''); 14 | vault = plugin.app.vault.adapter.basePath; 15 | path = `${vault}\\${file}`; 16 | await navigator.clipboard.writeText(path); 17 | await new Notice('Folder path copied to clipboard'); 18 | } 19 | 20 | plugin.registerEvent( 21 | plugin.app.workspace.on('file-menu', (menu, file)=>{ 22 | menu.addSeparator(); 23 | menu.addItem((item) => { 24 | if (file.extension !== undefined) { 25 | item.setTitle('Copy file path'); 26 | item.setIcon('link'); 27 | item.onClick(async () => { 28 | await copyFilePath(file); 29 | }); 30 | } 31 | })})); 32 | plugin.registerEvent( 33 | plugin.app.workspace.on('file-menu', (menu, file)=>{ 34 | menu.addItem((item) => { 35 | item.setTitle('Copy folder path'); 36 | item.setIcon('link'); 37 | item.onClick(async () => { 38 | await copyFolderPath(file); 39 | }) 40 | }) 41 | }) 42 | ); 43 | plugin.registerEvent( 44 | plugin.app.workspace.on('editor-menu', (menu, editor, view)=>{ 45 | menu.addSeparator(); 46 | menu.addItem((item) => { 47 | item.setTitle('Copy file path'); 48 | item.setIcon('link'); 49 | item.onClick(async () => { 50 | await copyFilePath(view.file); 51 | }) 52 | }) 53 | }) 54 | ); 55 | plugin.registerEvent( 56 | plugin.app.workspace.on('editor-menu', (menu, editor, view)=>{ 57 | menu.addItem((item) => { 58 | item.setTitle('Copy folder path'); 59 | item.setIcon('link'); 60 | item.onClick(async () => { 61 | await copyFolderPath(view.file); 62 | }) 63 | }) 64 | }) 65 | ); 66 | } -------------------------------------------------------------------------------- /plugins/space-quote.js: -------------------------------------------------------------------------------- 1 | module.exports = {} 2 | 3 | module.exports.onload = async (plugin) => { 4 | plugin.addCommand({ 5 | id: 'space-quote', 6 | name: 'Ajuster les espaces avant les citations', 7 | checkCallback: async (checking) => { 8 | const actualOpenedFile = plugin.app.workspace.getActiveFile(); 9 | if (actualOpenedFile && actualOpenedFile.extension === 'md') { 10 | if (!checking) { 11 | let contents = await plugin.app.vault.read(actualOpenedFile); 12 | contents = contents.replace(/^(>+)\s*/gm, `$1 `) 13 | await plugin.app.vault.modify(actualOpenedFile, contents); 14 | } 15 | return true; 16 | } 17 | return false; 18 | } 19 | }); 20 | }; --------------------------------------------------------------------------------