diff --git a/LICENSE b/LICENSE index 551c520..bff57ae 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2022 Beet Box. All rights reserved. +Copyright (c) 2025 Beet Box. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..1b20c5e --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,203 @@ +:root { + --beetbox-red: #9e0008; + --beetbox-pink: #d93370; + --beetbox-purple: #ac65cb; + --beetbox-green: #003f56; + --beetbox-blue: #5fcfd0; + --light: #F8F8FF; + --background: #1f2835; + --text: var(--light); + --links: var(--beetbox-blue); + --link-hover: var(--beetbox-pink); + --header: #F8F8FFCC; + --header-link: #5C2673; /* darker beetbox-purple */ +} + +body { + background-color: var(--background); + color: var(--text); + font-family: sans-serif; + line-height: 1.5; + padding: 0; + margin: 0; +} + +a { + color: var(--links); + text-decoration: none; +} + +a:visited, a:hover { + color: var(--link-hover); + text-decoration: underline; +} + +p { + margin-bottom: 1.5rem; +} + +header div, main, footer { + max-width: 1200px; + margin: 0 auto; + padding: 1rem; +} + +/* Header */ +header { + background-color: var(--header); + box-shadow: 0 5px 10px black; +} + +header div { + display: flex; + align-items: baseline; + justify-content: space-between; +} + +header ul, footer ul { + margin: 0; +} + +header a { + color: var(--header-link); +} + +header li, footer li { + display: inline; + font-weight: 600; + margin-right: 8px; +} + +/* Responsive */ +@media (max-width: 700px) { + aside.index-articles { + display: none; + } +} + +main img { + max-width: 100%; +} + +/* Article Lists */ +.article-group { + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 20px; +} + +.index-articles { + justify-content: flex-end; +} + +.author-articles { + justify-content: flex-start; +} + +.index-articles aside { + flex-shrink: 4; +} + +section.index { + display: flex; + flex-direction: row; +} + +section.index aside { + flex-shrink: 4; +} + +/* Article Cards */ +article { + background-color: #111; + border-radius: 10px; + padding: 1rem; +} + +article.index { + width: 300px; + height: 485px; +} + +article.index img { + height: 50%; + width: 100%; + border-radius: 10px; + object-fit: cover; +} + +article.index h3 { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +article.alt { + display: flex; + flex-wrap: wrap; + gap: 8px; + justify-content: space-evenly; + align-items: center; +} + +article.alt img { + border-radius: 50%; + height: 256px; + width: 256px; +} + +/* Images */ +img.featured, img.author { + display: block; + border-radius: 8px; + margin: 12px 0; + object-fit: cover; + max-height: 500px; +} + +/* Code Blocks */ +code { + white-space: nowrap; +} + +pre { + border-radius: .4rem; + max-width: 100%; +} + +pre code { + display: block; + tab-size: 4; + padding: 1rem 1.5rem; + font-size: 1.05rem; + white-space: pre; + max-width: 100%; + overflow-x: auto; + border-left: .3rem solid var(--beetbox-purple); + border-radius: .4rem; + box-shadow: 0 4px 8px black; +} + +/* Effects */ +.float-on-hover { + transition: all .25s cubic-bezier(.2,.1,.47,1); +} + +.float-on-hover:hover { + transform: translateY(-10px); +} + +.shadow{ + box-shadow: 0 4px 8px black; +} + +/* Footer */ +footer { + border-top: 1px solid var(--light); +} + +footer ul { + padding: 0px; +} + diff --git a/assets/sass/cards.scss b/assets/sass/cards.scss deleted file mode 100644 index 5795f91..0000000 --- a/assets/sass/cards.scss +++ /dev/null @@ -1,42 +0,0 @@ -@mixin shadow { - box-shadow: 0px 4px 8px black; -} - -.shadow { - @include shadow -} - -.float-on-hover { - transition: (all 0.25s cubic-bezier(0.2,0.1,0.47,1)); - &:hover { - transform: (translateY(-10px)); - } -} - -.small-circle { - border-radius: 50%; - width: 250px; - height: 250px; -} - -article { - background-color: $dark; - border-radius: 10px; - height: 420px; - flex: 1 1 305px; - overflow: hidden; - - img { - height: 50%; - width: 100%; - object-fit: cover; - } - - div { - margin: 25px; - display: flex; - flex-direction: column; - justify-content: space-between; - } - -} diff --git a/assets/sass/code.scss b/assets/sass/code.scss deleted file mode 100644 index dd4a795..0000000 --- a/assets/sass/code.scss +++ /dev/null @@ -1,18 +0,0 @@ -code { white-space: nowrap; } - -pre { - background-color: $background-color !important; - max-width: 100%; - - & > code { - @include shadow; - display: block; - padding: 1rem 1.5rem; - font-size: 1.05rem; - white-space: pre; - max-width: 100%; - overflow-x: auto; - border-left: .3rem solid $code-edge; - border-radius: .4rem; - } -} diff --git a/assets/sass/colors.scss b/assets/sass/colors.scss deleted file mode 100644 index 9384057..0000000 --- a/assets/sass/colors.scss +++ /dev/null @@ -1,14 +0,0 @@ -$beetbox-red: #9e0008; -$beetbox-pink: #d93370; -$beetbox-purple: #ac65cb; -$beetbox-green: #003f56; -$beetbox-blue: #5fcfd0; - -$background-color: #1f2835; -$font-color: #f8f8ff; -$font-color-alternate: #1f2835; -$top-bar: #f8f8ffcc; -$dark: #111; -$link-color: $beetbox-blue; -$link-color-visited: #e4cdef; -$code-edge: $beetbox-purple; diff --git a/assets/sass/main.scss b/assets/sass/main.scss deleted file mode 100644 index a625247..0000000 --- a/assets/sass/main.scss +++ /dev/null @@ -1,86 +0,0 @@ -@import 'colors.scss'; -@import 'cards.scss'; -@import 'code.scss'; - -@mixin screen-max($max) { - @media (max-width: $max - 1) { - @content - } -} - -body { - background-color: $background-color; - color: $font-color; - margin: 0px; - overflow-y: scroll; - font-family: 'Helvetica'; - font-size: 1.1rem; -} - -h2 {font-size: 1.2rem;} - -header { - background-color: $top-bar; - box-shadow: 0px 5px 10px black; - nav { - @include screen-max(500px){text-align: center;} - - div {display: inline-block;} - - img { max-width: 300px; } - - a { - margin-right: 12px; - font-weight: bold; - text-decoration: none; - &, &:visited, &:hover {color: $font-color-alternate;} - } - } -} - -header, main, section {padding: 0 16px;} - -nav, main, section {max-width: 1200px; margin: auto;} -main img {max-width: 100%} - -footer {text-align: center;} - - -a { - color: $link-color; - &:visited, &:hover { color: $link-color-visited; } -} - -img.featured{aspect-ratio: 4/3;} -img.featured, img.author { - display: block; - border-radius: 8px; - margin: 12px 0; - object-fit: cover; - max-height: 500px; -} - -.left-to-right { - display: flex; - flex-wrap: wrap; - gap: 8px; - justify-content: space-evenly; - align-items: end; -} - -.align-center { - align-items: center; -} - -section.article-list { - margin: 8px 0px; - display: flex; - flex-wrap: wrap; - justify-content: center; - gap: 40px; -} - -.fill-wh { - width: 100%; - height: 100% -} diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..7b1e4e0 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,29 @@ +# Example site configuration +baseURL = 'https://beetbox.io' +languageCode = 'en-US' +title = 'Beet Box' + +[[menus.main]] +name = 'Home' +pageRef = '/' +weight = 10 + +[[menus.main]] +name = 'Gitea' +url = 'https://gitea.beetbox.io/BeetBox' +weight = 20 + +[[menus.main]] +name = 'Games' +pageRef = '/games' +weight = 30 + +[[menus.footer]] +name = 'Authors' +pageRef = '/authors' +weight = 10 + +[module] + [module.hugoVersion] + extended = false + min = "0.116.0" diff --git a/layouts/404.html b/layouts/404.html index f369e15..037a70f 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,7 +1,5 @@ {{ define "main" }} -
-

404

-

This page doesn't exist. Let's go home

-
+

404 Page not found

+

Home

{{ end }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index d172e6e..39dcbec 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -1,40 +1,17 @@ - - - - - - {{- with .OutputFormats.Get "rss" }} - {{- printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML -}} - {{ end }} - - - - - {{ with (default .Site.Params.description .Params.description) -}} - - {{- end -}} - - {{ with .Params.keywords -}} - - {{- end }} - - {{ $style := resources.Get "/sass/main.scss" | css.Sass | minify -}} - - - - {{- block "title" . }}{{ .Site.Title }}{{ end -}} - - - - - -{{ partial "header.html" . }} - -{{ block "main" . }} -{{ end }} - -{{ partial "footer.html" . }} - - + + + {{ partial "head.html" . }} + + +
+ {{ partial "header.html" . }} +
+
+ {{ block "main" . }}{{ end }} +
+ + diff --git a/layouts/_default/home.html b/layouts/_default/home.html new file mode 100644 index 0000000..23310be --- /dev/null +++ b/layouts/_default/home.html @@ -0,0 +1,24 @@ +{{ define "main" }} +{{ .Content }} +
+
+

All Posts:

+ {{ range site.RegularPages.GroupByDate "2006" }} +

{{ .Key }}

+ + {{ end }} +
+ + +
+{{ end }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 510673f..a201d40 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,48 +1,31 @@ {{ define "main" }} - {{ $pages := .Site.RegularPages }} - {{if not .IsHome }} {{ $pages = .Pages }} {{ end }} - -
- {{ if not .IsHome }} -

{{ .Title | markdownify | lower }}

- {{ else }} -

Beet Box

- {{ end }} - - {{ if and .IsSection (not .IsHome) }} {{ partial "article-meta.html" . }} {{ end }} - - {{ with .Content }} -
- {{ . }} -
- {{- end }} - -
- - {{ with $pages.Limit 4 }} -
-

Latest Posts:

-
- {{ range . }} - {{ partial "article.html" . }} - {{ end }} -
-
- {{ end }} - - {{ with $pages }} -
-

All Posts:

- {{ range .GroupByDate "2006" }} -

{{ .Key }}

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

{{ .Title }}

+ + {{- with .Params.authors }} + {{- $author := (index . 0) }} +

Author: {{ $author }}

+ {{- end }} + + {{- if (not .Params.hideDate) }} + {{- $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{- $dateHuman := .Date | time.Format "Mon | Jan 2, 2006" }} +

Posted:

+ {{- end }} + + {{- range (.GetTerms "tags") }} + #{{ .LinkTitle }} + {{- end }} + + {{- partial "image.html" + (dict + "image" (.Resources.GetMatch "featured") + "alt" .Params.featured.alt + "sizes" (slice 320 480 600 800) + "classes" (slice "shadow" "featured")) }} + {{ .Content }} +
+ {{- range .Data.Pages }} + {{ partial "article.html" . }} + {{- end }} +
{{ end }} - diff --git a/layouts/_default/single.html b/layouts/_default/single.html index c1132e3..27a1195 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,20 +1,28 @@ -{{ define "title" }}{{ .Title }}{{ end }} - {{ define "main" }} -
- {{ partial "article-meta.html" . }} +

{{ .Title }}

+ + {{ with .Params.authors }} + {{ $author := (index . 0) }} +

Author: {{ $author }}

+ {{ end }} - {{ .Content }} -
+ {{- if (not .Params.hideDate) }} + {{- $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{- $dateHuman := .Date | time.Format "Mon | Jan 2, 2006" }} +

Posted:

+ {{- end }} -
- {{ with .NextInSection }} -

Next: {{ .Title | markdownify }}

- {{ end }} + {{- range (.GetTerms "tags") }} + #{{ .LinkTitle }} + {{- end }} - {{ with .PrevInSection }} -

Previous: {{ .Title | markdownify }}

- {{ end }} -
+ {{- partial "image.html" + (dict + "image" (.Resources.GetMatch "featured") + "alt" .Params.featured.alt + "sizes" (slice 320 480 600 800) + "classes" (slice "shadow" "featured")) }} + {{ .Content }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} {{ end }} diff --git a/layouts/authors/list.html b/layouts/authors/list.html index cdb2c19..9fe7924 100644 --- a/layouts/authors/list.html +++ b/layouts/authors/list.html @@ -1,33 +1,27 @@ {{ define "main" }} -
+
- {{ with .Resources.GetMatch "avatar" }} - {{ .Params.alt }} - {{ end }} + {{- with (.Resources.GetMatch "avatar") }} + {{- partial "image.html" + (dict + "image" . + "alt" .Params.alt + "sizes" (slice 320 500) + "classes" (slice "shadow" "author")) }} + {{- end }} -
-

{{ .Params.name }}

- Projects - | - {{ .Params.email}} -
- -
- -
- {{ .Content }} -
- -
-

Posts:

- {{ with .Data.Pages }} -
- {{ range . }} - {{ partial "article.html" . }} - {{ end }} -
- {{ end }} -
+
+

{{ .Params.name }}

+ Projects + | + {{ .Params.email}} +
+
+{{ .Content }} +
+ {{- range .Data.Pages }} + {{ partial "article.html" . }} + {{- end }} +
{{ end }} - diff --git a/layouts/authors/terms.html b/layouts/authors/terms.html index 5a750d6..f4f81a9 100644 --- a/layouts/authors/terms.html +++ b/layouts/authors/terms.html @@ -1,9 +1,14 @@ {{ define "main" }} -

Authors

- {{ range .Data.Pages }} - {{ partial "article-alternate.html" . }} - {{ end }} + {{- range .Data.Pages }} + {{- partial "article-alt.html" + (dict + "image" (.Resources.GetMatch "avatar") + "alt" .Params.alt + "title" .Params.name + "summary" .Params.bio + "url" (printf "/%s/%s" "authors" (.Params.name | urlize))) }} + {{- end }}
-{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/article-alt.html b/layouts/partials/article-alt.html new file mode 100644 index 0000000..a372560 --- /dev/null +++ b/layouts/partials/article-alt.html @@ -0,0 +1,25 @@ +{{- /* +Renders an article card with a circle image, title, and summary. +@context {image} the image resource. +@context {alt} alt text for the image. +@context {title} the title of the card. +@context {summary} the summary text. +@context {url} the url of the article. +*/}} +{{- $image := .image }} +{{- $alt := .alt }} +{{- $title := .title }} +{{- $summary := .summary }} +{{- $url := .url }} +{{- $img := ($image.Resize "256x webp q90") }} + +
+
+ {{ $alt }} +
+
+

{{ $title }}

+

{{ $summary }}

+
+
+
diff --git a/layouts/partials/article-alternate.html b/layouts/partials/article-alternate.html deleted file mode 100644 index 4904ec9..0000000 --- a/layouts/partials/article-alternate.html +++ /dev/null @@ -1,14 +0,0 @@ - -
-
- {{ with .Resources.GetMatch "avatar" }} - {{ .Params.alt }} - {{ end }} -
-
-

{{ .Params.name }}

-

{{ .Params.bio }}

-
-
-
- diff --git a/layouts/partials/article-meta.html b/layouts/partials/article-meta.html deleted file mode 100644 index 85b8c7d..0000000 --- a/layouts/partials/article-meta.html +++ /dev/null @@ -1,19 +0,0 @@ -
- {{ with .Params.authors }} - {{ $author := (index . 0) }} -

Author: {{ $author }}

- {{ end }} - - {{ with .Date }} -

Posted: {{ .Format "Mon | Jan 2, 2006" }}

- {{ end }} - - {{ range (.GetTerms "tags") }} - - {{ .LinkTitle }} - - {{ end }} - - {{ $image := (.Resources.GetMatch "featured") }} - {{ partial "image.html" (dict "image" $image "alt" .Params.featured.alt "class" "shadow featured") }} -
diff --git a/layouts/partials/article.html b/layouts/partials/article.html index e6fa05d..4e290a7 100644 --- a/layouts/partials/article.html +++ b/layouts/partials/article.html @@ -1,22 +1,15 @@ -
- - - {{ $image := .Resources.GetMatch "featured" }} - {{ partial "image-small.html" (dict "image" $image "alt" .Params.featured.alt) }} +
+ + {{- $image := (.Resources.GetMatch "featured").Resize "256x webp q90" }} + {{ .Params.featured.alt }} - -
- - {{ with index (.GetTerms "tags") 0 }} - {{ .LinkTitle }} - {{ end }} - -

{{ .Title | markdownify }}

- - {{ with .Date }} -

{{ .Format "2006/01/02" }}

- {{ end }} - -
- +

{{ .Title | markdownify }}

+ {{- if not (.Params.hideDate) }} + {{- with .Date }} +

{{ .Format "2006/01/02" }}

+ {{- end }} + {{- end }} + {{- with index (.GetTerms "tags") 0 }} + #{{ .LinkTitle }} + {{- end }}
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index afd8cb9..675e7e5 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,5 +1,2 @@ - +{{ partial "menu.html" (dict "menuID" "footer" "page" .) }} +

© 2020 – {{ now.Year }} Beet Box. All rights reserved.

diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..cba17f5 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,9 @@ + + +{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }} +{{- partialCached "head/css.html" . }} + + +{{ with .OutputFormats.Get "rss" }} + {{- printf `` .Rel .MediaType.Type .Permalink site.Title | safeHTML }} +{{- end }} \ No newline at end of file diff --git a/layouts/partials/head/css.html b/layouts/partials/head/css.html new file mode 100644 index 0000000..91b928d --- /dev/null +++ b/layouts/partials/head/css.html @@ -0,0 +1,9 @@ +{{- with resources.Get "css/main.css" }} + {{- if eq hugo.Environment "development" }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/layouts/partials/head/js.html b/layouts/partials/head/js.html new file mode 100644 index 0000000..18fe842 --- /dev/null +++ b/layouts/partials/head/js.html @@ -0,0 +1,12 @@ +{{- with resources.Get "js/main.js" }} + {{- if eq hugo.Environment "development" }} + {{- with . | js.Build }} + + {{- end }} + {{- else }} + {{- $opts := dict "minify" true }} + {{- with . | js.Build $opts | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html index da6f5b5..d27c5d8 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -1,11 +1,8 @@ -
- -
+
+{{ with resources.Get site.Params.logo.src }} + {{ site.Params.logo.alt }} +{{ else }} +

{{ site.Title }}

+{{ end }} +{{ partial "menu.html" (dict "menuID" "main" "page" .) }} +
diff --git a/layouts/partials/image-small.html b/layouts/partials/image-small.html deleted file mode 100644 index 9c4c468..0000000 --- a/layouts/partials/image-small.html +++ /dev/null @@ -1,28 +0,0 @@ -{{ .Params.alt }} diff --git a/layouts/partials/image.html b/layouts/partials/image.html index 9c567e9..cfd8d7d 100644 --- a/layouts/partials/image.html +++ b/layouts/partials/image.html @@ -1,38 +1,43 @@ -{{ .Params.alt }} diff --git a/layouts/partials/menu.html b/layouts/partials/menu.html new file mode 100644 index 0000000..7183180 --- /dev/null +++ b/layouts/partials/menu.html @@ -0,0 +1,51 @@ +{{- /* +Renders a menu for the given menu ID. + +@context {page} page The current page. +@context {string} menuID The menu ID. + +@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $menuID := .menuID }} + +{{- with index site.Menus $menuID }} + +{{- end }} + +{{- define "partials/inline/menu/walk.html" }} + {{- $page := .page }} + {{- range .menuEntries }} + {{- $attrs := dict "href" .URL }} + {{- if $page.IsMenuCurrent .Menu . }} + {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }} + {{- else if $page.HasMenuCurrent .Menu .}} + {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }} + {{- end }} + {{- $name := .Name }} + {{- with .Identifier }} + {{- with T . }} + {{- $name = . }} + {{- end }} + {{- end }} +
  • + {{ $name }} + {{- with .Children }} + + {{- end }} +
  • + {{- end }} +{{- end }} diff --git a/layouts/partials/posts-artfully-enumerated.html b/layouts/partials/posts-artfully-enumerated.html deleted file mode 100644 index 8b13789..0000000 --- a/layouts/partials/posts-artfully-enumerated.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/layouts/partials/posts-enumerated.html b/layouts/partials/posts-enumerated.html deleted file mode 100644 index 38b1727..0000000 --- a/layouts/partials/posts-enumerated.html +++ /dev/null @@ -1,20 +0,0 @@ -{{ with . }} -
    -

    Latest Posts:

    -
    - {{ range .Limit 5 }} - {{ partial "article.html" . }} - {{ end }} -
    - -

    All Posts:

    - {{ range .GroupByDate "2006" }} -

    {{ .Key}}

    - - {{ end }} -
    -{{ end }} diff --git a/layouts/partials/terms.html b/layouts/partials/terms.html new file mode 100644 index 0000000..8a6ebec --- /dev/null +++ b/layouts/partials/terms.html @@ -0,0 +1,23 @@ +{{- /* +For a given taxonomy, renders a list of terms assigned to the page. + +@context {page} page The current page. +@context {string} taxonomy The taxonomy. + +@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +*/}} + +{{- $page := .page }} +{{- $taxonomy := .taxonomy }} + +{{- with $page.GetTerms $taxonomy }} + {{- $label := (index . 0).Parent.LinkTitle }} +
    +
    {{ $label }}:
    + +
    +{{- end }} diff --git a/layouts/shortcodes/image.html b/layouts/shortcodes/image.html index 8bb157d..b01a098 100644 --- a/layouts/shortcodes/image.html +++ b/layouts/shortcodes/image.html @@ -1,3 +1,7 @@ {{ $image := .Page.Resources.GetMatch (.Get "src") }} -{{ partial "image.html" (dict "image" $image "alt" (.Get "alt") "class" "fill-wh") }} - +{{ partial "image.html" + (dict + "image" $image + "alt" (.Get "alt") + "sizes" (slice 320 480 600) + "classes" (slice "fill-wh")) }} \ No newline at end of file diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..67f8b77 Binary files /dev/null and b/static/favicon.ico differ diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..fecded5 --- /dev/null +++ b/theme.toml @@ -0,0 +1,12 @@ +name = 'neon-harvest' +license = 'BSD 3-Clause' +licenselink = 'https://gitea.beetbox.io/BeetBox/neon-harvest/raw/branch/master/LICENSE' +description = 'The current Hugo theme for beetbox.io' + +# The home page of the theme, where the source can be found +homepage = 'https://gitea.beetbox.io/BeetBox/neon-harvest/' + +# If the theme has a single author +[author] + name = 'Alexander Avery' + homepage = 'https://beetbox.io/authors/alexander-avery'