docsify
Version:
A magical documentation generator.
448 lines (377 loc) • 8.68 kB
CSS
/* Markdown */
/* ========================================================================== */
.markdown-section {
position: relative;
width: var(--content-max-width);
max-width: calc(100% - (var(--content-margin-inline) * 2));
margin: var(--content-margin-inline) auto 0 auto;
padding-bottom: 2rem;
body:has(.app-nav) & {
margin-top: calc(var(--navbar-height) + (var(--content-margin-inline) / 2));
}
> :first-child {
margin-top: 0;
}
blockquote,
details,
figure,
form,
iframe,
ol,
output,
p,
pre,
table,
ul {
margin-block: var(--margin-block);
}
a {
&.anchor {
color: inherit;
&:not(:hover) {
text-decoration-color: transparent;
}
&:hover {
translate: 0 0 0; /* Safari Fix: Forced redraw */
text-decoration-color: var(--link-underline-color-hover);
}
}
}
blockquote {
position: relative;
overflow: auto;
margin-inline: 0;
padding: var(--blockquote-padding);
border: solid var(--blockquote-border-color);
border-width: var(--blockquote-border-width);
border-radius: var(--blockquote-border-radius);
background: var(--blockquote-bg);
color: var(--blockquote-color);
> :first-child {
margin-top: 0;
}
> :last-child {
margin-bottom: 0;
}
}
em {
font-style: italic;
}
hr {
margin-block: 2em;
}
iframe {
display: block;
width: 100%;
max-width: 100%;
border: 1px solid var(--color-mono-2);
}
img {
max-width: 100%;
}
kbd {
margin-inline: 0.15em;
&.alt {
padding: 0.5em;
border: var(--kbd-alt-border);
border-radius: var(--kbd-alt-border-radius);
box-shadow: var(--kbd-alt-box-shadow);
background: var(--kbd-alt-bg);
color: var(--kbd-alt-color);
font-size: var(--font-size-m);
}
}
/* Callouts */
/* ---------------------------------- */
.callout {
position: relative;
margin-block: calc(var(--margin-block) * 1.5);
padding: var(--callout-padding);
border: solid var(--callout-border-color);
border-width: var(--callout-border-width);
border-radius: var(--callout-border-radius);
background: var(--callout-bg);
color: var(--callout-color);
/* Charm */
&::before {
content: var(--callout-charm-content);
position: absolute;
inset: var(--callout-charm-inset);
height: var(--callout-charm-size);
width: var(--callout-charm-size);
translate: var(--callout-charm-translate);
border-radius: var(--callout-charm-border-radius);
background: var(--callout-charm-bg);
color: var(--callout-charm-color);
font-size: var(--callout-charm-font-size);
font-weight: var(--strong-font-weight);
line-height: var(--callout-charm-size);
text-align: center;
}
> :first-child {
margin-top: 0;
}
> :last-child {
margin-bottom: 0;
}
code,
strong {
color: inherit;
}
code {
background: rgba(0, 0, 0, 0.05);
}
pre:where([data-lang]) {
background: rgba(255, 255, 255, 0.4);
}
.callout {
margin-block: var(--margin-block);
}
}
/* Code, Output, Samp */
/* ---------------------------------- */
code,
output,
pre {
border-radius: var(--border-radius);
}
code,
pre,
samp {
font-family: var(--font-family-mono);
font-size: var(--font-size-mono);
}
output,
pre[data-lang] {
position: relative;
&::after {
content: attr(data-lang);
position: absolute;
top: 0.5rem;
right: 0.5rem;
color: inherit;
font-family: var(--font-family);
font-size: var(--font-size-xs);
letter-spacing: 0.02em;
line-height: 1;
opacity: 0.5;
}
}
:not(pre) > code,
samp {
white-space: pre-wrap;
overflow-wrap: break-word;
}
code {
margin: 0 0.1em;
padding: 0.2em 0.35em;
background: var(--code-bg);
color: var(--code-color);
.token {
position: relative;
left: auto;
}
}
output {
display: block;
padding: 1.7rem 1.4rem 1.4rem;
border: 1px solid var(--color-mono-2);
> :first-child {
margin-top: 0;
}
> :last-child {
margin-bottom: 0;
}
}
pre[data-lang] {
/* NOTE: !important declaration are intended to override third-party Prism theme values */
padding: 0 ;
border-radius: var(--border-radius) ;
font-family: var(--font-family-mono) ;
font-size: var(--font-size-mono) ;
line-height: inherit ;
tab-size: 2 ;
text-align: left;
white-space: pre;
word-spacing: normal;
word-wrap: normal;
word-break: normal;
hyphens: none;
&:only-child {
margin: 0;
}
> code {
display: block;
overflow: auto;
margin: 0 ;
padding: 0 ;
padding-block: 1.5rem ;
padding-inline: 1.5rem ;
background: transparent;
color: inherit;
font-size: inherit;
white-space: inherit;
}
}
samp {
font-weight: var(--strong-font-weight);
.token {
position: relative;
left: auto;
}
}
/* Headings */
/* --------------------------------- */
:where(h1, h2, h3, h4, h5, h6) {
margin: 2rem 0 0.5em;
color: var(--heading-color);
font-weight: var(--heading-font-weight);
/* Prevent long titles from causing horizontal scrolling */
&[id] a {
overflow-x: clip;
overflow-y: visible;
text-overflow: ellipsis;
}
}
h1,
h2 {
margin-top: 2.5rem;
}
:is(h1, h2, h3, h4, h5, h6) + * {
margin-top: 0;
}
h1 {
font-size: var(--font-size-xxxl);
&:first-of-type {
margin-top: 0;
}
}
h2 {
--_spacing: 0.5em;
margin-bottom: calc(
var(--_spacing) + (var(--heading-line-height) - var(--font-size-xxl))
);
padding-bottom: var(--_spacing);
border-bottom: 1px solid var(--border-color);
font-size: var(--font-size-xxl);
}
h3 {
font-size: var(--font-size-xl);
}
h4 {
font-size: var(--font-size-l);
}
h5 {
font-size: var(--font-size-m);
}
h6 {
&,
& + :not(h1, h2, h3, h4, h5) {
font-size: var(--font-size-s);
}
}
/* Lists */
/* ---------------------------------- */
ol,
ul {
margin: 0;
padding-inline-start: 1.5em;
& & {
margin-top: 0.25em;
}
}
li {
&:not(:last-child) {
margin-bottom: 0.25em;
}
}
ul.task-list {
--_checkbox-margin: 0.2em;
--_checkbox-offset: 1.6em;
padding-inline-start: 0.6em;
input[type='checkbox'] {
margin-top: -0.15em;
margin-right: var(--_checkbox-margin);
margin-left: calc(0px - var(--_checkbox-offset));
}
li {
position: relative;
margin-top: var(--_checkbox-margin);
margin-bottom: var(--_checkbox-margin);
margin-left: var(--_checkbox-offset);
list-style-type: none;
/* Vertical Connector */
&:has(.task-list) {
&::before {
content: '';
position: absolute;
z-index: -1;
top: 1em;
left: -1em;
bottom: 0;
border-left: 1px solid var(--color-mono-2);
}
}
}
ul.task-list {
padding-inline-start: 1.5em;
li {
margin-left: var(--_checkbox-margin);
}
> li {
/* Horizontal Connector */
&::after {
content: '';
position: absolute;
z-index: -1;
top: 0.9em;
left: -2.7em;
width: 1.25em;
border-top: 1px solid var(--color-mono-2);
border-left: none;
}
/* Horizontal Connector + Mask */
&:last-child {
&::after {
bottom: 0;
background: var(--color-bg);
}
}
}
}
}
/* Tables */
/* ---------------------------------- */
th,
td {
padding: 0.25em 0.75em;
border: 1px solid var(--color-mono-2);
}
table {
display: block;
width: 100%;
overflow: auto;
border-collapse: collapse;
border-spacing: 0;
}
thead {
display: none;
font-weight: var(--strong-font-weight);
text-align: left;
&:has(th:not(:empty)) {
display: table-header-group;
}
}
th {
font-weight: var(--strong-font-weight);
&:not([align]) {
text-align: left;
}
}
tr {
border-top: 1px solid var(--color-mono-2);
&:nth-child(2n) {
background: var(--table-row-alt-bg);
}
}
}