trwnh.com/unified.test.hugo/assets/styles/features/autonumbering.scss

83 lines
No EOL
1.7 KiB
SCSS

body {counter-reset: h2 figure table}
h2 {counter-reset: h3}
h3 {counter-reset: h4}
h4 {counter-reset: h5}
h5 {counter-reset: h6}
*[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) " ";
}
h5:before {
counter-increment: h5;
content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " ";
}
h6:before {
counter-increment: h6;
content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) " ";
}
h2:before,
h3:before,
h4:before,
h5:before,
h6:before
{
font-family: monospace;
font-size: 1rem;
}
:is(.table-of-contents, #TableOfContents) :is(ol, ul) {
/*
each list gets a new counter
*/
counter-reset: item;
margin-inline-start: 0;
}
:is(.table-of-contents, #TableOfContents) :is(ol, ul) :is(ol, ul) {
/*
nested lists shouldn't be indented
*/
margin-inline-start: 0;
}
:is(.table-of-contents, #TableOfContents) li:before {
/*
the counter is added as a pseudo-element,
and nested counters are joined by a dot
*/
content: counters(item, ".") " ";
counter-increment: item;
/* ensure the counters align visually */
font-family: monospace;
font-weight: bold;
margin-inline-end: 1em;
}
/* tables and figures */
caption {
counter-increment: table;
&:before {
content: "Table " counter(table) ": ";
}
}
figcaption {
counter-increment: figure;
&:before {
content: "Figure " counter(figure) ": ";
}
}
/* footnotes */
#footnotes h2 {
counter-reset: h2;
&:before {
content: ''
}
}
}