diff --git a/themes/secluded/archetypes/default.md b/themes/secluded/archetypes/default.md new file mode 100644 index 0000000..ac36e06 --- /dev/null +++ b/themes/secluded/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/themes/secluded/assets/scss/_dark.scss b/themes/secluded/assets/scss/_dark.scss new file mode 100644 index 0000000..13a416f --- /dev/null +++ b/themes/secluded/assets/scss/_dark.scss @@ -0,0 +1,30 @@ +@media (prefers-color-scheme: dark) { + body { + color: $light; + background: $dark; + } + hr { + border: 1px solid $light; + } + .content h2 a, .content h3 a, .content p a, .content li a, .content td a { + color: $light; + } + .frontmatter { + border-bottom: 2px solid $light; + a { + color: $light; + } + .post-title a:hover { + color: $light; + } + } + .toc { + border-bottom: 2px solid $light; + a { + color: $light; + } + } + .content h2 a::after, .content h3 a::after, .content p a::after, .content li a::after, .content td a::after { + color: $dark-highlight; + } +} diff --git a/themes/secluded/assets/scss/_fonts.scss b/themes/secluded/assets/scss/_fonts.scss new file mode 100644 index 0000000..a5375ee --- /dev/null +++ b/themes/secluded/assets/scss/_fonts.scss @@ -0,0 +1,29 @@ +@font-face { + font-family: Heliotrope; + font-style: normal; + font-weight: normal; + font-stretch: normal; + font-stretch: normal; + font-display: auto; + src: url('/assets/fonts/heliotrope/heliotrope_4_regular.woff2') format('woff2'); +} + +@font-face { + font-family: Heliotrope; + font-style: italic; + font-weight: normal; + font-stretch: normal; + font-stretch: normal; + font-display: auto; + src: url('/assets/fonts/heliotrope/heliotrope_4_italic.woff2') format('woff2'); +} + +@font-face { + font-family: Heliotrope; + font-style: normal; + font-weight: bold; + font-stretch: normal; + font-stretch: normal; + font-display: auto; + src: url('/assets/fonts/heliotrope/heliotrope_4_bold.woff2') format('woff2'); +} diff --git a/themes/secluded/assets/scss/_header.scss b/themes/secluded/assets/scss/_header.scss new file mode 100644 index 0000000..0b6d25d --- /dev/null +++ b/themes/secluded/assets/scss/_header.scss @@ -0,0 +1,44 @@ +.title-wrapper { + max-width: 800px; + margin: 0 auto; + padding-top: 20px; + padding-bottom: 10px; + + .title { + font: bold 37px Heliotrope; + } + + .menu { + float: right; + margin-top: 11px; + font-size: 29px; + ul { + list-style-type: none; + margin: 0px; + padding: 0px; + } + li { + display: inline; + padding-left: 15px; + } + @media (max-width: 600px) { + float: none; + ul { + padding: 5px 0px 5px; + } + li { + padding-left: 0px; + padding-right: 15px; + } + + } + } + a { + text-decoration: none; + color: inherit; + } + a:visited { + color: inherit; + } + border-bottom: 2px solid; +} diff --git a/themes/secluded/assets/scss/_list.scss b/themes/secluded/assets/scss/_list.scss new file mode 100644 index 0000000..8f3e5c0 --- /dev/null +++ b/themes/secluded/assets/scss/_list.scss @@ -0,0 +1,40 @@ +.list { + max-width: 600px; + margin: 0 auto; + font-size: 18px; + line-height: 30px; + a { + color: inherit; + } +} +.categories { + a { + text-decoration: none; + } +} +.posts { + a { + text-decoration: none; + color: inherit; + } + ul { + list-style-type: none; + margin: 0px; + padding: 0px; + } + &-title { + font-size: larger; + font-weight: bold; + } + + &-day { + float: right; + font-family: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", monospace; + } + &-item { + padding-bottom: 35px; + } + + &-list { + } +} diff --git a/themes/secluded/assets/scss/_main.scss b/themes/secluded/assets/scss/_main.scss new file mode 100644 index 0000000..634118c --- /dev/null +++ b/themes/secluded/assets/scss/_main.scss @@ -0,0 +1,134 @@ +html { + scroll-behavior: smooth; +} +body { + font-family: Heliotrope; + color: $dark; + background: $light; +} +hr { + margin: 15px 0; + border: 1px solid $dark; +} +code { + background: $button-background; + border-radius: 3px; + padding: 0 4px; +} +code, pre { + font-size: 16px; + font-family: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", monospace; + color: $dark; +} +.wrapper { + max-width: 600px; + margin: 0 auto; + font-size: 18px; + line-height: 30px; + overflow-wrap: break-word; + word-wrap: break-word; + word-break: break-word; + -moz-hyphens: auto; + hyphens: auto; + text-align: left; +} + +.content { + h2, p, li, td { + a { + color: $dark; + text-decoration: none; + background-image: linear-gradient(120deg,$gradient-right 0%,$gradient-left 100%); + background-repeat: no-repeat; + background-size: 0 0; + background-position: 100% 21%; + transition: .15s ease-out; + &:hover { + background-size: 100% 100%; + color: $light; + &:after { + color: $gradient-right; + } + } + &::after { + position: relative; + content: "\FEFF°"; + margin-left: 0.10em; + font-size: 90%; + top: -0.10em; + color: $light-highlight; + font-feature-settings: "caps"; + font-variant-numeric: normal; + } + } + } + .anchor-tag { + font-size: 70%; + margin-left: 7px; + background-size: 100% 0; + background-position: 0 150%; + &::after { + content: ""; + } + } + .footnote-ref { + background-size: 100% 1.5px; + background-position: 0 90%; + &::after { + content: ""; + } + &:hover { + background-size: 100% 100%; + color: #fff; + } + } + .footnote-backref { + background-size: 100% 1.5px; + background-position: 0 90%; + &::after { + content: ""; + } + &:hover { + background-size: 100% 100%; + color: #fff; + } + } + .highlight { + code { + padding: 0px !important; + } + pre { + overflow: auto; + border-radius: 5px; + padding: 12px; + background: $button-background !important; + } + a { + background-image: none; + &::after { + content: ""; + } + } + } +} + +.button { + font-family: inherit; + height: 25px; + box-shadow: 0 1px 1px rgba(12,13,14,0.15),inset 0 1px 0 0 #fff; + display: inline-block; + line-height: 1.5px; + color: $dark; + text-shadow: 0 1px 0 #fff; + background-color: #e4e6e8; + border: 1px solid #9fa6ad; + border-radius: 3px; + cursor: pointer; + margin: 2px 0; + + p { + padding: .2rem; + margin: .5rem .2rem; + color: $dark; + } +} diff --git a/themes/secluded/assets/scss/_media.scss b/themes/secluded/assets/scss/_media.scss new file mode 100644 index 0000000..bc8af7d --- /dev/null +++ b/themes/secluded/assets/scss/_media.scss @@ -0,0 +1,12 @@ +.content { + img { + border-radius: 8px; + width: 100%; + display: block; + margin-left: auto; + margin-right: auto; + margin-top: 15px; + margin-bottom: 20px; + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); + } +} diff --git a/themes/secluded/assets/scss/_single.scss b/themes/secluded/assets/scss/_single.scss new file mode 100644 index 0000000..6cac8c5 --- /dev/null +++ b/themes/secluded/assets/scss/_single.scss @@ -0,0 +1,131 @@ +.toc { + padding-bottom: 5px; + border-bottom: 2px solid $dark; + a { + color: $dark; + text-decoration: underline; + } +} +.frontmatter { + padding: 15px 0; + border-bottom: 2px solid $dark; + + a { + color: $dark; + text-decoration: none; + background-image: linear-gradient(120deg,$gradient-left 0%,$gradient-right 100%); + background-repeat: no-repeat; + background-size: 0 0; + background-position: 100% 21%; + transition: .15s ease-out; + &:hover { + background-size: 100% 100%; + color: $light; + &:after { + color: $gradient-right; + } + } + &::after { + position: relative; + content: "\FEFF°"; + margin-left: 0.10em; + font-size: 90%; + top: -0.10em; + color: $light-highlight; + font-feature-settings: "caps"; + font-variant-numeric: normal; + } + } + + .post-title { + margin: 10px 0; + a { + text-decoration: none; + background-image: none; + &::after { + content: ""; + } + &:hover { + background-size: 0 0; + color: $dark; + } + } + } + p { + margin: 0 0; + } +} + +.content { + h2, h3 { + margin-top: 20px; + margin-bottom: -10px; + } + h2, h3, p, li, td { + a { + color: $dark; + text-decoration: none; + background-image: linear-gradient(120deg,$gradient-left 0%,$gradient-right 100%); + background-repeat: no-repeat; + background-size: 0 0; + background-position: 100% 21%; + transition: .15s ease-out; + &:hover { + background-size: 100% 100%; + color: $light; + &:after { + color: $gradient-right; + } + } + &::after { + position: relative; + content: "\FEFF°"; + margin-left: 0.10em; + font-size: 90%; + top: -0.10em; + color: $light-highlight; + font-feature-settings: "caps"; + font-variant-numeric: normal; + } + } + } + .footnote-ref { + background-size: 100% 1.5px; + background-position: 0 90%; + &::after { + content: ""; + } + &:hover { + background-size: 100% 100%; + color: $light; + } + } + .footnote-backref { + background-size: 100% 1.5px; + background-position: 0 90%; + &::after { + content: ""; + } + &:hover { + background-size: 100% 100%; + color: $light; + } + } + .highlight { + a { + background-image: none; + &::after { + content: ""; + } + } + } + .anchor-tag { + font-size: 70%; + margin-left: 7px; + background-size: 100% 0; + background-position: 0 150%; + &::after { + content: ""; + } + } +} diff --git a/themes/secluded/assets/scss/_variables.scss b/themes/secluded/assets/scss/_variables.scss new file mode 100644 index 0000000..07d6bee --- /dev/null +++ b/themes/secluded/assets/scss/_variables.scss @@ -0,0 +1,8 @@ +$dark: #2f2f2f; +$light: #fff; +$button-background: #e4e6e8; +$button-border: #9fa6ad; +$dark-highlight: #ff6565; +$light-highlight: #c6359e; +$gradient-left: #e96443; +$gradient-right: #904e95; diff --git a/themes/secluded/assets/scss/imports.scss b/themes/secluded/assets/scss/imports.scss new file mode 100644 index 0000000..e194064 --- /dev/null +++ b/themes/secluded/assets/scss/imports.scss @@ -0,0 +1,8 @@ +@import "variables"; +@import "fonts"; +@import "main"; +@import "header"; +@import "list"; +@import "single"; +@import "media"; +//@import "dark"; diff --git a/themes/secluded/layouts/404.html b/themes/secluded/layouts/404.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/secluded/layouts/_default/baseof.html b/themes/secluded/layouts/_default/baseof.html new file mode 100644 index 0000000..4e70b3e --- /dev/null +++ b/themes/secluded/layouts/_default/baseof.html @@ -0,0 +1,11 @@ + + + {{- partial "head.html" . -}} + + {{- partial "header.html" . -}} +
+ {{- block "main" . }}{{- end }} +
+ {{- partial "footer.html" . -}} + + \ No newline at end of file diff --git a/themes/secluded/layouts/_default/list.html b/themes/secluded/layouts/_default/list.html new file mode 100644 index 0000000..363bcca --- /dev/null +++ b/themes/secluded/layouts/_default/list.html @@ -0,0 +1,37 @@ +{{ define "main" }} +
+

{{ .Title }}

+

There are RSS feeds for all of the categories and tags on the site. If you want to subscribe to one of them, navigate to that list and click here; you'll be taken to the specific feed.

+ {{ $title := .Title }} + {{ if eq $title "Posts" }} +
+

Categories

+ {{range ($.Site.GetPage "taxonomyTerm" "categories").Pages }} + +

{{.Title}}

+
+ {{end}} +
+ {{ end }} + +
+ +
+ +
+ {{ end }} diff --git a/themes/secluded/layouts/_default/rss.xml b/themes/secluded/layouts/_default/rss.xml new file mode 100644 index 0000000..a163352 --- /dev/null +++ b/themes/secluded/layouts/_default/rss.xml @@ -0,0 +1,38 @@ +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := slice -}} +{{- if or $.IsHome $.IsSection -}} +{{- $pages = $pctx.RegularPages -}} +{{- else -}} +{{- $pages = $pctx.Pages -}} +{{- end -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} + + + {{ .Site.Title }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{- with .OutputFormats.Get "RSS" -}} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{- end -}} + {{ range $pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{ .Content | html }} + + {{ end }} + + diff --git a/themes/secluded/layouts/_default/single.html b/themes/secluded/layouts/_default/single.html new file mode 100644 index 0000000..f50e666 --- /dev/null +++ b/themes/secluded/layouts/_default/single.html @@ -0,0 +1,23 @@ +{{ define "main" }} +
+ +
+{{ end }} diff --git a/themes/secluded/layouts/index.html b/themes/secluded/layouts/index.html new file mode 100644 index 0000000..358b87e --- /dev/null +++ b/themes/secluded/layouts/index.html @@ -0,0 +1,9 @@ +{{define "main" }} +
+
+
+ {{ .Content | safeHTML }} +
+
+
+{{ end }} diff --git a/themes/secluded/layouts/partials/footer.html b/themes/secluded/layouts/partials/footer.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/secluded/layouts/partials/head.html b/themes/secluded/layouts/partials/head.html new file mode 100644 index 0000000..08f4db4 --- /dev/null +++ b/themes/secluded/layouts/partials/head.html @@ -0,0 +1,44 @@ + + + + + {{ block "title" . }} + + {{ if .IsHome }} + {{ $.Site.Title }} {{ with $.Site.Params.Subtitle }} — {{ . }} {{ end }} + {{ else }} + {{ .Title }} {{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }} + {{ end }} + + {{ end }} + + + + + + + + + + + + + + + + + + + + + + + + {{ $options := (dict "outputStyle" "compressed" "enableSourceMap" true) }} + {{ $scss := resources.Get "scss/imports.scss" }} + {{ $style := $scss | resources.ToCSS $options }} + + + + {{ partialCached "favicons.html" . }} + diff --git a/themes/secluded/layouts/partials/header.html b/themes/secluded/layouts/partials/header.html new file mode 100644 index 0000000..b76a677 --- /dev/null +++ b/themes/secluded/layouts/partials/header.html @@ -0,0 +1,11 @@ +
+ {{ $.Site.Title }} + +
    + {{- $currentPage := . -}} + {{ range .Site.Menus.main -}} +
  • {{ .Name }}
  • + {{- end }} +
+
+