diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..31c24ae --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md index c0b38f3..3e2c569 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # blog -Personal blog & portfolio \ No newline at end of file +Personal blog & portfolio diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..25b6752 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +date = '{{ .Date }}' +draft = true +title = '{{ replace .File.ContentBaseName "-" " " | title }}' ++++ diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..bb8f1a0 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,4 @@ +baseURL = 'https://www.karaolidis.com/' +languageCode = 'en-us' +title = 'Jupiter Lab' +theme = 'caldwell-59' diff --git a/themes/caldwell-59/archetypes/default.md b/themes/caldwell-59/archetypes/default.md new file mode 100644 index 0000000..25b6752 --- /dev/null +++ b/themes/caldwell-59/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +date = '{{ .Date }}' +draft = true +title = '{{ replace .File.ContentBaseName "-" " " | title }}' ++++ diff --git a/themes/caldwell-59/assets/css/main.css b/themes/caldwell-59/assets/css/main.css new file mode 100644 index 0000000..166ade9 --- /dev/null +++ b/themes/caldwell-59/assets/css/main.css @@ -0,0 +1,22 @@ +body { + color: #222; + font-family: sans-serif; + line-height: 1.5; + margin: 1rem; + max-width: 768px; +} + +header { + border-bottom: 1px solid #222; + margin-bottom: 1rem; +} + +footer { + border-top: 1px solid #222; + margin-top: 1rem; +} + +a { + color: #00e; + text-decoration: none; +} diff --git a/themes/caldwell-59/assets/js/main.js b/themes/caldwell-59/assets/js/main.js new file mode 100644 index 0000000..2f45f61 --- /dev/null +++ b/themes/caldwell-59/assets/js/main.js @@ -0,0 +1 @@ +console.log("This site was generated by Hugo."); diff --git a/themes/caldwell-59/hugo.toml b/themes/caldwell-59/hugo.toml new file mode 100644 index 0000000..b41d8ee --- /dev/null +++ b/themes/caldwell-59/hugo.toml @@ -0,0 +1,20 @@ +[menus] +[[menus.main]] +name = 'Home' +pageRef = '/' +weight = 10 + +[[menus.main]] +name = 'Posts' +pageRef = '/posts' +weight = 20 + +[[menus.main]] +name = 'Tags' +pageRef = '/tags' +weight = 30 + +[module] +[module.hugoVersion] +extended = false +min = '0.146.0' diff --git a/themes/caldwell-59/layouts/_partials/footer.html b/themes/caldwell-59/layouts/_partials/footer.html new file mode 100644 index 0000000..a7cd916 --- /dev/null +++ b/themes/caldwell-59/layouts/_partials/footer.html @@ -0,0 +1 @@ +

Copyright {{ now.Year }}. All rights reserved.

diff --git a/themes/caldwell-59/layouts/_partials/head.html b/themes/caldwell-59/layouts/_partials/head.html new file mode 100644 index 0000000..6415424 --- /dev/null +++ b/themes/caldwell-59/layouts/_partials/head.html @@ -0,0 +1,11 @@ + + + + {{ if .IsHome }} + {{ site.Title }} + {{ else }} + {{ printf "%s | %s" .Title site.Title }} + {{ end }} + +{{ partialCached "head/css.html" . }} +{{ partialCached "head/js.html" . }} diff --git a/themes/caldwell-59/layouts/_partials/head/css.html b/themes/caldwell-59/layouts/_partials/head/css.html new file mode 100644 index 0000000..9b63ba1 --- /dev/null +++ b/themes/caldwell-59/layouts/_partials/head/css.html @@ -0,0 +1,14 @@ +{{- with resources.Get "css/main.css" }} + {{- if hugo.IsDevelopment }} + + {{- else }} + {{- with . | minify | fingerprint }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/caldwell-59/layouts/_partials/head/js.html b/themes/caldwell-59/layouts/_partials/head/js.html new file mode 100644 index 0000000..d97018e --- /dev/null +++ b/themes/caldwell-59/layouts/_partials/head/js.html @@ -0,0 +1,20 @@ +{{- with resources.Get "js/main.js" }} + {{- $opts := dict + "minify" (not hugo.IsDevelopment) + "sourceMap" (cond hugo.IsDevelopment "external" "") + "targetPath" "js/main.js" + }} + {{- with . | js.Build $opts }} + {{- if hugo.IsDevelopment }} + + {{- else }} + {{- with . | fingerprint }} + + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/themes/caldwell-59/layouts/_partials/header.html b/themes/caldwell-59/layouts/_partials/header.html new file mode 100644 index 0000000..7980a00 --- /dev/null +++ b/themes/caldwell-59/layouts/_partials/header.html @@ -0,0 +1,2 @@ +

{{ site.Title }}

+{{ partial "menu.html" (dict "menuID" "main" "page" .) }} diff --git a/themes/caldwell-59/layouts/_partials/menu.html b/themes/caldwell-59/layouts/_partials/menu.html new file mode 100644 index 0000000..bf7d3a6 --- /dev/null +++ b/themes/caldwell-59/layouts/_partials/menu.html @@ -0,0 +1,52 @@ +{{- /* + 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/themes/caldwell-59/layouts/_partials/terms.html b/themes/caldwell-59/layouts/_partials/terms.html new file mode 100644 index 0000000..9e68972 --- /dev/null +++ b/themes/caldwell-59/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/themes/caldwell-59/layouts/baseof.html b/themes/caldwell-59/layouts/baseof.html new file mode 100644 index 0000000..4649aed --- /dev/null +++ b/themes/caldwell-59/layouts/baseof.html @@ -0,0 +1,20 @@ + + + + {{ partial "head.html" . }} + + +
    + {{ partial "header.html" . }} +
    +
    + {{ block "main" . }}{{ end }} +
    + + + diff --git a/themes/caldwell-59/layouts/home.html b/themes/caldwell-59/layouts/home.html new file mode 100644 index 0000000..0df6597 --- /dev/null +++ b/themes/caldwell-59/layouts/home.html @@ -0,0 +1,7 @@ +{{ define "main" }} + {{ .Content }} + {{ range site.RegularPages }} +

    {{ .LinkTitle }}

    + {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/caldwell-59/layouts/page.html b/themes/caldwell-59/layouts/page.html new file mode 100644 index 0000000..7e286c8 --- /dev/null +++ b/themes/caldwell-59/layouts/page.html @@ -0,0 +1,10 @@ +{{ define "main" }} +

    {{ .Title }}

    + + {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }} + {{ $dateHuman := .Date | time.Format ":date_long" }} + + + {{ .Content }} + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ end }} diff --git a/themes/caldwell-59/layouts/section.html b/themes/caldwell-59/layouts/section.html new file mode 100644 index 0000000..50fc92d --- /dev/null +++ b/themes/caldwell-59/layouts/section.html @@ -0,0 +1,8 @@ +{{ define "main" }} +

    {{ .Title }}

    + {{ .Content }} + {{ range .Pages }} +

    {{ .LinkTitle }}

    + {{ .Summary }} + {{ end }} +{{ end }} diff --git a/themes/caldwell-59/layouts/taxonomy.html b/themes/caldwell-59/layouts/taxonomy.html new file mode 100644 index 0000000..c2e7875 --- /dev/null +++ b/themes/caldwell-59/layouts/taxonomy.html @@ -0,0 +1,7 @@ +{{ define "main" }} +

    {{ .Title }}

    + {{ .Content }} + {{ range .Pages }} +

    {{ .LinkTitle }}

    + {{ end }} +{{ end }} diff --git a/themes/caldwell-59/layouts/term.html b/themes/caldwell-59/layouts/term.html new file mode 100644 index 0000000..c2e7875 --- /dev/null +++ b/themes/caldwell-59/layouts/term.html @@ -0,0 +1,7 @@ +{{ define "main" }} +

    {{ .Title }}

    + {{ .Content }} + {{ range .Pages }} +

    {{ .LinkTitle }}

    + {{ end }} +{{ end }} diff --git a/treefmt.nix b/treefmt.nix index 092ee3c..a4ce36e 100755 --- a/treefmt.nix +++ b/treefmt.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { projectRootFile = "flake.nix"; @@ -8,12 +8,29 @@ strict = true; }; - prettier.enable = true; - }; + taplo.enable = true; - settings = { - global = { - excludes = [ ".envrc" ]; + prettier = { + enable = true; + + settings = { + plugins = [ + "${pkgs.prettier-plugin-go-template}/lib/node_modules/prettier-plugin-go-template/lib/index.js" + ]; + + overrides = [ + { + files = [ "*.html" ]; + options.parser = "go-template"; + } + ]; + }; }; }; + + settings.global.excludes = [ + ".envrc" + "public/**" + "static/**" + ]; }