trwnh.com/profile.hugo/assets/styles/features/headings.scss

80 lines
No EOL
1.4 KiB
SCSS

h2.heading {
border-bottom: 1px solid var(--ui-text-muted);
padding-bottom: 1rem;
}
/* headings with no numbers */
article:not([autonumbering]) .heading {
position: relative;
margin-right: 2.5rem;
&__anchor-link {
display: inline-flex;
align-content: center;
margin-left: 0.25em;
position: absolute;
right: -2.5rem;
top: 3px;
font-size: 1rem;
}
}
/* headings with autonumbering support */
body {counter-reset: h2}
h2 {counter-reset: h3}
h3 {counter-reset: h4}
h4 {counter-reset: h5}
article[autonumbering] {
h2:before {
counter-increment: h2;
content: counter(h2) " ";
}
h3:before {
counter-increment: h3;
content: counter(h2) "." counter(h3) " ";
}
h4:before {
counter-increment: h4;
content: counter(h2) "." counter(h3) "." counter(h4) " ";
}
h2:before,
h3:before,
h4:before
{
margin-right: 1em;
font-family: monospace;
font-size: 1rem;
}
.heading {
display: grid;
grid-template-columns: 1fr auto;
grid-template-rows: auto auto;
grid-gap: 0.5rem;
&__text {
grid-column: span 2;
}
&__anchor-link {
font-size: 1rem;
grid-column: 2;
grid-row: 1;
justify-self: end;
}
}
#TableOfContents :is(ol, ul) {
counter-reset: item;
}
#TableOfContents li:before {
content: counters(item, ".") ". ";
counter-increment: item;
font-family: monospace;
}
#TableOfContents ol ol,
#TableOfContents ul ul
{
margin-left: 0;
}
}