{{ .Title }}
+ {{ range .Sections }} +{{ .Title }}
+-
+ {{ range .Pages }}
+
- + {{ or .Title .RelPermalink }} + + {{ end }} +
Other
+-
+ {{ range .RegularPages }}
+
- + {{ or .Title .RelPermalink }} + + {{ end }} +
diff --git a/.woodpecker/deploy-netlify.yaml b/.woodpecker/deploy-netlify.yaml new file mode 100644 index 0000000..c9817ef --- /dev/null +++ b/.woodpecker/deploy-netlify.yaml @@ -0,0 +1,34 @@ +steps: + build: + image: golang:1.20-bookworm + when: + - event: push + branch: [main, staging] + commands: + - wget https://github.com/gohugoio/hugo/releases/download/v0.116.0/hugo_extended_0.116.0_linux-amd64.deb && apt install ./hugo_extended_0.116.0_linux-amd64.deb && rm -f hugo_extended_0.116.0_linux-amd64.deb + - hugo --minify --destination ./public + + deploy-staging: + image: node:alpine + when: + - event: push + branch: staging + secrets: + - NETLIFY_AUTH_TOKEN + - NETLIFY_SITE_ID + commands: + - npm install netlify-cli -g + - netlify deploy --alias stage --dir ./public + + + deploy-production: + image: node:alpine + when: + - event: push + branch: main + secrets: + - NETLIFY_AUTH_TOKEN + - NETLIFY_SITE_ID + commands: + - npm install netlify-cli -g + - netlify deploy --prod --dir ./public diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/assets/scss/style.scss b/assets/scss/style.scss new file mode 100644 index 0000000..736296c --- /dev/null +++ b/assets/scss/style.scss @@ -0,0 +1,166 @@ +$body-font-color: #c1c1c1; +$link-font-color: #00cccc; +$heading-font-color: #d66388; +$code-font-color: cornflowerblue; +$special-font-color: #c2f486; +$main-font-family: Consolas, monaco, monospace; + +a { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + text-decoration: none; + color: $link-font-color; + &:hover { + text-decoration: underline; + } +} +body { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + font-family: $main-font-family; + font-size: 130%; + line-height: 1.4; + margin: 3% 5%; + max-width: 50em; + background: #303030; + color: $body-font-color; +} +h1 { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + line-height: 100%; + margin-top: 2rem; + margin-bottom: 1rem; + color: $heading-font-color; + &:before { + content: "# "; + content: "# "/ ""; + } + &:after { + content: "-----"; + content: "-----" / ""; + display: block; + } +} +h2 { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + line-height: 100%; + margin-top: 2rem; + margin-bottom: 1rem; + color: $heading-font-color; + &:before { + content: "## "; + content: "## "/ ""; + } +} +h3 { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + line-height: 100%; + margin-top: 2rem; + margin-bottom: 1rem; + color: $heading-font-color; + &:before { + content: "### "; + content: "### "/ ""; + } +} +html { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} +li { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} +p { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + margin-bottom: .75rem; + >code { + font: unset; + font-family: $main-font-family; + color: $code-font-color; + } +} +span { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} +strong { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + font-weight: 700; + color: $heading-font-color; + &:before { + content: "*"; + content: "*" / ""; + } + &:after { + content: "*"; + content: "*" / ""; + } +} +u { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} +ul { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + list-style-type: none; + margin-left: 1rem; + >li { + &:before { + content: "-"; + position: absolute; + margin-left: -1.1rem; + } + } +} +code { + font: unset; + font-family: $main-font-family; + color: $code-font-color; +} +.special { + color: $special-font-color; + font-style: normal; +} diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..3de3b74 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,55 @@ +--- +date: 2023-08-07T08:58:15+02:00 +--- + +Hi, my name is `Laura Kalb` and I (literally) do things on the internet. + +## About me +I'm a network engineer, with a pretty mixed technical background. I started my career in software development, and then +moved on to be a sysadmin with main emphasis on linux environments. Afterwards, I was a mix of network engineer and site +reliability engineer. Now I'm responsible for the network infrastructure at a big datacenter provider. Currently I'm +primarily working on network automation and our internal network infrastructure, and I'm playing a lot with the Golang +programming language =). + + +## Some nice stuff +A list of **tools**, **projects** and **fun stuff** that I already +have worked on or that I want to work on in the future. + +- [A list of awesome stuff curated by me!](/interesting-stuff) +- building my own IPAM with [Go](https://go.dev/). Source: [https://codeberg.org/lauralani/ipam](https://codeberg.org/lauralani/ipam) +- My own URL Shortener with Go. Source: [https://codeberg.org/lauralani/go-urlsh](https://codeberg.org/lauralani/go-urlsh) +- hosting my own mail with [mailcow](https://mailcow.email/) +- managing my public domains via Infrastructure as Code with Git, CI/CD and [OctoDNS](https://github.com/octodns/octodns) +- wrote my own [DynDNS-Tool](https://codeberg.org/lauralani/dyndns-script) in Python (supports Azure DNS and OVH) +- Automated my home WIFI with radius assigned VLANs via Freeradius and custom frontend (Will be open sourced soon) +- Some minor other projects: + - [OVH ApiKey Manager](https://codeberg.org/lauralani/ovh-apikey-manager) + + +Notepad +My list of awesome technologies I want to implement soon: +- [Garage](https://garagehq.deuxfleurs.fr/): A S3-compatible storage (for selfhosting static websites like this one) + +## Books +I always loved to read as many books as I can. So here I'm listing the books I've read since I started this webpage, +including a rating and short description. These are the last few books I've rated: + +Soon + +## Contact +Some ways to contact me: +- @lauralani@lila.network +- mail (at) (this domain) [(PGP and S/MIME Keys)](/encryption) +- matrix: @lauralani:matrix.org or @lauralani:lila.network +- [LinkedIn](https://www.linkedin.com/in/laura-kalb/) +- [XING](https://www.xing.com/profile/Laura_Kalb3/) + +## About this website +This website is open source and hosted at [Codeberg e.V.](https://codeberg.org/lauralani/www-lauka-net). It's an entirely static webpage generated with [{{< hugo-version >}}](https://gohugo.io/) and hosted with Netlify. + +This page makes due without any cookies, frontend javascript, tracking and databases in the effort to make the web quick and usable again :) + +This page was last updated at {{< last-updated >}} + +Copyright (c) Laura Kalb 2021-{{< copyright-date >}} - [Impressum und Datenschutzerklärung](/impressum.html) \ No newline at end of file diff --git a/hugo.yaml b/hugo.yaml new file mode 100644 index 0000000..1c1a7b1 --- /dev/null +++ b/hugo.yaml @@ -0,0 +1,3 @@ +baseURL: http://example.org/ +languageCode: en-us +title: Lauras Website <3 diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..9c249c5 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,91 @@ +--- +permalink: 404.html +--- + + + + +
+ + + +