print layout...
This commit is contained in:
parent
2affc2d2c5
commit
89d146d4ab
24 changed files with 1950 additions and 643 deletions
|
@ -5,9 +5,9 @@ module.exports = {
|
||||||
require('postcss-import')({
|
require('postcss-import')({
|
||||||
path: [themeDir]
|
path: [themeDir]
|
||||||
}),
|
}),
|
||||||
require('autoprefixer')({
|
/* require('autoprefixer')({
|
||||||
grid: true
|
* grid: true
|
||||||
}),
|
* }),
|
||||||
require('postcss-reporter'),
|
* require('postcss-reporter'), */
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,12 +117,28 @@ th:not([align]) {
|
||||||
/* Legacy iOS */
|
/* Legacy iOS */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Antinoou";
|
||||||
|
font-style: normal;
|
||||||
|
src: url("../fonts/Antinoou.ttf"),
|
||||||
|
url("../fonts/Antinoou.ttf") format("truetype");
|
||||||
|
unicode-range: U+2C80–U+2CFF, U+0370–U+03FF, U+102E0–U+102FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Antinoou";
|
||||||
|
font-style: italic;
|
||||||
|
src: url("../fonts/AntinoouItalic.ttf"),
|
||||||
|
url("../fonts/AntinoouItalic.ttf") format("truetype");
|
||||||
|
unicode-range: U+2C80–U+2CFF, U+0370–U+03FF, U+102E0–U+102FF;
|
||||||
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: "Gentium Plus", serif;
|
font-family: "Gentium Plus", "Antinoou", serif;
|
||||||
max-width: 1024px;
|
max-width: 1024px;
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
padding-left: 3rem;
|
padding-left: 3rem;
|
||||||
|
@ -131,6 +147,10 @@ body {
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#preview {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
sup,
|
sup,
|
||||||
sub {
|
sub {
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
|
@ -735,63 +755,3 @@ details {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media print {
|
|
||||||
@page {
|
|
||||||
size: 156mm 234mm;
|
|
||||||
marks: crop cross;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
break-before: page;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-size: 0.9rem;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -8,7 +8,9 @@
|
||||||
{{ $currentFile := (printf "/%s" .File) }}
|
{{ $currentFile := (printf "/%s" .File) }}
|
||||||
{{ $scratch := $s.Get $currentFile }}
|
{{ $scratch := $s.Get $currentFile }}
|
||||||
|
|
||||||
<div class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr $currentDir 0 -1 }}⁄</span>{{ .Title }}</div></div>
|
{{ $sandnamePlural := (slice) }}
|
||||||
|
|
||||||
|
<div class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr $currentDir 0 -1 }}⁄</span>{{ .Title }}</div>
|
||||||
|
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
<div class="leftcolumn">
|
<div class="leftcolumn">
|
||||||
|
@ -17,22 +19,36 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
<div class="rightcolumn">
|
<div class="rightcolumn">
|
||||||
{{- range $k, $v := .Page.Params.authors -}}
|
{{ $closeDivs := false }}
|
||||||
{{- with $.GetPage (printf "/author/%s" $v) -}}
|
|
||||||
|
{{ 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 -}}
|
{{- with not $k -}}
|
||||||
|
{{ $closeDivs = true }}
|
||||||
<div class="has hasauthors">
|
<div class="has hasauthors">
|
||||||
<div class="hassup">author{{ with $.Page.Params.authors }}{{ if gt (len .) 1 }}s{{ end }}{{ end }}⁄</div>
|
<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">
|
<div class="afterhas">
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<div class="crust">
|
<div class="crust">
|
||||||
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
|
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{ end }}
|
||||||
{{- with .Page.Params.authors -}}</div></div>{{- end -}}
|
{{ end }}
|
||||||
|
{{- with $closeDivs -}}</div></div>{{ end }}
|
||||||
|
|
||||||
{{ if in .Page.Site.Params.sandpointsMentionedIn (substr $currentDir 0 -1) }}
|
{{ if in .Page.Site.Params.sandpointsMentionedIn (substr $currentDir 0 -1) }}
|
||||||
<div class="has">
|
<div class="has hasmentionedin">
|
||||||
{{ with $scratch.backlinks }}
|
{{ with $scratch.backlinks }}
|
||||||
<div class="hassup">mentioned in⁄</div>
|
<div class="hassup">mentioned in⁄</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -46,7 +62,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if and (not (eq $scratch.depth "crust")) $scratch.has_children }}
|
{{ if and (not (eq $scratch.depth "crust")) $scratch.has_children }}
|
||||||
<div class="has">
|
<div class="has hashas">
|
||||||
{{ with $scratch.has }}
|
{{ with $scratch.has }}
|
||||||
<div class="hassup">has {{ $scratch.has }}⁄</div>
|
<div class="hassup">has {{ $scratch.has }}⁄</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -60,7 +76,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if eq $scratch.depth "crust" }}
|
{{ if eq $scratch.depth "crust" }}
|
||||||
<div class="has">
|
<div class="has hasin">
|
||||||
<div class="hassup">in {{ index $scratch.in 1 }}⁄</div>
|
<div class="hassup">in {{ index $scratch.in 1 }}⁄</div>
|
||||||
<div class="afterhas">
|
<div class="afterhas">
|
||||||
{{ range $scratch.is_in }}
|
{{ range $scratch.is_in }}
|
||||||
|
@ -74,8 +90,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{{ with .Page.Params.abstract }}<div class="journal"></div><div class="abstract"><span class="supt">abstract⁄</span>{{ . | $.Page.RenderString | htmlUnescape | safeHTML }}</div>{{ end }}
|
{{ 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
|
{{- $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 -}}
|
||||||
class="keywords"><span class="sup">keywords⁄</span>{{- $v -}}{{- else -}}, {{- $v -}}{{- end -}}{{- end -}}{{- with $vld -}}</div>{{- end -}}
|
|
||||||
{{ with .Page.Params.abstract }}</div>{{ end }}
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
BIN
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/customizations/Dotawo/static/fonts/Antinoou.ttf
generated
Normal file
BIN
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/customizations/Dotawo/static/fonts/Antinoou.ttf
generated
Normal file
Binary file not shown.
Binary file not shown.
|
@ -1,15 +1,19 @@
|
||||||
{
|
{
|
||||||
"syllabus": "syllabi",
|
"syllabus": "syllabi",
|
||||||
"curriculum": "curriculums",
|
"curriculum": "curriculums",
|
||||||
|
"notebook": "notebooks",
|
||||||
"book": "books",
|
"book": "books",
|
||||||
"journal": "journals",
|
"journal": "journals",
|
||||||
"topic": "topics",
|
"topic": "topics",
|
||||||
"part": "parts",
|
"part": "parts",
|
||||||
"issue": "issues",
|
"issue": "issues",
|
||||||
|
"tab": "tabs",
|
||||||
"experiment": "experiments",
|
"experiment": "experiments",
|
||||||
"session": "sessions",
|
"session": "sessions",
|
||||||
"chapter": "chapters",
|
"chapter": "chapters",
|
||||||
"article": "articles",
|
"article": "articles",
|
||||||
|
"note": "notes",
|
||||||
"annex": "annexes",
|
"annex": "annexes",
|
||||||
"author": "authors"
|
"author": "authors",
|
||||||
|
"editor": "editors"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
<link href="/css/paged_interface.css" rel="stylesheet" type="text/css">
|
<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/paged.polyfill.js"></script>
|
||||||
|
<script src="/js/repeatingHeader.js"></script>
|
||||||
|
|
88
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/printsinglebody.html
generated
Normal file
88
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/layouts/partials/printsinglebody.html
generated
Normal file
|
@ -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 -}}
|
|
@ -3,6 +3,14 @@
|
||||||
{{ $_ := newScratch }}
|
{{ $_ := newScratch }}
|
||||||
{{ $debug := (slice) }}
|
{{ $debug := (slice) }}
|
||||||
|
|
||||||
|
{{ $sandnameSingular := (slice) }}
|
||||||
|
{{ $sandnamePlural := (slice) }}
|
||||||
|
|
||||||
|
{{ range $k, $v := $.Site.Data.sandpointsnamegraph }}
|
||||||
|
{{ $sandnameSingular = $sandnameSingular | append $k }}
|
||||||
|
{{ $sandnamePlural = $sandnamePlural | append $v }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{ $pPath := "" }}
|
{{ $pPath := "" }}
|
||||||
{{ range $p := .Site.RegularPages }}
|
{{ range $p := .Site.RegularPages }}
|
||||||
{{ $pPath = printf "/%s" $p.File }}
|
{{ $pPath = printf "/%s" $p.File }}
|
||||||
|
@ -23,13 +31,21 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ with $authors := $p.Params.authors }}
|
{{ $paramsKeys := (slice) }}
|
||||||
{{ range $author := $authors }}
|
{{ range $k, $v := $p.Params }}
|
||||||
{{ $authorLink := printf "/author/%s" $author }}
|
{{ $paramsKeys = $paramsKeys | append $k }}
|
||||||
{{ with ($_.Get $authorLink) }}
|
{{ end }}
|
||||||
{{ $_.SetInMap $authorLink "backlinks" (uniq ((index ($_.Get $authorLink) "backlinks") | append $p)) }}
|
|
||||||
|
{{ $mentions := intersect $paramsKeys $sandnamePlural }}
|
||||||
|
{{ range $mention := $mentions }}
|
||||||
|
{{ range $m := index $p.Params $mention }}
|
||||||
|
{{ $mentionLink := printf "/%s/%s" (substr $mention 0 -1) $m }}
|
||||||
|
{{ with ($_.Get $mentionLink) }}
|
||||||
|
{{ $p.Scratch.Add "links" (uniq (($p.Scratch.Get "links")| append ($.GetPage $mentionLink))) }}
|
||||||
|
{{ $_.SetInMap $mentionLink "backlinks" (uniq ((index ($_.Get $mentionLink) "backlinks") | append $p)) }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ $_.SetInMap $authorLink "backlinks" (slice $p) }}
|
{{ $p.Scratch.Add "links" (uniq (($p.Scratch.Get "links")| append ($.GetPage $mentionLink))) }}
|
||||||
|
{{ $_.SetInMap $mentionLink "backlinks" (slice $p) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
{{ $currentFile := (printf "/%s" .File) }}
|
{{ $currentFile := (printf "/%s" .File) }}
|
||||||
{{ $scratch := $s.Get $currentFile }}
|
{{ $scratch := $s.Get $currentFile }}
|
||||||
|
|
||||||
|
{{ $sandnamePlural := (slice) }}
|
||||||
|
|
||||||
<div class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr $currentDir 0 -1 }}⁄{{ substr .Title 0 1 }}</span>{{ substr .Title 1 }}</div></div>
|
<div class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr $currentDir 0 -1 }}⁄{{ substr .Title 0 1 }}</span>{{ substr .Title 1 }}</div></div>
|
||||||
|
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
|
@ -17,22 +19,36 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
<div class="rightcolumn">
|
<div class="rightcolumn">
|
||||||
{{- range $k, $v := .Page.Params.authors -}}
|
{{ $closeDivs := false }}
|
||||||
{{- with $.GetPage (printf "/author/%s" $v) -}}
|
|
||||||
|
{{ 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 -}}
|
{{- with not $k -}}
|
||||||
|
{{ $closeDivs = true }}
|
||||||
<div class="has hasauthors">
|
<div class="has hasauthors">
|
||||||
<div class="hassup">author{{ with $.Page.Params.authors }}{{ if gt (len .) 1 }}s{{ end }}{{ end }}⁄</div>
|
<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">
|
<div class="afterhas">
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<div class="crust">
|
<div class="crust">
|
||||||
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
|
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{ end }}
|
||||||
{{- with .Page.Params.authors -}}</div></div>{{- end -}}
|
{{ end }}
|
||||||
|
{{- with $closeDivs -}}</div></div>{{ end }}
|
||||||
|
|
||||||
{{ if in .Page.Site.Params.sandpointsMentionedIn (substr $currentDir 0 -1) }}
|
{{ if in .Page.Site.Params.sandpointsMentionedIn (substr $currentDir 0 -1) }}
|
||||||
<div class="has">
|
<div class="has hasmentionedin">
|
||||||
{{ with $scratch.backlinks }}
|
{{ with $scratch.backlinks }}
|
||||||
<div class="hassup">mentioned in⁄</div>
|
<div class="hassup">mentioned in⁄</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -46,7 +62,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if and (not (eq $scratch.depth "crust")) $scratch.has_children }}
|
{{ if and (not (eq $scratch.depth "crust")) $scratch.has_children }}
|
||||||
<div class="has">
|
<div class="has hashas">
|
||||||
{{ with $scratch.has }}
|
{{ with $scratch.has }}
|
||||||
<div class="hassup">has {{ $scratch.has }}⁄</div>
|
<div class="hassup">has {{ $scratch.has }}⁄</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -60,7 +76,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if eq $scratch.depth "crust" }}
|
{{ if eq $scratch.depth "crust" }}
|
||||||
<div class="has">
|
<div class="has hasin">
|
||||||
<div class="hassup">in {{ index $scratch.in 1 }}⁄</div>
|
<div class="hassup">in {{ index $scratch.in 1 }}⁄</div>
|
||||||
<div class="afterhas">
|
<div class="afterhas">
|
||||||
{{ range $scratch.is_in }}
|
{{ range $scratch.is_in }}
|
||||||
|
@ -74,8 +90,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{{ with .Page.Params.abstract }}<div class="journal"></div><div class="abstract"><span class="supt">abstract⁄</span>{{ . | $.Page.RenderString | htmlUnescape | safeHTML }}</div>{{ end }}
|
{{ 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
|
{{- $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 -}}
|
||||||
class="keywords"><span class="sup">keywords⁄</span>{{- $v -}}{{- else -}}, {{- $v -}}{{- end -}}{{- end -}}{{- with $vld -}}</div>{{- end -}}
|
|
||||||
{{ with .Page.Params.abstract }}</div>{{ end }}
|
|
||||||
|
|
|
@ -6,8 +6,6 @@
|
||||||
{{- partial "pagedjs.html" . -}}
|
{{- partial "pagedjs.html" . -}}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<article>
|
|
||||||
{{- block "singlebody" . -}}{{- end -}}
|
{{- block "singlebody" . -}}{{- end -}}
|
||||||
</article>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -8,17 +8,50 @@
|
||||||
{{ $currentDir = .Dir }}
|
{{ $currentDir = .Dir }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="print0">{{ partial "singlebody.html" $p }}</div>
|
<div class="print0">{{ partial "printsinglebody.html" $p }}</div>
|
||||||
<div class="content">{{ $p.Content }}
|
<div class="content">{{ $p.Content }}</div>
|
||||||
{{ range $printPage := $scratch.has_cildren }}
|
|
||||||
<div class="print1">{{ partial "singlebody.html" $printPage }}</div>
|
{{ range $scratch.has_children }}
|
||||||
<div class="content">{{ $printPage.Content }}
|
<div class="crustpage">
|
||||||
{{ $printPageScratch := $s.Get (printf "/%s" $printPage.File) }}
|
{{ $addS := len .Params.authors }}
|
||||||
{{ range $printPageKid := $printPageScratch.has_children }}
|
{{ range $n, $authorFile := .Params.authors }}
|
||||||
<div class="print2">{{ partial "singlebody.html" $printPageKid }}</div>
|
{{ $author := $.GetPage (printf "/author/%s" $authorFile) }}
|
||||||
<div class="content">{{ $printPageKid.Content }}
|
{{ if eq $n 0 }}
|
||||||
{{ . }}
|
<div class="runningAuthors"><span class="sup">author{{ with (gt $addS 1) }}s{{ end }}⁄</span><a href="#{{ $author.File.LogicalName }}">{{ $author.Title }}</a>
|
||||||
|
{{ else }}
|
||||||
|
, <a href="#{{ $author.File.LogicalName }}">{{ $author.Title }}</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ with .Params.authors }}</div>{{ end }}
|
||||||
|
|
||||||
|
{{ $tit := .Title }}
|
||||||
|
{{ if gt (len .Title) 54 }}
|
||||||
|
{{ $tit = printf "%s…" (substr .Title 0 50) }}
|
||||||
|
{{ end }}
|
||||||
|
<div class="runningTitle"><span class="sup">{{ index $scratch.crust 0 }}⁄</span><a href="#{{ .File.LogicalName }}">{{ $tit }}</a></div>
|
||||||
|
{{ partial "printsinglebody.html" . }}
|
||||||
|
{{ .Content }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ range where $.Site.RegularPages "Section" "in" (slice "author" "editor") }}
|
||||||
|
<div class="authorpage">
|
||||||
|
<div class="runningTitle runningAuthors"><span class="sup">{{ index $scratch.mantle 0 }}⁄</span><a href="#{{ $p.File.LogicalName }}">{{ $p.Title }}</a></div>
|
||||||
|
<div id="{{ .File.LogicalName }}" class="{{ $scratch.depth | default "crust" }}title"><span class="supt">{{ substr .File.Dir 0 -1 }}⁄</span>{{ .Title }}</div>
|
||||||
|
{{ .Content }}
|
||||||
|
|
||||||
|
{{ if in .Page.Site.Params.sandpointsMentionedIn (substr .File.Dir 0 -1) }}
|
||||||
|
{{ $ss := $s.Get (printf "/%s" .File) }}
|
||||||
|
<div class="has hasmentionedin">
|
||||||
|
{{ with $ss }}
|
||||||
|
<div class="hassup">mentioned in⁄</div>
|
||||||
|
{{ end }}
|
||||||
|
<div class="afterhas">
|
||||||
|
{{ range $ss.backlinks }}
|
||||||
|
<div class="{{ $ss.child_depth }}">
|
||||||
|
<a href="#{{ .File.LogicalName }}">{{ .Title }}</a>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
</div></div>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<div id="toggleAllLinks" onclick="toggleAllLinks()">[toggle expand/collapse]</div>
|
<div id="toggleAllLinks" onclick="toggleAllLinks()">[toggle expand/collapse]</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
{{ range $p := .Site.RegularPages }}
|
{{ range $p := .Site.RegularPages }}
|
||||||
{{ with or ($p.Scratch.Get "urls") ($p.Scratch.Get "bibs") ($p.Scratch.Get "links") ($p.Scratch.Get "backlinks" )}}
|
|
||||||
<details><summary>{{ with $p.File }}<span class="sup">{{- substr .Dir 0 -1 -}}⁄</span>{{ end }}<a href="{{ $p.RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ $p.Title }}</a></summary>
|
<details><summary>{{ with $p.File }}<span class="sup">{{- substr .Dir 0 -1 -}}⁄</span>{{ end }}<a href="{{ $p.RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ $p.Title }}</a></summary>
|
||||||
|
|
||||||
{{ $pPath := printf "/%s" $p.File }}
|
{{ $pPath := printf "/%s" $p.File }}
|
||||||
|
@ -22,9 +21,9 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ with ($p.Scratch.Get "links") }}
|
{{ with ($p.Scratch.Get "links") }}
|
||||||
{{ range $i, $_ := ($p.Scratch.Get "links") }}
|
{{ range $i, $_ := uniq ($p.Scratch.Get "links") }}
|
||||||
{{ if eq $i 0 }}
|
{{ if eq $i 0 }}
|
||||||
<details><summary>Internal links to other Sandpoint pages ({{ len ($p.Scratch.Get "links") }}):</summary><ul>
|
<details><summary>Internal links to other Sandpoint pages ({{ len (uniq ($p.Scratch.Get "links")) }}):</summary><ul>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<li>{{ with $_.File }}<span class="sup">{{ substr .Dir 0 -1 }}⁄</span>{{ end }}<a href="{{ $_.RelPermalink }}">{{ $_.Title }}</a></li>
|
<li>{{ with $_.File }}<span class="sup">{{ substr .Dir 0 -1 }}⁄</span>{{ end }}<a href="{{ $_.RelPermalink }}">{{ $_.Title }}</a></li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -102,5 +101,4 @@
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
231
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/css/print.css
generated
Normal file
231
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/css/print.css
generated
Normal file
|
@ -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
58
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/js/repeatingHeader.js
generated
Normal file
58
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/js/repeatingHeader.js
generated
Normal file
|
@ -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
|
||||||
|
|
|
@ -69,6 +69,9 @@ disableKinds = ["RSS", "sitemap"]
|
||||||
[[module.imports.mounts]]
|
[[module.imports.mounts]]
|
||||||
source = "customizations/Dotawo/static/css/site.min.css"
|
source = "customizations/Dotawo/static/css/site.min.css"
|
||||||
target = "static/css/site.min.css"
|
target = "static/css/site.min.css"
|
||||||
|
[[module.imports.mounts]]
|
||||||
|
source = "customizations/Dotawo/static/css/dyn.css"
|
||||||
|
target = "static/css/dyn.css"
|
||||||
[[module.imports.mounts]]
|
[[module.imports.mounts]]
|
||||||
source = "customizations/Dotawo/layouts/partials/header.html"
|
source = "customizations/Dotawo/layouts/partials/header.html"
|
||||||
target = "layouts/partials/header.html"
|
target = "layouts/partials/header.html"
|
||||||
|
|
3
content/editor/_index.md
Normal file
3
content/editor/_index.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
title: "List of authors"
|
||||||
|
---
|
7
content/editor/vincentwjvangervenoei.md
Normal file
7
content/editor/vincentwjvangervenoei.md
Normal file
|
@ -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.*
|
|
@ -1,12 +1,9 @@
|
||||||
---
|
---
|
||||||
title: "Dotawo 7: Comparative Northern East Sudanic Linguistics"
|
title: "Dotawo 7: Comparative Northern East Sudanic Linguistics"
|
||||||
authors: ["vincentwjvangervenoei.md"]
|
editors: ["vincentwjvangervenoei.md"]
|
||||||
has_articles: ["rilly.md", "norton.md", "jakobi.md", "starostin.md", "blench.md"]
|
has_articles: ["rilly.md", "norton.md", "jakobi.md", "starostin.md", "blench.md"]
|
||||||
---
|
---
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
# Preface by the Editor
|
# Preface by the Editor
|
||||||
|
|
||||||
## A New Platform
|
## A New Platform
|
||||||
|
|
5
content/print/issue7.md
Normal file
5
content/print/issue7.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: "Issue 7 Print"
|
||||||
|
print: "issue/dotawo7.md"
|
||||||
|
draft: false
|
||||||
|
---
|
Loading…
Add table
Reference in a new issue