current status
Dieser Commit ist enthalten in:
Commit
17f405192f
|
@ -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
|
|
@ -0,0 +1,3 @@
|
||||||
|
public
|
||||||
|
.hugo_build.lock
|
||||||
|
resources/_gen
|
|
@ -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
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: Lebenslauf
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
weight: 100
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
{{% lebenslauf %}}
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: Home
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
weight: -1
|
||||||
|
---
|
||||||
|
# Hallo
|
||||||
|
Hallo
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: "Blog"
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
BLA BLA BLA
|
|
@ -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
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
title: "Impressum"
|
||||||
|
date: 2022-06-19T18:17:34+02:00
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
weight: 1000
|
||||||
|
_build:
|
||||||
|
list: never
|
||||||
|
---
|
||||||
|
|
||||||
|
# Impressum
|
|
@ -0,0 +1,39 @@
|
||||||
|
<lebenslauf>
|
||||||
|
<schule>
|
||||||
|
<name>Realstufe der Anne-Frank-Schule Fritzlar</name>
|
||||||
|
<von>2010-08-01</von>
|
||||||
|
<bis>2013-07-31</bis>
|
||||||
|
</schule>
|
||||||
|
<schule>
|
||||||
|
<name>Höhere Handelsschule an der Reichspräsident Friedrich Ebert Schule Fritzlar</name>
|
||||||
|
<von>2013-08-01</von>
|
||||||
|
<bis>2014-07-01</bis>
|
||||||
|
</schule>
|
||||||
|
<arbeit>
|
||||||
|
<firma>Berufsbildungswerk Südhessen gGmbH</firma>
|
||||||
|
<job>Teilnehmer Brufsvorbeitende Maßnahme</job>
|
||||||
|
<von>2014-09-01</von>
|
||||||
|
<bis>2015-08-01</bis>
|
||||||
|
</arbeit>
|
||||||
|
<arbeit>
|
||||||
|
<firma>Berufsbildungswerk Südhessen gGmbH</firma>
|
||||||
|
<job>Auszubildender Fachinformatiker für Systemintegration</job>
|
||||||
|
<von>2015-08-01</von>
|
||||||
|
<bis>2018-06-01</bis>
|
||||||
|
</arbeit>
|
||||||
|
<arbeit>
|
||||||
|
<firma>ANG GmbH</firma>
|
||||||
|
<job>Fachinformatiker für Systemintegration</job>
|
||||||
|
<von>2015-10-01</von>
|
||||||
|
<bis>HEUTE</bis>
|
||||||
|
</arbeit>
|
||||||
|
<fähigkeit>
|
||||||
|
<name>Golang</name>
|
||||||
|
<framework></framework>
|
||||||
|
</fähigkeit>
|
||||||
|
<fähigkeit>
|
||||||
|
<name>Python</name>
|
||||||
|
<framework>Flask</framework>
|
||||||
|
<framework>Django</framework>
|
||||||
|
</fähigkeit>
|
||||||
|
</lebenslauf>
|
|
@ -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
|
|
@ -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=
|
Binäre Datei nicht angezeigt.
Nachher Breite: | Höhe: | Größe: 70 B |
|
@ -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.
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
# {{ replace .Name "-" " " | title }}
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: false
|
||||||
|
---
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg class="icons" version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g id="light">
|
||||||
|
<circle cx="50" cy="50" stroke="#ffffff" fill="none" r="30" id="lightcircle" />
|
||||||
|
<line x1="50" y1="20" x2="50" y2="10" stroke="#ffffff" id="n" />
|
||||||
|
<line x1="20" y1="50" x2="10" y2="50" stroke="#ffffff" id="w" />
|
||||||
|
<line x1="90" y1="50" x2="80" y2="50" stroke="#ffffff" id="e" />
|
||||||
|
<line x1="50" y1="90" x2="50" y2="80" stroke="#ffffff" id="s" />
|
||||||
|
<line x1="21.92" y1="21.92" x2="28.72" y2="28.72" stroke="#ffffff" id="nw" />
|
||||||
|
<line x1="71.27" y1="28.72" x2="78.07" y2="21.92" stroke="#ffffff" id="ne" />
|
||||||
|
<line x1="21.92" y1="78.07" x2="28.72" y2="71.27" stroke="#ffffff" id="sw" />
|
||||||
|
<line x1="78.07" y1="78.07" x2="71.27" y2="71.27" stroke="#ffffff" id="se" />
|
||||||
|
</g>
|
||||||
|
<g id="dark">
|
||||||
|
<path d="m 50,20 a 30,30 0 0 0 0,60 Q 10,50 50,20" stroke="#000000" />
|
||||||
|
</g>
|
||||||
|
<g id="black">
|
||||||
|
<circle cx="50" cy="50" fill="#000000" stroke="#000000" r="30" />
|
||||||
|
</g>
|
||||||
|
<g id="auto">
|
||||||
|
<circle cx="50" cy="50" stroke="#ffffff" fill="none" r="30" id="autocircle" />
|
||||||
|
<text x="50" y="50" text-anchor="middle" font-size="55" font-family="sans-serif" dominant-baseline="middle" fill="#ffffff">A</text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
Nachher Breite: | Höhe: | Größe: 1.3 KiB |
|
@ -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,
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
schule = "Schule"
|
||||||
|
arbeit = "Bisherige Arbeitsplätze"
|
|
@ -0,0 +1,54 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
{{- $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" -}}
|
||||||
|
<link rel="stylesheet" href="{{ $scss.RelPermalink }}" integrity="{{ $scss.Data.Integrity}}">
|
||||||
|
<script name="/main" type="module" src="{{ $module.RelPermalink }}" integrity="{{ $module.Data.Integrity }}"></script>
|
||||||
|
<script type="module">
|
||||||
|
import { init } from "{{ $module.RelPermalink }}";
|
||||||
|
init();
|
||||||
|
</script>
|
||||||
|
<title>{{.Title}}</title>
|
||||||
|
<meta name="referrer" content="no-referrer">
|
||||||
|
<meta name="color-scheme" content="light dark black">
|
||||||
|
{{- range (slice "description" ) -}}
|
||||||
|
{{- $header := . -}}
|
||||||
|
{{- if in $.Params $header -}}
|
||||||
|
<meta name="{{ $header }}" content="{{ .Param $header }}">
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div role="none" class="colorscheme">
|
||||||
|
<input class="theme" id="auto" selected type="radio" name="colorscheme">
|
||||||
|
<label for="auto">{{ partial "icon" "auto" }}</label>
|
||||||
|
{{ range (slice "light" "dark" "black") }}
|
||||||
|
<input class="theme" id="{{ . }}" type="radio" name="colorscheme">
|
||||||
|
<label for="{{ . }}">{{ partial "icon" . }}</label>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
<header></header>
|
||||||
|
{{ if .Site.Menus.main }}
|
||||||
|
<ul role="navigation" aria-label="Main" class="menu">
|
||||||
|
{{ range .Site.Menus.main }}
|
||||||
|
<li>
|
||||||
|
<a href="{{.URL}}">{{ .Name}}</a>
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
||||||
|
<main>{{ block "main" . }}
|
||||||
|
{{ .Content }}
|
||||||
|
{{ end }}</main>
|
||||||
|
<footer>{{ block "footer" . }}{{ end }}</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,22 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<div>
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{.Content}}
|
||||||
|
</div>
|
||||||
|
{{ range .Paginator.Pages }}
|
||||||
|
<a alt="" href="{{.Permalink}}">
|
||||||
|
<article>
|
||||||
|
<h2>{{ .Title }}</h2>
|
||||||
|
{{ .Render "Summary"}}
|
||||||
|
</article>
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
<nav aria-label="Page Navigation">
|
||||||
|
{{ if .Paginator.HasPrev }}
|
||||||
|
<a href="{{ .Paginator.Prev.URL }}">Vorherige Seite</a>
|
||||||
|
{{ end }}
|
||||||
|
{{ if .Paginator.HasNext }}
|
||||||
|
<a href="{{ .Paginator.Next.URL }}">Nächste Seite</a>
|
||||||
|
{{ end }}
|
||||||
|
</nav>
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ .Content }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ .Content }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!--
|
||||||
|
Icon shortcut
|
||||||
|
Params:
|
||||||
|
icon
|
||||||
|
Example: {{/*
|
||||||
|
{{% icon "icon" %}}
|
||||||
|
*/}}
|
||||||
|
-->
|
||||||
|
{{ $icon := resources.Get "img/symbols.svg" | fingerprint }}
|
||||||
|
<svg class="icon" viewBox="0 0 100 100">
|
||||||
|
<use xlink:href="{{ $icon.RelPermalink }}#{{ . }}" />
|
||||||
|
</svg>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<!--
|
||||||
|
date renderer
|
||||||
|
Params:
|
||||||
|
date
|
||||||
|
Creates a lightSlider on your page, call it with: {{/*
|
||||||
|
{{% lightslider name="<your-slider-name>" url="<url_or_path-to-your-slider.json" [includejs="true"] %}}
|
||||||
|
*/}}
|
||||||
|
Example: {{/*
|
||||||
|
{{% date "2006-01-02" "2. Jan" %}}
|
||||||
|
*/}}
|
||||||
|
-->
|
||||||
|
{{ $t := .Get 0 | time }}
|
||||||
|
{{ $format := .Get 1 }}
|
||||||
|
<time datetime="{{ time.Format "2006-01-02" $t }}">{{ time.Format $format $t }}</time>
|
|
@ -0,0 +1,6 @@
|
||||||
|
{{ $class := .Get 0 }}
|
||||||
|
{{ if .Get 1 }}
|
||||||
|
<span class="{{ .Get 1 }}">
|
||||||
|
{{ end }}
|
||||||
|
<span title="{{ .Get 0 | title }}" class="{{ $class }}" >{{ .Inner }}</span>
|
||||||
|
{{ if .Get 1 }}</span>{{ end }}
|
|
@ -0,0 +1,46 @@
|
||||||
|
<!--
|
||||||
|
Lebenslauf renderer
|
||||||
|
Params:
|
||||||
|
file=The datafile
|
||||||
|
Creates a lightSlider on your page, call it with: {{/*
|
||||||
|
{{% lightslider name="<your-slider-name>" url="<url_or_path-to-your-slider.json" [includejs="true"] %}}
|
||||||
|
*/}}
|
||||||
|
Example: {{/*
|
||||||
|
{{% lebenslauf %}}
|
||||||
|
*/}}
|
||||||
|
-->
|
||||||
|
{{ $data := .Site.Data.lebenslauf }}
|
||||||
|
<h2>{{ i18n "schule" }}</h2>
|
||||||
|
{{ if $data.schule }}
|
||||||
|
<table>
|
||||||
|
{{ range sort $data.schule "von" "asc" }}
|
||||||
|
<tr>
|
||||||
|
<td>{{ index . "name" }}</td>
|
||||||
|
<td><time datetime="{{ index . "von" }}">{{ index . "von" | time | time.Format "January 2006" }}</time> bis <time datetime="{{ index . "bis" }}">{{ index . "bis" | time | time.Format "January 2006" }}</time></td>
|
||||||
|
{{ if index . "kommentar" }}
|
||||||
|
<td>{{ index . "kommentar" }}</td>
|
||||||
|
{{ end}}
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
</table>
|
||||||
|
{{ end }}
|
||||||
|
<h2>{{ i18n "arbeit" }}</h2>
|
||||||
|
{{ if $data.arbeit }}
|
||||||
|
<table>
|
||||||
|
{{ range sort $data.arbeit "von" "asc" }}
|
||||||
|
<tr>
|
||||||
|
<td>{{ index . "firma" }}</td>
|
||||||
|
{{ $bis := index . "bis" }}
|
||||||
|
{{ $bisd := now }}
|
||||||
|
{{ if (ne $bis "HEUTE") }}
|
||||||
|
{{ $bisd = $bis | time }}
|
||||||
|
{{ end }}
|
||||||
|
<td>{{ index . "job"}}</td>
|
||||||
|
<td>{{ index . "von" | time | time.Format "January 2006" }} bis {{ $bisd | time.Format "January 2006" }}</td>
|
||||||
|
{{ if index . "kommentar" }}
|
||||||
|
<td>{{ index . "kommentar" }}</td>
|
||||||
|
{{ end}}
|
||||||
|
</tr>
|
||||||
|
{{ end }}
|
||||||
|
</table>
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,47 @@
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
|
||||||
|
<xs:element name="lebenslauf">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="schule" />
|
||||||
|
<xs:element ref="arbeit" />
|
||||||
|
<xs:element ref="fähigkeit"/>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="schule">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="von" type="xs:date" />
|
||||||
|
<xs:element ref="bis" />
|
||||||
|
<xs:element name="name" type="xs:string" />
|
||||||
|
<xs:element name="kommentar" minOccurs="0" maxOccurs="1"/>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="arbeit">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:all>
|
||||||
|
<xs:element name="von" type="xs:date" />
|
||||||
|
<xs:element ref="bis" />
|
||||||
|
<xs:element name="firma" type="xs:string" />
|
||||||
|
<xs:element name="job" type="xs:string" />
|
||||||
|
<xs:element name="kommentar" minOccurs="0" maxOccurs="1"/>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:simpleType name="datum">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="HEUTE|[0-9]{4}-[0-9]{2}-[0-9]{2}" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:element name="bis" type="datum" />
|
||||||
|
<xs:element name="fähigkeit">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="name" type="xs:string" />
|
||||||
|
<xs:element name="framework" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xs:element name="kommentar" minOccurs="0" maxOccurs="1"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
|
@ -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 = ""
|
Laden…
In neuem Issue referenzieren