Created
December 19, 2024 08:21
-
-
Save hiorws/e300c8c8ebb5b6481eddac701abf51dc to your computer and use it in GitHub Desktop.
ColoredSidebarItems.css
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*------------------------------------------------------------------------------ | |
Obsidian Colored Sidebar Items by CyanVoxel v2.0.0 | |
A colored sidebar CSS snippet inspired by | |
the "Coloured Folders" snippet by Lithou. | |
This snippet targets folders beginning with numbered prefixes, and applies full | |
color formatting based on the root colors listed below. The prefixes are both | |
customizable and extensible; feel free to change, add, and remove them based on | |
your own titles and vault structure! By default I have a range of 8+1 colors, | |
however I've provided some other common colors as a starting point for your own | |
customization. Just swap out the color variable names in the prefix groups. | |
------------------------------------------------------------------------------*/ | |
:root { | |
/* ================================ Colors ================================ */ | |
--red: #e22c3c; /* Default Prefix: None */ | |
--red-orange: #e9404b; /* Default Prefix: None */ | |
--orange: #ee6748; /* Default Prefix: None */ | |
--amber: #fa9f50; /* Default Prefix: None */ | |
--yellow: #ffd85e; /* Default Prefix: None */ | |
--lime: #97e768; /* Default Prefix: None */ | |
--mint: #52eea3; /* Default Prefix: 00 */ | |
--cyan: #51e1e9; /* Default Prefix: 01 */ | |
--cool-cyan: #43cfea; /* Default Prefix: None */ | |
--light-blue: #54b6f8; /* Default Prefix: 02 */ | |
--blue: #437cf3; /* Default Prefix: 03 */ | |
--blue-violet: #6f51f4; /* Default Prefix: None */ | |
--violet: #9446f8; /* Default Prefix: 04 */ | |
--purple: #c952ed; /* Default Prefix: 05 */ | |
--magenta: #e54f9b; /* Default Prefix: 06 */ | |
--hot-red: #e3365e; /* Default Prefix: 07 */ | |
--cool-gray: #515768; /* Default Prefix: 99 */ | |
--default-text-color: #d0d0d0; | |
--highlight: #fff; | |
--shadow: #0b0c2c; | |
--nav-item-weight-hover: bold; | |
} | |
/* Light Theme Specific Properties */ | |
.theme-light { | |
--contrast-color: var(--shadow); | |
--default-text-color: var(--shadow); | |
--bg-contrast-amount: 70%; | |
--fg-contrast-amount: 30%; | |
--medium-contrast-amount: 60%; | |
--active-contrast-amount: 30%; | |
/* Darker Versions of Bright Colors for Light Theme */ | |
--yellow: color-mix(in srgb, #ffd85e 90%, var(--shadow)); | |
--lime: color-mix(in srgb, #97e768 90%, var(--shadow)); | |
--mint: color-mix(in srgb, #52eea3 85%, var(--shadow)); | |
--cyan: color-mix(in srgb, #51e1e9 85%, var(--shadow)); | |
--cool-cyan: color-mix(in srgb, #43cfea 85%, var(--shadow)); | |
--light-blue: color-mix(in srgb, #54b6f8 90%, var(--shadow)); | |
} | |
/* Dark Theme Specific Properties */ | |
.theme-dark { | |
--contrast-color: var(--highlight); | |
--bg-contrast-amount: 15%; | |
--fg-contrast-amount: 40%; | |
--medium-contrast-amount: 20%; | |
--active-contrast-amount: 10%; | |
} | |
/* All Folder Titles */ | |
.nav-folder-title { | |
font-weight: bold; | |
border-radius: 5px; | |
} | |
/* Narrower Padding on Desktop*/ | |
@media only screen and (min-width: 768px) { | |
.nav-file-title, | |
.nav-folder-title { | |
/* padding: 3px 5px 2px 4px !important; */ | |
padding-top: 3px !important; | |
padding-right: 5px !important; | |
padding-bottom: 2px !important; | |
padding-left: 15px; | |
} | |
} | |
/* | |
============================ Folder Title Prefixes ============================= | |
The following groups of prefixes are divided by the numbering prefix that they | |
target. For example, prefix '00' targets any folder titles beginning with '00', | |
such as '00 - Maps of Content'. The only other piece of information that changes | |
between the prefix groups are the color variables. Change or expand on any of | |
these to suit your own folder structure and vault theme! | |
*/ | |
/* ------------------------------- 00 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="00"] { | |
color: var(--mint); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--mint) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--mint) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--mint) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix(in srgb, var(--mint) 60%, transparent); | |
} | |
.nav-folder-title[data-path^="00"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--mint) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="00"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--mint) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="00"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--mint) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--mint) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--mint) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--mint) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 01 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="01"] { | |
color: var(--cyan); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--cyan) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--cyan) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--cyan) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix(in srgb, var(--cyan) 60%, transparent); | |
} | |
.nav-folder-title[data-path^="01"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--cyan) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="01"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--cyan) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="01"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--cyan) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--cyan) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--cyan) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--cyan) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 02 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="02"] { | |
color: var(--light-blue); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--light-blue) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--light-blue) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--light-blue) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--light-blue) 60%, | |
transparent | |
); | |
} | |
.nav-folder-title[data-path^="02"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--light-blue) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="02"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--light-blue) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="02"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--light-blue) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--light-blue) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--light-blue) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--light-blue) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 03 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="03"] { | |
color: var(--blue); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--blue) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--blue) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--blue) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix(in srgb, var(--blue) 60%, transparent); | |
} | |
.nav-folder-title[data-path^="03"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--blue) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="03"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--blue) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="03"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--blue) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--blue) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--blue) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--blue) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 04 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="04"] { | |
color: var(--violet); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--violet) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--violet) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--violet) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix(in srgb, var(--violet) 60%, transparent); | |
} | |
.nav-folder-title[data-path^="04"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--violet) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="04"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--violet) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="04"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--violet) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--violet) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--violet) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--violet) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 05 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="05"] { | |
color: var(--purple); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--purple) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--purple) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--purple) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix(in srgb, var(--purple) 60%, transparent); | |
} | |
.nav-folder-title[data-path^="05"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--purple) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="05"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--purple) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="05"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--purple) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--purple) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--purple) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--purple) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 06 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="06"] { | |
color: var(--magenta); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--magenta) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--magenta) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--magenta) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--magenta) 60%, | |
transparent | |
); | |
} | |
.nav-folder-title[data-path^="06"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--magenta) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="06"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--magenta) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="06"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--magenta) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--magenta) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--magenta) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--magenta) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 07 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="07"] { | |
color: var(--hot-red); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--hot-red) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--hot-red) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--hot-red) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--hot-red) 60%, | |
transparent | |
); | |
} | |
.nav-folder-title[data-path^="07"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--hot-red) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="07"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--hot-red) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="07"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--hot-red) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--hot-red) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--hot-red) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--hot-red) var(--active-contrast-amount), | |
transparent | |
); | |
} | |
/* ------------------------------- 99 Prefix -------------------------------- */ | |
.nav-folder-title[data-path^="99"] { | |
color: var(--cool-gray); | |
--nav-item-color-hover: color-mix( | |
in srgb, | |
var(--cool-gray) var(--fg-contrast-amount), | |
var(--contrast-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
var(--cool-gray) var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--cool-gray) 40%, | |
transparent | |
); | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--cool-gray) 60%, | |
transparent | |
); | |
} | |
.nav-folder-title[data-path^="99"]:hover { | |
--nav-collapse-icon-color: color-mix( | |
in srgb, | |
var(--cool-gray) 60%, | |
var(--contrast-color) | |
); | |
} | |
.tree-item-children .nav-folder:has(.nav-folder-title[data-path^="99"]) { | |
--nav-indentation-guide-color: color-mix( | |
in srgb, | |
var(--cool-gray) var(--medium-contrast-amount), | |
transparent | |
); | |
} | |
.tree-item-children | |
.nav-folder:has(.nav-folder-title[data-path^="99"]) | |
.nav-file-title { | |
color: color-mix( | |
in srgb, | |
var(--cool-gray) var(--medium-contrast-amount), | |
var(--default-text-color) | |
); | |
--nav-item-background-hover: color-mix( | |
in srgb, | |
color-mix(in srgb, var(--cool-gray) 50%, var(--highlight)) | |
var(--bg-contrast-amount), | |
transparent | |
); | |
--background-modifier-border-focus: color-mix( | |
in srgb, | |
var(--cool-gray) 40%, | |
transparent | |
); | |
--nav-item-background-active: color-mix( | |
in srgb, | |
var(--cool-gray) var(--active-contrast-amount), | |
transparent | |
); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment