homepage iniT

This commit is contained in:
2026-08-23 20:00:09 +02:00
commit a1cd25c756
72 changed files with 5978 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
{{ define "content" }}
<style>
.error {
text-align: center;
}
.error h1 {
font-size: 2.8rem;
margin-bottom: 0.5rem;
}
.error h2 {
font-size: 2rem;
}
</style>
<section class="container centered">
<div class="error">
<h1>404</h1>
<h2>Page Not Found</h2>
<p>This page does not exist.<br /><a href="{{ .Site.BaseURL }}">Go to homepage</a></p>
</div>
</section>
{{ end }}
@@ -0,0 +1,30 @@
{{ $emojis := dict
"tip" ":bulb:"
"note" ":page_with_curl:"
"info" ":information_source:"
"warning" ":warning:"
"caution" ":exclamation:"
"danger" ":bangbang:"
}}
{{ if eq .Type "alert" }}
<blockquote class="alert alert-{{ .AlertType }}">
<div class="alert-heading">
<p class="alert-heading-emoji">
{{ transform.Emojify (index $emojis .AlertType) }}
</p>
<p class="alert-heading-text">
{{ with .AlertTitle }}
{{ . }}
{{ else }}
{{ or (i18n .AlertType) (title .AlertType) }}
{{ end }}
</p>
</div>
{{ .Text }}
</blockquote>
{{ else }}
<blockquote>
{{ .Text }}
</blockquote>
{{ end }}
@@ -0,0 +1,6 @@
<a
href="{{ .Destination }}"
{{ with .Title }}title="{{ . }}"{{ end }}
{{ if strings.HasPrefix .Destination "http" }}target="_blank" rel="noopener"{{ end }}
>{{ .Text | safeHTML }}</a
>
+47
View File
@@ -0,0 +1,47 @@
<!doctype html>
<html lang="{{ .Site.LanguageCode }}">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{{ with site.Params.author }}<meta name="author" content="{{ . }}" />{{ end }}
{{ if eq .Type "blog" }}
{{ with .Params.metadescription }}<meta name="description" content="{{ . }}" />{{ end }}
{{ with .Params.metakeywords }}<meta name="keywords" content="{{ . }}" />{{ end }}
{{ else }}
{{ with site.Params.description }}<meta name="description" content="{{ . }}" />{{ end }}
{{ with site.Params.keywords }}<meta name="keywords" content="{{ . }}" />{{ end }}
{{ end }}
<base href="{{ .Permalink }}" />
<title>{{ block "title" . }}{{ site.Title }}{{ end }}</title>
<link rel="canonical" href="{{ .Permalink }}" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+Mono:400,600,700" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Anonymous+Pro:400,500,700" />
<link rel="stylesheet" href="{{ "css/styles.css" | absURL }}" />
<link rel="icon" type="image/png" href="{{ "/images/favicon.png" | absURL }}" sizes="32x32" />
{{ with .OutputFormats.Get "RSS" }}
<link href="{{ .RelPermalink }}" rel="alternate" type="application/rss+xml" title="{{ site.Title }}" />
<link href="{{ .RelPermalink }}" rel="feed" type="application/rss+xml" title="{{ site.Title }}" />
{{ end }}
</head>
<body>
<main class="wrapper">
{{ partial "header.html" . }}
<div class="content">
{{ block "content" . }}{{ end }}
</div>
{{ partial "footer.html" . }}
</main>
</body>
</html>
+7
View File
@@ -0,0 +1,7 @@
{{ define "title" }}
{{ .Title }} ·
{{ .Site.Title }}
{{ end }}
{{ define "content" }}
{{ partial "list.html" . }}
{{ end }}
+13
View File
@@ -0,0 +1,13 @@
{{ define "title" }}
{{ .Title }} ·
{{ .Site.Title }}
{{ end }}
{{ define "content" }}
{{ if eq .Type "blog" }}
{{ partial "post.html" . }}
{{ else }}
{{ partial "page.html" . }}
{{ end }}
{{ end }}
+51
View File
@@ -0,0 +1,51 @@
{{ define "content" }}
<style>
.home {
text-align: center;
}
.home h1 {
margin-bottom: 1.6rem;
}
.home h2 {
font-size: 2.4rem;
margin-top: 0;
margin-bottom: 3.6rem;
}
.home ul {
list-style: none;
margin: 0;
padding: 0;
}
.home li {
display: inline-block;
position: relative;
}
.home li a {
margin: 0 0.6rem;
}
footer .ai-disclaimer {
display: none;
}
@media screen and (max-width: 1000px) {
h2 {
font-size: 1.2em !important;
}
}
</style>
<section class="container centered">
<div class="home">
<h1>{{ .Site.Params.author }}</h1>
<h2>{{ .Site.Params.info }}</h2>
{{ with .Site.Params.social }}
<ul>
{{ range sort . }}
<li><a href="{{ .url }}" target="_blank">{{ .name }}</a></li>
{{ end }}
</ul>
{{ end }}
</div>
</section>
{{ end }}
+65
View File
@@ -0,0 +1,65 @@
<style>
.footer {
line-height: 4rem;
width: 100%;
text-align: center;
line-height: 1.8em;
margin-bottom: 40px !important;
font-size: 1.4rem;
}
.ai-disclaimer {
text-align: center;
margin-bottom: 0;
}
.site-disclaimer {
font-size: 10px;
line-height: 1.4;
margin: 0 0 1rem;
}
</style>
<footer class="footer">
<section class="container">
<p class="ai-disclaimer">
<i
>All content on this website is handwritten.
<br />
This website does not contain AI-generated content.</i
>
</p>
<br style="line-height: 0;" />
&copy;
<script>
document.write(`${new Date().getFullYear()} <b>Dr. Ing. Thomas Sindt</b>`);
</script>
<br style="line-height: 8px;" />
<p class="site-disclaimer">
{{ with .Site.Params.social }}
{{ $len := sub (len .) 1 }}
{{ range $i, $e := sort . }}
<a href="{{ $e.url }}" target="_blank">{{ $e.name }}</a>{{ if lt $i $len }}&nbsp;|{{ end }}
{{ end }}
{{ end }}
</p>
<p class="site-disclaimer">
Die Website wurde mit HUGO erstellt, so wie das Internet ursprünglich gedacht war: als ein Ort, an dem Menschen ihre Gedanken und ihr Wissen frei teilen können.
<br />
Das bedeutet eine einfache, inhaltsorientierte Website, die Gedanken und Wissen kostenlos teilt.
<br />
Dies ist der Grund, warum diese Website keine Tracker, keine Werbung und keine Anforderung zur Ausführung von <span id="javascript-text">Javascript</span> hat.
</p>
<p class="site-disclaimer">Posts: CC-BY-SA | Source code: AGPL-3.0</p>
</section>
</footer>
<script>
const jsText = document.querySelector("#javascript-text")
jsText.addEventListener("dblclick", e => {
const style = document.createElement("style");
style.innerHTML = "* { font-family: 'Comic Sans MS', 'Comic Sans', 'Noto Sans Mono', monospace !important; }";
document.head.appendChild(style);
})
</script>
+29
View File
@@ -0,0 +1,29 @@
<script>
function toggleMenu() {
const x = document.getElementById("topnav-items");
console.log(x);
if (x.className === "topnav-list") {
x.className += " navopen";
} else {
x.className = "topnav-list";
}
}
</script>
<section class="container">
<nav class="topnav">
<a class="topnav-title" href="{{ .Site.BaseURL }}">
{{ .Site.Title }}
</a>
{{ with .Site.Menus.main }}
<a href="javascript:void(0);" class="mobilemenu" onclick="toggleMenu()">Menu</a>
<ul id="topnav-items" class="topnav-list">
{{ range sort . }}
<li class="topnav-item">
<a class="topnav-link" href="{{ .URL }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
{{ end }}
</nav>
</section>
+21
View File
@@ -0,0 +1,21 @@
<section class="container list">
<h1 class="title">{{ .Title }}</h1>
<p>Posts are also available as an <a href="/blog/index.xml" target="_blank">RSS feed</a>.</p>
<p style="text-align: center;">
<b>Categories: </b>
<a href="/blog"><i>all</i></a>
<br />
{{ $categories := slice }}
{{ range site.Taxonomies.categories.Alphabetical }}
{{ $term := .Term }}
{{ $url := printf "/categories/%s/" $term | urlize }}
{{ $categories = $categories | append (printf `<a href="%s">%s</a>` $url $term) }}
{{ end }}
{{ delimit $categories " | " | safeHTML }}
</p>
<ul>
{{ range .Pages }}
<li><span>{{ .Date.Format "January 2, 2006" }}</span><a href="{{ .Permalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
</section>
+9
View File
@@ -0,0 +1,9 @@
<section class="container page">
<article>
<header>
<h1>{{ .Title }}</h1>
</header>
{{ .Content }}
</article>
</section>
+60
View File
@@ -0,0 +1,60 @@
<section class="container">
<article class="blogpost">
<header>
<h1 class="title">{{ .Title }}</h1>
<h2 class="date">{{ .Date.Format "January 2, 2006" }}</h2>
<p style="margin-bottom: 0">
<b>Reading time</b>:
{{ if eq .ReadingTime 1 }}
1 minute
{{ else }}
{{ .ReadingTime }} minutes
{{ end }}
</p>
<p style="margin-bottom: 0; margin-top: 0;">
{{ with .GetTerms "categories" }}
<b>Categories:</b>
{{ $categories := slice }}
{{ range . }}
{{ $categories = $categories | append (printf `<a href="%s">%s</a>` .RelPermalink .LinkTitle) }}
{{ end }}
{{ delimit $categories ", " | safeHTML }}
{{ end }}
</p>
<p style="margin-top: 0">
{{ with .GetTerms "tags" }}
<b>Tags:</b>
{{ $tags := slice }}
{{ range . }}
{{ $tags = $tags | append (printf `<a href="%s">%s</a>` .RelPermalink .LinkTitle) }}
{{ end }}
{{ delimit $tags ", " | safeHTML }}
{{ end }}
</p>
</header>
<div class="post-content">
{{ .Content }}
</div>
<hr class="endofpost" />
<p style="text-align: center;">
<i>
Thoughts or questions about this article?
<br />
Feel free to drop me a
<a href="https://www.linkedin.com/in/lucianonooijen/" target="_blank">message on LinkedIn</a>
or a
<a href="https://x.com/LucianoNooijen">Twitter DM</a>!
<br />
<br />
If you like my articles, please consider subscribing to my <a href="/blog/index.xml" target="_blank">RSS feed</a>.
</i>
</p>
<hr class="endofpost" />
</article>
</section>
+7
View File
@@ -0,0 +1,7 @@
{{ define "title" }}
{{ .Title }} ·
{{ .Site.Title }}
{{ end }}
{{ define "content" }}
{{ partial "post.html" . }}
{{ end }}
+2
View File
@@ -0,0 +1,2 @@
{{ $file := .Get "file" }}
{{- $file | readFile | markdownify -}}