WIP: what about !publish! from another branch... #1
68 changed files with 802 additions and 3163 deletions
|
@ -1,14 +0,0 @@
|
|||
Publish the current version of the website by changing the text few lines below.
|
||||
For example, add your name after the line saying: "\_ \_ _ New changes after this _ \_ \_"
|
||||
Don't forget to click on "Comit Changes" to commit the changes.
|
||||
|
||||
- [PREVIEW WEB SITE](https://pages.sandpoints.org/sandbox/_preview/curriculum/racecriticaltheories/)
|
||||
- [PUBLISHED WEB SITE](https://pages.sandpoints.org/sandbox/curriculum/racecriticaltheories/)
|
||||
|
||||
---
|
||||
|
||||
```
|
||||
_ _ _ New changes after this _ _ _
|
||||
marcell..
|
||||
|
||||
```
|
|
@ -4,8 +4,4 @@ https://pages.sandpoints.org/sandpoints/simplesandpoints-de47f813/_preview/
|
|||
|
||||
https://pages.sandpoints.org/sandpoints/simplesandpoints-de47f813/
|
||||
|
||||
A spectre is haunting Europe — the spectre of communism. All the powers of old Europe have entered into a holy alliance to exorcise this spectre: Pope and Tsar, Metternich and Guizot, French Radicals and German police-spies.
|
||||
|
||||
Where is the party in opposition that has not been decried as communistic by its opponents in power? Where is the opposition that has not hurled back the branding reproach of communism, against the more advanced opposition parties, as well as against its reactionary adversaries?
|
||||
|
||||
Well, let's add this one.
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"name": "svelte-app",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"build": "rollup -c",
|
||||
"dev": "rollup -c -w",
|
||||
"start": "sirv public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-commonjs": "^17.0.0",
|
||||
"@rollup/plugin-node-resolve": "^11.0.0",
|
||||
"rollup": "^2.3.4",
|
||||
"rollup-plugin-css-only": "^3.1.0",
|
||||
"rollup-plugin-livereload": "^2.0.0",
|
||||
"rollup-plugin-svelte": "^7.0.0",
|
||||
"rollup-plugin-terser": "^7.0.0",
|
||||
"svelte": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"sirv-cli": "^1.0.0"
|
||||
}
|
||||
}
|
|
@ -1,260 +0,0 @@
|
|||
html, body {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
color: #333;
|
||||
margin: 0;
|
||||
padding: 8px;
|
||||
box-sizing: border-box;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
a {
|
||||
color: rgb(0,100,200);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: rgb(0,80,160);
|
||||
}
|
||||
|
||||
input, button, select, textarea {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
-webkit-padding: 0.4em 0;
|
||||
padding: 0.4em;
|
||||
margin: 0 0 0.5em 0;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
input:disabled {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
button {
|
||||
color: #333;
|
||||
background-color: #f4f4f463;
|
||||
outline: none;
|
||||
padding: 0.1rem 0.1rem;
|
||||
margin-left: 0.3rem;
|
||||
}
|
||||
|
||||
button:disabled {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
button:disabled:hover {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
button:not(:disabled):active {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
button:hover, .newtierbutton:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
/* custom part */
|
||||
|
||||
.newtierbutton {
|
||||
color: #000;
|
||||
background-color: #dddddd;
|
||||
padding: 0.2em 0.4em;
|
||||
grid-column: 2/3;
|
||||
margin-right: 0.2rem;
|
||||
}
|
||||
|
||||
|
||||
.formgrid {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-gap: 1rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
#sandpoints {
|
||||
width: 80%;
|
||||
margin-left: 1rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
label, .filepath {
|
||||
grid-column: 1/2;
|
||||
text-transform: capitalize;
|
||||
align-self: center
|
||||
}
|
||||
|
||||
.labelcontent {
|
||||
align-self: auto;
|
||||
}
|
||||
|
||||
.labeloffline {
|
||||
margin-top: -0.4rem;
|
||||
}
|
||||
|
||||
input[readonly] {
|
||||
color: #000000b3;
|
||||
background: #00000012;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
input, button, textarea, .selecttier, .relpath {
|
||||
grid-column: 2/3;
|
||||
}
|
||||
|
||||
textarea {
|
||||
height: 10rem;
|
||||
}
|
||||
|
||||
.hasinput {
|
||||
line-height: 0.2rem;
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hasinput:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.tierline {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.tiertitle {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
margin-left: auto;
|
||||
padding-left: 0.2rem;
|
||||
}
|
||||
|
||||
select {
|
||||
align-self: start;
|
||||
border: 0;
|
||||
padding: 0.1rem;
|
||||
}
|
||||
|
||||
.selecttier {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.buttons button {
|
||||
border: solid #999 1px;
|
||||
padding: 0;
|
||||
padding-left: 0.1rem;
|
||||
padding-right: 0.1rem;
|
||||
margin: 1px;
|
||||
}
|
||||
|
||||
.filepath {
|
||||
font-size: large;
|
||||
font-style: italic;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.relpath {
|
||||
font-size: large;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tierbox, #selecthas {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.fmHidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fmShown {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.fmMetaTitle {
|
||||
margin-bottom: 0.3rem;
|
||||
text-transform: capitalize;
|
||||
display: block;
|
||||
text-align: right;
|
||||
font-size: smaller;
|
||||
padding-top: 0.2rem;
|
||||
}
|
||||
|
||||
.fmMeta {
|
||||
border-bottom: 2px #0000001a solid;
|
||||
border-right: 1px #0000001a solid;
|
||||
padding-bottom: 1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
background: #ffffff1c;
|
||||
padding-right: 0.2rem;
|
||||
}
|
||||
|
||||
.fmItem {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-gap: 1rem;
|
||||
}
|
||||
|
||||
.fmCollapse, .fmExpand {
|
||||
padding-top: 0.2rem;
|
||||
margin-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.fmExpand:hover, .fmCollapse:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.fmCollapse::before {
|
||||
margin-right: 0.3rem;
|
||||
content: "⇲";
|
||||
}
|
||||
|
||||
.fmExpand::before {
|
||||
margin-right: 0.3rem;
|
||||
content: "⇱";
|
||||
}
|
||||
|
||||
#fmicon, #frontmatter, input.hasinput {
|
||||
background-color: #ffccbc;
|
||||
padding-right: 0.3rem;
|
||||
padding-left: 0.3rem;
|
||||
padding-bottom: 0.3rem;
|
||||
}
|
||||
|
||||
.newtiers {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#newtierstitle {
|
||||
margin-right: 0.4rem;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.newtiersbar {
|
||||
padding-bottom: 0.4rem;
|
||||
padding-top: 0.4rem;
|
||||
margin-left: auto;
|
||||
display: flex;
|
||||
border-bottom: 2px #0000001a solid;
|
||||
border-right: 1px #0000001a solid;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
background: #00000008;
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<meta name='viewport' content='width=device-width,initial-scale=1'>
|
||||
|
||||
<title>Sandpoints Edit Page</title>
|
||||
|
||||
<link rel='stylesheet' href='global.css'>
|
||||
<script defer src='../metadata/index.js'></script>
|
||||
<script defer src='build/bundle.js'></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
|
@ -5,9 +5,9 @@ module.exports = {
|
|||
require('postcss-import')({
|
||||
path: [themeDir]
|
||||
}),
|
||||
/* require('autoprefixer')({
|
||||
* grid: true
|
||||
* }),
|
||||
* require('postcss-reporter'), */
|
||||
require('autoprefixer')({
|
||||
grid: true
|
||||
}),
|
||||
require('postcss-reporter'),
|
||||
]
|
||||
}
|
||||
|
|
|
@ -90,18 +90,18 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.svg#VollkornSC")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-regular.svg#VollkornSC")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -114,17 +114,17 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.svg#VollkornSC")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-600.svg#VollkornSC")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -137,17 +137,17 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.svg#VollkornSC")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-700.svg#VollkornSC")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -160,17 +160,17 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.svg#VollkornSC")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-sc-v4-latin-ext_latin-900.svg#VollkornSC")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -183,18 +183,18 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-v12-latin-ext_latin-500italic.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-500italic.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.svg#Vollkorn")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-500italic.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500italic.svg#Vollkorn")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -207,18 +207,18 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-v12-latin-ext_latin-regular.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-regular.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.svg#Vollkorn")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-regular.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-regular.svg#Vollkorn")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -231,17 +231,17 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-v12-latin-ext_latin-500.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-500.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-v12-latin-ext_latin-500.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500.svg#Vollkorn")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-500.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500.woff") format("woff"),
|
||||
/* Modern Browsers */ url("../fonts/vollkorn-v12-latin-ext_latin-500.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-500.svg#Vollkorn")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -254,17 +254,17 @@ th:not([align]) {
|
|||
src: url("../fonts/vollkorn-v12-latin-ext_latin-italic.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local(""),
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-italic.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.ttf") format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.svg#Vollkorn")
|
||||
format("svg");
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/vollkorn-v12-latin-ext_latin-italic.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.ttf") format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/vollkorn-v12-latin-ext_latin-italic.svg#Vollkorn")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -277,18 +277,18 @@ th:not([align]) {
|
|||
src: url("../fonts/great-vibes-v7-latin-ext_latin-regular.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local("Great Vibes"), local("GreatVibes-Regular"),
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/great-vibes-v7-latin-ext_latin-regular.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.svg#GreatVibes")
|
||||
format("svg");
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("../fonts/great-vibes-v7-latin-ext_latin-regular.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.svg#GreatVibes")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
|
@ -477,11 +477,8 @@ ol li {
|
|||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
img, video {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.supt {
|
||||
|
@ -578,9 +575,9 @@ img, video {
|
|||
|
||||
.rightcolumn {
|
||||
/* display: grid;
|
||||
grid-column: 2;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-auto-rows: max-content; */
|
||||
grid-column: 2;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-auto-rows: max-content; */
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
|
@ -595,7 +592,6 @@ img, video {
|
|||
|
||||
.hasauthors {
|
||||
font-size: 1.6rem !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.hassup {
|
||||
|
@ -673,7 +669,7 @@ h6 {
|
|||
padding-top: 1.2rem;
|
||||
padding-bottom: 1.2rem;
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
max-width: 45ch;
|
||||
max-width: 70ch;
|
||||
}
|
||||
|
||||
.authors {
|
||||
|
@ -779,7 +775,7 @@ h6:before {
|
|||
color: rgba(0, 0, 0, 0.4);
|
||||
counter-increment: h6;
|
||||
content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "."
|
||||
counter(h6) ". ";
|
||||
counter(h6) ". ";
|
||||
}
|
||||
|
||||
h2.nocount:before,
|
||||
|
@ -838,9 +834,9 @@ details {
|
|||
}
|
||||
|
||||
/* .glossline {
|
||||
border-bottom: lightgray solid 1px;
|
||||
border-top: lightgray solid 1px;
|
||||
} */
|
||||
border-bottom: lightgray solid 1px;
|
||||
border-top: lightgray solid 1px;
|
||||
} */
|
||||
|
||||
.glosswords {
|
||||
display: inline-block;
|
||||
|
@ -880,11 +876,6 @@ details {
|
|||
background-color: #fff9f9;
|
||||
}
|
||||
|
||||
.svedit {
|
||||
display: none;
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
|
|
|
@ -54,48 +54,7 @@ window.addEventListener("scroll", function (e) {
|
|||
}
|
||||
});
|
||||
|
||||
function editPage(repoJsId) {
|
||||
let relPath = "../".repeat(relPathDepth - 1);
|
||||
var el = document.createElement('script');
|
||||
el.onload = ()=> {
|
||||
console.log("loading...")
|
||||
console.log(repo)
|
||||
}
|
||||
el.src = `${relPath}js/repo/${repoJsId}.js`
|
||||
document.body.appendChild(el)
|
||||
document.location.href = `${relPath}edit/index.html?edit=${repoJsId}`
|
||||
ev}
|
||||
|
||||
window.addEventListener("keyup", (e)=> {
|
||||
if (e.key == "e" && location.protocol == "file:") {
|
||||
editPage(sandpointsPageId)
|
||||
} else if (e.key == "E" && location.protocol == "file:") {
|
||||
let preview = document.querySelector("#preview");
|
||||
if (preview.style.display == "flex") {
|
||||
preview.style.display = "none";
|
||||
} else {
|
||||
preview.style.display = "flex";
|
||||
}
|
||||
console.log("preview: ", preview);
|
||||
}
|
||||
})
|
||||
|
||||
window.addEventListener("DOMContentLoaded", (e) => {
|
||||
if (location.protocol == "file:") {
|
||||
document.querySelectorAll(".svedit").forEach((i) => {
|
||||
i.style.display = "inline";
|
||||
})
|
||||
}
|
||||
|
||||
document.querySelectorAll('.triadlink').forEach((i) => {
|
||||
i.addEventListener("click", (ev) => {
|
||||
if (ev.ctrlKey) {
|
||||
ev.preventDefault()
|
||||
editPage(ev.target.getAttribute("repoid"))
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
let preview = document.querySelector("#preview");
|
||||
if (
|
||||
location.pathname.split("/").includes("_preview") ||
|
||||
|
@ -107,17 +66,15 @@ window.addEventListener("DOMContentLoaded", (e) => {
|
|||
let par = document.querySelector(
|
||||
"#TableOfContents > ol:first-child > li:first-child"
|
||||
);
|
||||
if (par) {
|
||||
let s = document.createElement("span");
|
||||
s.appendChild(par.cloneNode(true));
|
||||
par.remove();
|
||||
document
|
||||
.querySelector("#TableOfContents > ol:first-child")
|
||||
.insertBefore(
|
||||
s,
|
||||
document.querySelector("#TableOfContents > ol:first-child").firstChild
|
||||
);
|
||||
}
|
||||
let s = document.createElement("span");
|
||||
s.appendChild(par.cloneNode(true));
|
||||
par.remove();
|
||||
document
|
||||
.querySelector("#TableOfContents > ol:first-child")
|
||||
.insertBefore(
|
||||
s,
|
||||
document.querySelector("#TableOfContents > ol:first-child").firstChild
|
||||
);
|
||||
|
||||
if (document.querySelector(".soundcite")) {
|
||||
let relPath = "../".repeat(relPathDepth - 1);
|
||||
|
|
|
@ -1,45 +1,15 @@
|
|||
{
|
||||
"annex": "annexes",
|
||||
"article": "articles",
|
||||
"atlas": "atlases",
|
||||
"author": "authors",
|
||||
"book": "books",
|
||||
"cabin": "cabins",
|
||||
"chapter": "chapters",
|
||||
"compartment": "compartments",
|
||||
"contributor": "contributors",
|
||||
"curriculum": "curriculums",
|
||||
"deck": "decks",
|
||||
"document": "documents",
|
||||
"editor": "editors",
|
||||
"entry": "entries",
|
||||
"experiment": "experiments",
|
||||
"floor": "floors",
|
||||
"fragment": "fragments",
|
||||
"glossary": "glossaries",
|
||||
"highlight": "highlights",
|
||||
"house": "houses",
|
||||
"issue": "issues",
|
||||
"journal": "journals",
|
||||
"logbook": "logbooks",
|
||||
"map": "maps",
|
||||
"note": "notes",
|
||||
"notebook": "notebooks",
|
||||
"part": "parts",
|
||||
"pin": "pins",
|
||||
"record": "records",
|
||||
"reflection": "reflections",
|
||||
"room": "rooms",
|
||||
"scribe": "scribes",
|
||||
"section": "sections",
|
||||
"series": "series",
|
||||
"session": "sessions",
|
||||
"ship": "ships",
|
||||
"spectre": "spectres",
|
||||
"syllabus": "syllabi",
|
||||
"tab": "tabs",
|
||||
"term":"terms",
|
||||
"topic": "topics",
|
||||
"toponym": "toponyms",
|
||||
"voice": "voices"
|
||||
"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"
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
<h{{ add 1 .Level }} id="{{ .Anchor | safeURL }}" class="hx css-{{ .Page.File.UniqueID }}-h{{ add 1 .Level }}">{{ .Text | safeHTML }}<a class="hpar" href="#{{ .Anchor | safeURL }}">¶</a></h{{ add 1 .Level }}>
|
||||
<h{{ add 1 .Level }} id="{{ .Anchor | safeURL }}" class="hx">{{ .Text | safeHTML }}<a class="hpar" href="#{{ .Anchor | safeURL }}">¶</a></h{{ add 1 .Level }}>
|
||||
|
|
|
@ -5,17 +5,7 @@
|
|||
{{ $_.Add "triads" $k }}
|
||||
{{- end -}}
|
||||
|
||||
{{- if strings.HasPrefix .Destination "img:" -}}
|
||||
{{- $img_params := (substr .Destination 4) -}}
|
||||
{{- $img_src := index (split $img_params " ") 0 -}}
|
||||
{{- $img_attr := index (split $img_params $img_src) 1 -}}
|
||||
<img class="sandpoints-img" src="{{ $img_src }}" {{ $img_attr | safeHTMLAttr }} />
|
||||
{{- else if strings.HasPrefix .Destination "vid:" -}}
|
||||
{{- $vid_params := (substr .Destination 4) -}}
|
||||
{{- $vid_src := index (split $vid_params " ") 0 -}}
|
||||
{{- $vid_attr := index (split $vid_params $vid_src) 1 -}}
|
||||
<video class="sandpoints-vid" controls src="{{ $vid_src }}" {{ $vid_attr | safeHTMLAttr }}></video>
|
||||
{{- else if strings.HasPrefix .Destination "bib:" -}}
|
||||
{{- if strings.HasPrefix .Destination "bib:" -}}
|
||||
{{- $destination := (substr .Destination 4) -}}
|
||||
{{- $c_prefix := .Page.Site.Params.sandpointsCatalogPrefix | default "/library/" -}}
|
||||
{{- if index $.Page.Site.Data.books.catalog $destination -}}
|
||||
|
@ -27,21 +17,21 @@
|
|||
{{ end }}
|
||||
{{ .Page.Scratch.Add "bibs" (slice (slice $bibhref $bibtitle)) }}
|
||||
{{- if not $text_link -}}
|
||||
<span>{{- delimit $b.authors ", " " & " -}}{{- with $b.pubdate -}}, {{- substr . 0 4}}{{- end -}}. <a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with $b.title}} title="{{- . -}}"{{- end -}} target="_blank"><span class="sup">bib⁄</span><i>{{- $b.title -}}</i></a>. {{- with $b.publisher -}}{{- . -}}.{{- end -}}</span>
|
||||
{{- else -}}
|
||||
<span class="sup">bib⁄</span><a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with $b.title}} title="{{- . -}}"{{- end -}} target="_blank">{{- $text_link -}}</a>
|
||||
<span>{{- delimit $b.authors ", " " & " -}}{{- with $b.pubdate -}}, {{- substr . 0 4}}{{- end -}}.<a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with $b.title}} title="{{- . -}}"{{- end -}} target="_blank"><span class="sup">bib⁄</span><i>‘{{- $b.title -}}’</i></a>. {{- with $b.publisher -}}{{- . -}}.{{- end -}}</span>
|
||||
{{- else -}}
|
||||
<a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with $b.title}} title="{{- . -}}"{{- end -}} target="_blank">{{- $text_link -}}</a>
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
<a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with .Title}} title="{{- . -}}"{{- end -}}>{{- $text_link -}}⦚<span>bib:{{- $destination -}} not found</span></a>
|
||||
<a href="{{- $c_prefix | safeURL -}}BROWSE_LIBRARY.html#/book/{{- $destination -}}"{{- with .Title}} title="{{- . -}}"{{- end -}}>{{- $text_link -}}⦚<span class="text-xs font-bold p-1 bg-AuChico text-CoconutCream">bib:{{- $destination -}} not found</span></a>
|
||||
{{- end -}}
|
||||
{{- else if in ($_.Get "triads") (index (split .Destination ":") 0) -}}
|
||||
{{- if $.Page.Site.GetPage (printf "/%s" (replace .Destination ":" "/")) -}}
|
||||
{{- $session := $.Page.Site.GetPage (printf "/%s" (replace .Destination ":" "/")) -}}
|
||||
{{ .Page.Scratch.Add "links" (slice $session) }}
|
||||
{{- if not $text_link -}}
|
||||
<a class="triadlink" repoid="{{- $session.File.UniqueID -}}" printhref="#ph-{{- $session.File.UniqueID -}}" href="{{- $session.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $session.Title}} title="{{- $session.Title -}}"{{- end -}}><span class="sup">{{- index (split .Destination ":") 0 -}}⁄</span>{{- $session.Title -}}</a>
|
||||
<a href="{{- $session.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $session.Title}} title="{{- $session.Title -}}"{{- end -}}><span class="sup">{{- index (split .Destination ":") 0 -}}⁄</span>{{- $session.Title -}}</a>
|
||||
{{- else -}}
|
||||
<a class="triadlink" repoid="{{- $session.File.UniqueID -}}" printhref="#ph-{{- $session.File.UniqueID -}}" href="{{- $session.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with .Title}} title="{{- . -}}"{{- end -}}><span class="sup">{{- index (split .Destination ":") 0 -}}⁄</span>{{- $text_link -}}</a>
|
||||
<a href="{{- $session.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with .Title}} title="{{- . -}}"{{- end -}}><span class="sup">{{- index (split .Destination ":") 0 -}}⁄</span>{{- $text_link -}}</a>
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
<a href="{{- .Destination -}}/{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}">{{- $text_link -}}⦚<span>{{- .Destination -}} not found</span></a>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
|
||||
<head>
|
||||
{{- partial "head.html" . -}}
|
||||
{{- partialCached "head.html" . -}}
|
||||
<title>{{- .Title }} - {{ .Site.Title -}}</title>
|
||||
{{- partialCached "sandpointjs.html" . .RelPermalink -}}
|
||||
</head>
|
||||
<body>
|
||||
{{- block "singlebody" . }}{{- end -}}
|
||||
{{- block "singlebody" . }}{{- end }}
|
||||
{{- partialCached "footer.html" . -}}
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -6,33 +6,30 @@
|
|||
{{ $currentDir = .Dir }}
|
||||
{{ end }}
|
||||
{{ $currentFile := (printf "/%s" .File) }}
|
||||
{{ $editFile := $.Site.GetPage "/edit" }}
|
||||
{{ $editFilePath := $editFile.RelPermalink }}
|
||||
|
||||
|
||||
<div class="coretitle"><span class="supt">Sitemap⁄{{ substr $.Site.Title 0 1 }}</span>{{ substr $.Site.Title 1 }} {{with $currentDir}}({{ . }}){{ end }}</div>
|
||||
<div class="coretitle"><span class="supt">Sitemap⁄{{ substr $.Site.Title 0 1 }}</span>{{ substr $.Site.Title 1 }} ({{ $currentDir }})</div>
|
||||
|
||||
{{ $s := partialCached "scratch.html" . }}
|
||||
{{ $noTriad := (slice) }}
|
||||
{{ range $p := .Site.RegularPages }}
|
||||
{{ $scratch := $s.Get (printf "/%s" $p.File) }}
|
||||
{{ if eq $scratch.depth "core" }}
|
||||
<div class="sitemap" ><div class="{{ with $p.File }}{{ if eq $currentDir .Dir }}highline{{ end }}{{ end }}"><a href="{{- $p.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $p.Title}} title="{{- $p.Title -}}"{{- end -}}><span class="sup">{{- substr $p.File.Dir 0 -1 -}}⁄</span>{{- $p.Title -}}</a><a class="svedit" href="{{- printf "%sindex.html#%s" $editFilePath $p.File.UniqueID -}}">[EDIT]</a></div>
|
||||
<div class="sitemap" ><div class="{{ with $p.File }}{{ if eq $currentDir .Dir }}highline{{ end }}{{ end }}"><a href="{{- $p.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $p.Title}} title="{{- $p.Title -}}"{{- end -}}><span class="sup">{{- substr $p.File.Dir 0 -1 -}}⁄</span>{{- $p.Title -}}</a></div>
|
||||
{{ range $coreKid := $scratch.has_children }}
|
||||
<div class="sitemap"><a href="{{- $coreKid.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $coreKid.Title}} title="{{- $coreKid.Title -}}"{{- end -}}><div class="{{ with $coreKid.File }}{{ if eq $currentDir .Dir }}highline{{ end }}{{ end }}"><span class="sup">{{- substr $coreKid.File.Dir 0 -1 -}}⁄</span>{{- $coreKid.Title -}}</a><a class="svedit" href="{{- printf "%sindex.html#%s" $editFilePath $coreKid.File.UniqueID -}}">[EDIT]</a></div>
|
||||
<div class="sitemap"><a href="{{- $coreKid.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $coreKid.Title}} title="{{- $coreKid.Title -}}"{{- end -}}><div class="{{ with $coreKid.File }}{{ if eq $currentDir .Dir }}highline{{ end }}{{ end }}"><span class="sup">{{- substr $coreKid.File.Dir 0 -1 -}}⁄</span>{{- $coreKid.Title -}}</a></div>
|
||||
{{ $scratchCKid := $s.Get (printf "/%s" $coreKid.File) }}
|
||||
{{ range $mantleKid := $scratchCKid.has_children }}
|
||||
<div class="sitemap"><div class="{{ with $mantleKid.File }}{{ if eq $currentDir .Dir }} highline{{ end }}{{ end }}"><a href="{{- $mantleKid.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $mantleKid.Title}} title="{{- $mantleKid.Title -}}"{{- end -}}><span class="sup">{{ with $mantleKid.File }}{{substr .Dir 0 -1 -}}⁄{{ end }}</span>{{- $mantleKid.Title -}}</a><a class="svedit" href="{{- printf "%sindex.html#%s" $editFilePath $mantleKid.File.UniqueID -}}">[EDIT]</a></div></div>
|
||||
<div class="sitemap"><div class="{{ with $mantleKid.File }}{{ if eq $currentDir .Dir }} highline{{ end }}{{ end }}"><a href="{{- $mantleKid.RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with $mantleKid.Title}} title="{{- $mantleKid.Title -}}"{{- end -}}><span class="sup">{{ with $mantleKid.File }}{{substr .Dir 0 -1 -}}⁄{{ end }}</span>{{- $mantleKid.Title -}}</a></div></div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ else if not (in (slice "core" "mantle" "crust") $scratch.depth)}}
|
||||
{{ $noTriad = $noTriad | append $p }}
|
||||
{{ $noTriad = $noTriad | append $p }}
|
||||
{{ else }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ range $noTriad }}
|
||||
<div class="sitemap {{ with .File }}{{ if eq $currentDir .Dir }} highline{{ end }}{{ end }}"><a href="{{- .RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with .Title }} title="{{- . -}}"{{- end -}}><span class="sup">{{- substr .File.Dir 0 -1 -}}⁄</span>{{- .Title -}}</a>{{ if not (or (hasPrefix .File.Dir "edit") (hasPrefix .File.Dir "print")) }}<a class="svedit" href="{{- printf "%sindex.html#%s" $editFilePath .File.UniqueID -}}">[EDIT]</a>{{ end }}</div>
|
||||
<div class="sitemap {{ with .File }}{{ if eq $currentDir .Dir }} highline{{ end }}{{ end }}"><a href="{{- .RelPermalink -}}{{- if eq hugo.Environment "offline" -}}index.html{{- end -}}"{{- with .Title }} title="{{- . -}}"{{- end -}}><span class="sup">{{- substr .File.Dir 0 -1 -}}⁄</span>{{- .Title -}}</a></div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<meta name='viewport' content='width=device-width,initial-scale=1'>
|
||||
<link rel='stylesheet' href='build/global.css'>
|
||||
<!-- <link rel='stylesheet' href='build/bundle.css'> -->
|
||||
<script defer src='../metadata/index.js'></script>
|
||||
<script defer src='build/bundle.js'></script>
|
||||
<title>edit⁄{{- .Site.Title -}}</title>
|
||||
</head>
|
||||
<body>{{- block "main" . -}}{{- end -}}</body>
|
||||
</html>
|
|
@ -1,2 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{ end }}
|
|
@ -1 +0,0 @@
|
|||
{{- define "main" -}}{{- end -}}
|
|
@ -1,20 +1 @@
|
|||
{{- define "main" -}}
|
||||
{{ $sections := (slice) }}
|
||||
{{ $tiers := (slice) }}
|
||||
{{ range $.Site.Sections }}
|
||||
{{ with .File }}
|
||||
{{ $sections = $sections | append (strings.TrimSuffix "/" .Dir) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $metasp := (dict) }}
|
||||
{{ range $k, $v := $.Site.Data.sandpointsnamegraph }}
|
||||
{{ if in $sections $k }}
|
||||
{{ $tiers = (slice) }}
|
||||
{{ range where $.Site.RegularPages "Section" $k }}
|
||||
{{ $tiers = $tiers | append (merge (dict "file" .File.LogicalName) (dict "title" .Title)) }}
|
||||
{{ end }}
|
||||
{{ $metasp = merge $metasp (dict $v (merge (dict "singular" $k) (dict "tiers" $tiers))) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ printf "METASP=%s;" (jsonify $metasp) }}
|
||||
{{ end }}
|
||||
{{ define "main" }}SECTIONS=[{{ range .Site.Sections }}{"section": "{{ with .File }}{{ trim .Dir "/" }}{{ end }}", "items": [{{ range .Pages }}"{{ .File.BaseFileName }}", {{ end }}]}, {{ end }}];{{ end }}
|
||||
|
|
|
@ -11,21 +11,10 @@
|
|||
<meta name="keywords" content="{{ delimit .Keywords "," }}" />
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.editors }}
|
||||
{{ range .Params.editors }}
|
||||
{{ $e := $.GetPage (printf "editor/%s" .) }}
|
||||
<meta name="editor" content="{{ $e.Title }}" />
|
||||
{{ end }}
|
||||
{{ if .Params.Author }}
|
||||
<meta name="author" content="{{ .Params.Author}}" />
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.authors }}
|
||||
{{ range .Params.authors }}
|
||||
{{ $e := $.GetPage (printf "author/%s" .) }}
|
||||
<meta name="author" content="{{ $e.Title }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
{{ template "_internal/opengraph.html" . }}
|
||||
{{ template "_internal/twitter_cards.html" . }}
|
||||
|
||||
|
@ -38,9 +27,9 @@
|
|||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#996561">
|
||||
|
||||
{{ if eq hugo.Environment "dev" }}
|
||||
{{ $style := resources.Get "css/site.css" | resources.PostCSS (dict "config" "assets/css/postcss.config.js") | minify }}
|
||||
{{ $style := resources.Get "css/site.css" | postCSS (dict "config" "assets/css/postcss.config.js") | minify }}
|
||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}" />
|
||||
{{ $style := resources.Get "css/player.css" | resources.PostCSS (dict "config" "assets/css/postcss.config.js") | minify }}
|
||||
{{ $style := resources.Get "css/player.css" | postCSS (dict "config" "assets/css/postcss.config.js") | minify }}
|
||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}" />
|
||||
{{ else }}
|
||||
<link rel="stylesheet" href="/css/site.min.css" />
|
||||
|
|
|
@ -36,16 +36,6 @@
|
|||
<a class="edit-button" target="_blank" href="{{ $.Site.Params.sandpointsGiteaUrl }}/_edit/master/PUBLISH.trigger.md">PUBLISH</a>
|
||||
<a class="edit-button" target="_blank" href="{{ $.Site.Params.sandpointsGiteaUrl }}"> ? </a>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{ $editPage := $.Site.GetPage "/edit" }}
|
||||
<div class="headiter" id="preview">
|
||||
<a class="edit-button" href="{{ $editPage.RelPermalink }}index.html?edit={{ .File.UniqueID }}">EDIT_THIS</a>
|
||||
{{ with $scratch.core }}<a class="edit-button" href="{{ $editPage.RelPermalink }}index.html?new={{ index . 0 }}">ADD_{{ index . 0 | upper }}</a>{{ end }}
|
||||
{{ with $scratch.mantle }}<a class="edit-button" href="{{ $editPage.RelPermalink }}index.html?new={{ index . 0 }}">ADD_{{ index . 0 | upper }}</a>{{ end }}
|
||||
{{ with $scratch.crust }}<a class="edit-button" href="{{ $editPage.RelPermalink }}index.html?new={{ index . 0 }}">ADD_{{ index . 0 | upper }}</a>{{ end }}
|
||||
{{ if not $scratch.core }}<a class="edit-button" href="{{ $editPage.RelPermalink }}index.html?new={{ $currentDir }}">ADD_{{ substr $currentDir 0 -1 | upper }}</a>{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
<div class="header">
|
||||
|
|
|
@ -1,5 +1,2 @@
|
|||
<link href="/css/paged_interface.css" rel="stylesheet" type="text/css">
|
||||
<link href="/css/dyn.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/pagedjsCustomizations.js"></script>
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
{{ $s := partialCached "scratch.html" . }}
|
||||
|
||||
{{ $currentNode := . }}
|
||||
{{ $currentDir := "" }}
|
||||
{{ with .File }}
|
||||
{{ $currentDir = .Dir }}
|
||||
{{ end }}
|
||||
{{ $currentFile := (printf "/%s" .File) }}
|
||||
{{ $scratch := $s.Get $currentFile }}
|
||||
|
||||
{{ $longestTitle := "" }}
|
||||
|
||||
<div id="ph-{{ .File.UniqueID }}" 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="#ph-{{ .File.UniqueID }}">{{ .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="#ph-{{ .File.UniqueID }}"><span><span class="back">{{ .Title }} {{with $authors}}({{ $authors }}){{ end }}</span></span></a>
|
||||
</div>
|
||||
{{ if gt (len .Title) (len $longestTitle) }}
|
||||
{{ $longestTitle = .Title }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<div class="{{ $scratch.child_depth }} crustoc longesttitle">
|
||||
<a class="toc" href="javascript:;"><span><span class="back">{{ $longestTitle }}.....</span></span></a>
|
||||
</div>
|
||||
</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 -}}
|
|
@ -1,13 +0,0 @@
|
|||
{{ $parentName := . }}
|
||||
{{ range (readDir .) }}
|
||||
{{ $currentName := printf "%s/%s" $parentName .Name }}
|
||||
{{ if .IsDir }}
|
||||
<p>_Dir: {{ $currentName }}</p>
|
||||
{{ partial "readdir.html" $currentName }}
|
||||
{{ else }}
|
||||
{{ if eq (path.Ext .Name) ".md" }}
|
||||
{{ $f := readFile $currentName }}
|
||||
<textarea wrap="off" col="108" row="48 ">{{ $f }}</textarea>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,4 +1,4 @@
|
|||
<script type="text/javascript">var relPathDepth = {{- .RelPermalink | strings.Count "/" -}};var sandpointsPageId = "{{- with .File -}}{{- .UniqueID -}}{{- end -}}";</script>
|
||||
<script type="text/javascript">var relPathDepth = {{- .RelPermalink | strings.Count "/" -}};</script>
|
||||
{{ $sjsopts := dict "targetPath" "js/sandpoints.js" "minify" "true"}}
|
||||
{{ $sjs := resources.Get "js/sandpoints.js" | js.Build $sjsopts }}
|
||||
<script defer src='{{ $sjs.RelPermalink }}' type="application/javascript"></script>
|
||||
|
|
|
@ -3,14 +3,6 @@
|
|||
{{ $_ := newScratch }}
|
||||
{{ $debug := (slice) }}
|
||||
|
||||
{{ $sandnameSingular := (slice) }}
|
||||
{{ $sandnamePlural := (slice) }}
|
||||
|
||||
{{ range $k, $v := $.Site.Data.sandpointsnamegraph }}
|
||||
{{ $sandnameSingular = $sandnameSingular | append $k }}
|
||||
{{ $sandnamePlural = $sandnamePlural | append $v }}
|
||||
{{ end }}
|
||||
|
||||
{{ $pPath := "" }}
|
||||
{{ range $p := .Site.RegularPages }}
|
||||
{{ $pPath = printf "/%s" $p.File }}
|
||||
|
@ -31,24 +23,16 @@
|
|||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ $paramsKeys := (slice) }}
|
||||
{{ range $k, $v := $p.Params }}
|
||||
{{ $paramsKeys = $paramsKeys | append $k }}
|
||||
{{ end }}
|
||||
|
||||
{{ $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)) }}
|
||||
{{ with $authors := $p.Params.authors }}
|
||||
{{ range $author := $authors }}
|
||||
{{ $authorLink := printf "/author/%s" $author }}
|
||||
{{ with ($_.Get $authorLink) }}
|
||||
{{ $_.SetInMap $authorLink "backlinks" (uniq ((index ($_.Get $authorLink) "backlinks") | append $p)) }}
|
||||
{{ else }}
|
||||
{{ $p.Scratch.Add "links" (uniq (($p.Scratch.Get "links")| append ($.GetPage $mentionLink))) }}
|
||||
{{ $_.SetInMap $mentionLink "backlinks" (slice $p) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $_.SetInMap $authorLink "backlinks" (slice $p) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ $gp := $.GetPage $pPath }}
|
||||
{{ $gpPath := printf "/%s" $gp.File }}
|
||||
|
|
|
@ -8,10 +8,6 @@
|
|||
{{ $currentFile := (printf "/%s" .File) }}
|
||||
{{ $scratch := $s.Get $currentFile }}
|
||||
|
||||
{{ $sandnamePlural := (slice) }}
|
||||
{{ $sandnameSingular := "" }}
|
||||
{{ $mentionLink := "" }}
|
||||
|
||||
<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">
|
||||
|
@ -21,41 +17,22 @@
|
|||
{{ end }}
|
||||
</div>
|
||||
<div class="rightcolumn">
|
||||
{{ $closeDivs := false }}
|
||||
{{- range $k, $v := .Page.Params.authors -}}
|
||||
{{- with $.GetPage (printf "/author/%s" $v) -}}
|
||||
{{- with not $k -}}
|
||||
<div class="has hasauthors">
|
||||
<div class="hassup">author{{ with $.Page.Params.authors }}{{ if gt (len .) 1 }}s{{ end }}{{ end }}⁄</div>
|
||||
<div class="afterhas">
|
||||
{{- end -}}
|
||||
<div class="crust">
|
||||
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
|
||||
</div>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- with .Page.Params.authors -}}</div></div>{{- end -}}
|
||||
|
||||
{{ 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 }}
|
||||
{{ range $k, $v := $.Site.Data.sandpointsnamegraph }}
|
||||
{{ if eq $v $mention }}
|
||||
{{ $mentionLink = printf "/%s/%s" $k $m }}
|
||||
{{ $sandnameSingular = $k }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- 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 }}{{ $sandnameSingular }}{{ end }}{{ end }}⁄</div>
|
||||
<div class="afterhas">
|
||||
{{- end -}}
|
||||
<div class="crust">
|
||||
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
|
||||
</div>
|
||||
{{- end -}}
|
||||
{{ end }}
|
||||
{{- with $closeDivs -}}</div></div>{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if in .Page.Site.Params.sandpointsMentionedIn (substr $currentDir 0 -1) }}
|
||||
<div class="has hasmentionedin">
|
||||
<div class="has">
|
||||
{{ with $scratch.backlinks }}
|
||||
<div class="hassup">mentioned in⁄</div>
|
||||
{{ end }}
|
||||
|
@ -69,7 +46,7 @@
|
|||
{{ end }}
|
||||
|
||||
{{ if and (not (eq $scratch.depth "crust")) $scratch.has_children }}
|
||||
<div class="has hashas">
|
||||
<div class="has">
|
||||
{{ with $scratch.has }}
|
||||
<div class="hassup">has {{ $scratch.has }}⁄</div>
|
||||
{{ end }}
|
||||
|
@ -83,7 +60,7 @@
|
|||
{{ end }}
|
||||
|
||||
{{ if eq $scratch.depth "crust" }}
|
||||
<div class="has hasin">
|
||||
<div class="has">
|
||||
<div class="hassup">in {{ index $scratch.in 1 }}⁄</div>
|
||||
<div class="afterhas">
|
||||
{{ range $scratch.is_in }}
|
||||
|
@ -97,9 +74,8 @@
|
|||
</div>
|
||||
|
||||
|
||||
{{ with .Page.Params.abstract }}<div class="abstract"><span class="supt">abstract⁄</span>{{ . | $.Page.RenderString | htmlUnescape | safeHTML }}</div>{{ end }}
|
||||
{{ with .Page.Params.abstract }}<div class="journal"></div><div class="abstract"><span class="supt">abstract⁄</span>{{ . | markdownify }}</div>{{ end }}
|
||||
|
||||
{{- $vld := false -}}{{- range $k, $v := .Page.Params.keywords -}}{{- if eq $k 0 -}}{{- $vld = true -}}<div class="keywords"><span class="sup">keywords⁄</span><a href="/keywords/{{ urlize $v }}/{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{- $v -}}</a>{{- else -}}, <a href="/keywords/{{ urlize $v }}/{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{- $v -}}</a>{{- end -}}{{- end -}}{{- with $vld -}}</div>{{- end -}}
|
||||
|
||||
{{ $var := printf "repo={\"frontmatter\": %s, \"content\": %s, \"path\": \"%s\", \"relpermalink\": \"%s\" }" (jsonify .Params) (jsonify .RawContent) .File.Path .RelPermalink | resources.FromString (printf "js/repo/%s.js" .File.UniqueID) }}
|
||||
{{ $dummy := $var.Permalink }}
|
||||
{{- $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 -}}
|
||||
{{ with .Page.Params.abstract }}</div>{{ end }}
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
|
||||
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{- else -}}en-us{{- end -}}">
|
||||
<head>
|
||||
{{- partial "head.html" . -}}
|
||||
{{- partialCached "head.html" . -}}
|
||||
{{- partial "pagedjs.html" . -}}
|
||||
</head>
|
||||
<body>
|
||||
<article>
|
||||
{{- block "singlebody" . -}}{{- end -}}
|
||||
</article>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,63 +1,4 @@
|
|||
{{- define "singlebody" -}}
|
||||
{{ $cssTemplate := `.css-_rplc_-h2 {
|
||||
counter-reset: css-_rplc_-h3;
|
||||
}
|
||||
|
||||
.css-_rplc_-h3 {
|
||||
counter-reset: css-_rplc_-h4;
|
||||
}
|
||||
|
||||
.css-_rplc_-h4 {
|
||||
counter-reset: css-_rplc_-h5;
|
||||
}
|
||||
|
||||
.css-_rplc_-h5 {
|
||||
counter-reset: css-_rplc_-h6;
|
||||
}
|
||||
|
||||
.css-_rplc_-h2:before {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
counter-increment: css-_rplc_-h2 1;
|
||||
content: counter(css-_rplc_-h2) ". ";
|
||||
}
|
||||
|
||||
.css-_rplc_-h3:before {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
counter-increment: css-_rplc_-h3 1;
|
||||
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) ". ";
|
||||
}
|
||||
|
||||
.css-_rplc_-h4:before {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
counter-increment: css-_rplc_-h4 1;
|
||||
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) "." counter(css-_rplc_-h4) ". ";
|
||||
}
|
||||
|
||||
.css-_rplc_-h5:before {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
counter-increment: css-_rplc_-h5 1;
|
||||
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) "." counter(css-_rplc_-h4) "." counter(css-_rplc_-h5) ". ";
|
||||
}
|
||||
|
||||
.css-_rplc_-h6:before {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
counter-increment: css-_rplc_-h6 1;
|
||||
content: counter(css-_rplc_-h2) "." counter(css-_rplc_-h3) "." counter(css-_rplc_-h4) "." counter(css-_rplc_-h5) "."
|
||||
counter(css-_rplc_-h6) ". ";
|
||||
}
|
||||
|
||||
.css-_rplc_-h2.nocount:before,
|
||||
.css-_rplc_-h3.nocount:before,
|
||||
.css-_rplc_-h4.nocount:before,
|
||||
.css-_rplc_-h5.nocount:before,
|
||||
.css-_rplc_-h6.nocount:before {
|
||||
content: "";
|
||||
counter-increment: none;
|
||||
}` }}
|
||||
|
||||
{{ $cssOutput := "" }}
|
||||
{{ $cssHashes := "" }}
|
||||
|
||||
{{ $s := partialCached "scratch.html" . }}
|
||||
{{ $p := $.GetPage .Params.print }}
|
||||
{{ $scratch := $s.Get (printf "/%s" $p.File) }}
|
||||
|
@ -67,87 +8,17 @@
|
|||
{{ $currentDir = .Dir }}
|
||||
{{ end }}
|
||||
|
||||
<div class="print0">{{ partial "printsinglebody.html" $p }}</div>
|
||||
<div class="content">{{ $p.Content }}</div>
|
||||
{{ $cssOutput = printf "%s\n%s" $cssOutput (replace $cssTemplate "_rplc_" $p.File.UniqueID) }}
|
||||
{{ $cssHashes = printf "%s css-%s-h2" $cssHashes $p.File.UniqueID }}
|
||||
|
||||
{{ range $scratch.has_children }}
|
||||
<div class="crustpage">
|
||||
{{ $addS := 0 }}
|
||||
{{ with .Params.authors }}
|
||||
{{ $addS = len . }}
|
||||
{{ end }}
|
||||
{{ range $n, $authorFile := .Params.authors }}
|
||||
{{ $author := $.GetPage (printf "/author/%s" $authorFile) }}
|
||||
{{ if eq $n 0 }}
|
||||
<div class="runningAuthors"><span class="sup">author{{ with (gt $addS 1) }}s{{ end }}⁄</span><a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
|
||||
{{ else }}
|
||||
, <a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
|
||||
<div class="print0">{{ partial "singlebody.html" $p }}</div>
|
||||
<div class="content">{{ $p.Content }}
|
||||
{{ range $printPage := $scratch.has_cildren }}
|
||||
<div class="print1">{{ partial "singlebody.html" $printPage }}</div>
|
||||
<div class="content">{{ $printPage.Content }}
|
||||
{{ $printPageScratch := $s.Get (printf "/%s" $printPage.File) }}
|
||||
{{ range $printPageKid := $printPageScratch.has_children }}
|
||||
<div class="print2">{{ partial "singlebody.html" $printPageKid }}</div>
|
||||
<div class="content">{{ $printPageKid.Content }}
|
||||
{{ . }}
|
||||
{{ 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="#ph-{{ .File.UniqueID }}">{{ $tit }}</a></div>
|
||||
{{ partial "printsinglebody.html" . }}
|
||||
{{ .Content }}
|
||||
{{ $cssOutput = printf "%s\n%s" $cssOutput (replace $cssTemplate "_rplc_" .File.UniqueID) }}
|
||||
{{ $cssHashes = printf "%s css-%s-h2" $cssHashes .File.UniqueID }}
|
||||
{{ $kid := $s.Get (printf "/%s" .File) }}
|
||||
{{ range $kid.has_children }}
|
||||
<div class="crustpage">
|
||||
{{ $addS := 0 }}
|
||||
{{ with .Params.authors }}
|
||||
{{ $addS = len . }}
|
||||
{{ end }}
|
||||
{{ range $n, $authorFile := .Params.authors }}
|
||||
{{ $author := $.GetPage (printf "/author/%s" $authorFile) }}
|
||||
{{ if eq $n 0 }}
|
||||
<div class="runningAuthors"><span class="sup">author{{ with (gt $addS 1) }}s{{ end }}⁄</span><a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
|
||||
{{ else }}
|
||||
, <a href="#ph-{{ $author.File.UniqueID }}">{{ $author.Title }}</a>
|
||||
{{ 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="#ph-{{ .File.UniqueID }}">{{ $tit }}</a></div>
|
||||
{{ partial "printsinglebody.html" . }}
|
||||
{{ .Content }}
|
||||
{{ $cssOutput = printf "%s\n%s" $cssOutput (replace $cssTemplate "_rplc_" .File.UniqueID) }}
|
||||
{{ $cssHashes = printf "%s css-%s-h2" $cssHashes .File.UniqueID }}
|
||||
{{ end }}
|
||||
{{ 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="#ph-{{ $p.File.UniqueID }}">{{ $p.Title }}</a></div>
|
||||
<div id="ph-{{ .File.UniqueID }}" 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="#ph-{{ .File.UniqueID }}">{{ .Title }}</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div></div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $cssOutput = printf "body {counter-reset: %s;}\n%s" $cssHashes $cssOutput }}
|
||||
{{ $var := $cssOutput | resources.FromString "css/dyn.css" }}
|
||||
{{ $dummy := $var.Permalink }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
|
||||
<head>
|
||||
{{- partialCached "head.html" . -}}
|
||||
<title>{{- .Title }} - {{ .Site.Title -}}</title>
|
||||
{{- partialCached "sandpointjs.html" . .RelPermalink -}}
|
||||
</head>
|
||||
<body>
|
||||
{{- block "keywords" . -}}{{- end -}}
|
||||
{{- partialCached "footer.html" . -}}
|
||||
</body>
|
||||
</html>
|
|
@ -1,23 +0,0 @@
|
|||
{{ define "keywords" }}
|
||||
{{ $p := split (trim .RelPermalink "/") "/" }}
|
||||
{{ if eq (len $p) 1 }}
|
||||
<div class="coretitle"><span class="supt">{{ index $p 0 }}⁄</span>All</div>
|
||||
{{ range $taxonomyname, $taxonomy := .Site.Taxonomies }}
|
||||
{{ if eq (index $p 0) $taxonomyname }}
|
||||
{{ range $key, $value := $taxonomy }}
|
||||
<span> <a href="/{{ index $p 0 }}/{{ $key }}/{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ $key }}</a>({{ len (index (index $.Site.Taxonomies $taxonomyname) $key) }})</span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
<div class="coretitle"><span class="supt">{{ index $p 0 }}⁄</span>{{ index $p 1 }}</div>
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<div class="blog-date">{{ .Date.Format "Jan 2, 2006" }}</div>
|
||||
<div class="blog-title"><a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a></div>
|
||||
{{ range $n, $authorFile := .Params.authors }}
|
||||
{{ $author := $.GetPage (printf "/author/%s" $authorFile) }}
|
||||
<span class="blog-author"><a href="{{ $author.RelPermalink }}">{{ $author.Title }}</a></span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -5,100 +5,102 @@
|
|||
<div id="toggleAllLinks" onclick="toggleAllLinks()">[toggle expand/collapse]</div>
|
||||
<p></p>
|
||||
{{ range $p := .Site.RegularPages }}
|
||||
<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>
|
||||
{{ 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>
|
||||
|
||||
{{ $pPath := printf "/%s" $p.File }}
|
||||
{{ with $ss := $s.Get $pPath }}
|
||||
{{ with $ss.backlinks }}
|
||||
{{ range $i, $_ := $ss.backlinks }}
|
||||
{{ $pPath := printf "/%s" $p.File }}
|
||||
{{ with $ss := $s.Get $pPath }}
|
||||
{{ with $ss.backlinks }}
|
||||
{{ range $i, $_ := $ss.backlinks }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Mentioned in other Sandpoints pages ({{ len $ss.backlinks }}):</summary><ul>
|
||||
{{ end }}
|
||||
<li>{{ with $_.File }}<span class="sup">{{ substr .Dir 0 -1 }}⁄</span>{{ end }}<a href="{{ $_.RelPermalink }}">{{ $_.Title }}</a></li>
|
||||
{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ with ($p.Scratch.Get "links") }}
|
||||
{{ range $i, $_ := ($p.Scratch.Get "links") }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Mentioned in other Sandpoints pages ({{ len $ss.backlinks }}):</summary><ul>
|
||||
<details><summary>Internal links to other Sandpoint pages ({{ len ($p.Scratch.Get "links") }}):</summary><ul>
|
||||
{{ end }}
|
||||
<li>{{ with $_.File }}<span class="sup">{{ substr .Dir 0 -1 }}⁄</span>{{ end }}<a href="{{ $_.RelPermalink }}">{{ $_.Title }}</a></li>
|
||||
{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ with ($p.Scratch.Get "links") }}
|
||||
{{ range $i, $_ := uniq ($p.Scratch.Get "links") }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Internal links to other Sandpoint pages ({{ len (uniq ($p.Scratch.Get "links")) }}):</summary><ul>
|
||||
{{ end }}
|
||||
<li>{{ with $_.File }}<span class="sup">{{ substr .Dir 0 -1 }}⁄</span>{{ end }}<a href="{{ $_.RelPermalink }}">{{ $_.Title }}</a></li>
|
||||
{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
{{ $http_links := (slice) }}
|
||||
{{ $library_links := (slice) }}
|
||||
{{ $anchor_links := (slice) }}
|
||||
{{ $other_links := (slice) }}
|
||||
|
||||
{{ $http_links := (slice) }}
|
||||
{{ $library_links := (slice) }}
|
||||
{{ $anchor_links := (slice) }}
|
||||
{{ $other_links := (slice) }}
|
||||
|
||||
{{ with ($p.Scratch.Get "urls") }}
|
||||
{{- $c_prefix := $p.Site.Params.sandpointsCatalogPrefix | default "/library/" -}}
|
||||
{{ range $i, $_ := ($p.Scratch.Get "urls") }}
|
||||
{{ if strings.HasPrefix $_ "http" }}
|
||||
{{ $http_links = $http_links | append $_ }}
|
||||
{{ else if strings.HasPrefix $_ $c_prefix }}
|
||||
{{ $library_links = $library_links | append $_ }}
|
||||
{{ else}}
|
||||
{{ $other_links = $other_links | append $_ }}
|
||||
{{ with ($p.Scratch.Get "urls") }}
|
||||
{{- $c_prefix := $p.Site.Params.sandpointsCatalogPrefix | default "/library/" -}}
|
||||
{{ range $i, $_ := ($p.Scratch.Get "urls") }}
|
||||
{{ if strings.HasPrefix $_ "http" }}
|
||||
{{ $http_links = $http_links | append $_ }}
|
||||
{{ else if strings.HasPrefix $_ $c_prefix }}
|
||||
{{ $library_links = $library_links | append $_ }}
|
||||
{{ else}}
|
||||
{{ $other_links = $other_links | append $_ }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ with $http_links }}
|
||||
{{ range $i, $_ := $http_links }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Outgoing links to other pages on Internet ({{ len $http_links }}):</summary><ul>
|
||||
{{ with $http_links }}
|
||||
{{ range $i, $_ := $http_links }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Outgoing links to other pages on Internet ({{ len $http_links }}):</summary><ul>
|
||||
{{ end }}
|
||||
<li><span class="sup">www⁄</span><a href="{{ $_ }}" target="_blank">{{ $_ }}</a></li>
|
||||
{{ end }}
|
||||
<li><span class="sup">www⁄</span><a href="{{ $_ }}" target="_blank">{{ $_ }}</a></li>
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
|
||||
{{ with $library_links }}
|
||||
{{ range $i, $_ := $library_links }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Links to Sandpoint's library ({{ len $library_links }}):</summary><ul>
|
||||
{{ with $library_links }}
|
||||
{{ range $i, $_ := $library_links }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Links to Sandpoint's library ({{ len $library_links }}):</summary><ul>
|
||||
{{ end }}
|
||||
<li><span class="sup">lib⁄</span><a href="{{ $_ }}" target="_blank">{{ $_ }}</a></li>
|
||||
{{ end }}
|
||||
<li><span class="sup">lib⁄</span><a href="{{ $_ }}" target="_blank">{{ $_ }}</a></li>
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
|
||||
{{ with ($p.Scratch.Get "bibs") }}
|
||||
{{ range $i, $_ := ($p.Scratch.Get "bibs") }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Bibliographic references ({{ len ($p.Scratch.Get "bibs") }}):</summary><ul>
|
||||
{{ with ($p.Scratch.Get "bibs") }}
|
||||
{{ range $i, $_ := ($p.Scratch.Get "bibs") }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Bibliographic references ({{ len ($p.Scratch.Get "bibs") }}):</summary><ul>
|
||||
{{ end }}
|
||||
<li><span class="sup">bib⁄</span><a href="{{ index $_ 0 }}" target="_blank">{{ index $_ 1 }}</a></li>
|
||||
{{ end }}
|
||||
<li><span class="sup">bib⁄</span><a href="{{ index $_ 0 }}" target="_blank">{{ index $_ 1 }}</a></li>
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
|
||||
{{ with $other_links }}
|
||||
{{ $formattingN := 0 }}
|
||||
{{ $anchorN := 0 }}
|
||||
{{ range $i, $_ := $other_links }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Anchor, formatting and other links ({{ len $other_links }}):</summary><ul>
|
||||
{{ end }}
|
||||
{{ if strings.HasPrefix $_ "#" }}
|
||||
{{ $anchorN = add $anchorN 1 }}
|
||||
{{ else if strings.HasPrefix $_ "{"}}
|
||||
{{ $formattingN = add $formattingN 1 }}
|
||||
{{ else }}
|
||||
<li><span class="sup">other⁄</span><a href="{{ $_ }}" target="_blank">{{ $_ }}</a></li>
|
||||
{{ with $other_links }}
|
||||
{{ $formattingN := 0 }}
|
||||
{{ $anchorN := 0 }}
|
||||
{{ range $i, $_ := $other_links }}
|
||||
{{ if eq $i 0 }}
|
||||
<details><summary>Anchor, formatting and other links ({{ len $other_links }}):</summary><ul>
|
||||
{{ end }}
|
||||
{{ if strings.HasPrefix $_ "#" }}
|
||||
{{ $anchorN = add $anchorN 1 }}
|
||||
{{ else if strings.HasPrefix $_ "{"}}
|
||||
{{ $formattingN = add $formattingN 1 }}
|
||||
{{ else }}
|
||||
<li><span class="sup">other⁄</span><a href="{{ $_ }}" target="_blank">{{ $_ }}</a></li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ with $formattingN }}<li>{{ $formattingN }} formatting links.</a></li>{{ end }}
|
||||
{{ with $anchorN }}<li>{{ $anchorN }} anchor links.</a></li>{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
{{ with $formattingN }}<li>{{ $formattingN }} formatting links.</a></li>{{ end }}
|
||||
{{ with $anchorN }}<li>{{ $anchorN }} anchor links.</a></li>{{ end }}
|
||||
</ul></details>
|
||||
{{ end }}
|
||||
|
||||
</details>
|
||||
</details>
|
||||
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -1,242 +0,0 @@
|
|||
@page {
|
||||
size: 6.14in 9.21in;
|
||||
margin-bottom: 0.8in;
|
||||
padding-bottom: 0.2in;
|
||||
margin-top: 0.7in;
|
||||
}
|
||||
|
||||
@page:left {
|
||||
margin-right: 0.8in;
|
||||
margin-left: 0.9in;
|
||||
@bottom-left-corner {
|
||||
content: counter(page);
|
||||
font-size: 1rem;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
@bottom {
|
||||
content: element(runningTitle);
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
@page:right {
|
||||
margin-left: 0.8in;
|
||||
margin-right: 0.9in;
|
||||
@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;
|
||||
}
|
||||
|
||||
.sup,
|
||||
.hassup {
|
||||
color: black;
|
||||
}
|
||||
.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;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
.crustoc {
|
||||
position: relative;
|
||||
bottom: 0
|
||||
}
|
||||
|
||||
a.toc::before {
|
||||
direction: rtl;
|
||||
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;
|
||||
}
|
||||
|
||||
ol[data-split-from] {
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
.longesttitle {
|
||||
visibility: hidden;
|
||||
cursor: default;
|
||||
}
|
||||
}
|
2
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/css/site.min.css
generated
vendored
2
_vendor/git.sandpoints.org/Drawwell/SandpointsTheme/static/css/site.min.css
generated
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
@ -1,100 +0,0 @@
|
|||
var UID = {
|
||||
_current: 0,
|
||||
getNew: function(){
|
||||
this._current++;
|
||||
return this._current;
|
||||
}
|
||||
};
|
||||
|
||||
HTMLElement.prototype.pseudoStyle = function(element,prop,value){
|
||||
var _this = this;
|
||||
var _sheetId = "pseudoStyles";
|
||||
var _head = document.head || document.getElementsByTagName('head')[0];
|
||||
var _sheet = document.getElementById(_sheetId) || document.createElement('style');
|
||||
_sheet.id = _sheetId;
|
||||
var className = "pseudoStyle" + UID.getNew();
|
||||
|
||||
_this.className += " "+className;
|
||||
|
||||
_sheet.innerHTML += " ."+className+":"+element+"{"+prop+":"+value+"}";
|
||||
_head.appendChild(_sheet);
|
||||
return this;
|
||||
};
|
||||
|
||||
class Sandpoints extends Paged.Handler {
|
||||
constructor(chunker, polisher, caller) {
|
||||
super(chunker, polisher, caller);
|
||||
}
|
||||
|
||||
beforeParsed(content) {
|
||||
var d = {};
|
||||
content.querySelectorAll('*').forEach((n, i)=> {
|
||||
if (n.hasAttribute("printhref")) {
|
||||
n.setAttribute("href", n.getAttribute("printhref"))
|
||||
}
|
||||
|
||||
if (n.classList.length > 0 ) {
|
||||
n.classList.forEach((c, i)=>{
|
||||
if (c.startsWith("css-")) {
|
||||
(c in d) ? d[c]++ : d[c] = 1
|
||||
let s = ""
|
||||
Object.keys(d).filter(ks => ks.startsWith(c.slice(0, -1))).forEach((t, i)=> {if (c >= t) {s += `${d[t]}.`}})
|
||||
n.pseudoStyle('before','content', `"${s} "`)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
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) {
|
||||
// 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(Sandpoints);
|
Binary file not shown.
Before Width: | Height: | Size: 21 KiB |
Binary file not shown.
Before Width: | Height: | Size: 37 KiB |
|
@ -1,145 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<html class="no-js" lang="">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Great Vibes";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url("../fonts/great-vibes-v7-latin-ext_latin-regular.eot");
|
||||
/* IE9 Compat Modes */
|
||||
src: local("Great Vibes"), local("GreatVibes-Regular"),
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-IE8 */ url("great-vibes-v7-latin-ext_latin-regular.woff2")
|
||||
format("woff2"),
|
||||
/* Super Modern Browsers */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.woff") format("woff"),
|
||||
/* Modern Browsers */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.ttf")
|
||||
format("truetype"),
|
||||
/* Safari, Android, iOS */
|
||||
url("../fonts/great-vibes-v7-latin-ext_latin-regular.svg#GreatVibes")
|
||||
format("svg");
|
||||
/* Legacy iOS */
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
.sandpointslogosize {
|
||||
font-size: 15rem;
|
||||
}
|
||||
|
||||
.sandpointlogo {
|
||||
border-radius: 50%;
|
||||
border: 0.3em solid red;
|
||||
display: inline-flex;
|
||||
font-family: "Great Vibes", cursive;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
background-color: red;
|
||||
position: relative;
|
||||
padding-left: 1em;
|
||||
padding-right: 0.2em;
|
||||
padding-bottom: 1.2em;
|
||||
max-width: 0em;
|
||||
max-height: 0em;
|
||||
}
|
||||
|
||||
.sandpointF {
|
||||
position: absolute;
|
||||
font-size: 1.2em;
|
||||
margin-top: -0.2em;
|
||||
margin-left: -0.44em;
|
||||
}
|
||||
|
||||
.sandpointN {
|
||||
position: absolute;
|
||||
font-size: 0.9em;
|
||||
margin-top: 0.2em;
|
||||
color: red;
|
||||
margin-left: -0.45em;
|
||||
}
|
||||
|
||||
.sandpointC {
|
||||
position: absolute;
|
||||
font-size: 1em;
|
||||
margin-left: -0.4em;
|
||||
margin-top: -0.04em;
|
||||
padding-bottom: 2;
|
||||
}
|
||||
|
||||
@media print {
|
||||
.sandpointlogo {
|
||||
border-radius: 50%;
|
||||
border: 0.3em solid red;
|
||||
display: inline-flex;
|
||||
font-family: "Great Vibes", cursive;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
background-color: red;
|
||||
position: relative;
|
||||
padding-left: 1em;
|
||||
padding-right: 0.2em;
|
||||
padding-bottom: 1.2em;
|
||||
max-width: 0em;
|
||||
max-height: 0em;
|
||||
}
|
||||
|
||||
.sandpointF {
|
||||
position: absolute;
|
||||
font-size: 1.2em;
|
||||
margin-top: -0.2em;
|
||||
margin-left: -0.44em;
|
||||
}
|
||||
|
||||
.sandpointN {
|
||||
position: absolute;
|
||||
font-size: 0.9em;
|
||||
margin-top: 0.2em;
|
||||
color: red;
|
||||
margin-left: -0.45em;
|
||||
}
|
||||
|
||||
.sandpointC {
|
||||
position: absolute;
|
||||
font-size: 1em;
|
||||
margin-left: -0.4em;
|
||||
margin-top: -0.04em;
|
||||
padding-bottom: 2;
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.sandpointslogosize {
|
||||
font-size: 15rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<div class="sandpointslogosize">
|
||||
<div class="sandpointlogo">
|
||||
<span class="sandpointF">ß</span>
|
||||
<span class="sandpointN">•</span>
|
||||
<span class="sandpointC">:</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,2 +1 @@
|
|||
# git.sandpoints.org/Drawwell/SandpointsTheme v0.0.0-20220418135300-b3e229aeea27
|
||||
# git.sandpoints.org/Drawwell/SandpointsEditPage v0.0.0-20210825011616-e019d8a4d186
|
||||
# git.sandpoints.org/Drawwell/SandpointsTheme v0.0.0-20201218222521-33a423ebe113
|
||||
|
|
101
config.toml
101
config.toml
|
@ -4,78 +4,53 @@ title = "Simple Sandpoints"
|
|||
relativeurls = true
|
||||
disableKinds = ["RSS", "sitemap"]
|
||||
|
||||
[taxonomies]
|
||||
keyword = "keywords"
|
||||
tag = "tags"
|
||||
|
||||
|
||||
[params]
|
||||
description = "Simple Sandpoints project to test and develop...."
|
||||
sandpointsGiteaUrl = "https://git.sandpoints.org/Drawwell/SimpleSandpoints"
|
||||
# sandpointsGiteaUrl = "http://localhost:3333/Sandpoints/SimpleSandpoints"
|
||||
sandpointsCatalogPrefix = "/library/"
|
||||
sandpointsCatalogName = "simplesandpoints"
|
||||
description = "Simple Sandpoints project to test and develop...."
|
||||
# sandpointsGiteaUrl = "https://git.sandpoints.org/Drawwell/SimpleSandpoints"
|
||||
sandpointsGiteaUrl = "http://localhost:3333/Sandpoints/SimpleSandpoints"
|
||||
sandpointsCatalogPrefix = "/library/"
|
||||
|
||||
|
||||
sandpointsMentionedIn = ["annex"]
|
||||
sandpointsMentionedIn = ["annex"]
|
||||
|
||||
[outputFormats]
|
||||
[outputFormats.js]
|
||||
isPlainText = true
|
||||
mediaType = "application/javascript"
|
||||
[outputFormats.js]
|
||||
isPlainText = true
|
||||
mediaType = "application/javascript"
|
||||
|
||||
[outputs]
|
||||
list = ["html", "js"]
|
||||
list = ["html", "js"]
|
||||
|
||||
[markup.tableOfContents]
|
||||
endLevel=4
|
||||
ordered = true
|
||||
startLevel = 1
|
||||
endLevel=4
|
||||
ordered = true
|
||||
startLevel = 1
|
||||
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
# [markup.goldmark.parser.attribute]
|
||||
# block = true
|
||||
unsafe = true
|
||||
|
||||
[module]
|
||||
# replacement allow for easier local development
|
||||
# replacements = ["git.sandpoints.org/Drawwell/SandpointsTheme -> /home/m/devel/SandpointsTheme", "git.sandpoints.org/Drawwell/SandpointsEditPage -> /home/m/devel/SandpointsEditPage"]
|
||||
|
||||
[[module.imports]]
|
||||
path = "git.sandpoints.org/Drawwell/SandpointsTheme"
|
||||
|
||||
[[module.imports]]
|
||||
path = "git.sandpoints.org/Drawwell/SandpointsEditPage"
|
||||
|
||||
[[module.imports.mounts]]
|
||||
source = "public/index.html"
|
||||
target = "static/svedit/index.html"
|
||||
[[module.imports.mounts]]
|
||||
source = "public/global.css"
|
||||
target = "static/svedit/global.css"
|
||||
[[module.imports.mounts]]
|
||||
source = "public/build"
|
||||
target = "static/svedit/build"
|
||||
|
||||
[[module.imports.mounts]]
|
||||
source = "archetypes"
|
||||
target = "archetypes"
|
||||
[[module.imports.mounts]]
|
||||
source = "assets"
|
||||
target = "assets"
|
||||
[[module.imports.mounts]]
|
||||
source = "layouts"
|
||||
target = "layouts"
|
||||
[[module.imports.mounts]]
|
||||
source = "static"
|
||||
target = "static"
|
||||
[[module.imports.mounts]]
|
||||
source = "data"
|
||||
target = "data"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "customizations/Dotawo/assets/css/site.css"
|
||||
# target = "assets/css/site.css"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "customizations/Dotawo/static/css/site.min.css"
|
||||
# target = "static/css/site.min.css"
|
||||
# replacement allow for easier local development
|
||||
# replacements = "git.sandpoints.org/Drawwell/SandpointsTheme -> /home/m/devel/SandpointsTheme"
|
||||
[[module.imports]]
|
||||
path = "git.sandpoints.org/Drawwell/SandpointsTheme"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "archetypes"
|
||||
# target = "archetypes"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "assets"
|
||||
# target = "assets"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "layouts"
|
||||
# target = "layouts"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "static"
|
||||
# target = "static"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "data"
|
||||
# target = "data"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "customizations/Dotawo/assets/css/site.css"
|
||||
# target = "assets/css/site.css"
|
||||
# [[module.imports.mounts]]
|
||||
# source = "customizations/Dotawo/static/css/site.min.css"
|
||||
# target = "static/css/site.min.css"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
+++
|
||||
title = "List of Annexes"
|
||||
+++
|
||||
---
|
||||
title: List of Annexes
|
||||
---
|
||||
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
+++
|
||||
title = "First annex"
|
||||
+++
|
||||
---
|
||||
title: First annex
|
||||
---
|
||||
|
||||
# First annex
|
||||
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
## One more title
|
||||
|
||||
Neverending stupid text testing things..
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
title: "List of authors"
|
||||
---
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
title: Angelika Jakobi
|
||||
---
|
||||
|
||||
# Biography
|
||||
|
||||
Angelika Jakobi holds a PhD in African linguistics from Hamburg University. Based on extensive periods of linguistic field work in Sudan and Tchad, her research has focused on some languages of the northeastern branch of Nilo-Saharan, particularly Fur, Nyima, Zaghawa, and Nubian. She is the author of *The Fur Language* (1990) and the compiler and annotator of the bibliography *The Nubian Languages* (1993, with Tanja Kümmerle). She has also published a study of the Saharan language Zaghawa, *Grammaire du beria* (2004, with Joachim Crass). In her articles she has explored aspects of semantics, morphosyntax, transitivity, grammatical relations, and case as well as historical-comparative issues. Although she has retired from her last position at Cologne University in 2016, she is still actively engaged in research.
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
title: Claude Rilly
|
||||
---
|
||||
|
||||
# Biography
|
||||
|
||||
Claude Rilly is a senior researcher in CNRS (Centre national de la recherche scientifique) in Paris. Since 2019, he also hold the professorship in “Meroitic Language and Civilisation” at the École Pratique des Hautes Etudes, (Paris – Sorbonne). From 2009 to 2014, he was director of the French Archaeological Unit in Khartoum (SFDAS). Since 2008, he leads the French Archaeological Mission of Sedeinga, in Sudanese Nubia. He has written three monographs on Meroitic language: *La langue du Royaume de Meroé* (2007), *Le méroïtique et sa famille lingustique* (2010), and *The Meroitic Language and Writing System* (with A. de Voogt, 2012), as well as a comprehensive “Histoire du Soudan, des origines à la chute du sultanat Fung” (2017).
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
title: George Starostin
|
||||
---
|
||||
|
||||
# Biography
|
||||
|
||||
George Starostin is a leading researcher in comparative-historical linguistics at the Institute of Oriental and Classical Studies of the Higher School of Economics (Moscow, Russia), as well as head of the international project "Evolution of Human Languages" (Santa Fe Institute, New Mexico, USA).
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
title: Roger M. Blench
|
||||
---
|
||||
|
||||
# Biography
|
||||
|
||||
Roger M. Blench is an anthropologist with interests in archaeology, linguistics and ethnomusicology. He gained his PhD from Cambridge University in 1975 and has since worked as a consultant sociologist. He is a Visiting Fellow at the McDonald Institute for Archaeological Research, University of Cambridge, a Visiting Lecturer at the University of Jos, and the Chief Research Officer of the Kay Williamson Educational Foundation.
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
title: Russell Norton
|
||||
---
|
||||
|
||||
# Biography
|
||||
|
||||
Russell Norton is a Senior Lecturer in linguistics at the Theological College of Northern Nigeria and a linguistics consultant at SIL International. He is the author of several articles on various Eastern Sudanic and Niger-Congo languages, and former editor of *ccasional Papers in the study of Sudanese Languages.* His research interests include the documentation, description, history and ecology of languages of Nigeria and Sudan.
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
title: Vincent W.J. van Gerven Oei
|
||||
draft: true
|
||||
---
|
||||
|
||||
# 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,3 +0,0 @@
|
|||
+++
|
||||
title = "_index"
|
||||
+++
|
60
content/curriculum/index.md
Normal file
60
content/curriculum/index.md
Normal file
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
title: Race Critical Theories
|
||||
has_topics: ["firsttopic.md", "secondtopic.md"]
|
||||
---
|
||||
|
||||
# Race Critical Theories, a curriculum
|
||||
|
||||
A spectre is haunting Europe — the spectre of communism. All the powers of old Europe have entered into a holy alliance to exorcise this spectre: Pope and Tsar, Metternich and Guizot, French Radicals and German police-spies.
|
||||
|
||||
Where is the party in opposition that has not been decried as communistic by its opponents in power? Where is the opposition that has not hurled back the branding reproach of communism, against the more advanced opposition parties, as well as against its reactionary adversaries?
|
||||
|
||||
|
||||
here i will make stupid dots....
|
||||
|
||||
<table style="border: 4px solid red" class="tg">
|
||||
<thead style="border: 1px solid blue">
|
||||
<tr>
|
||||
<th style="border: 1px solid green" class="tg-0lax">a</th>
|
||||
<th style="border: 1px solid green" class="tg-0lax">a</th>
|
||||
<th style="border: 1px solid green" class="tg-0lax">a</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr style="border: 1px solid green">
|
||||
<td style="border: 1px solid green" class="tg-0lax" colspan="2">b</td>
|
||||
<td style="border: 1px solid green" class="tg-0lax">b</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid green">
|
||||
<td style="border: 1px solid green" class="tg-0lax">c</td>
|
||||
<td style="border: 1px solid green" class="tg-0lax" colspan="2">c</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Here we want to describe what the project is about... Also we want to link to  or 
|
||||
|
||||
{{< gloss "(1)" >}}
|
||||
{r} first [footnote](#fn:1) in first gloss
|
||||
{g} first,[second]({sc})|_third_,forth|fifth,sixth|seventh,eight|ninth,tenth|FIRST,SECOND|THIRD,FORTH|FIFTH,SIXTH|SEVENTH,EIGHT|NINTH,TENTH|
|
||||
{r} second line in first [gloss](#fn:2)
|
||||
{{< /gloss >}}
|
||||
|
||||
## what the fuck!
|
||||
|
||||
and what about this. and more text. seriously... [second]({sc})
|
||||
|
||||
{{< gloss "(2)" >}}
|
||||
{r} first line second gloss
|
||||
{r} _second_ **line** [second gloss]({sc})
|
||||
{g} first,[second]({sc})|_third_,forth|**fifth**,[sixth]({sc})|seventh,eight|ninth,tenth|FIRST,SECOND|THIRD,FORTH|FIFTH,SIXTH|
|
||||
{r} second line second gloss
|
||||
{{< /gloss >}}
|
||||
|
||||
{{< gloss "(3)" >}}
|
||||
{r} first line in third gloss
|
||||
{g} second line in third gloss
|
||||
{{< /gloss >}}
|
||||
|
||||
[^note]: let's do some footnotes[^note].
|
||||
[^m]: second footnote[^m].
|
|
@ -1,42 +0,0 @@
|
|||
+++
|
||||
editors = ["vincentwjvangervenoei.md"]
|
||||
entries = ["firstentry.md"]
|
||||
has_topics = ["firsttopic.md", "secondtopic.md"]
|
||||
title = "Race Critical Theories"
|
||||
tags = ["blog"]
|
||||
date = "2022-02-02"
|
||||
authors = ["angelikajakobi.md"]
|
||||
+++
|
||||
|
||||
# Race Critical Theories, a curriculum
|
||||
|
||||
Here I will make stupid DOTs. . .
|
||||
|
||||

|
||||
|
||||
Here we want to describe what the project is about... Also we want to link to  or 
|
||||
|
||||
{{< gloss "(1)" >}}
|
||||
{r} first [footnote](#fn:1) in first gloss
|
||||
{g} first,[second]({sc})|_third_,forth|fifth,sixth|seventh,eight|ninth,tenth|FIRST,SECOND|THIRD,FORTH|FIFTH,SIXTH|SEVENTH,EIGHT|NINTH,TENTH|
|
||||
{r} second line in first [gloss](#fn:2)
|
||||
{{< /gloss >}}
|
||||
|
||||
## what the fuck!
|
||||
|
||||
and what about this. and more text. seriously... [second]({sc})
|
||||
|
||||
{{< gloss "(2)" >}}
|
||||
{r} first line second gloss
|
||||
{r} _second_ **line** [second gloss]({sc})
|
||||
{g} first,[second]({sc})|_third_,forth|**fifth**,[sixth]({sc})|seventh,eight|ninth,tenth|FIRST,SECOND|THIRD,FORTH|FIFTH,SIXTH|
|
||||
{r} second line second gloss
|
||||
{{< /gloss >}}
|
||||
|
||||
{{< gloss "(3)" >}}
|
||||
{r} first line in third gloss
|
||||
{g} second line in third gloss
|
||||
{{< /gloss >}}
|
||||
|
||||
[^note]: let's do some footnotes[^note].
|
||||
[^m]: second footnote[^m].
|
|
@ -1,95 +0,0 @@
|
|||
+++
|
||||
title = "Sandpoints"
|
||||
+++
|
||||
|
||||
# Sandpoints
|
||||
|
||||
Sandpoints is a publishing platform developed through rapid prototyping in the processes of collaborative writing projects such as PirateCare Syllabus, MachineLearning Curriculum or Dotawo - A Journal of Nubian Studies.
|
||||
|
||||
It allows for the development of collective writing and publishing projects under the conditions of modest or no access (e.g. Rojava) or in the work of vulnerable groups who require that their content never be accessible online. The full editing in the offline environment, with the ability to synchronize later in a P2P network or with a central server, is an essential aspect for such a scenario. But, also, Sandpoints allows readers to easily copy onto a USB drive a single folder containing the entire publication with the PDF collection of all references. Both the publication and the collection can then be viewed with an Internet browser, without the need to install any additional software.
|
||||
|
||||
Each Sandpoints instance has a three-tier, fuzzy hierachy of documents written in Markdown that can be named to correspond to technical or poetic exigencies of the publication being created. Triads can be: book > section > chapter, journal > issue > article, syllabus > topic > session, house > floor > room, ship > deck > compartment, or any other triad users might need. It also contains a library collection of electronic documents, articles and books that can be directly linked to and rendered as Chicago Manual of Style references in the documents written in Sandpoints.
|
||||
|
||||
Sandpoints runs on a [Gitea](https://gitea.io/en-us/) instance and is rendered using [Hugo](https://gohugo.io/).
|
||||
|
||||
<br><br>
|
||||
|
||||
## Technical details
|
||||
|
||||
- [Sandpoints repositories with short descriptions](https://git.sandpoints.org/Drawwell)
|
||||
- [Documentation (old)](https://git.memoryoftheworld.org/PirateCare/Syllabus) — This is a very basic documentation, primarily demonstrating how to use the preview mode header shurtcuts to open documents for editing in Gitea's built-in editor.
|
||||
|
||||
<br>
|
||||
|
||||
## Sandpoints projects and communities
|
||||
|
||||
- [Public repositories](https://git.sandpoints.org/explore/repos) — Some of the repositories are not public and quite a few are either in a rudimentary stage or no longer maintained.
|
||||
|
||||
<br>
|
||||
|
||||
## Flagship projects
|
||||
|
||||
Out of those we want to highlight three projects to demonstrate a variety of prominent Sandpoints features.
|
||||
|
||||
<br>
|
||||
|
||||
### Dotawo - A Journal of Nubian Studies
|
||||
|
||||
#### About Dotawo
|
||||
|
||||
> Nubian studies needs a platform in which the old meets the new, in which archaeological, historical, and philological research into Meroitic, Old Nubian, Coptic, Greek, and Arabic sources confront current investigations in modern anthropology and ethnography, Nilo-Saharan linguistics, and critical and theoretical approaches present in postcolonial and African studies.
|
||||
|
||||
> The journal *Dotawo - A Journal of Nubian Studies* brings these disparate fields together within the same fold, opening a cross-cultural and diachronic field where divergent approaches meet on common soil. Dotawo gives a common home to the past, present, and future of one of the richest areas of research in African studies. It offers a crossroads where papyrus can meet internet, scribes meet critical thinkers, and the promises of growing nations meet the accomplishments of old kingdoms.
|
||||
|
||||
#### Prominent features
|
||||
|
||||
- [Issue 7](https://pages.sandpoints.org/dotawo/issue/dotawo7/)
|
||||
- [Preview mode with header shortcuts to Gitea](https://pages.sandpoints.org/dotawo/_preview/journal/)
|
||||
- [Issue 7 Print to PDF Page](https://pages.sandpoints.org/dotawo/print/issue7/) — In order to print, wait for the pagination to finish the count. Once finished, go to your browser's print feature to print to PDF.
|
||||
-  as rendered via link to Print to PDF Page above
|
||||
- [Structure of the Dotawo Sandpoints project](https://pages.sandpoints.org/dotawo/urls/)
|
||||
- [Integrated library with all of the issue's references ain PDF](https://pages.sandpoints.org/dotawo/library/BROWSE_LIBRARY.html)
|
||||
- [Bibliography example](https://pages.sandpoints.org/https://gohugo.io/dotawo/article/norton/#bibliography)
|
||||
|
||||
<br>
|
||||
|
||||
### Machine Listening, A Curriculum
|
||||
|
||||
#### About Machine Listening
|
||||
|
||||
> Our devices are listening to us. Previous generations of audio-technology transmitted, recorded or manipulated sound. Today our digital voice assistants, smart speakers and a growing range of related technologies are increasingly able to analyse and respond to it as well. Scientists and engineers increasingly refer to this as “machine listening”, though the first widespread use of the term was in computer music. Machine listening is much more than just a new scientific discipline or vein of technical innovation however. It is also an emergent field of knowledge-power, of data extraction and colonialism, of capital accumulation, automation and control. It demands critical and artistic attention.
|
||||
|
||||
> MACHINE LISTENING is a new investigation and experiment in collective learning, instigated by artist Sean Dockray, legal scholar James Parker, and curator Joel Stern for Liquid Architecture and launched at Unsound 2020: Intermission. It comes out of our previous work on Eavesdropping.
|
||||
|
||||
#### Prominent features
|
||||
|
||||
- [Front page](https://machinelistening.exposed/curriculum/)
|
||||
- [Self-hosting Gitea instance](http://git.metadada.xyz/machinelistening/curriculum)
|
||||
- [Embedded video/audio](https://machinelistening.exposed/topic/against-the-coming-world-of-listening-machines/) — Audio hyperlinks integrate a player with a nifty progress bar running over the hyperlinks.
|
||||
|
||||
DEVELOPER'S NOTE: Machine Listening, A Curriculum is a very early Sandpoints project, so it is not benefitting from some of its core features. The Machine Listening team did not implement print to PDF nor did it fully use the possiblilities of interlinking the publication structure. A lot of the links are leading to source Markdown files on the project's Gitea repo instead to their rendered versions on the website. Also, now there is a backlinks support feature indicating where a page is `Mentioned in`. Things like that. Still, very impressive work.
|
||||
|
||||
<br>
|
||||
|
||||
### Pirate Care Syllabus
|
||||
|
||||
#### About Pirate Care
|
||||
|
||||
> Pirate Care is a research process - primarily based in the transnational European space - that maps the increasingly present forms of activism at the intersection of “care” and “piracy”, which in new and interesting ways are trying to intervene in one of the most important challenges of our time, that is, the "crisis of care" in all its multiple and interconnected dimensions.
|
||||
|
||||
> Pirate Care team has been collaborating with practitioners of pirate care to document their situated knowledges of care activism and to instigate collective learning processes from these knowledges in a number of offline gatherings. To this end, in 2019 they have facilitated a collective writing process that involved over 20 activists, scholars and artists, producing a Pirate Care Syllabus. The aim of the Syllabus is to help mobilise new generations of activists for care-oriented struggles and, indeed, in the COVID-19 pandemic it proved to be a valuable resource for care organising.
|
||||
|
||||
DEVELOPER'S NOTE: Pirate Care custom Hugo theme was used as a prototype for Sandpoints. The current Sandpoints theme is substantially different and upgraded compared to the Pirate Care theme.
|
||||
|
||||
#### Prominent features
|
||||
|
||||
- [Front page](https://syllabus.pirate.care/)
|
||||
- [PDF in Pirate Care's dedicated library](https://syllabus.pirate.care/library/BROWSE_LIBRARY.html#/book/7ea7d419-a6c0-40a4-98f1-05fbcb7442bf)
|
||||
- [Pirate Care exhibition in Rijeka](https://drugo-more.hr/en/pirate-care/), [more photos](https://photos.app.goo.gl/ryqJzBNQh5VicXT39) — NOTE: All printouts for the exhibition were created "live" by using Chrome's Dev tools and printing directly to PDF.
|
||||
|
||||
## Bibliography
|
||||
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
- 
|
|
@ -1,4 +0,0 @@
|
|||
---
|
||||
title: Edits
|
||||
headless: true
|
||||
---
|
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
title: "List of editors"
|
||||
---
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
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,3 +0,0 @@
|
|||
---
|
||||
title: "List of Entries"
|
||||
---
|
|
@ -1,11 +0,0 @@
|
|||
+++
|
||||
title = "Foo bar"
|
||||
+++
|
||||
# First annex
|
||||
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
|
||||
## One more title
|
||||
|
||||
Neverending stupid text testing things..
|
|
@ -1,4 +0,0 @@
|
|||
---
|
||||
title: "Race Critical Theories"
|
||||
print: "/curriculum/racecriticaltheories.md"
|
||||
---
|
Binary file not shown.
Before Width: | Height: | Size: 757 KiB |
|
@ -1,3 +1,3 @@
|
|||
+++
|
||||
title = "List of syllabi"
|
||||
+++
|
||||
---
|
||||
title: List of syllabi
|
||||
---
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
+++
|
||||
title = "First syllabus inside a topic inside a curriculum"
|
||||
+++
|
||||
---
|
||||
title: First syllabus inside a topic inside a curriculum
|
||||
---
|
||||
|
||||
# First syllabus
|
||||
|
||||
This should work more as an example than anything else. But one could edit and play with it.
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
title: "Fourth syllabus inside a second topic inside a curriculum"
|
||||
title: Fourth syllabus inside a second topic inside a curriculum
|
||||
---
|
||||
|
||||
# Fourth syllabus
|
||||
|
||||
This should work more as an example than anything else. But one could edit and play with it... Once again...
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
---
|
||||
title: "Second syllabus inside a topic inside a curriculum"
|
||||
title: Second syllabus inside a topic inside a curriculum
|
||||
---
|
||||
|
||||
# Second syllabus
|
||||
|
||||
This should work more as an example than anything else... This seems to work..
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
---
|
||||
title: "Third syllabus inside a topic inside a curriculum"
|
||||
title: Third syllabus inside a second topic inside a curriculum
|
||||
---
|
||||
|
||||
# Third syllabus
|
||||
|
||||
This should work more as an example than anything else... This seems to work.. Once again..
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
|
|
|
@ -1,44 +1,9 @@
|
|||
+++
|
||||
abstract = "Freeman and slave, patrician and plebeian, lord and serf, guild-master and journeyman, in a word, oppressor and oppressed, stood in constant opposition to one another, carried on an uninterrupted, now hidden, now open fight, a fight that each time ended, either in a revolutionary re-constitution of society at large, or in the common ruin of the contending classes."
|
||||
editors = ["vincentwjvangervenoei.md"]
|
||||
has_syllabi = ["firstsyllabus.md", "secondsyllabus.md"]
|
||||
keywords = ["foobar"]
|
||||
title = "First Topic in Curriculum"
|
||||
tags = ["blog"]
|
||||
date = "2022-02-01"
|
||||
authors = ["angelikajakobi.md", "clauderilly.md"]
|
||||
+++
|
||||
---
|
||||
title: First Topic in Curriculum
|
||||
has_syllabi: ["firstsyllabus.md", "secondsyllabus.md"]
|
||||
---
|
||||
|
||||
# First Topic in Curriculum
|
||||
|
||||
This should work more as an example than anything else. But one could edit and play with it..
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
> some blockquote
|
||||
|
||||
The history of all hitherto existing societies is the history of class struggles.
|
||||
|
||||
Freeman and slave, patrician and plebeian, lord and serf, guild-master and journeyman, in a word, oppressor and oppressed, stood in constant opposition to one another, carried on an uninterrupted, now hidden, now open fight, a fight that each time ended, either in a revolutionary re-constitution of society at large, or in the common ruin of the contending classes.
|
||||
|
||||
In the earlier epochs of history, we find almost everywhere a complicated arrangement of society into various orders, a manifold gradation of social rank. In ancient Rome we have patricians, knights, plebeians, slaves; in the Middle Ages, feudal lords, vassals, guild-masters, journeymen, apprentices, serfs; in almost all of these classes, again, subordinate gradations.
|
||||
|
||||
The modern bourgeois society that has sprouted from the ruins of feudal society has not done away with class antagonisms. It has but established new classes, new conditions of oppression, new forms of struggle in place of the old ones. Our epoch, the epoch of the bourgeoisie, possesses, however, this distinctive feature: it has simplified the class antagonisms. Society as a whole is more and more splitting up into two great hostile camps, into two great classes, directly facing each other: Bourgeoisie and Proletariat.
|
||||
|
||||
From the serfs of the Middle Ages sprang the chartered burghers of the earliest towns. From these burgesses the first elements of the bourgeoisie were developed.
|
||||
|
||||
The discovery of America, the rounding of the Cape, opened up fresh ground for the rising bourgeoisie. The East-Indian and Chinese markets, the colonisation of America, trade with the colonies, the increase in the means of exchange and in commodities generally, gave to commerce, to navigation, to industry, an impulse never before known, and thereby, to the revolutionary element in the tottering feudal society, a rapid development.
|
||||
|
||||
The feudal system of industry, under which industrial production was monopolised by closed guilds, now no longer sufficed for the growing wants of the new markets. The manufacturing system took its place. The guild-masters were pushed on one side by the manufacturing middle class; division of labour between the different corporate guilds vanished in the face of division of labour in each single workshop.
|
||||
|
||||
Meantime the markets kept ever growing, the demand ever rising. Even manufacture no longer sufficed. Thereupon, steam and machinery revolutionised industrial production. The place of manufacture was taken by the giant, Modern Industry, the place of the industrial middle class, by industrial millionaires, the leaders of whole industrial armies, the modern bourgeois.
|
||||
|
||||

|
||||
|
||||
Modern industry has established the world-market, for which the discovery of America paved the way. This market has given an immense development to commerce, to navigation, to communication by land. This development has, in its time, reacted on the extension of industry; and in proportion as industry, commerce, navigation, railways extended, in the same proportion the bourgeoisie developed, increased its capital, and pushed into the background every class handed down from the Middle Ages.
|
||||
|
||||

|
||||
|
||||
We see, therefore, how the modern bourgeoisie is itself the product of a long course of development, of a series of revolutions in the modes of production and of exchange.
|
||||
|
||||

|
||||
|
||||
Each step in the development of the bourgeoisie was accompanied by a corresponding political advance of that class. An oppressed class under the sway of the feudal nobility, an armed and self-governing association in the mediaeval commune; here independent urban republic (as in Italy and Germany), there taxable "third estate" of the monarchy (as in France), afterwards, in the period of manufacture proper, serving either the semi-feudal or the absolute monarchy as a counterpoise against the nobility, and, in fact, corner-stone of the great monarchies in general, the bourgeoisie has at last, since the establishment of Modern Industry and of the world-market, conquered for itself, in the modern representative State, exclusive political sway. The executive of the modern State is but a committee for managing the common affairs of the whole bourgeoisie.
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
+++
|
||||
title = "Second Topic in Curriculum"
|
||||
has_syllabi = ["thirdsyllabus.md","fourthsyllabus.md"]
|
||||
authors = ["clauderilly.md", "georgestarostin.md"]
|
||||
tags = ["blog"]
|
||||
date = "2022-02-06"
|
||||
+++
|
||||
---
|
||||
title: Second Topic in Curriculum
|
||||
has_syllabi: ["thirdsyllabus.md", "fourthsyllabus.md"]
|
||||
---
|
||||
|
||||
# Second Topic in Curriculum
|
||||
|
||||
This should work more as an example than anything else. But one could edit and play with it...
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue