print layout...
parent
2affc2d2c5
commit
89d146d4ab
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@ -1,15 +1,19 @@
|
||||
{
|
||||
"syllabus": "syllabi",
|
||||
"curriculum": "curriculums",
|
||||
"book": "books",
|
||||
"journal": "journals",
|
||||
"topic": "topics",
|
||||
"part": "parts",
|
||||
"issue": "issues",
|
||||
"experiment": "experiments",
|
||||
"session": "sessions",
|
||||
"chapter": "chapters",
|
||||
"article": "articles",
|
||||
"annex": "annexes",
|
||||
"author": "authors"
|
||||
"syllabus": "syllabi",
|
||||
"curriculum": "curriculums",
|
||||
"notebook": "notebooks",
|
||||
"book": "books",
|
||||
"journal": "journals",
|
||||
"topic": "topics",
|
||||
"part": "parts",
|
||||
"issue": "issues",
|
||||
"tab": "tabs",
|
||||
"experiment": "experiments",
|
||||
"session": "sessions",
|
||||
"chapter": "chapters",
|
||||
"article": "articles",
|
||||
"note": "notes",
|
||||
"annex": "annexes",
|
||||
"author": "authors",
|
||||
"editor": "editors"
|
||||
}
|
||||
|
@ -1,2 +1,4 @@
|
||||
<link href="/css/paged_interface.css" rel="stylesheet" type="text/css">
|
||||
<link href="/css/print.css" rel="stylesheet" type="text/css">
|
||||
<script src="/js/paged.polyfill.js"></script>
|
||||
<script src="/js/repeatingHeader.js"></script>
|
||||
|
@ -0,0 +1,231 @@
|
||||
@page {
|
||||
size: 156mm 234mm;
|
||||
margin-bottom: 0.8in;
|
||||
padding-bottom: 0.2in;
|
||||
margin-top: 0.7in;
|
||||
}
|
||||
|
||||
@page:left {
|
||||
margin-right: 0.7in;
|
||||
margin-left: 1in;
|
||||
@bottom-left-corner {
|
||||
content: counter(page);
|
||||
font-size: 1rem;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
@bottom {
|
||||
content: element(runningTitle);
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
@page:right {
|
||||
margin-left: 0.7in;
|
||||
margin-right: 1in;
|
||||
@bottom-right-corner {
|
||||
content: counter(page);
|
||||
font-size: 1rem;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
@bottom {
|
||||
content: element(runningAuthors);
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
@page crustpage :first {
|
||||
@bottom-right-corner {
|
||||
content: none;
|
||||
}
|
||||
@bottom {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
html {
|
||||
font-size: 0.8em;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
body {
|
||||
font-size: 1rem;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.coretitle {
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 2rem;
|
||||
font-size: 2.2rem;
|
||||
}
|
||||
|
||||
.leftcolumn {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.has,
|
||||
.afterhas {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.mantle,
|
||||
.crust {
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0px;
|
||||
margin: 0 auto;
|
||||
margin-top: 4rem;
|
||||
}
|
||||
|
||||
.hpar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mantletitle {
|
||||
font-size: 1.7rem;
|
||||
}
|
||||
|
||||
.sessiongrid {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#bibliography {
|
||||
break-before: page;
|
||||
}
|
||||
|
||||
.footnotes ol {
|
||||
margin-top: 3rem;
|
||||
padding-left: 0.9rem;
|
||||
}
|
||||
|
||||
.footnotes hr {
|
||||
border: none;
|
||||
border-top: 0px;
|
||||
text-align: left;
|
||||
margin-top: 2rem;
|
||||
margin-bottom: -2rem;
|
||||
}
|
||||
|
||||
.footnotes hr::after {
|
||||
content: "Endnotes";
|
||||
font-size: 1.2rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.runningTitle {
|
||||
position: running(runningTitle);
|
||||
}
|
||||
|
||||
.runningAuthors {
|
||||
position: running(runningAuthors);
|
||||
}
|
||||
|
||||
.hasauthors .afterhas {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.crustpage {
|
||||
break-before: page;
|
||||
page: crustpage;
|
||||
}
|
||||
|
||||
.hasin {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.abstract {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
max-width: inherit;
|
||||
}
|
||||
|
||||
.keywords {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
max-width: inherit;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
h2:before,
|
||||
h3:before,
|
||||
h4:before,
|
||||
h5:before {
|
||||
content: none;
|
||||
}
|
||||
|
||||
h2, h3, h4, h5, hr {
|
||||
break-after: avoid;
|
||||
}
|
||||
|
||||
.glosscontainer,
|
||||
table,
|
||||
table + p,
|
||||
tr,
|
||||
blockquote,
|
||||
li {
|
||||
break-inside: avoid;
|
||||
}
|
||||
|
||||
.authorpage {
|
||||
break-before: page;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-height: 150mm;
|
||||
width: auto;
|
||||
break-after: avoid;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
img + strong del {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.crustoc {
|
||||
position: relative;
|
||||
bottom: 0
|
||||
}
|
||||
|
||||
.crustoc::after {
|
||||
content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";
|
||||
line-height: 0;
|
||||
height: 1px;
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
a.toc {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
a.toc span {
|
||||
}
|
||||
|
||||
a.toc .back {
|
||||
background: white;
|
||||
}
|
||||
|
||||
a.toc::after {
|
||||
text-align: right;
|
||||
float: right;
|
||||
content: target-counter(attr(href url), page, decimal-leading-zero);
|
||||
background: white;
|
||||
padding-left: 0.1rem;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,58 @@
|
||||
class RepeatingTableHeaders extends Paged.Handler {
|
||||
constructor(chunker, polisher, caller) {
|
||||
super(chunker, polisher, caller);
|
||||
}
|
||||
|
||||
afterPageLayout(pageElement, page, breakToken, chunker) {
|
||||
// Find all split table elements
|
||||
let tables = pageElement.querySelectorAll("table[data-split-from]");
|
||||
|
||||
tables.forEach((table) => {
|
||||
// There is an edge case where the previous page table
|
||||
// has zero height (isn't visible).
|
||||
// To avoid double header we will only add header if there is none.
|
||||
let tableHeader = table.querySelector("thead");
|
||||
if (tableHeader) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the reference UUID of the node
|
||||
let ref = table.dataset.ref;
|
||||
// Find the node in the original source
|
||||
let sourceTable = chunker.source.querySelector("[data-ref='" + ref + "']");
|
||||
|
||||
// Find if there is a header
|
||||
let sourceHeader = sourceTable.querySelector("thead");
|
||||
if (sourceHeader) {
|
||||
console.log("Table header was cloned, because it is splitted.");
|
||||
// Clone the header element
|
||||
let clonedHeader = sourceHeader.cloneNode(true);
|
||||
// Insert the header at the start of the split table
|
||||
table.insertBefore(clonedHeader, table.firstChild);
|
||||
}
|
||||
});
|
||||
|
||||
// Find all tables
|
||||
tables = pageElement.querySelectorAll("table");
|
||||
|
||||
// special case which might not fit for everyone
|
||||
tables.forEach((table) => {
|
||||
// if the table has no rows in body, hide it.
|
||||
// This happens because my render engine creates empty tables.
|
||||
let sourceBody = table.querySelector("tbody > tr");
|
||||
if (!sourceBody) {
|
||||
console.log("Table was hidden, because it has no rows in tbody.");
|
||||
table.style.visibility = "hidden";
|
||||
table.style.position = "absolute";
|
||||
|
||||
var lineSpacer = table.nextSibling;
|
||||
if (lineSpacer) {
|
||||
lineSpacer.style.visibility = "hidden";
|
||||
lineSpacer.style.position = "absolute";
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Paged.registerHandlers(RepeatingTableHeaders);
|
@ -1 +1 @@
|
||||
# git.sandpoints.org/Drawwell/SandpointsTheme v0.0.0-20210105001316-eab38a9fcdf3
|
||||
# git.sandpoints.org/Drawwell/SandpointsTheme v0.0.0-20210204230735-5d684c2faf6d
|
||||
|
@ -0,0 +1,3 @@
|
||||
---
|
||||
title: "List of authors"
|
||||
---
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
title: Vincent W.J. van Gerven Oei
|
||||
---
|
||||
|
||||
# Biography
|
||||
|
||||
Vincent W.J. van Gerven Oei is a publisher and philologist, specialized in Old Nubian. He is co-managing editor of *Dotawo: A Journal of Nubian Studies.*
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Issue 7 Print"
|
||||
print: "issue/dotawo7.md"
|
||||
draft: false
|
||||
---
|
Loading…
Reference in New Issue