diff --git a/themes/sandpoints/assets/css/player.min.css b/themes/sandpoints/assets/css/player.min.css new file mode 100644 index 0000000..0bb9d03 --- /dev/null +++ b/themes/sandpoints/assets/css/player.min.css @@ -0,0 +1 @@ +@-webkit-keyframes spin{from{-webkit-transform:rotate(0deg);opacity:.4}50%{-webkit-transform:rotate(180deg);opacity:1}to{-webkit-transform:rotate(360deg);opacity:.4}}@keyframes spin{from{transform:rotate(0deg);opacity:.2}50%{transform:rotate(180deg);opacity:1}to{transform:rotate(360deg);opacity:.2}}.soundcite-loaded{border-radius:6px;padding:0 5px;display:inline-block;cursor:pointer}.soundcite-loaded:before{display:inline-block;content:"";vertical-align:-10%;margin-right:.25em}.soundcite-loading:before{margin-right:.5em;font-size:.9em;position:relative;top:-.05em;height:.75em;width:.75em;border:2px solid #000;border-right-color:transparent;border-radius:50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.soundcite-play:before{font-size:.9em;position:relative;top:-.05em;border:.5em solid transparent;border-left:.75em solid #000}.soundcite-pause:before{font-size:.9em;position:relative;top:-.05em;height:1em;border-left:.75em double #000;border-right:.5em solid transparent} \ No newline at end of file diff --git a/themes/sandpoints/assets/css/site.css b/themes/sandpoints/assets/css/site.css index 71b4a1b..f83191f 100644 --- a/themes/sandpoints/assets/css/site.css +++ b/themes/sandpoints/assets/css/site.css @@ -432,6 +432,32 @@ body { color: black; } +.headiter { + display: flex; + justify-content: space-between; + background-color: red; + color: white; + padding-top: 1rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + padding-right:1rem; + margin-bottom: 1rem; +} + +a.edit-button { + color:#fff; + text-decoration:none +} + +a.edit-button:hover { + text-decoration:underline; + -webkit-text-decoration-color:red; + text-decoration-color:white; + font-weight:500; + font-size:.97em; + cursor:pointer +} + .header { display: grid; grid-template-columns: auto; @@ -541,11 +567,11 @@ img { } .nosup a { - color: red; + color: red; } .nosup a span.sup { - display: none; + display: none; } .syllabustitle, .coretitle { diff --git a/themes/sandpoints/assets/css/site.min.css b/themes/sandpoints/assets/css/site.min.css new file mode 100644 index 0000000..2512b34 --- /dev/null +++ b/themes/sandpoints/assets/css/site.min.css @@ -0,0 +1 @@ +/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:hidden;border-width:0}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:vollkorn;font-style:italic;font-weight:500;src:url(../fonts/vollkorn-v12-latin-ext_latin-500italic.eot);src:local(''),url(../fonts/vollkorn-v12-latin-ext_latin-500italic.eot?#iefix)format('embedded-opentype'),url(../fonts/vollkorn-v12-latin-ext_latin-500italic.woff2)format('woff2'),url(../fonts/vollkorn-v12-latin-ext_latin-500italic.woff)format('woff'),url(../fonts/vollkorn-v12-latin-ext_latin-500italic.ttf)format('truetype'),url(../fonts/vollkorn-v12-latin-ext_latin-500italic.svg#Vollkorn)format('svg')}@font-face{font-family:vollkorn;font-style:normal;font-weight:400;src:url(../fonts/vollkorn-v12-latin-ext_latin-regular.eot);src:local(''),url(../fonts/vollkorn-v12-latin-ext_latin-regular.eot?#iefix)format('embedded-opentype'),url(../fonts/vollkorn-v12-latin-ext_latin-regular.woff2)format('woff2'),url(../fonts/vollkorn-v12-latin-ext_latin-regular.woff)format('woff'),url(../fonts/vollkorn-v12-latin-ext_latin-regular.ttf)format('truetype'),url(../fonts/vollkorn-v12-latin-ext_latin-regular.svg#Vollkorn)format('svg')}@font-face{font-family:vollkorn;font-style:normal;font-weight:500;src:url(../fonts/vollkorn-v12-latin-ext_latin-500.eot);src:local(''),url(../fonts/vollkorn-v12-latin-ext_latin-500.eot?#iefix)format('embedded-opentype'),url(../fonts/vollkorn-v12-latin-ext_latin-500.woff2)format('woff2'),url(../fonts/vollkorn-v12-latin-ext_latin-500.woff)format('woff'),url(../fonts/vollkorn-v12-latin-ext_latin-500.ttf)format('truetype'),url(../fonts/vollkorn-v12-latin-ext_latin-500.svg#Vollkorn)format('svg')}@font-face{font-family:vollkorn;font-style:italic;font-weight:400;src:url(../fonts/vollkorn-v12-latin-ext_latin-italic.eot);src:local(''),url(../fonts/vollkorn-v12-latin-ext_latin-italic.eot?#iefix)format('embedded-opentype'),url(../fonts/vollkorn-v12-latin-ext_latin-italic.woff2)format('woff2'),url(../fonts/vollkorn-v12-latin-ext_latin-italic.woff)format('woff'),url(../fonts/vollkorn-v12-latin-ext_latin-italic.ttf)format('truetype'),url(../fonts/vollkorn-v12-latin-ext_latin-italic.svg#Vollkorn)format('svg')}@font-face{font-family:great vibes;font-style:normal;font-weight:400;src:url(../fonts/great-vibes-v7-latin-ext_latin-regular.eot);src:local('Great Vibes'),local('GreatVibes-Regular'),url(../fonts/great-vibes-v7-latin-ext_latin-regular.eot?#iefix)format('embedded-opentype'),url(../fonts/great-vibes-v7-latin-ext_latin-regular.woff2)format('woff2'),url(../fonts/great-vibes-v7-latin-ext_latin-regular.woff)format('woff'),url(../fonts/great-vibes-v7-latin-ext_latin-regular.ttf)format('truetype'),url(../fonts/great-vibes-v7-latin-ext_latin-regular.svg#GreatVibes)format('svg')}body{font-family:vollkorn,serif;font-weight:400;max-width:1024px;font-size:1.4rem;padding-left:3rem;padding-top:.5rem;padding-right:2rem;color:#000}.headiter{display:flex;justify-content:space-between;background-color:red;color:#fff;padding-top:1rem;padding-bottom:.5rem;padding-left:1rem;padding-right:1rem;margin-bottom:1rem}a.edit-button{color:#fff;text-decoration:none}a.edit-button:hover{text-decoration:underline;-webkit-text-decoration-color:red;text-decoration-color:#fff;font-weight:500;font-size:.97em;cursor:pointer}.header{display:-ms-grid;display:grid;-ms-grid-columns:auto;grid-template-columns:auto;grid-auto-flow:column;position:-webkit-sticky;position:sticky;top:0;padding-top:.5rem;font-size:1.1rem;background-color:#fff;z-index:10}.mantlebar{display:none}.breadcrumbs{-ms-grid-column:1;grid-column:1}.bibliotheke{width:2.4rem;-ms-grid-column:2;grid-column:2;margin-left:auto}.bibliotheke:hover{text-decoration:none;font-size:1rem}.logolink{width:2.4rem;margin-left:auto}.sandpointlogo{border-radius:50%;border:.3em solid red;display:inline-flex;font-family:great vibes,cursive;font-size:1.2rem;font-weight:700;color:#fff;background-color:red;position:relative;padding-left:1em;padding-right:.3em;padding-bottom:1.2em;max-width:0;max-height:0}.sandpointF{position:absolute;font-size:1.2em;margin-top:-.2em;margin-left:-.4em}.sandpointN{position:absolute;font-size:.7em;margin-top:.4em;color:red;margin-left:-.5em}.sandpointC{position:absolute;font-size:1em;margin-left:-.37em}footer{display:flex;margin-bottom:1rem;margin-top:4rem}li{list-style-type:"› "}li[role=doc-endnote]{list-style-type:decimal}img{width:100%}.sup{display:inline-flex;flex-wrap:nowrap;font-family:great vibes,cursive;font-size:.9em;font-style:normal;color:red;vertical-align:baseline;position:relative;top:-.3em}.sup:hover{font-weight:400!important}.syllabustitle,.coretitle{margin-top:4rem;font-style:italic;font-size:4rem;margin-bottom:4rem}.mantletitle,.crusttitle{margin-top:4rem;font-style:italic;font-size:2rem;margin-bottom:4rem}.has,.afterhas{font-style:italic;font-size:1.4rem}.grid{padding-left:3rem;margin-bottom:4rem;display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr}.leftcolumn{-ms-grid-column:1;grid-column:1;padding-right:1.2rem;position:relative}#TableOfContents{margin-left:-2rem;margin-top:-1.5rem}#TableOfContents li{list-style:decimal inside;padding-left:.5rem;color:rgba(0,0,0,.4);margin:0;padding:0}#TableOfContents li a{font-family:vollkorn;font-size:1.4rem;font-weight:500;font-style:normal}#TableOfContents>ol:first-child>span>li>a::after{content:"¶";color:rgba(0,0,0,.2);font-size:1.3em;padding-left:.1em}.rightcolumn{-ms-grid-column:2;grid-column:2;display:-ms-grid;display:grid;-ms-grid-columns:auto 1fr;grid-template-columns:auto 1fr;padding-left:.5rem}.has{-ms-grid-column:1;grid-column:1}.content{margin-top:4rem;padding-left:3rem;padding-right:10rem;max-width:720px}a{color:#000;text-decoration:none}a:hover{text-decoration:underline;-webkit-text-decoration-color:red;text-decoration-color:red;font-weight:500;font-size:.97em;cursor:pointer}h1{display:none}h2{font-weight:500;font-size:1.6rem}h3{font-weight:500;font-size:1.4rem}h4{font-weight:500;font-size:1.2rem}h5{font-weight:500;font-size:1.1rem}h6{font-weight:500;font-size:1rem}blockquote{font-style:italic;border-left:1px red solid;padding-left:1rem;padding-right:2rem;padding-top:.1rem;padding-bottom:.1rem;background-color:#fff9f9}h2+p:first-letter{font-family:great vibes,cursive;color:rgba(0,0,0,.8);font-size:1.5em;line-height:0}.hx{position:relative}.hpar{position:absolute;font-size:1.7em;font-style:normal;color:rgba(0,0,0,.1);top:0;margin-top:-.4em}body{counter-reset:h2}h2{counter-reset:h3}h3{counter-reset:h4}h4{counter-reset:h5}h5{counter-reset:h6}h2:before{color:rgba(0,0,0,.4);counter-increment:h2;content:counter(h2)". "}h3:before{color:rgba(0,0,0,.4);counter-increment:h3;content:counter(h2)"." counter(h3)". "}h4:before{color:rgba(0,0,0,.4);counter-increment:h4;content:counter(h2)"." counter(h3)"." counter(h4)". "}h5:before{color:rgba(0,0,0,.4);counter-increment:h5;content:counter(h2)"." counter(h3)"." counter(h4)"." counter(h5)". "}h6:before{color:rgba(0,0,0,.4);counter-increment:h6;content:counter(h2)"." counter(h3)"." counter(h4)"." counter(h5)"." counter(h6)". "}h2.nocount:before,h3.nocount:before,h4.nocount:before,h5.nocount:before,h6.nocount:before{content:"";counter-increment:none}@media(max-width:767px){html{box-sizing:border-box;max-width:767px;margin:0 auto;padding:0}body{font-size:1rem;padding-left:10px;padding-right:10px}.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:.2em}.content{padding:0;margin:0 auto;margin-top:4rem}.hpar{display:none}.mantletitle{font-size:1.7rem}.sessiongrid{display:none}} \ No newline at end of file diff --git a/themes/sandpoints/assets/js/sandpoints.js b/themes/sandpoints/assets/js/sandpoints.js index 2befed9..d606907 100644 --- a/themes/sandpoints/assets/js/sandpoints.js +++ b/themes/sandpoints/assets/js/sandpoints.js @@ -9,7 +9,7 @@ window.addEventListener('scroll', function(e) { let grid = document.querySelector('.grid') let gridrect = mantletitle.getBoundingClientRect(); - if ((document.querySelector('body').clientHeight - (grid.clientHeight + mantle.clientHeight + 32)) < window.innerHeight) { + if ((document.querySelector('body').clientHeight - (grid.clientHeight + mantletitle.clientHeight + 32)) < window.innerHeight) { return } diff --git a/themes/sandpoints/config/_default/config.toml b/themes/sandpoints/config/_default/config.toml new file mode 100644 index 0000000..82c40c3 --- /dev/null +++ b/themes/sandpoints/config/_default/config.toml @@ -0,0 +1,27 @@ +baseURL = "https://syllabus.pirate.care" +languageCode = "en-us" +title = "Pirate Care" +theme = "sandpoints" +relativeurls = true +disableKinds = ["RSS", "sitemap"] + +[params] + description = "Network of activists, researchers and practitioners against the criminalisation of solidarity & for a common care infrastructure." + images = ["/images/piratecaqre.png"] + giturl = "http://127.0.0.1:3333/Sandpoints/dev" + title = "Pirate Care Syllabus" + home = "/syllabus/" + +[outputFormats] + [outputFormats.js] + isPlainText = true + mediaType = "application/javascript" + +[outputs] + list = ["html", "js"] + +[markup] + [markup.tableOfContents] + endLevel=4 + ordered = true + startLevel = 1 diff --git a/themes/sandpoints/config/offline/config.toml b/themes/sandpoints/config/offline/config.toml new file mode 100644 index 0000000..f50adea --- /dev/null +++ b/themes/sandpoints/config/offline/config.toml @@ -0,0 +1,2 @@ +relativeurls = true +baseURL = "" \ No newline at end of file diff --git a/themes/sandpoints/data/sandpointsnamegraph.json b/themes/sandpoints/data/sandpointsnamegraph.json index 72b773f..f35d397 100644 --- a/themes/sandpoints/data/sandpointsnamegraph.json +++ b/themes/sandpoints/data/sandpointsnamegraph.json @@ -1,20 +1,8 @@ { - "curriculum": { - "depth": "core", - "plural": "curricula", - "has": ["topic", "topics"], - "in": false - }, - "topic": { - "depth": "mantle", - "plural": "topics", - "has": ["experiment", "experiments"], - "in": ["curriculum", "curricula"] - }, - "experiment": { - "depth": "crust", - "plural": "experiments", - "has": false, - "in": ["topic", "topics"] - } + "triads":[ + ["curriculum", "curriculums", "topic", "topics", "experiment", "experiments"], + ["syllabus", "syllabi", "topic", "topics", "session", "sessions"], + ["book", "books", "part", "parts", "chapter", "chapters"], + ["journal", "journals", "issue", "issues", "article", "article"] + ] } diff --git a/themes/sandpoints/layouts/_default/baseof.html b/themes/sandpoints/layouts/_default/baseof.html index 0827343..b40d12a 100644 --- a/themes/sandpoints/layouts/_default/baseof.html +++ b/themes/sandpoints/layouts/_default/baseof.html @@ -1,27 +1,12 @@ -{{- $filePath := .File -}} -{{- $gitUrl := .Site.Params.giturl -}} + - {{- partial "head.html" . -}} - {{ partialCached "css.html" . }} + + {{- partialCached "head.html" . -}} + {{- partialCached "sandpointjs.html" . .RelPermalink -}} + - {{ with .Site.Params.edit }} -
- edit_this - {{ range $k, $v := $.Site.Data.sandpointsnamegraph }} - {{ if ne (index $v "depth") "core" }} - add_new_{{ $k }} - {{ end }} - {{ end }} - publish - ? -
- {{ end }} - {{- partial "header.html" . -}} - - {{$currentNode := . }} -

{{ .Title }}

- {{- block "main" . }}{{- end }} - {{- partial "footer.html" . -}} + {{- block "singlebody" . }}{{- end }} + {{- partialCached "footer.html" . -}} - \ No newline at end of file + diff --git a/themes/sandpoints/layouts/_default/list.html b/themes/sandpoints/layouts/_default/list.html new file mode 100644 index 0000000..aa222a0 --- /dev/null +++ b/themes/sandpoints/layouts/_default/list.html @@ -0,0 +1,3 @@ + diff --git a/themes/sandpoints/layouts/_default/single.html b/themes/sandpoints/layouts/_default/single.html index e061b84..8793a11 100644 --- a/themes/sandpoints/layouts/_default/single.html +++ b/themes/sandpoints/layouts/_default/single.html @@ -1,63 +1,11 @@ -{{ define "main" }} -{{$currentNode := . }} +{{- define "singlebody" -}} -{{ range $k, $v := $.Site.Data.sandpointsnamegraph }} - {{ if eq (substr $currentNode.File.Dir 0 -1) $k }} - {{ $.Scratch.Set "plural" (index $v "plural") }} - {{ $.Scratch.Set "depth" (index $v "depth") }} - {{ with index $v "in" }} - {{ $.Scratch.Set "in" (index $v "in") }} - {{ end }} - {{ with index $v "has" }} - {{ $.Scratch.Set "has" (index $v "has") }} - {{ end }} - {{ end }} -{{ end }} +{{- partialCached "header.html" . .RelPermalink -}} -
{{ substr .File.Dir 0 -1 }}⁄{{ substr .Title 0 1 }}{{ substr .Title 1 }}
+

{{ .Title }}

-
-
- {{ if ne (trim .Page.TableOfContents "\n") "" }} - {{ .Page.TableOfContents }} - {{ end }} -
-
- {{ if (not (eq ($.Scratch.Get "depth") "crust")) }} -
- has {{ index ($.Scratch.Get "has") 1 }}⁄ -
-
- {{ range index $currentNode.Params (printf "has_%s" (index ($.Scratch.Get "has") 1) )}} - {{ with $.GetPage (printf "%s%s" (printf "/%s/" (index ($.Scratch.Get "has") 0)) . ) }} - - {{ end }} - {{ end }} - {{ end }} - - {{ if eq ($.Scratch.Get "depth") "crust" }} -
- in {{ index ($.Scratch.Get "in") 1 }}⁄ -
-
- {{ range where $.Site.RegularPages ".Section" (index ($.Scratch.Get "in") 0) }} - {{ if in (index .Params (printf "has_%s" ($.Scratch.Get "plural"))) $currentNode.File.LogicalName }} - - {{ else if in $currentNode.Params.is_in .File.LogicalName }} - - {{ end }} - {{ end }} - {{ end }} -
-
-
+{{- partialCached "singlebody.html" . .RelPermalink -}}
{{ .Content }}
-{{ end }} +{{- end -}} diff --git a/themes/sandpoints/layouts/partials/css.html b/themes/sandpoints/layouts/partials/css.html deleted file mode 100644 index d584261..0000000 --- a/themes/sandpoints/layouts/partials/css.html +++ /dev/null @@ -1,9 +0,0 @@ -{{ if (or (eq hugo.Environment "gitea") (eq hugo.Environment "preview") ) }} - - -{{ else if (or (eq hugo.Environment "offline") (.Site.IsServer)) }} - {{ $style := resources.Get "css/site.css" | postCSS (dict "config" "./assets/css/postcss.config.js") | minify }} - - {{ $style := resources.Get "css/player.css" | postCSS (dict "config" "./assets/css/postcss.config.js") | minify }} - -{{ end }} diff --git a/themes/sandpoints/layouts/partials/head.html b/themes/sandpoints/layouts/partials/head.html index 0f7804e..09609c7 100644 --- a/themes/sandpoints/layouts/partials/head.html +++ b/themes/sandpoints/layouts/partials/head.html @@ -1,34 +1,39 @@ - - - - - + + + + - {{ if .Description }} - - {{ end }} - {{ if .Keywords }} - - {{ end }} - {{ if .Params.Author }} - - {{ end }} +{{ if .Description }} + +{{ end }} +{{ if .Keywords }} + +{{ end }} +{{ if .Params.Author }} + +{{ end }} - {{ template "_internal/opengraph.html" . }} - {{ template "_internal/twitter_cards.html" . }} +{{ template "_internal/opengraph.html" . }} +{{ template "_internal/twitter_cards.html" . }} - {{ hugo.Generator }} +{{ hugo.Generator }} - - - - - + + + + + - +{{ if (or (eq hugo.Environment "gitea") (eq hugo.Environment "preview") ) }} + {{ $sitemin := resources.Get "css/site.min.css" }} + + {{ $player := resources.Get "css/player.min.css" }} + +{{ else if (or (eq hugo.Environment "offline") (.Site.IsServer)) }} + {{ $style := resources.Get "css/site.css" | postCSS (dict "config" "assets/css/postcss.config.js") | minify }} + + {{ $style := resources.Get "css/player.css" | postCSS (dict "config" "assets/css/postcss.config.js") | minify }} + +{{ end }} - {{ $sjsopts := dict "targetPath" "js/sandpoints.js" "minify" "true"}} - {{ $sjs := resources.Get "js/sandpoints.js" | js.Build $sjsopts }} - - {{ block "title" . }}{{- .Title }} - {{ .Site.Title -}}{{ end }} - +{{ block "title" . }}{{- .Title }} - {{ .Site.Title -}}{{ end }} diff --git a/themes/sandpoints/layouts/partials/header.html b/themes/sandpoints/layouts/partials/header.html index b40fca1..478990c 100644 --- a/themes/sandpoints/layouts/partials/header.html +++ b/themes/sandpoints/layouts/partials/header.html @@ -1,37 +1,43 @@ -{{ $currentSession := . }} +{{ $s := partialCached "scratch.html" . }} -{{- range $k, $v := .Page.Site.Data.sandpointsnamegraph -}} - {{ if eq $currentSession.File.Dir (printf "%s/" $k) }} - {{ $.Scratch.Add "depth" (index $v "depth") }} - {{ if eq (index $v "depth") "mantle" }} - {{ $.Scratch.Add "home" (index $v "in" 0) }} - {{ end }} - {{ if eq (index $v "depth") "crust" }} - {{ $.Scratch.Add "home" (index (index $currentSession.Site.Data.sandpointsnamegraph (index $v "in" 0)) "in" 0) }} - {{ $.Scratch.Add "mantle" (index $v "in" 0) }} - {{ $.Scratch.Add "mantle_has" (index (index $currentSession.Site.Data.sandpointsnamegraph (index $v "in" 0)) "has" 1) }} - {{ end }} - {{ end }} -{{- end -}} +{{ $currentNode := . }} +{{ $currentDir := "" }} +{{ with .File }} + {{ $currentDir = .Dir }} +{{ end }} +{{ $currentFile := (printf "/%s" .File) }} +{{ $scratch := $s.Get $currentFile }} + +{{ if eq hugo.Environment "preview" }} + {{- $gitUrl := .Site.Params.giturl -}} +
+ edit_this + add_new_{{ $scratch.mantle }} + add_new_{{ $scratch.crust }} + publish + ? +
+{{ end }}
diff --git a/themes/sandpoints/layouts/partials/sandpointjs.html b/themes/sandpoints/layouts/partials/sandpointjs.html new file mode 100644 index 0000000..d023ad6 --- /dev/null +++ b/themes/sandpoints/layouts/partials/sandpointjs.html @@ -0,0 +1,4 @@ + +{{ $sjsopts := dict "targetPath" "js/sandpoints.js" "minify" "true"}} +{{ $sjs := resources.Get "js/sandpoints.js" | js.Build $sjsopts }} + diff --git a/themes/sandpoints/layouts/partials/scratch.html b/themes/sandpoints/layouts/partials/scratch.html new file mode 100644 index 0000000..add7b34 --- /dev/null +++ b/themes/sandpoints/layouts/partials/scratch.html @@ -0,0 +1,63 @@ +{{ $currentNode := . }} + +{{ range $p := .Site.RegularPages }} + {{ $pageFilePath := printf "/%s" $p.File }} + {{ $pageDir := "" }} + {{ with $p.File }} + {{ $pageDir = (substr .Dir 0 -1)}} + {{ end }} + + {{ range $triad := (index $currentNode.Site.Data.sandpointsnamegraph "triads") }} + {{ with intersect $triad (slice $pageDir) }} + {{ $t := index . 0 }} + {{ if eq $t (index $triad 0) }} + {{ $.Scratch.SetInMap $pageFilePath "depth" "core" }} + {{ $.Scratch.SetInMap $pageFilePath "child_depth" "mantle" }} + {{ $.Scratch.SetInMap $pageFilePath "plural" (index $triad 1)}} + {{ $.Scratch.SetInMap $pageFilePath "has" (slice (index $triad 2) (index $triad 3))}} + {{ range index $p.Params (printf "has_%s" (index $triad 3)) }} + {{ $childPath := printf "/%s/%s" (index $triad 2) . }} + {{ with $.Scratch.Get $childPath }} + {{ if isset . "is_in" }} + {{ $isin := index . "is_in" | append ($.GetPage $pageFilePath) }} + {{ $.Scratch.SetInMap $childPath "is_in" $isin }} + {{ else }} + {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }} + {{ end }} + {{ else }} + {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }} + {{ end }} + {{ end }} + {{ else if eq $t (index $triad 2) }} + {{ $.Scratch.SetInMap $pageFilePath "depth" "mantle" }} + {{ $.Scratch.SetInMap $pageFilePath "child_depth" "crust" }} + {{ $.Scratch.SetInMap $pageFilePath "plural" (index $triad 3)}} + {{ $.Scratch.SetInMap $pageFilePath "has" (slice (index $triad 4) (index $triad 5))}} + {{ range index $p.Params (printf "has_%s" (index $triad 5)) }} + {{ $childPath := printf "/%s/%s" (index $triad 4) . }} + {{ with $.Scratch.Get $childPath }} + {{ if isset . "is_in" }} + {{ $isin := index . "is_in" | append ($.GetPage $pageFilePath) }} + {{ $.Scratch.SetInMap $childPath "is_in" $isin }} + {{ else }} + {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }} + {{ end }} + {{ else }} + {{ $.Scratch.SetInMap $childPath "is_in" (slice ($.GetPage $pageFilePath)) }} + {{ end }} + {{ end }} + {{ else if eq $t (index $triad 4) }} + {{ $.Scratch.SetInMap $pageFilePath "depth" "crust" }} + {{ $.Scratch.SetInMap $pageFilePath "mantle_has" (index $triad 5) }} + {{ $.Scratch.SetInMap $pageFilePath "plural" (index $triad 5)}} + {{ $.Scratch.SetInMap $pageFilePath "in" (slice (index $triad 2) (index $triad 3))}} + {{ end }} + + {{ $.Scratch.SetInMap $pageFilePath "core" (index $triad 0) }} + {{ $.Scratch.SetInMap $pageFilePath "mantle" (index $triad 2) }} + {{ $.Scratch.SetInMap $pageFilePath "crust" (index $triad 4) }} + {{ end }} + {{ end }} +{{ end }} + +{{ return $.Scratch }} diff --git a/themes/sandpoints/layouts/partials/singlebody.html b/themes/sandpoints/layouts/partials/singlebody.html new file mode 100644 index 0000000..b2ac1c3 --- /dev/null +++ b/themes/sandpoints/layouts/partials/singlebody.html @@ -0,0 +1,47 @@ +{{ $s := partialCached "scratch.html" . }} + +{{ $currentNode := . }} +{{ $currentDir := "" }} +{{ with .File }} + {{ $currentDir = .Dir }} +{{ end }} +{{ $currentFile := (printf "/%s" .File) }} +{{ $scratch := $s.Get $currentFile }} + +
{{ substr $currentDir 0 -1 }}⁄{{ substr .Title 0 1 }}{{ substr .Title 1 }}
+ +
+
+ {{ if ne (trim .Page.TableOfContents "\n") "" }} + {{ .Page.TableOfContents }} + {{ end }} +
+
+ {{ if (not (eq $scratch.depth "crust")) }} +
+ has {{ index $scratch.has 1 }}⁄ +
+
+ {{ range index $currentNode.Params (printf "has_%s" (index $scratch.has 1) )}} + {{ with $.GetPage (printf "%s%s" (printf "/%s/" (index $scratch.has 0)) . ) }} + + {{ end }} + {{ end }} + {{ end }} + + {{ if eq $scratch.depth "crust" }} +
+ in {{ index $scratch.in 1 }}⁄ +
+
+ {{ range $scratch.is_in }} + + {{ end }} + {{ end }} +
+
+
diff --git a/themes/sandpoints/package-lock.json b/themes/sandpoints/package-lock.json index 256f6a3..32e0240 100644 --- a/themes/sandpoints/package-lock.json +++ b/themes/sandpoints/package-lock.json @@ -76,9 +76,9 @@ "dev": true }, "acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", "dev": true }, "acorn-node": { @@ -93,9 +93,9 @@ } }, "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", "dev": true }, "ansi-regex": { @@ -289,16 +289,6 @@ "wrap-ansi": "^6.2.0" } }, - "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -314,16 +304,6 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -349,9 +329,9 @@ } }, "css-unit-converter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", - "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", "dev": true }, "cssesc": { @@ -419,12 +399,6 @@ "is-arrayish": "^0.2.1" } }, - "escalade": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz", - "integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==", - "dev": true - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -565,12 +539,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "dev": true - }, "ignore": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", @@ -756,9 +724,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "node-emoji": { @@ -817,12 +785,6 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-hash": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz", - "integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==", - "dev": true - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1054,35 +1016,13 @@ } }, "postcss-nested": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", - "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.1.tgz", + "integrity": "sha512-AMayXX8tS0HCp4O4lolp4ygj9wBn32DJWXvG6gCv+ZvJrEa00GUxJcJEEzMh87BIe6FrWdYkpR2cuyqHKrxmXw==", "dev": true, "requires": { - "postcss": "^7.0.32", + "postcss": "^7.0.21", "postcss-selector-parser": "^6.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-reporter": { @@ -1213,23 +1153,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -1278,133 +1201,47 @@ } }, "tailwindcss": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.8.4.tgz", - "integrity": "sha512-UW1giHUBuMVUwzff0vVbvGOdx1r8+4onN8LCblzncstdFVyuiZ2wCnkv2RQiSAlMTHaNu8vAAhm/fw3flmCi0Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.2.0.tgz", + "integrity": "sha512-CKvY0ytB3ze5qvynG7qv4XSpQtFNGPbu9pUn8qFdkqgD8Yo/vGss8mhzbqls44YCXTl4G62p3qVZBj45qrd6FQ==", "dev": true, "requires": { - "@fullhuman/postcss-purgecss": "^2.1.2", "autoprefixer": "^9.4.5", - "browserslist": "^4.12.0", "bytes": "^3.0.0", - "chalk": "^3.0.0 || ^4.0.0", - "color": "^3.1.2", + "chalk": "^3.0.0", "detective": "^5.2.0", "fs-extra": "^8.0.0", - "html-tags": "^3.1.0", - "lodash": "^4.17.20", + "lodash": "^4.17.15", "node-emoji": "^1.8.1", "normalize.css": "^8.0.1", - "object-hash": "^2.0.3", "postcss": "^7.0.11", "postcss-functions": "^3.0.0", "postcss-js": "^2.0.0", "postcss-nested": "^4.1.1", "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^4.1.0", "pretty-hrtime": "^1.0.3", "reduce-css-calc": "^2.1.6", "resolve": "^1.14.2" }, "dependencies": { - "@fullhuman/postcss-purgecss": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz", - "integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==", - "dev": true, - "requires": { - "postcss": "7.0.32", - "purgecss": "^2.3.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - } - } - }, - "browserslist": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.1.tgz", - "integrity": "sha512-zyBTIHydW37pnb63c7fHFXUG6EcqWOqoMdDx6cdyaDFriZ20EoVxcE95S54N+heRqY8m8IUgB5zYta/gCwSaaA==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001124", - "electron-to-chromium": "^1.3.562", - "escalade": "^3.0.2", - "node-releases": "^1.1.60" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "caniuse-lite": { - "version": "1.0.30001124", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001124.tgz", - "integrity": "sha512-zQW8V3CdND7GHRH6rxm6s59Ww4g/qGWTheoboW9nfeMg7sUoopIfKCcNZUjwYRCOrvereh3kwDpZj4VLQ7zGtA==", - "dev": true - }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "color-convert": { @@ -1422,99 +1259,34 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.562", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.562.tgz", - "integrity": "sha512-WhRe6liQ2q/w1MZc8mD8INkenHivuHdrr4r5EQHNomy3NJux+incP6M6lDMd0paShP3MD0WGe5R1TWmEClf+Bg==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node-releases": { - "version": "1.1.60", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.60.tgz", - "integrity": "sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==", + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "purgecss": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", - "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", - "dev": true, - "requires": { - "commander": "^5.0.0", - "glob": "^7.0.0", - "postcss": "7.0.32", - "postcss-selector-parser": "^6.0.2" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - } - } - }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { "path-parse": "^1.0.6" } }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } diff --git a/themes/sandpoints/package.json b/themes/sandpoints/package.json index 8f00e7f..a46e3bb 100644 --- a/themes/sandpoints/package.json +++ b/themes/sandpoints/package.json @@ -15,7 +15,7 @@ "postcss": "^7.0.26", "postcss-cli": "^7.1.0", "postcss-import": "^12.0.1", - "tailwindcss": "^1.8.4" + "tailwindcss": "^1.2.0" }, "browserslist": [ "last 1 version", diff --git a/themes/sandpoints/static/moog.mp3 b/themes/sandpoints/static/moog.mp3 new file mode 100644 index 0000000..b416eab Binary files /dev/null and b/themes/sandpoints/static/moog.mp3 differ