Compare commits

...
This repository has been archived on 2026-07-13. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
Author SHA1 Message Date
Vinzenz Schroeter
d400466ad6 wip own theme 2025-06-01 13:44:31 +02:00
24 changed files with 258 additions and 36 deletions

2
.gitignore vendored
View file

@ -6,4 +6,4 @@
_gen _gen
# downloaded by nix # downloaded by nix
themes themes/poison

0
content/posts/_index.md Normal file
View file

View file

@ -1,5 +0,0 @@
+++
date = '2025-04-06T12:24:08+02:00'
draft = true
title = 'servicepoint'
+++

View file

@ -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/"
''; '';
}; };
} }

View file

@ -2,41 +2,41 @@
baseURL = '/' baseURL = '/'
#languageCode = 'en-us' #languageCode = 'en-us'
title = 'zerforschen+' title = 'zerforschen+'
theme = 'poison' theme = 'own-theme'
pluralizelisttitles = false pluralizelisttitles = false
[params] [params]
brand = "zerforschen+" brand = "zerforschen+"
description = "" description = ""
dark_mode = true dark_mode = true
front_page_content = ["posts", "projects"] front_page_content = ["posts", "projects"]
menu = [ menu = [
# Dict keys: # Dict keys:
# Name: The name to display on the menu. # Name: The name to display on the menu.
# URL: The directory relative to the content directory. # URL: The directory relative to the content directory.
# HasChildren: If the directory's files should be listed. Default is true. # HasChildren: If the directory's files should be listed. Default is true.
# Limit: If the files should be listed, how many should be shown. # Limit: If the files should be listed, how many should be shown.
{Name = "About", URL = "/about/", HasChildren = false}, { Name = "About", URL = "/about/", HasChildren = false },
{Name = "Posts", URL = "/posts/", HasChildren = true, Limit = 99}, { Name = "Posts", URL = "/posts/", HasChildren = true, Limit = 99 },
# {Name = "Projects", URL = "/projects/"}, # {Name = "Projects", URL = "/projects/"},
] ]
#email_url = "mailto://user@domain" #email_url = "mailto://user@domain"
github_url = "https://github.com/kaesaecracker" github_url = "https://github.com/kaesaecracker"
mastodon_url = "https://chaos.social/@vinzenz" mastodon_url = "https://chaos.social/@vinzenz"
matrix_url = "https://matrix.org" matrix_url = "https://matrix.org"
forgejo_url = "https://git.berlin.ccc.de/vinzenz" forgejo_url = "https://git.berlin.ccc.de/vinzenz"
rss_icon = true rss_icon = true
[taxonomies] [taxonomies]
series = 'series' series = 'series'
tags = 'tags' tags = 'tags'
[params.meta] [params.meta]
favicon = true favicon = true
[pagination] [pagination]
pagerSize = 10 pagerSize = 10

View file

@ -0,0 +1,5 @@
+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

View 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;
}

View file

@ -0,0 +1 @@
console.log('This site was generated by Hugo.');

View 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"

View 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>

View file

@ -0,0 +1,7 @@
{{ define "main" }}
{{ .Content }}
{{ range site.RegularPages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ .Summary }}
{{ end }}
{{ end }}

View file

@ -0,0 +1,8 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ .Summary }}
{{ end }}
{{ end }}

View file

@ -0,0 +1,59 @@
{{- $authorEmail := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
{{- with .email }}
{{- $authorEmail = . }}
{{- end }}
{{- end }}
{{- end }}
{{- $authorName := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
{{- with .name }}
{{- $authorName = . }}
{{- end }}
{{- else }}
{{- $authorName = . }}
{{- end }}
{{- end }}
{{- $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 "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }}</description>
<generator>Hugo</generator>
<language>{{ site.Language.LanguageCode }}</language>{{ with $authorEmail }}
<managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }}
<webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with .Site.Copyright }}
<copyright>{{ . }}</copyright>{{ end }}{{ if not .Date.IsZero }}
<lastBuildDate>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{- with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end }}
{{- range $pages }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }}
<guid>{{ .Permalink }}</guid>
<description>{{ .Content | transform.XMLEscape | safeHTML }}</description>
</item>
{{- end }}
</channel>
</rss>

View 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 }}

View 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">

View 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 }}

View 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 }}

View file

@ -0,0 +1,3 @@
<h1>{{ site.Title }}</h1>
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
{{ partial "socials.html" . }}

View 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 }}

Some files were not shown because too many files have changed in this diff Show more