// This partial sets page header and footer content. // It sets separate content for .frontmatter and .chapter pages. // Assign strings to use in headers and footers for each level of heading (h1-h6), // to be called by the header and footer variables ($verso-top-center etc.). // For each heading, we use the title attribute, with the heading text as fallback. // h1 also sets the string for h2, in case there is no h2 on the page yet. h1 { string-set: h1-text content(), h2-text content(), h1-title attr(title), h2-title attr(title); } h2 { string-set: h2-text content(), h2-title attr(title); } h3 { string-set: h3-text content(), h3-title attr(title); } h4 { string-set: h4-text content(), h4-title attr(title); } h5 { string-set: h5-text content(), h5-title attr(title); } h6 { string-set: h6-text content(), h6-title attr(title); } // Now we place our content for `.chapter` pages // Verso @page chapter:left { @top { content: $verso-top; } @top-right { content: $verso-top-right; } @top-left { content: $verso-top-left; } @top-right-corner { content: $verso-top-right-corner; } @top-left-corner { content: $verso-top-left-corner; } @bottom { content: $verso-bottom; } @bottom-left { content: $verso-bottom-left; } @bottom-right { content: $verso-bottom-right; } @bottom-left-corner { content: $verso-bottom-left-corner; } @bottom-right-corner { content: $verso-bottom-right-corner; } } // Recto @page chapter:right { @top { content: $recto-top; } @top-right { content: $recto-top-right; } @top-left { content: $recto-top-left; } @top-right-corner { content: $recto-top-right-corner; } @top-left-corner { content: $recto-top-left-corner; } @bottom { content: $recto-bottom; } @bottom-left { content: $recto-bottom-left; } @bottom-right { content: $recto-bottom-right; } @bottom-left-corner { content: $recto-bottom-left-corner; } @bottom-right-corner { content: $recto-bottom-right-corner; } } // No headers on first pages of chapters .chapter, h1 { prince-page-group: start; } @page chapter:first { @top { content: normal; } @top-left { content: normal; } @top-right { content: normal; } @top-left-corner { content: normal; } @top-right-corner { content: normal; } } // No headers or footers on blank pages of chapters @page chapter:blank { @top { content: normal; } @top-left { content: normal; } @top-right { content: normal; } @top-left-corner { content: normal; } @top-right-corner { content: normal; } @bottom { content: normal; } @bottom-left { content: normal; } @bottom-right { content: normal; } @bottom-left-corner { content: normal; } @bottom-right-corner { content: normal; } } // Now we place our content for `.frontmatter` pages // Verso @page frontmatter:left { @top { content: $verso-top-frontmatter; } @top-right { content: $verso-top-right-frontmatter; } @top-left { content: $verso-top-left-frontmatter; } @top-right-corner { content: $verso-top-right-corner-frontmatter; } @top-left-corner { content: $verso-top-left-corner-frontmatter; } @bottom { content: $verso-bottom-frontmatter; } @bottom-left { content: $verso-bottom-left-frontmatter; } @bottom-right { content: $verso-bottom-right-frontmatter; } @bottom-left-corner { content: $verso-bottom-left-corner-frontmatter; } @bottom-right-corner { content: $verso-bottom-right-corner-frontmatter; } } // Recto @page frontmatter:right { @top { content: $recto-top-frontmatter; } @top-right { content: $recto-top-right-frontmatter; } @top-left { content: $recto-top-left-frontmatter; } @top-right-corner { content: $recto-top-right-corner-frontmatter; } @top-left-corner { content: $recto-top-left-corner-frontmatter; } @bottom { content: $recto-bottom-frontmatter; } @bottom-left { content: $recto-bottom-left-frontmatter; } @bottom-right { content: $recto-bottom-right-frontmatter; } @bottom-left-corner { content: $recto-bottom-left-corner-frontmatter; } @bottom-right-corner { content: $recto-bottom-right-corner-frontmatter; } } // No headers on first pages of frontmatter .frontmatter { prince-page-group: start; } @page frontmatter:first { @top { content: normal; } @top-left { content: normal; } @top-right { content: normal; } @top-left-corner { content: normal; } @top-right-corner { content: normal; } } // No headers or footers on blank pages of frontmatter @page frontmatter:blank { @top { content: normal; } @top-left { content: normal; } @top-right { content: normal; } @top-left-corner { content: normal; } @top-right-corner { content: normal; } @bottom { content: normal; } @bottom-left { content: normal; } @bottom-right { content: normal; } @bottom-left-corner { content: normal; } @bottom-right-corner { content: normal; } } // Reset page numbering to 1 .page-1 { counter-reset: page 1; }