parent
2affc2d2c5
commit
89d146d4ab
8
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/assets/css/postcss.config.js
generated
vendored
8
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/assets/css/postcss.config.js
generated
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
30
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/data/sandpointsnamegraph.json
generated
vendored
30
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/data/sandpointsnamegraph.json
generated
vendored
@ -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" |
||||
} |
||||
|
2
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/pagedjs.html
generated
vendored
2
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/pagedjs.html
generated
vendored
@ -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,88 @@ |
||||
{{ $s := partialCached "scratch.html" . }} |
||||
|
||||
{{ $currentNode := . }} |
||||
{{ $currentDir := "" }} |
||||
{{ with .File }} |
||||
{{ $currentDir = .Dir }} |
||||
{{ end }} |
||||
{{ $currentFile := (printf "/%s" .File) }} |
||||
{{ $scratch := $s.Get $currentFile }} |
||||
|
||||
<div id="{{ .File.LogicalName }}" class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr $currentDir 0 -1 }}⁄</span>{{ .Title }}</div> |
||||
|
||||
<div class="grid"> |
||||
<div class="leftcolumn"> |
||||
{{ if ne (trim .Page.TableOfContents "\n") "<nav id=\"TableOfContents\"></nav>" }} |
||||
{{ .Page.TableOfContents }} |
||||
{{ end }} |
||||
</div> |
||||
<div class="rightcolumn"> |
||||
{{ $closeDivs := false }} |
||||
{{ $sandnamePlural := (slice) }} |
||||
{{ range $k, $v := $.Site.Data.sandpointsnamegraph }} |
||||
{{ $sandnamePlural = $sandnamePlural | append $v }} |
||||
{{ end }} |
||||
{{ $paramsKeys := (slice) }} |
||||
{{ range $k, $v := $currentNode.Params }} |
||||
{{ $paramsKeys = $paramsKeys | append $k }} |
||||
{{ end }} |
||||
{{ $mentions := intersect $paramsKeys $sandnamePlural }} |
||||
{{ range $mention := $mentions }} |
||||
{{ range $k, $m := index $currentNode.Params $mention }} |
||||
{{ $mentionLink := printf "/%s/%s" (substr $mention 0 -1) $m }} |
||||
{{- with $.GetPage $mentionLink -}} |
||||
{{ with not $k }} |
||||
{{ $closeDivs = true }} |
||||
<div class="has hasauthors"> |
||||
<div class="hassup">{{ with (index $currentNode.Params $mention) }}{{ if gt (len (index $currentNode.Params $mention)) 1 }}{{ $mention }}{{ else }}{{ substr $mention 0 -1 }}{{ end }}{{ end }}⁄</div> |
||||
<div class="afterhas"> |
||||
{{ end }} |
||||
<div class="crust"> |
||||
<a href="#{{ .File.LogicalName }}">{{ .Title }}</a> |
||||
</div> |
||||
{{ end }} |
||||
{{ end }} |
||||
{{ end }} |
||||
{{- with $closeDivs -}}</div></div>{{ end }} |
||||
|
||||
{{ if and (not (eq $scratch.depth "crust")) $scratch.has_children }} |
||||
<div class="has hashas"> |
||||
{{ with $scratch.has }} |
||||
<div class="hassup">has {{ $scratch.has }}⁄</div> |
||||
{{ end }} |
||||
<div class="afterhas"> |
||||
{{ range $scratch.has_children }} |
||||
{{ $authors := "" }} |
||||
{{ range $k, $authorLink := .Params.authors }} |
||||
{{ $authorPage := $.GetPage (printf "/author/%s" $authorLink) }} |
||||
{{ $prefix := ", " }} |
||||
{{ with not $k }} |
||||
{{ $prefix = "" }} |
||||
{{ end }} |
||||
{{ $authors = printf "%s%s" $prefix $authorPage.Title }} |
||||
{{ end }} |
||||
<div class="{{ $scratch.child_depth }} crustoc"> |
||||
<a class="toc" href="#{{ .File.LogicalName }}"><span><span class="back">{{ .Title }} ({{ $authors }})</span></span></a> |
||||
</div> |
||||
{{ end }} |
||||
</div></div> |
||||
{{ end }} |
||||
|
||||
{{ if eq $scratch.depth "crust" }} |
||||
<div class="has hasin"> |
||||
<div class="hassup">in {{ index $scratch.in 1 }}⁄</div> |
||||
<div class="afterhas"> |
||||
{{ range $scratch.is_in }} |
||||
<div class="{{ substr $currentDir 0 -1 }}"> |
||||
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a> |
||||
</div> |
||||
{{ end }} |
||||
</div></div> |
||||
{{ end }} |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
{{ with .Page.Params.abstract }}<div class="abstract"><span class="supt">abstract⁄</span>{{ . | $.Page.RenderString | htmlUnescape | safeHTML }}</div>{{ end }} |
||||
|
||||
{{- $vld := false -}}{{- range $k, $v := .Page.Params.keywords -}}{{- if eq $k 0 -}}{{- $vld = true -}}<div class="keywords"><span class="sup">keywords⁄</span>{{- $v -}}{{- else -}}, {{- $v -}}{{- end -}}{{- end -}}{{- with $vld -}}</div>{{- end -}} |
34
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/scratch.html
generated
vendored
34
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/scratch.html
generated
vendored
54
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/singlebody.html
generated
vendored
54
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/singlebody.html
generated
vendored
@ -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; |
||||
} |
||||
} |
1652
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/js/paged.polyfill.js
generated
vendored
1652
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/js/paged.polyfill.js
generated
vendored
File diff suppressed because it is too large
Load Diff
58
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/js/repeatingHeader.js
generated
vendored
58
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/js/repeatingHeader.js
generated
vendored
@ -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