浏览代码

Big update to the theme

master
Sean Dockray 4 年前
父节点
当前提交
955d8d5f8f
共有 19 个文件被更改,包括 302 次插入433 次删除
  1. +1
    -0
      themes/sandpoints/assets/css/player.min.css
  2. +28
    -2
      themes/sandpoints/assets/css/site.css
  3. +1
    -0
      themes/sandpoints/assets/css/site.min.css
  4. +1
    -1
      themes/sandpoints/assets/js/sandpoints.js
  5. +27
    -0
      themes/sandpoints/config/_default/config.toml
  6. +2
    -0
      themes/sandpoints/config/offline/config.toml
  7. +6
    -18
      themes/sandpoints/data/sandpointsnamegraph.json
  8. +8
    -23
      themes/sandpoints/layouts/_default/baseof.html
  9. +3
    -0
      themes/sandpoints/layouts/_default/list.html
  10. +5
    -57
      themes/sandpoints/layouts/_default/single.html
  11. +0
    -9
      themes/sandpoints/layouts/partials/css.html
  12. +33
    -28
      themes/sandpoints/layouts/partials/head.html
  13. +28
    -22
      themes/sandpoints/layouts/partials/header.html
  14. +4
    -0
      themes/sandpoints/layouts/partials/sandpointjs.html
  15. +63
    -0
      themes/sandpoints/layouts/partials/scratch.html
  16. +47
    -0
      themes/sandpoints/layouts/partials/singlebody.html
  17. +44
    -272
      themes/sandpoints/package-lock.json
  18. +1
    -1
      themes/sandpoints/package.json
  19. 二进制
      themes/sandpoints/static/moog.mp3

+ 1
- 0
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}

+ 28
- 2
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 {


+ 1
- 0
themes/sandpoints/assets/css/site.min.css
文件差异内容过多而无法显示
查看文件


+ 1
- 1
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
}


+ 27
- 0
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

+ 2
- 0
themes/sandpoints/config/offline/config.toml 查看文件

@@ -0,0 +1,2 @@
relativeurls = true
baseURL = ""

+ 6
- 18
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"]
]
}

+ 8
- 23
themes/sandpoints/layouts/_default/baseof.html 查看文件

@@ -1,27 +1,12 @@
<!DOCTYPE html>
{{- $filePath := .File -}}
{{- $gitUrl := .Site.Params.giturl -}}

<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
{{- partial "head.html" . -}}
{{ partialCached "css.html" . }}
<head>
{{- partialCached "head.html" . -}}
{{- partialCached "sandpointjs.html" . .RelPermalink -}}
</head>
<body>
{{ with .Site.Params.edit }}
<div class="flex justify-between sticky top-0 static border-b-8 z-10 border-red bg-white px-1 pt-2">
<a class="edit-button" target="_blank" href="{{ $gitUrl }}/_edit/master/content/{{ $filePath }}">edit_this</a>
{{ range $k, $v := $.Site.Data.sandpointsnamegraph }}
{{ if ne (index $v "depth") "core" }}
<a class="edit-button" target="_blank" href="{{ $gitUrl }}/_new/master/content/{{ $k }}/">add_new_{{ $k }}</a>
{{ end }}
{{ end }}
<a class="edit-button" target="_blank" href="{{ $gitUrl }}/_edit/master/PUBLISH.trigger.md">publish</a>
<a class="edit-button" target="_blank" href="{{ $gitUrl }}"> ? </a>
</div>
{{ end }}
{{- partial "header.html" . -}}

{{$currentNode := . }}
<h1>{{ .Title }}</h1>
{{- block "main" . }}{{- end }}
{{- partial "footer.html" . -}}
{{- block "singlebody" . }}{{- end }}
{{- partialCached "footer.html" . -}}
</body>
</html>
</html>

+ 3
- 0
themes/sandpoints/layouts/_default/list.html 查看文件

@@ -0,0 +1,3 @@
<ul>
<li>{{ .Title }}</li>
</ul>

+ 5
- 57
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 -}}

<div class="{{ $.Scratch.Get "depth" }}title"><span class="sup">{{ substr .File.Dir 0 -1 }}⁄{{ substr .Title 0 1 }}</span>{{ substr .Title 1 }}</div></div>
<h1>{{ .Title }}</h1>

<div class="grid">
<div class="leftcolumn">
{{ if ne (trim .Page.TableOfContents "\n") "<nav id=\"TableOfContents\"></nav>" }}
{{ .Page.TableOfContents }}
{{ end }}
</div>
<div class="rightcolumn">
{{ if (not (eq ($.Scratch.Get "depth") "crust")) }}
<div class="has">
<span class="sup">has {{ index ($.Scratch.Get "has") 1 }}⁄</span>
</div>
<div class="afterhas">
{{ range index $currentNode.Params (printf "has_%s" (index ($.Scratch.Get "has") 1) )}}
{{ with $.GetPage (printf "%s%s" (printf "/%s/" (index ($.Scratch.Get "has") 0)) . ) }}
<div class="{{ index $.Site.Data.sandpointsnamegraph (index ($.Scratch.Get "has") 0) "depth" }}">
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
</div>
{{ end }}
{{ end }}
{{ end }}

{{ if eq ($.Scratch.Get "depth") "crust" }}
<div class="has">
<span class="sup">in {{ index ($.Scratch.Get "in") 1 }}⁄</span>
</div>
<div class="afterhas">
{{ range where $.Site.RegularPages ".Section" (index ($.Scratch.Get "in") 0) }}
{{ if in (index .Params (printf "has_%s" ($.Scratch.Get "plural"))) $currentNode.File.LogicalName }}
<div class="{{ substr .File.Dir 0 -1 }}">
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
</div>
{{ else if in $currentNode.Params.is_in .File.LogicalName }}
<div class="{{ substr .File.Dir 0 -1 }}">
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
</div>
{{ end }}
{{ end }}
{{ end }}
</div>
</div>
</div>
{{- partialCached "singlebody.html" . .RelPermalink -}}

<div class="content">{{ .Content }}</div>

{{ end }}
{{- end -}}

+ 0
- 9
themes/sandpoints/layouts/partials/css.html 查看文件

@@ -1,9 +0,0 @@
{{ if (or (eq hugo.Environment "gitea") (eq hugo.Environment "preview") ) }}
<link rel="stylesheet" href="/css/site.min.css" />
<link rel="stylesheet" href="/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 }}
<link rel="stylesheet" href="{{ $style.Permalink }}" />
{{ $style := resources.Get "css/player.css" | postCSS (dict "config" "./assets/css/postcss.config.js") | minify }}
<link rel="stylesheet" href="{{ $style.Permalink }}" />
{{ end }}

+ 33
- 28
themes/sandpoints/layouts/partials/head.html 查看文件

@@ -1,34 +1,39 @@
<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">
<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">

{{ if .Description }}
<meta name="description" content="{{ .Description }}" />
{{ end }}
{{ if .Keywords }}
<meta name="keywords" content="{{ delimit .Keywords "," }}" />
{{ end }}
{{ if .Params.Author }}
<meta name="author" content="{{ .Params.Author}}" />
{{ end }}
{{ if .Description }}
<meta name="description" content="{{ .Description }}" />
{{ end }}
{{ if .Keywords }}
<meta name="keywords" content="{{ delimit .Keywords "," }}" />
{{ end }}
{{ if .Params.Author }}
<meta name="author" content="{{ .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 }}

<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#996561">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#996561">

<script type="text/javascript">var relPathDepth = {{ .RelPermalink | strings.Count "/" }};</script>
{{ if (or (eq hugo.Environment "gitea") (eq hugo.Environment "preview") ) }}
{{ $sitemin := resources.Get "css/site.min.css" }}
<link rel="stylesheet" href="{{ $sitemin.RelPermalink }}" />
{{ $player := resources.Get "css/player.min.css" }}
<link rel="stylesheet" href="{{ $player.RelPermalink }}" />
{{ else if (or (eq hugo.Environment "offline") (.Site.IsServer)) }}
{{ $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" | postCSS (dict "config" "assets/css/postcss.config.js") | minify }}
<link rel="stylesheet" href="{{ $style.RelPermalink }}" />
{{ end }}

{{ $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>
<title>{{ block "title" . }}{{- .Title }} - {{ .Site.Title -}}{{ end }}</title>
</head>
<title>{{ block "title" . }}{{- .Title }} - {{ .Site.Title -}}{{ end }}</title>

+ 28
- 22
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 -}}
<div class="headiter">
<a class="edit-button" target="_blank" href="{{ $gitUrl }}/_edit/master/content/{{ $currentNode.File }}">edit_this</a>
<a class="edit-button" target="_blank" href="{{ $gitUrl }}/_new/master/content/{{ $scratch.mantle }}/">add_new_{{ $scratch.mantle }}</a>
<a class="edit-button" target="_blank" href="{{ $gitUrl }}/_new/master/content/{{ $scratch.crust }}/">add_new_{{ $scratch.crust }}</a>
<a class="edit-button" target="_blank" href="{{ $gitUrl }}/_edit/master/PUBLISH.trigger.md">publish</a>
<a class="edit-button" target="_blank" href="{{ $gitUrl }}"> ? </a>
</div>
{{ end }}

<div class="header">
<a title="{{ $.Site.Home.Title }}'s Bibliotheke" href="/library/BROWSE_LIBRARY.html" class="bibliotheke" target="_blank">
<img src="/images/bibliotheke.svg" />
</a>
<div class="breadcrumbs">
{{ if ne ($.Scratch.Get "depth") "core" }}
<a href="{{ with $currentSession.Site.GetPage (printf "/%s/index.md" ($.Scratch.Get "home")) }}{{ .RelPermalink }}{{ end }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}"><span class="sup">{{ with $currentSession.Site.GetPage (printf "/%s/index.md" ($.Scratch.Get "home")) }}{{ substr .Title 0 1 }}</span><i>{{ substr .Title 1 }}</i></a>{{ end }}
{{ if ne $scratch.depth "core" }}
<a href="{{ with $.GetPage (printf "/%s/index.md" ($scratch.core)) }}{{ .RelPermalink }}{{ end }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}"><span class="sup">{{ with $.GetPage (printf "/%s/index.md" ($scratch.core)) }}{{ substr .Title 0 1 }}</span><i>{{ substr .Title 1 }}</i></a>{{ end }}
{{ end }}

{{ if eq ($.Scratch.Get "depth") "mantle" }}
{{ if eq $scratch.depth "mantle" }}
<span class="mantlebar"><i> » <a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a></i></span>
{{ end }}

{{ if eq ($.Scratch.Get "depth") "crust" }}
{{ range first 1 (where (where $.Site.RegularPages ".Section" ($.Scratch.Get "mantle")) (printf ".Params.has_%s" ($.Scratch.Get "mantle_has")) "intersect" (slice $currentSession.File.LogicalName)) }}
<span><i> » <a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a></i></span>
{{ end }}
<span class="mantlebar"><i> » <a href="{{ $currentSession.RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ $currentSession.Title }}</a></i></span>
{{ if eq $scratch.depth "crust" }}
{{ if isset $scratch "is_in" }}
{{ $p := index $scratch.is_in 0 }}
<span><i> » <a href="{{ $p.RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ $p.Title }}</a></i></span>
{{ end }}
<span class="mantlebar"><i> » <a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a></i></span>
{{ end }}
</div>
</div>

+ 4
- 0
themes/sandpoints/layouts/partials/sandpointjs.html 查看文件

@@ -0,0 +1,4 @@
<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>

+ 63
- 0
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 }}

+ 47
- 0
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 }}

<div class="{{ $scratch.depth }}title"><span class="sup">{{ substr $currentDir 0 -1 }}⁄{{ substr .Title 0 1 }}</span>{{ substr .Title 1 }}</div></div>

<div class="grid">
<div class="leftcolumn">
{{ if ne (trim .Page.TableOfContents "\n") "<nav id=\"TableOfContents\"></nav>" }}
{{ .Page.TableOfContents }}
{{ end }}
</div>
<div class="rightcolumn">
{{ if (not (eq $scratch.depth "crust")) }}
<div class="has">
<span class="sup">has {{ index $scratch.has 1 }}⁄</span>
</div>
<div class="afterhas">
{{ range index $currentNode.Params (printf "has_%s" (index $scratch.has 1) )}}
{{ with $.GetPage (printf "%s%s" (printf "/%s/" (index $scratch.has 0)) . ) }}
<div class="{{ $scratch.child_depth }}">
<a href="{{ .RelPermalink }}{{ if eq hugo.Environment "offline" }}index.html{{ end }}">{{ .Title }}</a>
</div>
{{ end }}
{{ end }}
{{ end }}

{{ if eq $scratch.depth "crust" }}
<div class="has">
<span class="sup">in {{ index $scratch.in 1 }}⁄</span>
</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 }}
{{ end }}
</div>
</div>
</div>

+ 44
- 272
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"
}
}
}


+ 1
- 1
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",


二进制
themes/sandpoints/static/moog.mp3 查看文件


正在加载...
取消
保存