diff options
author | Thorsten Ortlepp <post@ortlepp.eu> | 2024-12-12 01:19:00 +0100 |
---|---|---|
committer | Thorsten Ortlepp <post@ortlepp.eu> | 2024-12-12 01:19:00 +0100 |
commit | fa9ccbd94724e9edc849a7dce46c0d468ee47fd5 (patch) | |
tree | e23045773f63ae8cdf432cd149bd278e5866dc7e | |
parent | 2a3d44d7ed88d0e58f5a8907fb0f82eed4669868 (diff) | |
download | website-ortleppms-fa9ccbd94724e9edc849a7dce46c0d468ee47fd5.zip |
website setup
-rw-r--r-- | content/.gitkeep | 0 | ||||
-rw-r--r-- | content/de/impressum-datenschutz.md | 31 | ||||
-rw-r--r-- | content/en/legal-notice.md | 11 | ||||
-rw-r--r-- | hugo.toml | 4 | ||||
-rw-r--r-- | hugo.yaml | 111 | ||||
-rw-r--r-- | layouts/.gitkeep | 0 | ||||
-rw-r--r-- | layouts/404.html | 7 | ||||
-rw-r--r-- | layouts/partials/extend_head.html | 8 | ||||
-rw-r--r-- | layouts/partials/footer.html | 150 | ||||
-rw-r--r-- | layouts/partials/svg.html | 16 | ||||
-rw-r--r-- | static/.gitkeep | 0 | ||||
-rw-r--r-- | static/css/custom.css | 8 | ||||
-rw-r--r-- | static/images/thorsten.png | bin | 0 -> 335291 bytes | |||
-rw-r--r-- | static/robots.txt | 40 |
14 files changed, 382 insertions, 4 deletions
diff --git a/content/.gitkeep b/content/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/content/.gitkeep +++ /dev/null diff --git a/content/de/impressum-datenschutz.md b/content/de/impressum-datenschutz.md new file mode 100644 index 0000000..b4bb609 --- /dev/null +++ b/content/de/impressum-datenschutz.md @@ -0,0 +1,31 @@ +--- +title: "Impressum & Datenschutz" +description: "Impressum und Datenschutzhinweise für www.ortlepp.ms" +date: 2024-12-11T23:45:00+01:00 +draft: false +translationKey: legalnotice +--- + +## Impressum + +Text Text Text + +## Eins + +Text Text Text + +## Zwei + +Text Text Text + +## Drei + +Text Text Text + +## Vier + +Text Text Text + +## Fünf + +Text Text Text diff --git a/content/en/legal-notice.md b/content/en/legal-notice.md new file mode 100644 index 0000000..307ea2e --- /dev/null +++ b/content/en/legal-notice.md @@ -0,0 +1,11 @@ +--- +title: "Legal notice" +description: "Legal notice for www.ortlepp.ms" +date: 2024-12-11T23:45:00+01:00 +draft: false +translationKey: legalnotice +--- + +## Legal notice + +text text text diff --git a/hugo.toml b/hugo.toml deleted file mode 100644 index 7636749..0000000 --- a/hugo.toml +++ /dev/null @@ -1,4 +0,0 @@ -baseURL = 'https://preview.ortlepp.ms/' -languageCode = 'en-us' -title = 'Thorsten Ortlepp' -theme = 'PaperMod' diff --git a/hugo.yaml b/hugo.yaml new file mode 100644 index 0000000..9c60b2c --- /dev/null +++ b/hugo.yaml @@ -0,0 +1,111 @@ +baseURL: https://preview.ortlepp.ms/ +title: Thorsten Ortlepp +theme: PaperMod + +buildDrafts: false +buildFuture: false +buildExpired: false + +disableKinds: + - robotstxt + - section + - taxonomy + - term + +services: + rss: + limit: 5 + +timeZone: Europe/Berlin + +minify: + minifyOutput: true + tdewolff: + html: + keepQuotes: true + keepWhitespace: false + +privacy: + disqus: + disable: true + googleAnalytics: + disable: true + instagram: + disable: true + twitter: + disable: true + vimeo: + disable: true + youtube: + disable: true + +params: + env: production + author: Thorsten Ortlepp + defaultTheme: auto + disableThemeToggle: false + ShowReadingTime: false + ShowShareButtons: false + ShowCodeCopyButtons: false + ShowFullTextinRSS: true + ShowToc: false + ShowPostNavLinks: false + ShowBreadCrumbs: false + ShowWordCount: false + disableSpecial1stPost: true + disableScrollToTop: true + disableAnchoredHeadings: true + hideMeta: true + displayFullLangName: true + comments: false + profileMode: + enabled: true + imageUrl: images/thorsten.png + imageTitle: Thorsten Ortlepp + footer: + hideCopyright: true + custom_css: + - css/custom.css + +defaultContentLanguage: de +defaultContentLanguageInSubdir: false + +languages: + de: + contentDir: content/de + disabled: false + languageCode: de + languageName: Deutsch + params: + profileMode: + title: Hallo! + subtitle: Mein Name ist Thorsten Ortlepp. Ich bin Softwareentwickler und DevOps-Engineer. In meiner Freizeit gehe ich gerne wandern. Außerdem bin ich Sauerteig-Nerd. + socialIcons: # optional + - name: xing + url: "https://www.xing.com/profile/Thorsten_Ortlepp3" + - name: git + url: "https://git.ortlepp.ms/web/" + - name: sauerteig + url: "https://www.sauerteigboerse.de/Teige/Details?id=1859" + xCustomLegalText: "Impressum & Datenschutz" + xCustomLegalLink: "/impressum-datenschutz/" + weight: 1 + en: + contentDir: content/en + disabled: false + languageCode: en + languageName: English + params: + profileMode: + title: Hi! + subtitle: My name is Thorsten Ortlepp. I am a software developer and DevOps engineer. In my spare time I like to go hiking. Furthermore, I am a sourdough nerd. + socialIcons: # optional + - name: xing + url: "https://www.xing.com/profile/Thorsten_Ortlepp3" + - name: git + url: "https://git.ortlepp.ms/web/" + - name: sourdough + url: "https://www.sauerteigboerse.de/Teige/Details?id=1859" + xCustomLegalText: "Legal notice" + xCustomLegalLink: "/en/legal-notice/" + weight: 2 diff --git a/layouts/.gitkeep b/layouts/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/layouts/.gitkeep +++ /dev/null diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..caa0c39 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,7 @@ +{{- define "main" }} +<div class="not-found"> + <span class="httpcode">404</span> + <span>Seite nicht gefunden</span> + <span>Page not found</span> +</div> +{{- end }}{{/* end main */ -}} diff --git a/layouts/partials/extend_head.html b/layouts/partials/extend_head.html new file mode 100644 index 0000000..a3af417 --- /dev/null +++ b/layouts/partials/extend_head.html @@ -0,0 +1,8 @@ +{{- /* Head custom content area start */ -}} +{{- /* Insert any custom code (web-analytics, resources, etc.) - it will appear in the <head></head> section of every page. */ -}} +{{- /* Can be overwritten by partial with the same name in the global layouts. */ -}} +{{- /* Head custom content area end */ -}} + +{{ range .Site.Params.custom_css -}} + <link rel="stylesheet" href="{{ . | absURL }}"> +{{- end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..6a215c2 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,150 @@ +{{- if not (.Param "hideFooter") }} +<footer class="footer"> + {{- if not site.Params.footer.hideCopyright }} + {{- if site.Copyright }} + <span>{{ site.Copyright | markdownify }}</span> + {{- else }} + <span>© {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span> + {{- end }} + {{- print " · "}} + {{- end }} + + {{- with site.Params.footer.text }} + {{ . | markdownify }} + {{- print " · "}} + {{- end }} + + <span> + Powered by + <a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> & + <a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a> + </span> + + <!-- start custom footer extension --> + <span>·</span> + <span><a href="{{ .Site.Params.xCustomLegalLink }}">{{ .Site.Params.xCustomLegalText }}</a></span> + <!-- end custom footer extension --> + +</footer> +{{- end }} + +{{- if (not site.Params.disableScrollToTop) }} +<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor"> + <path d="M12 6H0l6-6z" /> + </svg> +</a> +{{- end }} + +{{- partial "extend_footer.html" . }} + +<script> + let menu = document.getElementById('menu') + if (menu) { + menu.scrollLeft = localStorage.getItem("menu-scroll-position"); + menu.onscroll = function () { + localStorage.setItem("menu-scroll-position", menu.scrollLeft); + } + } + + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener("click", function (e) { + e.preventDefault(); + var id = this.getAttribute("href").substr(1); + if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) { + document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({ + behavior: "smooth" + }); + } else { + document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView(); + } + if (id === "top") { + history.replaceState(null, null, " "); + } else { + history.pushState(null, null, `#${id}`); + } + }); + }); + +</script> + +{{- if (not site.Params.disableScrollToTop) }} +<script> + var mybutton = document.getElementById("top-link"); + window.onscroll = function () { + if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) { + mybutton.style.visibility = "visible"; + mybutton.style.opacity = "1"; + } else { + mybutton.style.visibility = "hidden"; + mybutton.style.opacity = "0"; + } + }; + +</script> +{{- end }} + +{{- if (not site.Params.disableThemeToggle) }} +<script> + document.getElementById("theme-toggle").addEventListener("click", () => { + if (document.body.className.includes("dark")) { + document.body.classList.remove('dark'); + localStorage.setItem("pref-theme", 'light'); + } else { + document.body.classList.add('dark'); + localStorage.setItem("pref-theme", 'dark'); + } + }) + +</script> +{{- end }} + +{{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (.Param "ShowCodeCopyButtons")) }} +<script> + document.querySelectorAll('pre > code').forEach((codeblock) => { + const container = codeblock.parentNode.parentNode; + + const copybutton = document.createElement('button'); + copybutton.classList.add('copy-code'); + copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}'; + + function copyingDone() { + copybutton.innerHTML = '{{- i18n "code_copied" | default "copied!" }}'; + setTimeout(() => { + copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}'; + }, 2000); + } + + copybutton.addEventListener('click', (cb) => { + if ('clipboard' in navigator) { + navigator.clipboard.writeText(codeblock.textContent); + copyingDone(); + return; + } + + const range = document.createRange(); + range.selectNodeContents(codeblock); + const selection = window.getSelection(); + selection.removeAllRanges(); + selection.addRange(range); + try { + document.execCommand('copy'); + copyingDone(); + } catch (e) { }; + selection.removeRange(range); + }); + + if (container.classList.contains("highlight")) { + container.appendChild(copybutton); + } else if (container.parentNode.firstChild == container) { + // td containing LineNos + } else if (codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == "TABLE") { + // table containing LineNos and code + codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(copybutton); + } else { + // code blocks not having highlight as parent class + codeblock.parentNode.appendChild(copybutton); + } + }); +</script> +{{- end }} diff --git a/layouts/partials/svg.html b/layouts/partials/svg.html new file mode 100644 index 0000000..f535408 --- /dev/null +++ b/layouts/partials/svg.html @@ -0,0 +1,16 @@ +{{ $icon_name := ( trim .name " " | lower )}} +{{- if (eq $icon_name "git") -}} +<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="linkicon"><path style="fill:var(--primary)" d="M23.546 10.93L13.067.452c-.604-.603-1.582-.603-2.188 0L8.708 2.627l2.76 2.76c.645-.215 1.379-.07 1.889.441.516.515.658 1.258.438 1.9l2.658 2.66c.645-.223 1.387-.078 1.9.435.721.72.721 1.884 0 2.604-.719.719-1.881.719-2.6 0-.539-.541-.674-1.337-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348.713.721.713 1.883 0 2.6-.719.721-1.889.721-2.609 0-.719-.719-.719-1.879 0-2.598.182-.18.387-.316.605-.406V8.835c-.217-.091-.424-.222-.6-.401-.545-.545-.676-1.342-.396-2.009L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477c.604.604 1.582.604 2.186 0l10.43-10.43c.605-.603.605-1.582 0-2.187"/></svg> +{{- else if (eq $icon_name "xing") -}} +<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="linkicon"><path style="fill:var(--primary)" d="M18.188 0c-.517 0-.741.325-.927.66 0 0-7.455 13.224-7.702 13.657.015.024 4.919 9.023 4.919 9.023.17.308.436.66.967.66h3.454c.211 0 .375-.078.463-.22.089-.151.089-.346-.009-.536l-4.879-8.916c-.004-.006-.004-.016 0-.022L22.139.756c.095-.191.097-.387.006-.535C22.056.078 21.894 0 21.686 0h-3.498zM3.648 4.74c-.211 0-.385.074-.473.216-.09.149-.078.339.02.531l2.34 4.05c.004.01.004.016 0 .021L1.86 16.051c-.099.188-.093.381 0 .529.085.142.239.234.45.234h3.461c.518 0 .766-.348.945-.667l3.734-6.609-2.378-4.155c-.172-.315-.434-.659-.962-.659H3.648v.016z"/></svg> +{{- else if (eq $icon_name "sourdough") -}} +<svg width="24" height="24" viewBox="0 0 800 800" xmlns="http://www.w3.org/2000/svg"><path style="fill:var(--primary);stroke-width:1.59876" d="m 151.16225,463.42869 v -283.0832 h 236.54093 236.54094 v 283.0832 283.08322 H 387.70318 151.16225 Z" /><path style="fill:var(--primary);stroke-width:1.63476" d="M 115.45298,107.68278 V 70.011381 H 388.044 660.63503 v 37.671399 37.67139 H 388.044 115.45298 Z" /><path style="fill:none;stroke:var(--code-bg);stroke-width:55.3134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 141.1938,403.48217 c 22.73781,-19.37181 45.47602,-38.74398 79.31398,-39.08689 33.83796,-0.34292 78.75982,18.33739 129.78124,31.13448 51.02142,12.79709 108.14429,19.71572 156.11084,11.75778 47.96655,-7.95793 86.78793,-30.78943 125.60694,-53.61953" /><ellipse style="fill:var(--code-bg);fill-opacity:1;stroke:var(--code-bg);stroke-width:26.1315;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="372.30701" cy="646.63855" rx="30.464792" ry="27.665491" /><ellipse style="fill:var(--code-bg);fill-opacity:1;stroke:var(--code-bg);stroke-width:24.1886;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="516.47101" cy="556.36115" rx="31.4363" ry="33.535778" /><ellipse style="fill:var(--code-bg);fill-opacity:1;stroke:var(--code-bg);stroke-width:30.919;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="277.13077" cy="512.97192" rx="30.870377" ry="30.170551" /></svg> +{{- else if (eq $icon_name "sauerteig") -}} +<svg width="24" height="24" viewBox="0 0 800 800" xmlns="http://www.w3.org/2000/svg"><path style="fill:var(--primary);stroke-width:1.59876" d="m 151.16225,463.42869 v -283.0832 h 236.54093 236.54094 v 283.0832 283.08322 H 387.70318 151.16225 Z" /><path style="fill:var(--primary);stroke-width:1.63476" d="M 115.45298,107.68278 V 70.011381 H 388.044 660.63503 v 37.671399 37.67139 H 388.044 115.45298 Z" /><path style="fill:none;stroke:var(--code-bg);stroke-width:55.3134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 141.1938,403.48217 c 22.73781,-19.37181 45.47602,-38.74398 79.31398,-39.08689 33.83796,-0.34292 78.75982,18.33739 129.78124,31.13448 51.02142,12.79709 108.14429,19.71572 156.11084,11.75778 47.96655,-7.95793 86.78793,-30.78943 125.60694,-53.61953" /><ellipse style="fill:var(--code-bg);fill-opacity:1;stroke:var(--code-bg);stroke-width:26.1315;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="372.30701" cy="646.63855" rx="30.464792" ry="27.665491" /><ellipse style="fill:var(--code-bg);fill-opacity:1;stroke:var(--code-bg);stroke-width:24.1886;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="516.47101" cy="556.36115" rx="31.4363" ry="33.535778" /><ellipse style="fill:var(--code-bg);fill-opacity:1;stroke:var(--code-bg);stroke-width:30.919;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="277.13077" cy="512.97192" rx="30.870377" ry="30.170551" /></svg> +{{- else if $icon_name -}} +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" + stroke-linecap="round" stroke-linejoin="round"> + <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path> + <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> +</svg> +{{- end -}} diff --git a/static/.gitkeep b/static/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/static/.gitkeep +++ /dev/null diff --git a/static/css/custom.css b/static/css/custom.css new file mode 100644 index 0000000..31634a6 --- /dev/null +++ b/static/css/custom.css @@ -0,0 +1,8 @@ +/* 404.html */ +.not-found { + font-size: 26px; + flex-direction: column; +} +.not-found .httpcode { + font-size: 100px; +} diff --git a/static/images/thorsten.png b/static/images/thorsten.png Binary files differnew file mode 100644 index 0000000..832dc34 --- /dev/null +++ b/static/images/thorsten.png diff --git a/static/robots.txt b/static/robots.txt new file mode 100644 index 0000000..b275d38 --- /dev/null +++ b/static/robots.txt @@ -0,0 +1,40 @@ +user-agent: Googlebot-Image +disallow: / + +user-agent: Google-Extended +Disallow: / + +User-agent: OAI-SearchBot +Disallow: / + +User-agent: ChatGPT-User +Disallow: / + +User-agent: GPTBot +Disallow: / + +User-agent: FacebookBot +Disallow: / + +User-agent: Meta-ExternalAgent +Disallow: / + +User-agent: Meta-ExternalFetcher +Disallow: / + +User-agent: PerplexityBot +Disallow: / + +User-agent: ClaudeBot +Disallow: / + +User-agent: anthropic-ai +Disallow: / + +User-agent: OmgiliBot +Disallow: / + +User-agent: cohere-ai +Disallow: / + +Sitemap: https://www.ortlepp.ms/sitemap.xml |