From ef2f31e38c0057e6bccccbcddf0a933b07b54887 Mon Sep 17 00:00:00 2001 From: lauralani Date: Fri, 1 Sep 2023 11:02:21 +0200 Subject: [PATCH] small redesign =) --- assets/scss/style.scss | 83 +++++++++--------- .../2021/issues-with-docker-swarm-on-esxi.md | 21 +++++ content/blog/_index.md | 7 ++ content/projects/_index.md | 5 ++ content/projects/erisi.md | 2 + hugo.yaml | 7 +- layouts/_default/list.html | 26 ------ layouts/_default/section.html | 14 +++ layouts/partials/head/styling.html | 3 +- static/fonts/kreon-v37-latin-regular.woff2 | Bin 0 -> 15120 bytes 10 files changed, 99 insertions(+), 69 deletions(-) create mode 100644 content/blog/2021/issues-with-docker-swarm-on-esxi.md create mode 100644 content/blog/_index.md create mode 100644 content/projects/_index.md delete mode 100644 layouts/_default/list.html create mode 100644 layouts/_default/section.html create mode 100644 static/fonts/kreon-v37-latin-regular.woff2 diff --git a/assets/scss/style.scss b/assets/scss/style.scss index c6d27e3..db55ce5 100644 --- a/assets/scss/style.scss +++ b/assets/scss/style.scss @@ -1,10 +1,12 @@ -$body-font-color: #d3d3d3; +$body-font-color: #ffffff; +/* old: #d3d3d3 */ $background-color: #212121; $link-font-color: #1492FF; $heading-font-color: #FF85B8; $code-font-color: #a4c0f4; $special-font-color: #c2f486; $main-font-family: 'Open Sans', sans-serif; +$heading-font-family: 'Kreon', serif; $min-device-width: 940px; @font-face { @@ -15,12 +17,20 @@ $min-device-width: 940px; src: url('/fonts/open-sans-v35-latin-regular.woff2') format('woff2'); } +@font-face { + font-display: swap; + font-family: 'Kreon'; + font-style: normal; + font-weight: 400; + src: url('/fonts/kreon-v37-latin-regular.woff2') format('woff2'); +} + + a { margin: 0; padding: 0; border: 0; - font: inherit; vertical-align: baseline; text-decoration: none; color: $link-font-color; @@ -34,7 +44,6 @@ body { margin: 0; padding: 0; border: 0; - font: inherit; vertical-align: baseline; font-family: $main-font-family; font-size: 1.4em; @@ -49,67 +58,45 @@ content h1 { margin: 0; padding: 0; border: 0; - font: inherit; + font-family: $heading-font-family; font-size: 1.5em; vertical-align: baseline; line-height: 100%; margin-top: 2rem; margin-bottom: 1rem; color: $heading-font-color; - /* - - &:before { - content: "# "; - content: "# " / ""; - } - - &:after { - content: "-----"; - content: "-----" / ""; - display: block; - } - */ } content h2 { margin: 0; padding: 0; border: 0; - font: inherit; + font-size: 1.3em; + font-family: $heading-font-family; vertical-align: baseline; line-height: 100%; margin-top: 2rem; margin-bottom: 1rem; color: $heading-font-color; - - &:before { - content: "## "; - content: "## " / ""; - } } content h3 { margin: 0; padding: 0; border: 0; - font: inherit; + font-family: $heading-font-family; 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; } @@ -119,7 +106,6 @@ content { padding: 0; border: 0; padding-left: 10px; - font: inherit; vertical-align: baseline; } @@ -133,7 +119,6 @@ content p { margin: 0; padding: 0; border: 0; - font: inherit; vertical-align: baseline; margin-bottom: .75rem; @@ -148,7 +133,6 @@ content span { margin: 0; padding: 0; border: 0; - font: inherit; vertical-align: baseline; } @@ -156,7 +140,6 @@ content strong { margin: 0; padding: 0; border: 0; - font: inherit; vertical-align: baseline; font-weight: 700; color: $heading-font-color; @@ -166,7 +149,6 @@ content u { margin: 0; padding: 0; border: 0; - font: inherit; vertical-align: baseline; } @@ -174,7 +156,6 @@ content ul { margin: 0; padding: 0; border: 0; - font: inherit; vertical-align: baseline; list-style-type: none; margin-left: 1rem; @@ -199,6 +180,10 @@ content .special { font-style: normal; } +content pre>code { + font-family: monospace; +} + a.disabled { pointer-events: none; text-decoration: none; @@ -222,9 +207,19 @@ a.disabled { content code { line-break: anywhere; + overflow-wrap: anywhere; + word-wrap: break-word; + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; } nav { + font-family: $heading-font-family; + padding-bottom: 5px !important; + .hero-text { text-align: center !important; font-weight: bold; @@ -233,7 +228,7 @@ a.disabled { .float-right, .float-left { float: none !important; - margin: 0; + margin: 0 !important; a { text-align: center; @@ -258,7 +253,8 @@ nav { overflow: hidden; border-bottom: 1px solid $body-font-color; margin-bottom: 30px; - padding: 0 10px 10px; + padding: 0 10px; + font-family: $heading-font-family; div { margin-left: 15px; @@ -267,7 +263,6 @@ nav { a { padding: 0; border: 0; - font: inherit; } .nav-link { @@ -282,6 +277,7 @@ nav { .float-right { float: right; + margin-top: 16px; } .float-left { @@ -292,7 +288,6 @@ nav { font-size: 1.5em; margin: 0; padding: 0; - font: inherit; text-decoration: none; a { @@ -305,7 +300,15 @@ nav { footer { overflow: hidden; - > div { + + >div { float: left; } +} + +.section-page-item { + >time { + color: gray; + font-size: 90%; + } } \ No newline at end of file diff --git a/content/blog/2021/issues-with-docker-swarm-on-esxi.md b/content/blog/2021/issues-with-docker-swarm-on-esxi.md new file mode 100644 index 0000000..cfc4f39 --- /dev/null +++ b/content/blog/2021/issues-with-docker-swarm-on-esxi.md @@ -0,0 +1,21 @@ +--- +title: "Issues with Docker Swarm on ESXi" +description: "How to make Docker Swarm work with Nodes on ESXi" +publishdate: "2021-04-20" +--- + +I once tried to set up a Docker Swarm Cluster. I had three nodes, two on Proxmox hosts, and one on a ESXi 7 host. The nodes had a GlusterFS sdtorage attached to them which synced data to all three nodes so containers could be started on any node. + +Everything worked wonderfully. Until I found out that some Containers couldn't talk to others. + +Off to troubleshooting then. It seemed very sporadic, with communication working most of the time somehow. I tried some things, until I found out that it only happens if a container on the ESXi node tried to talk to others on the Proxmox nodes. + +After _A LOT_ of googling and searching many a reddit thread I finally found out why: +It seems like ESXi, even when in standalone mode, silently drops packets on `udp/4789`, which apparently is VMWares `VTEP VXLAN Port for NSX-T`. + +The fix for the Swarm cluster is to (re-)create the Swarm Cluster with `--data-path-port=xxxx`: +``` +docker swarm init --data-path-port=(port that's not 4789) +``` + +Afterwards all communication works again 🎉 \ No newline at end of file diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..dc88fcf --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,7 @@ +--- +title: My Blog 🌸 +description: "Lauras Blog" +--- +I'll be posting about random stuff here :3 IT, Politics, Love... + +## Latest posts \ No newline at end of file diff --git a/content/projects/_index.md b/content/projects/_index.md new file mode 100644 index 0000000..e7d58f2 --- /dev/null +++ b/content/projects/_index.md @@ -0,0 +1,5 @@ +--- +title: Projects +description: "Lauras Projects" +--- +Here you can see all of my project documentations and ideas ✨ \ No newline at end of file diff --git a/content/projects/erisi.md b/content/projects/erisi.md index a0b3bcf..758ecaf 100644 --- a/content/projects/erisi.md +++ b/content/projects/erisi.md @@ -1,6 +1,8 @@ --- title: "erisi: A self-hosted static site server" description: "Project outline page for erisi. erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc... written in Go and utilizing Caddy and it's ACME capabilities." +summary: Project outline page for erisi. erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc... written in Go and utilizing Caddy and it's ACME capabilities. +publishdate: "2023-08-30" --- ## Summary diff --git a/hugo.yaml b/hugo.yaml index fcd9c4c..5ba13ed 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -7,10 +7,13 @@ params: menu: main: + - name: Blog + pageRef: /blog + weight: 1 - name: Portfolio pageRef: /portfolio weight: 2 - - name: Interesting Stuff - pageRef: /interesting-stuff + - name: Projects + pageRef: /projects weight: 3 diff --git a/layouts/_default/list.html b/layouts/_default/list.html deleted file mode 100644 index fe6189c..0000000 --- a/layouts/_default/list.html +++ /dev/null @@ -1,26 +0,0 @@ -{{ define "page" }} -
- {{ if ne .Kind "home" }} - Home - {{ end }} -

{{ .Title }}

- {{ range .Sections }} -

{{ .Title }}

- - {{ end }} -

Other

- -
-{{ end }} \ No newline at end of file diff --git a/layouts/_default/section.html b/layouts/_default/section.html new file mode 100644 index 0000000..a97db82 --- /dev/null +++ b/layouts/_default/section.html @@ -0,0 +1,14 @@ +{{ define "page" }} + +

{{ .Title }}

+

{{ .Content }}

+ {{ range .Pages }} +
+

{{ .Title }}

+ +
{{ .Summary }}
+ Read more → +
+ {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/partials/head/styling.html b/layouts/partials/head/styling.html index b1fdfc6..a48070f 100644 --- a/layouts/partials/head/styling.html +++ b/layouts/partials/head/styling.html @@ -1,3 +1,4 @@ {{ $style := resources.Get "scss/style.scss" | toCSS | minify }} - \ No newline at end of file + + \ No newline at end of file diff --git a/static/fonts/kreon-v37-latin-regular.woff2 b/static/fonts/kreon-v37-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1ea409bb8bfd946deb884febdd34881b111f2127 GIT binary patch literal 15120 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 literal 0 HcmV?d00001