wip own theme
This commit is contained in:
parent
da2b589ad0
commit
d400466ad6
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -6,4 +6,4 @@
|
||||||
_gen
|
_gen
|
||||||
|
|
||||||
# downloaded by nix
|
# downloaded by nix
|
||||||
themes
|
themes/poison
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
+++
|
|
||||||
date = '2025-04-06T12:24:08+02:00'
|
|
||||||
draft = true
|
|
||||||
title = 'servicepoint'
|
|
||||||
+++
|
|
|
@ -28,12 +28,14 @@
|
||||||
devShells = forAllSystems (
|
devShells = forAllSystems (
|
||||||
{ pkgs, system, ... }:
|
{ pkgs, system, ... }:
|
||||||
{
|
{
|
||||||
default = pkgs.mkShellNoCC rec {
|
default = pkgs.mkShellNoCC {
|
||||||
inputsFrom = [ self.packages.${system}.default ];
|
inputsFrom = [ self.packages.${system}.default ];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
mkdir -p themes
|
mkdir -p themes
|
||||||
ln -snf "${self.packages.${system}.hugo-theme-poison}" themes/poison
|
ln -snf "${self.packages.${system}.hugo-theme-poison}" themes/poison
|
||||||
|
|
||||||
|
alias hugo="hugo --baseURL=http://localhost/"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
baseURL = '/'
|
baseURL = '/'
|
||||||
#languageCode = 'en-us'
|
#languageCode = 'en-us'
|
||||||
title = 'zerforschen+'
|
title = 'zerforschen+'
|
||||||
theme = 'poison'
|
theme = 'own-theme'
|
||||||
pluralizelisttitles = false
|
pluralizelisttitles = false
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
5
themes/own-theme/archetypes/default.md
Normal file
5
themes/own-theme/archetypes/default.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
+++
|
||||||
|
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||||
|
date = {{ .Date }}
|
||||||
|
draft = true
|
||||||
|
+++
|
19
themes/own-theme/assets/css/main.css
Normal file
19
themes/own-theme/assets/css/main.css
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
line-height: 1.5;
|
||||||
|
margin: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px solid;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
border-top: 1px solid;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
1
themes/own-theme/assets/js/main.js
Normal file
1
themes/own-theme/assets/js/main.js
Normal file
|
@ -0,0 +1 @@
|
||||||
|
console.log('This site was generated by Hugo.');
|
23
themes/own-theme/hugo.toml
Normal file
23
themes/own-theme/hugo.toml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
baseURL = 'https://example.org/'
|
||||||
|
languageCode = 'en-US'
|
||||||
|
title = 'My New Hugo Site'
|
||||||
|
|
||||||
|
[[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.116.0"
|
17
themes/own-theme/layouts/_default/baseof.html
Normal file
17
themes/own-theme/layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ site.Language.LanguageCode }}" dir="{{ or site.Language.LanguageDirection `ltr` }}">
|
||||||
|
<head>
|
||||||
|
{{ partial "head.html" . }}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
</header>
|
||||||
|
<main>
|
||||||
|
{{ block "main" . }}{{ end }}
|
||||||
|
</main>
|
||||||
|
<footer>
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
7
themes/own-theme/layouts/_default/home.html
Normal file
7
themes/own-theme/layouts/_default/home.html
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ .Content }}
|
||||||
|
{{ range site.RegularPages }}
|
||||||
|
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
||||||
|
{{ .Summary }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
8
themes/own-theme/layouts/_default/list.html
Normal file
8
themes/own-theme/layouts/_default/list.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ .Content }}
|
||||||
|
{{ range .Pages }}
|
||||||
|
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
|
||||||
|
{{ .Summary }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
10
themes/own-theme/layouts/_default/single.html
Normal file
10
themes/own-theme/layouts/_default/single.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
|
||||||
|
{{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{ $dateHuman := .Date | time.Format ":date_long" }}
|
||||||
|
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
|
||||||
|
|
||||||
|
{{ .Content }}
|
||||||
|
{{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
|
||||||
|
{{ end }}
|
0
themes/own-theme/layouts/partials/footer.html
Normal file
0
themes/own-theme/layouts/partials/footer.html
Normal file
6
themes/own-theme/layouts/partials/head.html
Normal file
6
themes/own-theme/layouts/partials/head.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
|
||||||
|
{{ partialCached "head/css.html" . }}
|
||||||
|
{{ partialCached "head/js.html" . }}
|
||||||
|
<meta name="color-scheme" content="light dark">
|
9
themes/own-theme/layouts/partials/head/css.html
Normal file
9
themes/own-theme/layouts/partials/head/css.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{{- with resources.Get "css/main.css" }}
|
||||||
|
{{- if eq hugo.Environment "development" }}
|
||||||
|
<link rel="stylesheet" href="{{ .RelPermalink }}">
|
||||||
|
{{- else }}
|
||||||
|
{{- with . | minify | fingerprint }}
|
||||||
|
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
12
themes/own-theme/layouts/partials/head/js.html
Normal file
12
themes/own-theme/layouts/partials/head/js.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{{- with resources.Get "js/main.js" }}
|
||||||
|
{{- if eq hugo.Environment "development" }}
|
||||||
|
{{- with . | js.Build }}
|
||||||
|
<script src="{{ .RelPermalink }}"></script>
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $opts := dict "minify" true }}
|
||||||
|
{{- with . | js.Build $opts | fingerprint }}
|
||||||
|
<script src="{{ .RelPermalink }}" integrity="{{- .Data.Integrity }}" crossorigin="anonymous"></script>
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
3
themes/own-theme/layouts/partials/header.html
Normal file
3
themes/own-theme/layouts/partials/header.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<h1>{{ site.Title }}</h1>
|
||||||
|
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
|
||||||
|
{{ partial "socials.html" . }}
|
51
themes/own-theme/layouts/partials/menu.html
Normal file
51
themes/own-theme/layouts/partials/menu.html
Normal file
|
@ -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 }}
|
||||||
|
<nav>
|
||||||
|
<ul>
|
||||||
|
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{{- 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 }}
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
{{- range $k, $v := $attrs }}
|
||||||
|
{{- with $v }}
|
||||||
|
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
>{{ $name }}</a>
|
||||||
|
{{- with .Children }}
|
||||||
|
<ul>
|
||||||
|
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
|
||||||
|
</ul>
|
||||||
|
{{- end }}
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
23
themes/own-theme/layouts/partials/terms.html
Normal file
23
themes/own-theme/layouts/partials/terms.html
Normal file
|
@ -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 }}
|
||||||
|
<div>
|
||||||
|
<div>{{ $label }}:</div>
|
||||||
|
<ul>
|
||||||
|
{{- range . }}
|
||||||
|
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{{- end }}
|
BIN
themes/own-theme/static/favicon.ico
Normal file
BIN
themes/own-theme/static/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
31
themes/own-theme/theme.toml
Normal file
31
themes/own-theme/theme.toml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
name = 'the theme'
|
||||||
|
# license = ''
|
||||||
|
# licenselink = 'https://github.com/owner/repo/LICENSE'
|
||||||
|
# description = 'Theme description'
|
||||||
|
#
|
||||||
|
# # The home page of the theme, where the source can be found
|
||||||
|
# homepage = 'https://github.com/owner/repo'
|
||||||
|
#
|
||||||
|
# # If you have a running demo of the theme
|
||||||
|
# demosite = 'https://owner.github.io/repo'
|
||||||
|
#
|
||||||
|
# # Taxonomy terms
|
||||||
|
# tags = ['blog', 'company']
|
||||||
|
# features = ['some', 'awesome', 'features']
|
||||||
|
#
|
||||||
|
# # If the theme has multiple authors
|
||||||
|
# authors = [
|
||||||
|
# {name = 'Name of author', homepage = 'Website of author'},
|
||||||
|
# {name = 'Name of author', homepage = 'Website of author'}
|
||||||
|
# ]
|
||||||
|
#
|
||||||
|
# # If the theme has a single author
|
||||||
|
# [author]
|
||||||
|
# name = 'Your name'
|
||||||
|
# homepage = 'Your website'
|
||||||
|
#
|
||||||
|
# # If porting an existing theme
|
||||||
|
# [original]
|
||||||
|
# author = 'Name of original author'
|
||||||
|
# homepage = 'Website of original author'
|
||||||
|
# repo = 'https://github.com/owner/repo'
|
Loading…
Reference in a new issue