540 lines
20 KiB
CSS
540 lines
20 KiB
CSS
|
:root {
|
||
|
--color-dracula-background: #282a36;
|
||
|
--color-dracula-selection: #44475a; /* a.k.a. "Current line" */
|
||
|
--color-dracula-foreground: #f8f8f2;
|
||
|
--color-dracula-comment: #6272a4;
|
||
|
|
||
|
--color-dracula-cyan: #8be9fd;
|
||
|
--color-dracula-green: #50fa7b;
|
||
|
--color-dracula-orange: #ffb86c;
|
||
|
--color-dracula-pink: #ff79c6;
|
||
|
--color-dracula-purple: #bd93f9;
|
||
|
--color-dracula-red: #ff5555;
|
||
|
--color-dracula-yellow: #f1fa8c;
|
||
|
|
||
|
--color-dracula-yellow-ish: #f4f9bf; /* 50/50 blend of -yellow and -foreground */
|
||
|
|
||
|
--empty-line-height: 1em; /* 1em = 16px = 2/3 of the height of the normal line, which is 24px */
|
||
|
--header-hanging-margin: 30px; /* extra margin for hanging ### (header formatting) in there */
|
||
|
}
|
||
|
|
||
|
body {
|
||
|
/* HSL components of --color-dracula-comment */
|
||
|
--accent-h: 225;
|
||
|
--accent-s: 27%;
|
||
|
--accent-l: 51%;
|
||
|
|
||
|
/* Text editor layout */
|
||
|
--file-margins: var(--size-4-8) var(--size-4-12); /* wider left margin for hanging header prefixes (see below) */
|
||
|
}
|
||
|
|
||
|
body.theme-dark {
|
||
|
--color-base-00: var(--color-dracula-background); /* a.k.a. hsl(231, 15%, 18%) */
|
||
|
--color-base-10: hsl(231, 15%, 22%);
|
||
|
--color-base-20: hsl(231, 15%, 24%);
|
||
|
--color-base-25: hsl(231, 15%, 27%);
|
||
|
--color-base-30: hsl(231, 15%, 30%);
|
||
|
--color-base-35: hsl(231, 15%, 33%);
|
||
|
--color-base-40: hsl(231, 15%, 40%);
|
||
|
--color-base-50: hsl(231, 15%, 50%);
|
||
|
--color-base-60: hsl(231, 15%, 65%);
|
||
|
--color-base-70: hsl(231, 15%, 84%);
|
||
|
--color-base-100: var(--color-dracula-foreground); /* a.k.a. hsl(60, 30%, 96%) */
|
||
|
|
||
|
--text-selection: var(--color-dracula-selection);
|
||
|
|
||
|
--checklist-done-decoration: none; /* line-through */
|
||
|
--checklist-done-color: var(--text-faint); /* --text-muted */
|
||
|
}
|
||
|
|
||
|
body.theme-dark.is-mobile {
|
||
|
--color-base-00: hsl(231, 15%, 12%); /* 6pp lower than Desktop, default was #000000 */
|
||
|
--color-base-10: hsl(231, 15%, 17%); /* 5pp lower than Desktop, default was #121212 */
|
||
|
--color-base-20: hsl(231, 15%, 20%); /* 4pp lower than Desktop, default was #1e1e1e */
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Block quotes
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
--blockquote-border-thickness: 4px;
|
||
|
--blockquote-border-color: var(--color-dracula-yellow);
|
||
|
--blockquote-color: var(--color-dracula-yellow-ish);
|
||
|
}
|
||
|
|
||
|
.markdown-source-view .HyperMD-quote {
|
||
|
text-indent: -0.875em !important;
|
||
|
padding-inline-start: 2.375em !important;
|
||
|
}
|
||
|
|
||
|
/* Empty line inside the blockquote */
|
||
|
.markdown-source-view .HyperMD-quote:has(> .cm-formatting-quote:only-child) {
|
||
|
height: var(--empty-line-height);
|
||
|
line-height: var(--empty-line-height); /* to vertically align the lonely `>` in the otherwise empty blockquote line */
|
||
|
}
|
||
|
|
||
|
.markdown-preview-view blockquote {
|
||
|
margin: 0 0 var(--empty-line-height) 1em; /* like paragraphs, plus left margin */
|
||
|
padding: 0 0 0 1.125em;
|
||
|
}
|
||
|
.markdown-preview-view blockquote > :last-child {
|
||
|
padding-bottom: 0;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Bold and italic
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
--bold-color: var(--color-dracula-orange);
|
||
|
--italic-color: var(--color-dracula-yellow);
|
||
|
}
|
||
|
|
||
|
.markdown-source-view .cm-formatting-strong,
|
||
|
.markdown-source-view .cm-formatting-em {
|
||
|
opacity: 0.4;
|
||
|
|
||
|
/* For bold text, make the formatting asterisks non-bold */
|
||
|
font-weight: normal;
|
||
|
|
||
|
/* For italic text though, we still let the asterisks to be italic,
|
||
|
so they align better with the text between them. */
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Code: block code
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
--code-size: var(--font-small); /* `small` is a bit bigger than code's default `smaller` */
|
||
|
|
||
|
--code-normal: var(--text-muted); /* --text-muted */
|
||
|
--code-comment: var(--color-dracula-comment); /* --text-faint */
|
||
|
--code-function: var(--color-dracula-green); /* --color-yellow */
|
||
|
--code-important: var(--color-dracula-red); /* --color-orange */
|
||
|
--code-keyword: var(--color-dracula-pink); /* --color-pink */
|
||
|
--code-operator: var(--color-dracula-foreground); /* --color-red */
|
||
|
--code-property: var(--color-dracula-orange); /* --color-cyan */
|
||
|
--code-punctuation: var(--text-muted); /* --text-muted */
|
||
|
--code-string: var(--color-dracula-yellow); /* --color-green */
|
||
|
--code-tag: var(--color-dracula-red); /* --color-red */
|
||
|
--code-value: var(--color-dracula-purple); /* --color-purple */
|
||
|
}
|
||
|
|
||
|
.markdown-source-view .HyperMD-codeblock-begin,
|
||
|
.markdown-source-view .HyperMD-codeblock-end {
|
||
|
/* make backticks small */
|
||
|
font-size: 0.625em;
|
||
|
|
||
|
/* limit "top padding" height of the block */
|
||
|
height: 0.75rem; /* 12px */
|
||
|
line-height: 1.2rem !important; /* move backticks a bit down */
|
||
|
}
|
||
|
.markdown-source-view .HyperMD-codeblock-begin {
|
||
|
z-index: 1; /* make overflow visible */
|
||
|
}
|
||
|
|
||
|
.markdown-preview-view pre {
|
||
|
padding: 0.75em 1em; /* 12px - to match Source's top and bottom backtick rows */
|
||
|
margin: 0 0 var(--empty-line-height) 0; /* like paragraphs */
|
||
|
}
|
||
|
|
||
|
.markdown-source-view .HyperMD-codeblock,
|
||
|
.markdown-preview-view pre code {
|
||
|
line-height: 1.5rem;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Code: inline code
|
||
|
*/
|
||
|
|
||
|
.markdown-source-view span.cm-inline-code,
|
||
|
.markdown-preview-view :not(pre) > code {
|
||
|
color: var(--color-dracula-green);
|
||
|
padding-top: 0.1875em; /* 3px */
|
||
|
padding-bottom: 0.1875em; /* 3px */
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Hashtags
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
--tag-size: var(--font-text-size);
|
||
|
--tag-color: var(--color-dracula-pink);
|
||
|
--tag-color-hover: var(--color-dracula-pink);
|
||
|
--tag-background: hsla(var(--interactive-accent-hsl), 0.2);
|
||
|
--tag-background-hover: hsla(var(--interactive-accent-hsl), 0.4);
|
||
|
--tag-padding-x: 0.25em; /* 4px */
|
||
|
--tag-padding-y: 0.125em; /* 2px */
|
||
|
--tag-radius: 0.1875em; /* 3px */
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Headings
|
||
|
* - Six Dracula colors (the "red" is not used)
|
||
|
* - Sizes from 1em to 2em with 0.2em interval
|
||
|
* - Same look in Source and Preview (except for ###)
|
||
|
* - Formatting (###) is header's font-size * 0.6
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
--h1-color: var(--color-dracula-pink);
|
||
|
--h2-color: var(--color-dracula-purple);
|
||
|
--h3-color: var(--color-dracula-cyan);
|
||
|
--h4-color: var(--color-dracula-green);
|
||
|
--h5-color: var(--color-dracula-yellow);
|
||
|
--h6-color: var(--color-dracula-orange);
|
||
|
|
||
|
--h1-size: 2em;
|
||
|
--h2-size: 1.8em;
|
||
|
--h3-size: 1.6em;
|
||
|
--h4-size: 1.4em;
|
||
|
--h5-size: 1.2em;
|
||
|
--h6-size: 1em;
|
||
|
|
||
|
--h1-weight: 600;
|
||
|
--h2-weight: 600;
|
||
|
--h3-weight: 600;
|
||
|
--h4-weight: 600;
|
||
|
--h5-weight: 600;
|
||
|
--h6-weight: 600;
|
||
|
|
||
|
--h1-line-height: 1.3125; /* 41.6px → 42px */
|
||
|
--h2-line-height: 1.2847; /* 37.44px → 37px */
|
||
|
--h3-line-height: 1.2891; /* 33.28px → 33px */
|
||
|
--h4-line-height: 1.2946; /* 29.12px → 29px */
|
||
|
--h5-line-height: 1.3021; /* 24.96px → 25px */
|
||
|
--h6-line-height: 1.3125; /* 20.8px → 21px */
|
||
|
|
||
|
--heading-spacing: 0;
|
||
|
}
|
||
|
|
||
|
.markdown-source-view .HyperMD-header,
|
||
|
.markdown-preview-view h1,
|
||
|
.markdown-preview-view h2,
|
||
|
.markdown-preview-view h3,
|
||
|
.markdown-preview-view h4,
|
||
|
.markdown-preview-view h5,
|
||
|
.markdown-preview-view h6 {
|
||
|
margin: 0;
|
||
|
}
|
||
|
|
||
|
/* Header formatting prefix (###) */
|
||
|
.markdown-source-view .cm-formatting-header {
|
||
|
color: inherit; /* inherit color from header, instead of using --heading-formatting */
|
||
|
opacity: 0.4;
|
||
|
font-size: 0.6em !important;
|
||
|
}
|
||
|
|
||
|
/* Hanging prefixes (### is outside in the text margin) */
|
||
|
.markdown-source-view:not(.is-live-preview) .HyperMD-header-1,
|
||
|
.markdown-source-view.is-live-preview .cm-active.HyperMD-header-1 { text-indent: -0.4884em; }
|
||
|
.markdown-source-view:not(.is-live-preview) .HyperMD-header-2,
|
||
|
.markdown-source-view.is-live-preview .cm-active.HyperMD-header-2 { text-indent: -0.8562em; }
|
||
|
.markdown-source-view:not(.is-live-preview) .HyperMD-header-3,
|
||
|
.markdown-source-view.is-live-preview .cm-active.HyperMD-header-3 { text-indent: -1.2402em; }
|
||
|
.markdown-source-view:not(.is-live-preview) .HyperMD-header-4,
|
||
|
.markdown-source-view.is-live-preview .cm-active.HyperMD-header-4 { text-indent: -1.7866em; }
|
||
|
.markdown-source-view:not(.is-live-preview) .HyperMD-header-5,
|
||
|
.markdown-source-view.is-live-preview .cm-active.HyperMD-header-5 { text-indent: -2.2291em; }
|
||
|
.markdown-source-view:not(.is-live-preview) .HyperMD-header-6,
|
||
|
.markdown-source-view.is-live-preview .cm-active.HyperMD-header-6 { text-indent: -2.6894em; }
|
||
|
|
||
|
/* Empty line after headers, to align Preview with Source (sizing looks
|
||
|
tricky, but it's just to make the padding the same size in pixels) */
|
||
|
.markdown-preview-view h1 { margin-bottom: calc(var(--empty-line-height) / 2); }
|
||
|
.markdown-preview-view h2 { margin-bottom: calc(var(--empty-line-height) / 1.8); }
|
||
|
.markdown-preview-view h3 { margin-bottom: calc(var(--empty-line-height) / 1.6); }
|
||
|
.markdown-preview-view h4 { margin-bottom: calc(var(--empty-line-height) / 1.4); }
|
||
|
.markdown-preview-view h5 { margin-bottom: calc(var(--empty-line-height) / 1.2); }
|
||
|
.markdown-preview-view h6 { margin-bottom: calc(var(--empty-line-height) / 1); }
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Links
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
--link-color: var(--color-dracula-pink);
|
||
|
--link-color-hover: var(--color-dracula-purple);
|
||
|
--link-external-color: var(--color-dracula-pink);
|
||
|
--link-external-color-hover: var(--color-dracula-purple);
|
||
|
--link-unresolved-color: var(--color-dracula-pink);
|
||
|
--link-unresolved-opacity: 0.5;
|
||
|
--link-unresolved-decoration-color: var(--color-dracula-pink);
|
||
|
}
|
||
|
|
||
|
/* URL part in `[text](url)` */
|
||
|
.markdown-source-view .cm-string.cm-url {
|
||
|
color: var(--color-dracula-cyan);
|
||
|
}
|
||
|
/* Parens around URL in `[text](url)`, since they don't use punctuation color by default */
|
||
|
.markdown-source-view .cm-string.cm-url.cm-formatting-link-string {
|
||
|
color: var(--text-faint);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Lists
|
||
|
* - Because overriding `--list-spacing` is not enough
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
/* Obsidian vars */
|
||
|
--list-spacing: 0; /* takes care of vertical padding on list items */
|
||
|
--list-indent: 1.172em; /* with the code below, this var only affects OL */
|
||
|
|
||
|
/* Custom vars */
|
||
|
--list-item-gap: 0.375em; /* bottom margin for a list item, to keep the items separated */
|
||
|
--list-ul-margin: 0.272em; /* left margin of ul list, before `- ` */
|
||
|
--list-ul-bullet-width: 0.75em; /* width of `- ` is 11.42px by default, we round it to 12px */
|
||
|
--list-ol-margin: 0.125em; /* left margin of ol list, before `1. ` */
|
||
|
--list-ol-bullet-width: 1.75em; /* width of `99. ` is 28.16px; we set it to 28px, even for `1. ` */
|
||
|
--list-task-checkbox-width: 2.0625em; /* width of `[ ] ` is 33px */
|
||
|
}
|
||
|
|
||
|
/* Source OL+UL list items (vertical) */
|
||
|
.markdown-source-view .HyperMD-list-line + .HyperMD-list-line {
|
||
|
padding-top: var(--list-item-gap) !important;
|
||
|
padding-bottom: 0 !important;
|
||
|
}
|
||
|
|
||
|
/* Source UL indentation (non-task, top-level only) */
|
||
|
.markdown-source-view .HyperMD-list-line-1:has(> .cm-formatting-list-ul) {
|
||
|
text-indent: calc(-1 * var(--list-ul-bullet-width)) !important;
|
||
|
padding-inline-start: calc(var(--list-ul-margin) + var(--list-ul-bullet-width)) !important;
|
||
|
}
|
||
|
/* Source UL indentation (tasks, top level) */
|
||
|
.markdown-source-view .HyperMD-list-line-1.HyperMD-task-line:has(> .cm-formatting-list-ul) {
|
||
|
text-indent: calc(-1 * var(--list-ul-bullet-width) - var(--list-task-checkbox-width)) !important;
|
||
|
padding-inline-start: calc(var(--list-ul-margin) + var(--list-ul-bullet-width) + var(--list-task-checkbox-width)) !important;
|
||
|
}
|
||
|
/* Source UL indentation (tasks, 2nd level) */
|
||
|
.markdown-source-view .HyperMD-list-line-2.HyperMD-task-line:has(> .cm-formatting-list-ul) {
|
||
|
text-indent: calc(-1 * var(--list-indent) - var(--list-ul-bullet-width) - var(--list-task-checkbox-width)) !important;
|
||
|
padding-inline-start: calc(var(--list-indent) + var(--list-ul-margin) + var(--list-ul-bullet-width) + var(--list-task-checkbox-width)) !important;
|
||
|
}
|
||
|
/* Source UL indentation (tasks, 3rd level) */
|
||
|
.markdown-source-view .HyperMD-list-line-3.HyperMD-task-line:has(> .cm-formatting-list-ul) {
|
||
|
text-indent: calc(-2 * var(--list-indent) - var(--list-ul-bullet-width) - var(--list-task-checkbox-width)) !important;
|
||
|
padding-inline-start: calc(2 * var(--list-indent) + var(--list-ul-margin) + var(--list-ul-bullet-width) + var(--list-task-checkbox-width)) !important;
|
||
|
}
|
||
|
|
||
|
/* Source OL indentation (non-task, top-level only) */
|
||
|
.markdown-source-view .HyperMD-list-line-1:has(> .cm-formatting-list-ol) {
|
||
|
text-indent: calc(-1 * var(--list-ol-bullet-width)) !important;
|
||
|
padding-inline-start: calc(var(--list-ol-margin) + var(--list-ol-bullet-width)) !important;
|
||
|
}
|
||
|
/* Source OL indentation (tasks, top level) */
|
||
|
.markdown-source-view .HyperMD-list-line-1.HyperMD-task-line:has(> .cm-formatting-list-ol) {
|
||
|
text-indent: calc(-1 * var(--list-ol-bullet-width) - var(--list-task-checkbox-width)) !important;
|
||
|
padding-inline-start: calc(var(--list-ol-margin) + var(--list-ol-bullet-width) + var(--list-task-checkbox-width)) !important;
|
||
|
}
|
||
|
/* Source OL indentation (tasks, 2nd level) */
|
||
|
.markdown-source-view .HyperMD-list-line-2.HyperMD-task-line:has(> .cm-formatting-list-ol) {
|
||
|
text-indent: calc(-1 * var(--list-indent) - var(--list-ol-bullet-width) - var(--list-task-checkbox-width)) !important;
|
||
|
padding-inline-start: calc(var(--list-indent) + var(--list-ol-margin) + var(--list-ol-bullet-width) + var(--list-task-checkbox-width)) !important;
|
||
|
}
|
||
|
/* Source OL indentation (tasks, 3rd level) */
|
||
|
.markdown-source-view .HyperMD-list-line-3.HyperMD-task-line:has(> .cm-formatting-list-ol) {
|
||
|
text-indent: calc(-2 * var(--list-indent) - var(--list-ol-bullet-width) - var(--list-task-checkbox-width)) !important;
|
||
|
padding-inline-start: calc(2 * var(--list-indent) + var(--list-ol-margin) + var(--list-ol-bullet-width) + var(--list-task-checkbox-width)) !important;
|
||
|
}
|
||
|
|
||
|
/* Source UL bullet width (any-level) */
|
||
|
.markdown-source-view .HyperMD-list-line .cm-formatting-list-ul {
|
||
|
display: inline-block;
|
||
|
min-width: var(--list-ul-bullet-width);
|
||
|
text-align: right;
|
||
|
}
|
||
|
/* Source OL bullet width (any-level) */
|
||
|
.markdown-source-view .HyperMD-list-line .cm-formatting-list-ol {
|
||
|
display: inline-block;
|
||
|
min-width: var(--list-ol-bullet-width);
|
||
|
text-align: right;
|
||
|
}
|
||
|
|
||
|
/* Preview UL+OL list items (vertical)
|
||
|
* - top-level ones get gaps, except for the first one
|
||
|
* - nested ones get gaps, including the first one */
|
||
|
.markdown-preview-view li + li,
|
||
|
.markdown-preview-view li li {
|
||
|
margin: var(--list-item-gap) 0 0 0;
|
||
|
}
|
||
|
|
||
|
/* Preview UL+OL lists (vertical, top-level only) */
|
||
|
.markdown-preview-view :not(li) > ul,
|
||
|
.markdown-preview-view :not(li) > ol {
|
||
|
margin-top: 0;
|
||
|
margin-bottom: var(--empty-line-height); /* like paragraphs */
|
||
|
}
|
||
|
|
||
|
/* Preview UL indentation (any-level) */
|
||
|
.markdown-preview-view ul {
|
||
|
margin-left: calc(var(--list-ul-margin) + var(--list-ul-bullet-width));
|
||
|
padding: 0;
|
||
|
}
|
||
|
/* Preview OL indentation (top-level only) */
|
||
|
.markdown-preview-view :not(li) > ol {
|
||
|
margin-left: calc(var(--list-ol-margin) + var(--list-ol-bullet-width));
|
||
|
padding: 0;
|
||
|
}
|
||
|
|
||
|
/* Preview UL tasks */
|
||
|
.markdown-preview-view :not(li) > ul.contains-task-list {
|
||
|
padding-left: calc(var(--checkbox-size) * 2.065);
|
||
|
}
|
||
|
.markdown-preview-view li > ul.contains-task-list {
|
||
|
padding-left: calc(var(--checkbox-size) * 0.152);
|
||
|
}
|
||
|
.markdown-preview-view ul.contains-task-list .task-list-item-checkbox {
|
||
|
margin-left: calc(var(--checkbox-size) * -1.65);
|
||
|
margin-right: calc(var(--checkbox-size) * 0.65);
|
||
|
}
|
||
|
|
||
|
/* Preview OL tasks */
|
||
|
.markdown-preview-view ol li.task-list-item {
|
||
|
padding-left: calc(var(--checkbox-size) * 2.065);
|
||
|
}
|
||
|
.markdown-preview-view li > ol.contains-task-list {
|
||
|
margin-left: calc(var(--checkbox-size) * -2.065);
|
||
|
}
|
||
|
.markdown-preview-view ol.contains-task-list .task-list-item-checkbox {
|
||
|
margin-left: calc(var(--checkbox-size) * -1.65);
|
||
|
margin-right: calc(var(--checkbox-size) * 0.65);
|
||
|
}
|
||
|
|
||
|
/* Preview UL bullet: move down and right */
|
||
|
.markdown-preview-view .list-bullet {
|
||
|
justify-content: initial;
|
||
|
padding-top: 0.0625em; /* 1px */
|
||
|
margin-left: -0.75em; /* distance between bullet and text; default is -1em */
|
||
|
}
|
||
|
|
||
|
/* Missing checked/done style for OL tasks (copied from the existing UL style in app.css) */
|
||
|
ol > li.task-list-item[data-task="x"],
|
||
|
ol > li.task-list-item[data-task="X"] {
|
||
|
text-decoration: var(--checklist-done-decoration);
|
||
|
color: var(--checklist-done-color);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Paragraphs & empty lines
|
||
|
* - in Source, we'll have empty lines after each block (header, paragraph, list etc.)
|
||
|
* - in Preview, we'll emulate empty lines with the equivalent padding-bottom / margin-bottom
|
||
|
*/
|
||
|
|
||
|
/* Empty line in Source is a separator, and should look smaller than a line with text */
|
||
|
.markdown-source-view .cm-line:has(> br:only-child) {
|
||
|
height: var(--empty-line-height);
|
||
|
line-height: var(--empty-line-height); /* to vertically align the text cursor in the empty line */
|
||
|
}
|
||
|
|
||
|
/* Empty line after paragraphs, to align Preview with Source */
|
||
|
.markdown-preview-view p {
|
||
|
margin: 0 0 var(--empty-line-height) 0;
|
||
|
padding: 0;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Tables
|
||
|
*/
|
||
|
|
||
|
body {
|
||
|
--table-header-background: var(--color-base-20);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* Thematic breaks (horizontal rules, <hr>)
|
||
|
*/
|
||
|
|
||
|
.markdown-source-view .cm-hr {
|
||
|
/* Preview's color (--hr-color) is `--color-base-30`, but for Source's short `---` we need a brighter one */
|
||
|
color: var(--color-base-40);
|
||
|
font-weight: bold;
|
||
|
}
|
||
|
|
||
|
.markdown-preview-view hr {
|
||
|
/* to match Source's paragraphs, the height must be = 1.5, plus --empty-line-height on both sides */
|
||
|
--hr-required-size: 1.5em; /* normal text line height */
|
||
|
--hr-remainder: calc(var(--hr-required-size) - var(--hr-thickness));
|
||
|
--hr-margin: calc(var(--hr-remainder) / 2 + var(--empty-line-height));
|
||
|
|
||
|
margin: var(--hr-margin) 0;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
********************************************************************************************************************
|
||
|
* YAML front matter (metadata)
|
||
|
* - Metadata is only visible if enabled in the settings
|
||
|
* - We make it look very much like a code block
|
||
|
*/
|
||
|
|
||
|
/* All metadata rows (formatting + content) */
|
||
|
.markdown-source-view .cm-line:has(> .cm-hmd-frontmatter) {
|
||
|
background-color: var(--code-background);
|
||
|
padding-left: var(--size-4-4);
|
||
|
}
|
||
|
|
||
|
/* Text in metadata rows (formatting + content) */
|
||
|
.markdown-source-view .cm-line > .cm-hmd-frontmatter {
|
||
|
color: var(--text-faint);
|
||
|
}
|
||
|
|
||
|
/* Formatting rows (top and bottom) */
|
||
|
.markdown-source-view .cm-line:has(> .cm-hmd-frontmatter.cm-def) {
|
||
|
/* make "---" small */
|
||
|
font-size: 0.625em;
|
||
|
|
||
|
/* limit "top padding" height of the block */
|
||
|
height: 0.75rem; /* 12px */
|
||
|
line-height: 0.75rem; /* 12px */
|
||
|
|
||
|
border-radius: var(--radius-s) var(--radius-s) 0 0;
|
||
|
}
|
||
|
|
||
|
/* Bottom formatting row */
|
||
|
.markdown-source-view .cm-line:has(> .cm-hmd-frontmatter) + .cm-line:has(> .cm-hmd-frontmatter.cm-def) {
|
||
|
border-radius: 0 0 var(--radius-s) var(--radius-s);
|
||
|
}
|
||
|
|
||
|
/* Content rows */
|
||
|
.markdown-source-view .cm-line > .cm-hmd-frontmatter:not(.cm-def) {
|
||
|
height: 1.5rem;
|
||
|
line-height: 1.5rem;
|
||
|
vertical-align: top;
|
||
|
}
|
||
|
|
||
|
/* The rest is for Preview */
|
||
|
.markdown-preview-view .frontmatter-container {
|
||
|
color: var(--text-faint);
|
||
|
background-color: var(--code-background);
|
||
|
border-radius: var(--radius-s);
|
||
|
padding: 0.75em 1em; /* 12px - to match Source's top and bottom backtick rows */
|
||
|
margin: 0 0 var(--empty-line-height) 0; /* like paragraphs */
|
||
|
}
|
||
|
.markdown-preview-view .frontmatter-container-header {
|
||
|
display: none;
|
||
|
}
|
||
|
.markdown-preview-view .frontmatter-section {
|
||
|
line-height: 1.5em;
|
||
|
margin: 0;
|
||
|
}
|
||
|
.markdown-preview-view .frontmatter-section-label,
|
||
|
.markdown-preview-view .frontmatter-section-data {
|
||
|
font-family: var(--font-monospace);
|
||
|
font-size: var(--font-smaller);
|
||
|
text-transform: none;
|
||
|
}
|