From 17f405192ff3f54056679122238f27fb8aaa4a6e Mon Sep 17 00:00:00 2001 From: Sebastian Tobie Date: Sun, 26 Jun 2022 21:55:39 +0200 Subject: [PATCH] current status --- .editorconfig | 12 ++ .gitignore | 3 + config.toml | 25 +++ content/Lebenslauf/index.html | 8 + content/_index.md | 8 + content/blog/_index.md | 7 + content/blog/abtreibung.md | 15 ++ content/über/index.md | 11 ++ data/lebenslauf.xml | 39 ++++ go.mod | 5 + go.sum | 2 + static/favicon.ico | Bin 0 -> 70 bytes themes/meins/LICENSE | 20 ++ themes/meins/archetypes/blog.md | 6 + themes/meins/archetypes/default.md | 5 + themes/meins/assets/css/style.scss | 185 ++++++++++++++++++ themes/meins/assets/img/symbols.svg | 24 +++ themes/meins/assets/js/index.ts | 82 ++++++++ themes/meins/i18n/de.toml | 2 + themes/meins/layouts/_default/baseof.html | 54 +++++ themes/meins/layouts/_default/list.html | 22 +++ themes/meins/layouts/_default/single.html | 3 + themes/meins/layouts/index.html | 3 + themes/meins/layouts/partials/icon.html | 12 ++ themes/meins/layouts/shortcodes/date.html | 14 ++ .../layouts/shortcodes/hervorhebung.html | 6 + .../meins/layouts/shortcodes/lebenslauf.html | 46 +++++ themes/meins/lebenslauf.xsd | 47 +++++ themes/meins/theme.toml | 15 ++ 29 files changed, 681 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 config.toml create mode 100644 content/Lebenslauf/index.html create mode 100644 content/_index.md create mode 100644 content/blog/_index.md create mode 100644 content/blog/abtreibung.md create mode 100644 content/über/index.md create mode 100644 data/lebenslauf.xml create mode 100644 go.mod create mode 100644 go.sum create mode 100644 static/favicon.ico create mode 100644 themes/meins/LICENSE create mode 100644 themes/meins/archetypes/blog.md create mode 100644 themes/meins/archetypes/default.md create mode 100644 themes/meins/assets/css/style.scss create mode 100644 themes/meins/assets/img/symbols.svg create mode 100644 themes/meins/assets/js/index.ts create mode 100644 themes/meins/i18n/de.toml create mode 100644 themes/meins/layouts/_default/baseof.html create mode 100644 themes/meins/layouts/_default/list.html create mode 100644 themes/meins/layouts/_default/single.html create mode 100644 themes/meins/layouts/index.html create mode 100644 themes/meins/layouts/partials/icon.html create mode 100644 themes/meins/layouts/shortcodes/date.html create mode 100644 themes/meins/layouts/shortcodes/hervorhebung.html create mode 100644 themes/meins/layouts/shortcodes/lebenslauf.html create mode 100644 themes/meins/lebenslauf.xsd create mode 100644 themes/meins/theme.toml diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c1322dc --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = false \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b21397c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +public +.hugo_build.lock +resources/_gen \ No newline at end of file diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..711d127 --- /dev/null +++ b/config.toml @@ -0,0 +1,25 @@ +baseURL = 'https://excalibur.home.tobie/' +defaultContentLanguage = "de" +disableAliases = true +enableEmoji = true +enableGitInfo = false +languageCode = 'de-de' +paginate = 3 +#theme = ["github.com/theNewDynamic/gohugo-theme-ananke"] +disableHugoGeneratorInject = true +disableKinds = ["sitemap", "RSS", "robotsTXT", "taxonomy"] +ignoreErrors = ["error-disable-taxonomy"] +theme = 'meins' +title = "Sebastian Tobie" + +[taxonomies] +tag = "tags" + +[minify] +disableCSS = false +disableHTML = false +disableJS = false +disableJSON = false +disableSVG = false +disableXML = false +minifyOutput = false diff --git a/content/Lebenslauf/index.html b/content/Lebenslauf/index.html new file mode 100644 index 0000000..fb91fde --- /dev/null +++ b/content/Lebenslauf/index.html @@ -0,0 +1,8 @@ +--- +title: Lebenslauf +menu: + main: + weight: 100 +draft: true +--- +{{% lebenslauf %}} \ No newline at end of file diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..2050cdc --- /dev/null +++ b/content/_index.md @@ -0,0 +1,8 @@ +--- +title: Home +menu: + main: + weight: -1 +--- +# Hallo +Hallo \ No newline at end of file diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..278454b --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,7 @@ +--- +title: "Blog" +menu: + main: + weight: 1 +--- +BLA BLA BLA \ No newline at end of file diff --git a/content/blog/abtreibung.md b/content/blog/abtreibung.md new file mode 100644 index 0000000..6b5ddb1 --- /dev/null +++ b/content/blog/abtreibung.md @@ -0,0 +1,15 @@ +--- +title: "Abtreibungsrecht" +date: 2022-06-26T17:24:30+02:00 +draft: true +--- +# Meine Gedanken zum Abtreibungsrecht + +Am {{< date "2022-06-24" "2. January" >}} haben der Supreme Court der Vereinigten Staaten und der Bundestag zwei unterschiedliche Entscheidungen getroffen. + +Der Supreme Court entschied sich die in den USA davor gültige Regelung das bis zur Lebensfähigkeit der Abruch möglich ist zu kippen. +Jetzt gibt es in vielen Staaten {{< hervorhebung "euphemsimus" "warning" >}}Heartbeat Laws{{< /hervorhebung >}} die ungeborenes Leben nach der 6 Schwangerschaftswoche schützen soll. +Das ist fast so streng wie die Strengste Auslegung im Islam (40 Tage), die von den Republikanern selber als unforttschrittlich gezeigt werden, +in den restlichen Auslegungen wird die Seele am 120. Schwangerschaftstag empfangen. + +Währendessen hat der Bundestag erlaubt Ärzten auf ihren Webseiten zu informieren \ No newline at end of file diff --git a/content/über/index.md b/content/über/index.md new file mode 100644 index 0000000..7e1f9c0 --- /dev/null +++ b/content/über/index.md @@ -0,0 +1,11 @@ +--- +title: "Impressum" +date: 2022-06-19T18:17:34+02:00 +menu: + main: + weight: 1000 +_build: + list: never +--- + +# Impressum \ No newline at end of file diff --git a/data/lebenslauf.xml b/data/lebenslauf.xml new file mode 100644 index 0000000..43a5558 --- /dev/null +++ b/data/lebenslauf.xml @@ -0,0 +1,39 @@ + + + Realstufe der Anne-Frank-Schule Fritzlar + 2010-08-01 + 2013-07-31 + + + Höhere Handelsschule an der Reichspräsident Friedrich Ebert Schule Fritzlar + 2013-08-01 + 2014-07-01 + + + Berufsbildungswerk Südhessen gGmbH + Teilnehmer Brufsvorbeitende Maßnahme + 2014-09-01 + 2015-08-01 + + + Berufsbildungswerk Südhessen gGmbH + Auszubildender Fachinformatiker für Systemintegration + 2015-08-01 + 2018-06-01 + + + ANG GmbH + Fachinformatiker für Systemintegration + 2015-10-01 + HEUTE + + + Golang + + + + Python + Flask + Django + + \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..1330610 --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module go.sebtobie.de/website + +go 1.18 + +require github.com/theNewDynamic/gohugo-theme-ananke v0.0.0-20220610193657-470ea40982f5 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..fee193a --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/theNewDynamic/gohugo-theme-ananke v0.0.0-20220610193657-470ea40982f5 h1:VGGhujiIbPAGTzunwhrs4AGzDU3//45crPtbN0iW+Ck= +github.com/theNewDynamic/gohugo-theme-ananke v0.0.0-20220610193657-470ea40982f5/go.mod h1:yY14BLqqh5G61rO81YcJKMHY1rClY5iIiUK+K2JKSUM= diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..de9e5574e564a5cff24f6bcd4b5df6fd21a985d1 GIT binary patch literal 70 scmZQzU<5%%1|X@xV8Fn@AO^%5KnxUOU;@($K$3xh1x%t7|NnzT0560Bx&QzG literal 0 HcmV?d00001 diff --git a/themes/meins/LICENSE b/themes/meins/LICENSE new file mode 100644 index 0000000..147d594 --- /dev/null +++ b/themes/meins/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2022 YOUR_NAME_HERE + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/meins/archetypes/blog.md b/themes/meins/archetypes/blog.md new file mode 100644 index 0000000..42a9b75 --- /dev/null +++ b/themes/meins/archetypes/blog.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- +# {{ replace .Name "-" " " | title }} diff --git a/themes/meins/archetypes/default.md b/themes/meins/archetypes/default.md new file mode 100644 index 0000000..b8f77d6 --- /dev/null +++ b/themes/meins/archetypes/default.md @@ -0,0 +1,5 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: false +--- diff --git a/themes/meins/assets/css/style.scss b/themes/meins/assets/css/style.scss new file mode 100644 index 0000000..50c107a --- /dev/null +++ b/themes/meins/assets/css/style.scss @@ -0,0 +1,185 @@ +@mixin theming($background, $foreground) { + $link: #0000FF; + $link_visited: mix($link, $foreground, $weight: 50%); + $link_notvisited: mix($link, $foreground, $weight: 75%); + --background: #{$background}; + --text: #{$foreground}; + + a:visited { + color: $link_visited; + } + + a:link { + color: $link_notvisited; + } + + span { + &.warning { + transition-property: background-color; + transition-duration: 1s; + transition-timing-function: linear; + &:hover { + background-color: mix(#FFFF00, $background, 50%); + transition-property: background-color; + transition-duration: 1s; + transition-timing-function: linear; + } + } + } +} + +@mixin theme($schema, $background, $foreground) { + + body.#{$schema} { + @include theming($background, $foreground); + } + + @media (prefers-color-scheme: $schema) { + body { + @include theming($background, $foreground); + } + } +} + + + +@include theme("dark", #333333, #ffffff); +@include theme("black", #000000, #ffffff); +@include theme("light", #ffffff, #000000); + +@media (not ((prefers-color-scheme: light) or (prefers-color-scheme: dark) or (prefers-color-scheme: black))) { + body { + @include theming(#000001, #ffffff); + } +} + +body { + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + align-items: center; + min-height: 100vh; + background-color: var(--background); + color: var(--text); + + >header, + >footer { + width: 100vw; + } + + >main { + flex: 1 1 auto; + flex-direction: column; + } + + >.menu { + flex-direction: row; + margin: 2em 0; + padding: 0; + justify-content: center; + align-items: center; + + >li { + list-style: none; + flex-wrap: wrap; + padding: 0.5em; + border: 0.1em; + border-color: black; + border-style: solid; + } + } + + >.menu, + >main { + max-width: 90vw; + display: flex; + + >* { + margin: 0; + margin-bottom: 2em; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + margin-left: auto; + margin-right: auto; + } + } + + >header, + >footer, + >.menu { + flex: 0 min-content; + } + + >div.colorscheme { + display: none; + } + + &.interactive>div.colorscheme { + display: flex; + flex-direction: column; + } +} + +.colorscheme { + position: fixed; + top: 0; + right: 0; + + >input[type=radio] { + display: none; + + &:checked+label { + background-color: red; + } + + &+label { + background-color: green; + } + } + + .icon, + label { + display: block; + height: 3em; + width: 3em; + } +} + +.icon { + height: 1em; + width: 1em; + stroke-width: 5; + stroke-linecap: round; +} + +form { + display: grid; + grid-template-columns: min-content auto; + column-gap: 1em; + row-gap: 0.5em; + + input[type="submit"] { + grid-column: 1 / 3; + } +} + +span { + &.euphemsimus { + font-style: italic; + + &::before { + content: open-quote; + } + + &::after { + content: close-quote; + } + } +} \ No newline at end of file diff --git a/themes/meins/assets/img/symbols.svg b/themes/meins/assets/img/symbols.svg new file mode 100644 index 0000000..2ef5b27 --- /dev/null +++ b/themes/meins/assets/img/symbols.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + A + + \ No newline at end of file diff --git a/themes/meins/assets/js/index.ts b/themes/meins/assets/js/index.ts new file mode 100644 index 0000000..c392d2f --- /dev/null +++ b/themes/meins/assets/js/index.ts @@ -0,0 +1,82 @@ + +class Storage { + enabled: boolean + constructor() { + try { + if (localStorage) { + localStorage.setItem("__test", "") + localStorage.removeItem("__test") + this.enabled = true + console.debug("localstorage enabled") + } + } catch { + console.debug("Local storage not available") + } + } + set(key: string, value: any): void { + if (this.enabled) { + try { + localStorage.setItem(key, JSON.stringify(value)) + } catch { + } + } + } + get(key: string, _default: any = null): any { + if (this.enabled) { + try { + let value = localStorage.getItem(key); + if (value !== null) { + return JSON.parse(value) + } + } catch { + } + } + return _default; + } +} + +var storage = new Storage(); + + + + +function settheme(theme: string): EventListener { + let body = document.getElementsByTagName("body")[0] + let classes = new Set(["dark", "black", "light"]) + classes.delete(theme) + return function () { + console.info("Overriding theme to", theme) + body.classList.remove(...classes) + if (theme !== "auto") { + if (!body.classList.contains(theme)) { + body.classList.add(theme) + } + } + storage.set("theme", theme) + } +} + +function init() { + let theme_elems = document.getElementsByClassName("theme") + let themeconfig: string = storage.get("theme", "auto") + for (let i = 0; i < theme_elems.length; i++) { + let theme_el = theme_elems.item(i) as HTMLInputElement + if (theme_el !== null) { + let theme = settheme(theme_el.id) + if (themeconfig === theme_el.id) { + theme(new Event("change")) + console.log(typeof theme_el, theme_el) + theme_el.select() + } + theme_el.addEventListener("change", theme) + console.info("added event to ", theme_el, "for theme", theme_el.id) + } + } + let body = document.getElementsByTagName("body")[0] + body.classList.add("interactive") +} + + +export { + init, +} \ No newline at end of file diff --git a/themes/meins/i18n/de.toml b/themes/meins/i18n/de.toml new file mode 100644 index 0000000..1297947 --- /dev/null +++ b/themes/meins/i18n/de.toml @@ -0,0 +1,2 @@ +schule = "Schule" +arbeit = "Bisherige Arbeitsplätze" \ No newline at end of file diff --git a/themes/meins/layouts/_default/baseof.html b/themes/meins/layouts/_default/baseof.html new file mode 100644 index 0000000..d4a1248 --- /dev/null +++ b/themes/meins/layouts/_default/baseof.html @@ -0,0 +1,54 @@ + + + + + {{- $sourcemap := "" -}} + {{- if not hugo.IsProduction -}} + {{- $sourcemap = "inline" -}} + {{- end -}} + {{- $cssoptions := (dict "outputStyle" "compressed" "enableSourceMap" (not hugo.IsProduction)) + -}} + {{- $jsoptions := (dict "minify" (not hugo.IsProduction) "format" "esm" "sourceMap" $sourcemap ) -}} + {{- $scss := resources.Get "css/style.scss" | toCSS $cssoptions | fingerprint "sha512" -}} + {{- $module := resources.Get "js/index.ts" | js.Build $jsoptions | fingerprint "sha512" -}} + + + + {{.Title}} + + + {{- range (slice "description" ) -}} + {{- $header := . -}} + {{- if in $.Params $header -}} + + {{- end -}} + {{- end -}} + + +
+ + + {{ range (slice "light" "dark" "black") }} + + + {{ end }} +
+
+ {{ if .Site.Menus.main }} + + {{ end }} +
{{ block "main" . }} + {{ .Content }} + {{ end }}
+ + + \ No newline at end of file diff --git a/themes/meins/layouts/_default/list.html b/themes/meins/layouts/_default/list.html new file mode 100644 index 0000000..3b0bcae --- /dev/null +++ b/themes/meins/layouts/_default/list.html @@ -0,0 +1,22 @@ +{{ define "main" }} +
+

{{ .Title }}

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

{{ .Title }}

+ {{ .Render "Summary"}} +
+
+{{ end }} + +{{ end }} \ No newline at end of file diff --git a/themes/meins/layouts/_default/single.html b/themes/meins/layouts/_default/single.html new file mode 100644 index 0000000..f752ee3 --- /dev/null +++ b/themes/meins/layouts/_default/single.html @@ -0,0 +1,3 @@ +{{ define "main" }} +{{ .Content }} +{{ end }} \ No newline at end of file diff --git a/themes/meins/layouts/index.html b/themes/meins/layouts/index.html new file mode 100644 index 0000000..f752ee3 --- /dev/null +++ b/themes/meins/layouts/index.html @@ -0,0 +1,3 @@ +{{ define "main" }} +{{ .Content }} +{{ end }} \ No newline at end of file diff --git a/themes/meins/layouts/partials/icon.html b/themes/meins/layouts/partials/icon.html new file mode 100644 index 0000000..f6b3e21 --- /dev/null +++ b/themes/meins/layouts/partials/icon.html @@ -0,0 +1,12 @@ + +{{ $icon := resources.Get "img/symbols.svg" | fingerprint }} + + + \ No newline at end of file diff --git a/themes/meins/layouts/shortcodes/date.html b/themes/meins/layouts/shortcodes/date.html new file mode 100644 index 0000000..88cb9e4 --- /dev/null +++ b/themes/meins/layouts/shortcodes/date.html @@ -0,0 +1,14 @@ + +{{ $t := .Get 0 | time }} +{{ $format := .Get 1 }} + \ No newline at end of file diff --git a/themes/meins/layouts/shortcodes/hervorhebung.html b/themes/meins/layouts/shortcodes/hervorhebung.html new file mode 100644 index 0000000..f3ded11 --- /dev/null +++ b/themes/meins/layouts/shortcodes/hervorhebung.html @@ -0,0 +1,6 @@ +{{ $class := .Get 0 }} +{{ if .Get 1 }} + +{{ end }} +{{ .Inner }} +{{ if .Get 1 }}{{ end }} \ No newline at end of file diff --git a/themes/meins/layouts/shortcodes/lebenslauf.html b/themes/meins/layouts/shortcodes/lebenslauf.html new file mode 100644 index 0000000..4a7031a --- /dev/null +++ b/themes/meins/layouts/shortcodes/lebenslauf.html @@ -0,0 +1,46 @@ + +{{ $data := .Site.Data.lebenslauf }} +

{{ i18n "schule" }}

+{{ if $data.schule }} + + {{ range sort $data.schule "von" "asc" }} + + + + {{ if index . "kommentar" }} + + {{ end}} + + {{ end }} +
{{ index . "name" }} bis {{ index . "kommentar" }}
+{{ end }} +

{{ i18n "arbeit" }}

+{{ if $data.arbeit }} + + {{ range sort $data.arbeit "von" "asc" }} + + + {{ $bis := index . "bis" }} + {{ $bisd := now }} + {{ if (ne $bis "HEUTE") }} + {{ $bisd = $bis | time }} + {{ end }} + + + {{ if index . "kommentar" }} + + {{ end}} + + {{ end }} +
{{ index . "firma" }}{{ index . "job"}}{{ index . "von" | time | time.Format "January 2006" }} bis {{ $bisd | time.Format "January 2006" }}{{ index . "kommentar" }}
+{{ end }} diff --git a/themes/meins/lebenslauf.xsd b/themes/meins/lebenslauf.xsd new file mode 100644 index 0000000..cb0a93e --- /dev/null +++ b/themes/meins/lebenslauf.xsd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/meins/theme.toml b/themes/meins/theme.toml new file mode 100644 index 0000000..d6e5b6d --- /dev/null +++ b/themes/meins/theme.toml @@ -0,0 +1,15 @@ +# theme.toml template for a Hugo theme +# See https://github.com/gohugoio/hugoThemes#themetoml for an example + +name = "Meins" +license = "MIT" +licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE" +description = "" +homepage = "http://example.com/" +tags = [] +features = [] +min_version = "0.41.0" + +[author] + name = "" + homepage = ""