try hugo and hextra
This commit is contained in:
parent
53efa2c0c4
commit
107b57d299
35 changed files with 300 additions and 479 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -0,0 +1 @@
|
|||
/.hugo_build.lock
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "themes/adidoks"]
|
||||
path = themes/adidoks
|
||||
url = https://github.com/aaranxu/adidoks.git
|
|
@ -1,15 +1,20 @@
|
|||
FROM ghcr.io/getzola/zola:v0.19.2 as builder
|
||||
FROM ghcr.io/gohugoio/hugo:v0.138.0 as builder
|
||||
|
||||
COPY content content
|
||||
COPY static static
|
||||
COPY themes themes
|
||||
COPY templates templates
|
||||
COPY config.toml config.toml
|
||||
RUN [ "/bin/zola", "build" ]
|
||||
COPY --chown=hugo:hugo .git .git
|
||||
COPY --chown=hugo:hugo content content
|
||||
COPY --chown=hugo:hugo data data
|
||||
COPY --chown=hugo:hugo go.mod go.mod
|
||||
COPY --chown=hugo:hugo hugo.yaml hugo.yaml
|
||||
COPY --chown=hugo:hugo i18n i18n
|
||||
COPY --chown=hugo:hugo layouts layouts
|
||||
COPY --chown=hugo:hugo static static
|
||||
COPY --chown=hugo:hugo themes themes
|
||||
RUN [ "/usr/bin/hugo", "mod", "get", "-u" ]
|
||||
RUN [ "/usr/bin/hugo", "build", "--minify" ]
|
||||
|
||||
|
||||
|
||||
FROM docker.io/svenstaro/miniserve:alpine
|
||||
COPY --from=builder /public /data
|
||||
COPY --from=builder /project/public /data
|
||||
|
||||
CMD [ "--index", "index.html", "/data" ]
|
||||
|
|
103
config.toml
103
config.toml
|
@ -1,103 +0,0 @@
|
|||
base_url = "https://wrenix.eu"
|
||||
title = "WrenIX"
|
||||
description = "Der Zaunkönig im Netzwerk"
|
||||
|
||||
compile_sass = true
|
||||
minify_html = true
|
||||
# BROKEN: trimmer.de
|
||||
build_search_index = false
|
||||
|
||||
# theme = "anatole-zola"
|
||||
# theme = "tabi"
|
||||
# theme = "terminimal"
|
||||
theme = "adidoks"
|
||||
|
||||
taxonomies = [
|
||||
# {name = "tags"}
|
||||
{name = "authors" }
|
||||
]
|
||||
|
||||
generate_feeds = true
|
||||
feed_filenames = [ "rss.xml" ]
|
||||
|
||||
default_language = "de"
|
||||
[languages.en]
|
||||
title = "WrenIX"
|
||||
description = "The wren in the network"
|
||||
|
||||
[search]
|
||||
include_title = true
|
||||
# Whether to include the description of the page/section in the index
|
||||
include_description = false
|
||||
include_content = true
|
||||
index_format = "elasticlunr_javascript"
|
||||
|
||||
[markdown]
|
||||
external_links_target_blank = true
|
||||
# Whether to do syntax highlighting
|
||||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||
highlight_code = true
|
||||
# highlight_theme = "base16-ocean-light"
|
||||
|
||||
|
||||
[extra]
|
||||
accent_color = "blue"
|
||||
background_color = "blue"
|
||||
|
||||
logo_text="WrenIX"
|
||||
author="WrenIX"
|
||||
|
||||
page_titles = "main_only"
|
||||
|
||||
timeformat = "%Y-%m-%d"
|
||||
favicon = "/images/avatar.png"
|
||||
favicon_mimetype = "image/png"
|
||||
|
||||
[extra.open]
|
||||
enable = false
|
||||
image = "/images/avatar.png"
|
||||
|
||||
[extra.schema]
|
||||
type = "Person"
|
||||
github = "https://github.com/wrenix"
|
||||
section = "blog"
|
||||
site_links_search_box = true
|
||||
|
||||
[[extra.menu.main]]
|
||||
name="Blog"
|
||||
section="blog"
|
||||
url="/"
|
||||
|
||||
[[extra.menu.main]]
|
||||
name="About Me"
|
||||
section="about"
|
||||
url="about"
|
||||
|
||||
|
||||
[[extra.menu.main]]
|
||||
name="Docs"
|
||||
section="docs"
|
||||
url="docs"
|
||||
|
||||
[[extra.menu.social]]
|
||||
name="RSS"
|
||||
pre='''<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-rss"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg>'''
|
||||
url="/rss.xml"
|
||||
|
||||
[[extra.menu.social]]
|
||||
name="Mastodon"
|
||||
pre='''<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-activity"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>'''
|
||||
url="https://social.chaos.fyi/@wrenix"
|
||||
|
||||
[[extra.menu.social]]
|
||||
name="git"
|
||||
pre='''<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-git-branch"><line x1="6" y1="3" x2="6" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path></svg>'''
|
||||
url="https://codeberg.org/wrenix"
|
||||
|
||||
[extra.footer]
|
||||
info = "© WrenIX"
|
||||
|
||||
[[extra.footer.nav]]
|
||||
name = "Privacy"
|
||||
url = "/privacy-policy/"
|
||||
weight = 10
|
|
@ -1,19 +0,0 @@
|
|||
+++
|
||||
title = "Passwordmanager mit GPG-Key"
|
||||
date = "2023-05-18"
|
||||
template = "blog/page.html"
|
||||
|
||||
[taxonomies]
|
||||
authors = ["me"]
|
||||
#tags = [
|
||||
# "gpg",
|
||||
# "desktop"
|
||||
#]
|
||||
+++
|
||||
|
||||
```
|
||||
pass init 0x7AFDB012974B1BB5
|
||||
pass edit dev/codeberg.org
|
||||
git remote add origin git@codeberg.org:wrenix/password-store.git
|
||||
git push -u origin main
|
||||
```
|
|
@ -1,6 +0,0 @@
|
|||
+++
|
||||
title = "Blog"
|
||||
sort_by = "date"
|
||||
paginate_by = 3
|
||||
template = "blog/section.html"
|
||||
+++
|
|
@ -1,6 +1,14 @@
|
|||
+++
|
||||
title = "Blog"
|
||||
sort_by = "date"
|
||||
paginate_by = 4
|
||||
template = "blog/section.html"
|
||||
+++
|
||||
---
|
||||
title: WrenIX
|
||||
toc: false
|
||||
---
|
||||
|
||||
This is my privat homepage.
|
||||
|
||||
## Explore
|
||||
|
||||
{{< cards >}}
|
||||
{{< card link="blog" title="Blog" icon="newspaper" >}}
|
||||
{{< card link="docs" title="Docs" icon="book-open" >}}
|
||||
{{< card link="about" title="About Me" icon="user" >}}
|
||||
{{< /cards >}}
|
||||
|
|
28
content/about.en.md
Normal file
28
content/about.en.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
title: "About Me"
|
||||
type: about
|
||||
---
|
||||
|
||||
# WrenIX
|
||||
|
||||
I call myself WrenIX.
|
||||
|
||||
I use the small slogan:
|
||||
> The wren in the network.
|
||||
|
||||

|
||||
|
||||
## Contakt
|
||||
|
||||
E-Mail: [contact@wrenix.eu](mailto:contact@wrenix.eu)
|
||||
|
||||
Matrix: [@wrenix:chaos.fyi](https://matrix.to/#/@wrenix:chaos.fyi)
|
||||
|
||||
## Cryptography
|
||||
|
||||
SSH: `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGONGPQ79A9WZ7EwM6vMfBKBkgPD2dsjExFoo2UXyd79 dev@wrenix.eu`
|
||||
* [Download](/keys/ssh.txt)
|
||||
|
||||
GPG-Fingerprint: `B9C3 5FDD 7362 F063 A870 6A2E 7AFD B012 974B 1BB5`
|
||||
* [Armour](/keys/dev.gpg.txt)
|
||||
* [Binary](/keys/dev.gpg.bin)
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "About Me"
|
||||
path = "about"
|
||||
+++
|
||||
---
|
||||
title: "About Me"
|
||||
type: about
|
||||
---
|
||||
|
||||
# WrenIX
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
+++
|
||||
title = "Authors"
|
||||
description = "The authurs of the blog articles."
|
||||
|
||||
# Note: We use quoted keys here.
|
||||
[extra.author_pages]
|
||||
"me" = "authors/wrenix.md"
|
||||
+++
|
||||
|
||||
The authors of the blog articles.
|
|
@ -1,6 +0,0 @@
|
|||
+++
|
||||
title = "About Me"
|
||||
path = "en/about"
|
||||
+++
|
||||
|
||||
# WrenIX
|
|
@ -1,15 +1,14 @@
|
|||
+++
|
||||
title = "eToken und GPG-Key"
|
||||
date = "2023-05-17"
|
||||
template = "blog/page.html"
|
||||
|
||||
[taxonomies]
|
||||
authors = ["me"]
|
||||
# tags = [
|
||||
# "gpg",
|
||||
# "desktop"
|
||||
# ]
|
||||
+++
|
||||
---
|
||||
title: "eToken und GPG-Key"
|
||||
date: "2023-05-17"
|
||||
authors:
|
||||
- name: "me"
|
||||
link: "/about/"
|
||||
image: "/images/avatar.png"
|
||||
tags:
|
||||
- "gpg"
|
||||
- "desktop"
|
||||
---
|
||||
|
||||
Ich nutze den GPG-Key für folgende Funktionen:
|
||||
- SSH-Key (gpg-agent und unter Android [TermBot](https://f-droid.org/en/packages/org.sufficientlysecure.termbot/) der OpenKeyChain Support wurde ersetzt, Gründe gab es mal wurden von der Webseite entfernt)
|
18
content/blog/2023-05-pass.md
Normal file
18
content/blog/2023-05-pass.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: "Passwordmanager mit GPG-Key"
|
||||
date: "2023-05-18"
|
||||
authors:
|
||||
- name: "me"
|
||||
link: "/about/"
|
||||
image: "/images/avatar.png"
|
||||
tags:
|
||||
- "gpg"
|
||||
- "desktop"
|
||||
---
|
||||
|
||||
```
|
||||
pass init 0x7AFDB012974B1BB5
|
||||
pass edit dev/codeberg.org
|
||||
git remote add origin git@codeberg.org:wrenix/password-store.git
|
||||
git push -u origin main
|
||||
```
|
|
@ -1,17 +1,16 @@
|
|||
+++
|
||||
title = "Modernes Logging Konzept"
|
||||
date= "2023-06-22"
|
||||
template = "blog/page.html"
|
||||
|
||||
[taxonomies]
|
||||
authors = ["me"]
|
||||
#tags = [
|
||||
# "k8s",
|
||||
# "kubernetes",
|
||||
# "server",
|
||||
# "logging"
|
||||
#]
|
||||
+++
|
||||
---
|
||||
title: "Modernes Logging Konzept"
|
||||
date: "2023-06-22"
|
||||
authors:
|
||||
- name: "me"
|
||||
link: "/about/"
|
||||
image: "/images/avatar.png"
|
||||
tags:
|
||||
- "k8s"
|
||||
- "kubernetes"
|
||||
- "server"
|
||||
- "logging"
|
||||
---
|
||||
|
||||
- Logging Schema / Format
|
||||
- Collector, Parsen und Transformieren/Filtern
|
|
@ -1,16 +1,15 @@
|
|||
+++
|
||||
title = "Die Zukunft von Matrix"
|
||||
date = "2024-08-28"
|
||||
draft = true
|
||||
template = "blog/page.html"
|
||||
|
||||
[taxonomies]
|
||||
authors = ["me"]
|
||||
# tags = [
|
||||
# "matrix",
|
||||
# "element"
|
||||
# ]
|
||||
+++
|
||||
---
|
||||
title: "Die Zukunft von Matrix"
|
||||
date: "2024-08-28"
|
||||
draft: true
|
||||
authors:
|
||||
- name: "me"
|
||||
link: "/about/"
|
||||
image: "/images/avatar.png"
|
||||
tags:
|
||||
- "matrix"
|
||||
- "element"
|
||||
---
|
||||
|
||||
Zunächst, ich bin eine private Person und stehe nicht in Verbindung zu Element oder der Matrix Foundation.
|
||||
Daher kann ich nicht die Zukunft vorhersagen, sondern lediglich die ganzen Alphas und Betas bewerten und technisch hier einmal zusammensetzen.
|
10
content/blog/_index.md
Normal file
10
content/blog/_index.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
title: "Blog"
|
||||
---
|
||||
|
||||
<div style="text-align: center; margin-top: 1em;">
|
||||
{{< hextra/hero-badge link="index.xml" >}}
|
||||
<span>RSS Feed</span>
|
||||
{{< icon name="rss" attributes="height=14" >}}
|
||||
{{< /hextra/hero-badge >}}
|
||||
</div>
|
|
@ -1,10 +1,9 @@
|
|||
+++
|
||||
title = "Docs"
|
||||
description = "All the documentations from WrenIX projects"
|
||||
sort_by = "weight"
|
||||
weight = 1
|
||||
template = "docs/section.html"
|
||||
+++
|
||||
---
|
||||
title: "Docs"
|
||||
description: "All the documentations from WrenIX projects"
|
||||
sort_by: "weight"
|
||||
weight: 1
|
||||
---
|
||||
|
||||
Kubernetes:
|
||||
* [Helm Charts](helm-charts)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
../../../../flux-charts/README.md
|
|
@ -1,6 +0,0 @@
|
|||
+++
|
||||
title = "FluxCD (Charts)"
|
||||
template = "docs/section.html"
|
||||
sort_by = "weight"
|
||||
weight = 2
|
||||
+++
|
|
@ -1,172 +0,0 @@
|
|||
+++
|
||||
title = "Base"
|
||||
template = "docs/page.html"
|
||||
sort_by = "weight"
|
||||
weight = 3
|
||||
|
||||
[extra]
|
||||
toc = true
|
||||
+++
|
||||
|
||||
This Helm-Chart called base is there to bundle multiple components (helm-charts which maybe deployes another flux-repository).
|
||||
|
||||
## Base-Values
|
||||
On this way, it is possible to use one `values.yaml` to setup multiple-components together or multiple overlapping `values.yaml` (e.g. for staging, stacks and so on).
|
||||
For example, take an look in my xref:infra:index.adoc[Infra] and xref:mycloud:index.adoc[myCloud] stack.
|
||||
|
||||
!!! warning
|
||||
I will do a versioning of this Base Helmchart and every components chart (but not for my default values).
|
||||
This is just for my setups.
|
||||
|
||||
As in Hint, it is possible to use `valuesFrom:` and deploy ConfigMap, see [fluxcd](https://fluxcd.io/flux/components/helm/helmreleases/#values-references).
|
||||
|
||||
### Shared Values
|
||||
|
||||
The values `global:` and `commons:` are down passed into every component values.
|
||||
This values could be overwritten inside the setup of every component `components.<component-name>.global:` or `components.<component-name>.commons:`.
|
||||
|
||||
See also [Components - Values](#values)
|
||||
|
||||
## Components
|
||||
|
||||
The components are an helmchart in the `commons.helm.chart.sourceRef` root.
|
||||
|
||||
Everything else is components specific and could be set under:
|
||||
``` yaml
|
||||
commons:
|
||||
namespace:
|
||||
labels:
|
||||
orgs: example
|
||||
|
||||
helm:
|
||||
release:
|
||||
install:
|
||||
test:
|
||||
upgrade:
|
||||
driftDetection:
|
||||
|
||||
componentCommons:
|
||||
helm:
|
||||
release:
|
||||
interval: 10m
|
||||
|
||||
components:
|
||||
<component-release-name>:
|
||||
enabled: true <1>
|
||||
name: <2>
|
||||
namespace: <3>
|
||||
name:
|
||||
labels:
|
||||
team: my
|
||||
skip_create: false
|
||||
valuesFrom: <4>
|
||||
values: <5>
|
||||
```
|
||||
* <1> install this components (or not)
|
||||
* <2> if set use component by name otherwise component is used by component-release-name
|
||||
* <3> setup namespace, where component is deployed (e.g. name, labels of namespace, skip-create) if not set use namespace of current Base
|
||||
* <4> use `valuesFrom` an `Secret` or `ConfigMap`
|
||||
* <5> use values direct
|
||||
|
||||
### Namespace
|
||||
It is possible to deploy an components into a specific namespace (and create this).
|
||||
|
||||
#### Use existing Namespace
|
||||
``` yaml
|
||||
components:
|
||||
<component-release-name>:
|
||||
namespace:
|
||||
name: "default"
|
||||
skip_create: true
|
||||
```
|
||||
|
||||
#### Same Namespace as Base
|
||||
``` yaml
|
||||
components:
|
||||
<component-release-name>:
|
||||
namespace:
|
||||
name: nil <1>
|
||||
```
|
||||
* <1> or never set this part
|
||||
|
||||
#### New Namespace
|
||||
``` yaml
|
||||
commons:
|
||||
namespace:
|
||||
labels: <1>
|
||||
orgs: example
|
||||
|
||||
components:
|
||||
<component-release-name>:
|
||||
namespace:
|
||||
name: "my-namespace"
|
||||
labels: <2>
|
||||
team: my
|
||||
```
|
||||
* <1> optional with labels on every new namespace by this component-release
|
||||
* <2> optional with labels on this component-release
|
||||
|
||||
### Values
|
||||
There are multiple options to set values of an components.
|
||||
Here in short the four options and order by overwrite priority.
|
||||
``` yaml
|
||||
global: <3>
|
||||
commons: <3>
|
||||
componentCommons:
|
||||
helm:
|
||||
release:
|
||||
valuesFrom: <1>
|
||||
|
||||
components:
|
||||
<component-release-name>:
|
||||
valuesFrom: [] <2>
|
||||
values: <4>
|
||||
```
|
||||
* <1> `valuesFrom` for every components (e.g one or multiple `ConfigMap` or `Secrets`)
|
||||
* <2> `valuesFrom` of a specific component
|
||||
* <3> `global:` or `commons` for every componets
|
||||
* <4> values for a specific component
|
||||
|
||||
#### Adjust Component setup (fluxcd values)
|
||||
|
||||
``` yaml
|
||||
commons: <1>
|
||||
helm:
|
||||
release:
|
||||
install:
|
||||
test:
|
||||
upgrade:
|
||||
driftDetection:
|
||||
|
||||
componentCommons:
|
||||
helm:
|
||||
release: <2>
|
||||
interval: 10m
|
||||
```
|
||||
* <1> is part of commons, for maybe reuse inside of an component-chart.
|
||||
* <2> is part of componentCommons for just use of component use level.
|
||||
|
||||
#### init-Version
|
||||
|
||||
!!! warning
|
||||
Since FluxCD supports driftDetection (with version 2.2) we maybe drop that idea.
|
||||
|
||||
This is a small workaround to setup manifest in later step / rerun an component-chart, as e.g. CRD installation by an HelmRelease which is part of the used Component-Chart.
|
||||
|
||||
.Helper which should be put into the Component-Chart (with Capabilities if every is there to setup / to retries)
|
||||
``` yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-init
|
||||
namespace: "{{ .Values.init.namespace }}"
|
||||
data:
|
||||
{{- if and
|
||||
(.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/PrometheusRule")
|
||||
(.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/ServiceMonitor")
|
||||
}}
|
||||
init: "-1"
|
||||
{{- else }}
|
||||
init: "{{ add1 .Values.init.version }}"
|
||||
{{- end }}
|
||||
```
|
|
@ -1,64 +0,0 @@
|
|||
+++
|
||||
title = "Flux: Get-Started"
|
||||
template = "docs/page.html"
|
||||
sort_by = "weight"
|
||||
weight = 2
|
||||
|
||||
[extra]
|
||||
toc = true
|
||||
+++
|
||||
|
||||
## Install FluxCD into a cluster
|
||||
|
||||
Here i install it with connection to codeberg:
|
||||
|
||||
* the path is just for the cluster
|
||||
* the url a repo where fluxcd (in given path) install itself and monitor
|
||||
* i just install my needed components (i skip notification-controller, i prefer prometheus and alerting)
|
||||
|
||||
```bash
|
||||
flux bootstrap git --components source-controller,kustomize-controller,helm-controller --path=<path> --url ssh://git@codeberg.org/wrenix/<repo>.git
|
||||
```
|
||||
|
||||
### Secure with verify
|
||||
|
||||
Afterwards we need to setup a verification with GPG, so that nobody else could commit any workload in your cluster.
|
||||
That is because i select an public git hosting (here codeberg), i trust them but maybe it get compromised one time.
|
||||
|
||||
in your repository the flux cli has created an `<path>/flux-system/kustomization.yaml`, we will edit them.
|
||||
|
||||
```patch
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- gotk-components.yaml
|
||||
- gotk-sync.yaml
|
||||
|
||||
+patches:
|
||||
+ - target:
|
||||
+ kind: GitRepository
|
||||
+ name: flux-system
|
||||
+ patch: |-
|
||||
+ apiVersion: source.toolkit.fluxcd.io/v1
|
||||
+ kind: GitRepository
|
||||
+ metadata:
|
||||
+ name: flux-system
|
||||
+ spec:
|
||||
+ verify: <1>
|
||||
+ mode: HEAD
|
||||
+ secretRef:
|
||||
+ name: gpg-publickey
|
||||
+
|
||||
+generatorOptions:
|
||||
+ disableNameSuffixHash: true <2>
|
||||
+
|
||||
+secretGenerator:
|
||||
+ - name: gpg-publickey <3>
|
||||
+ namespace: flux-system
|
||||
+ files:
|
||||
+ - gpg-publickey/wrenix.gpg <4>
|
||||
```
|
||||
* <1> add verify, that only HEAD git commit with valide gpg signature is used
|
||||
* <2> on the next generate, do not add hash
|
||||
* <3> generate kubernetes Secret with the name `gpg-publickey` which is used in the patched GitRepository, see <1>
|
||||
* <4> Add list of valide gpg key files
|
|
@ -1 +0,0 @@
|
|||
../../../../helm-charts/README.md
|
|
@ -1,6 +0,0 @@
|
|||
+++
|
||||
title = "Helm Charts"
|
||||
template = "docs/section.html"
|
||||
sort_by = "weight"
|
||||
weight = 1
|
||||
+++
|
|
@ -1 +0,0 @@
|
|||
../../../../helm-charts/gotosocial/README.md
|
|
@ -1 +0,0 @@
|
|||
../../../../helm-charts/home-assistant/README.md
|
2
data/icons.yaml
Normal file
2
data/icons.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
rss: <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-rss"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg>
|
||||
git: <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-git-branch"><line x1="6" y1="3" x2="6" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path></svg>
|
9
go.mod
Normal file
9
go.mod
Normal file
|
@ -0,0 +1,9 @@
|
|||
module wrenix.eu
|
||||
|
||||
go 1.23.2
|
||||
|
||||
require (
|
||||
codeberg.org/wrenix/flux-charts v0.0.0-20241108180735-fe00364918d9 // indirect
|
||||
codeberg.org/wrenix/helm-charts v0.0.0-20241108144325-1d57a623fc3e // indirect
|
||||
github.com/imfing/hextra v0.8.6 // indirect
|
||||
)
|
8
go.sum
Normal file
8
go.sum
Normal file
|
@ -0,0 +1,8 @@
|
|||
codeberg.org/wrenix/flux-charts v0.0.0-20241108180735-fe00364918d9 h1:phkjKboijEztsFb/UHbETj7DWwBYmFAbaHLyW/uo83c=
|
||||
codeberg.org/wrenix/flux-charts v0.0.0-20241108180735-fe00364918d9/go.mod h1:qmbBEgAQOiY/2M4IJ0LZaGpbV1JGxlVoDiiuFs7kOqI=
|
||||
codeberg.org/wrenix/helm-charts v0.0.0-20241106223712-cdddf6b09b90 h1:s7Q3qnQfADdmPjsC4El3llNvLd4jo0h7Einq1c5i7nk=
|
||||
codeberg.org/wrenix/helm-charts v0.0.0-20241106223712-cdddf6b09b90/go.mod h1:Nd4pJ7oRNZvbFLxpC7qCQIHK3c0qf59wjq4ajMdJCjg=
|
||||
codeberg.org/wrenix/helm-charts v0.0.0-20241108144325-1d57a623fc3e h1:Vr3B2r+j0Ry6WdXdlzZz+PCbjVBW5BS9qRf1LiX5uA4=
|
||||
codeberg.org/wrenix/helm-charts v0.0.0-20241108144325-1d57a623fc3e/go.mod h1:Nd4pJ7oRNZvbFLxpC7qCQIHK3c0qf59wjq4ajMdJCjg=
|
||||
github.com/imfing/hextra v0.8.6 h1:fpOqzcUs26Lc/ZzowYSBcnpe00d/aZw4HhiHP7ycSks=
|
||||
github.com/imfing/hextra v0.8.6/go.mod h1:cEfel3lU/bSx7lTE/+uuR4GJaphyOyiwNR3PTqFTXpI=
|
111
hugo.yaml
Normal file
111
hugo.yaml
Normal file
|
@ -0,0 +1,111 @@
|
|||
baseURL: https://wrenix.eu/
|
||||
languageCode: de-de
|
||||
title: WrenIX
|
||||
|
||||
enableRobotsTXT: true
|
||||
enableGitInfo: true
|
||||
|
||||
defaultContentLanguage: de
|
||||
languages:
|
||||
de:
|
||||
languageName: Deutsch
|
||||
en:
|
||||
languageName: English
|
||||
|
||||
markup:
|
||||
goldmark:
|
||||
renderer:
|
||||
unsafe: true
|
||||
highlight:
|
||||
noClasses: false
|
||||
|
||||
module:
|
||||
mounts:
|
||||
- source: content
|
||||
target: content
|
||||
imports:
|
||||
- path: github.com/imfing/hextra
|
||||
- path: "codeberg.org/wrenix/helm-charts"
|
||||
mounts:
|
||||
- source: "README.md"
|
||||
target: content/docs/helm-charts/_index.md
|
||||
- source: "."
|
||||
target: "content/docs/helm-charts"
|
||||
includeFiles: [ "*/README.md" ]
|
||||
- path: "codeberg.org/wrenix/flux-charts"
|
||||
mounts:
|
||||
- source: "README.md"
|
||||
target: content/docs/flux-charts/_index.md
|
||||
# extra docs (e.g. for flux, infra and mycloud)
|
||||
- source: "docs"
|
||||
target: content/docs/flux-charts/
|
||||
includeFiles:
|
||||
- "**/*.md"
|
||||
# base
|
||||
- source: "base/README.md"
|
||||
target: content/docs/flux-charts/base/README.md
|
||||
- source: "base/docs"
|
||||
target: content/docs/flux-charts/base/
|
||||
includeFiles:
|
||||
- "*.md"
|
||||
# all components
|
||||
- source: "."
|
||||
target: content/docs/flux-charts/components/
|
||||
includeFiles:
|
||||
- "_index.md"
|
||||
- "infra-*/*.md"
|
||||
- "mycloud-*/*.md"
|
||||
|
||||
enableInlineShortcodes: true
|
||||
|
||||
menu:
|
||||
main:
|
||||
- name: Blog
|
||||
pageRef: /blog
|
||||
weight: 1
|
||||
- name: Docs
|
||||
pageRef: /docs
|
||||
weight: 2
|
||||
- name: About Me
|
||||
pageRef: /about
|
||||
weight: 3
|
||||
- name: Search
|
||||
weight: 4
|
||||
params:
|
||||
type: search
|
||||
- name: RSS
|
||||
weight: 5
|
||||
pageRef: /blog/index.xml
|
||||
params:
|
||||
icon: rss
|
||||
- name: Mastodon
|
||||
weight: 6
|
||||
url: "https://social.chaos.fyi/@wrenix"
|
||||
params:
|
||||
icon: mastodon
|
||||
- name: git
|
||||
weight: 7
|
||||
url: "https://codeberg.org/wrenix"
|
||||
params:
|
||||
icon: git
|
||||
|
||||
params:
|
||||
navbar:
|
||||
displayTitle: true
|
||||
displayLogo: true
|
||||
logo:
|
||||
path: /images/avatar.png
|
||||
link: /blog
|
||||
|
||||
footer:
|
||||
enable: true
|
||||
displayCopyright: false
|
||||
displayPoweredBy: false
|
||||
|
||||
editURL:
|
||||
enable: true
|
||||
base: "https://codeberg.org/wrenix/wrenix.eu/_edit/main/content"
|
||||
|
||||
blog:
|
||||
list:
|
||||
displayTags: true
|
1
i18n/de.yaml
Normal file
1
i18n/de.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
editThisPage: "Diese Seite bearbeiten →"
|
1
i18n/en.yaml
Normal file
1
i18n/en.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
editThisPage: "Edit this page →"
|
38
layouts/partials/footer.html
Normal file
38
layouts/partials/footer.html
Normal file
|
@ -0,0 +1,38 @@
|
|||
{{- $enableFooterSwitches := .Scratch.Get "enableFooterSwitches" | default false -}}
|
||||
{{- $displayThemeToggle := site.Params.theme.displayToggle | default true -}}
|
||||
|
||||
{{- $copyright := (T "copyright") | default "© 2024 Hextra." -}}
|
||||
{{- $poweredBy := (T "poweredBy") | default "Powered by Hextra" -}}
|
||||
|
||||
{{- $footerWidth := "hx-max-w-screen-xl" -}}
|
||||
{{- with .Site.Params.footer.width -}}
|
||||
{{ if eq . "wide" -}}
|
||||
{{ $footerWidth = "hx-max-w-[90rem]" -}}
|
||||
{{ else if eq . "full" -}}
|
||||
{{ $footerWidth = "max-w-full" -}}
|
||||
{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
<footer class="hextra-footer hx-bg-gray-100 hx-pb-[env(safe-area-inset-bottom)] dark:hx-bg-neutral-900 print:hx-bg-transparent">
|
||||
{{- if $enableFooterSwitches -}}
|
||||
<div class="hx-mx-auto hx-flex hx-gap-2 hx-py-2 hx-px-4 {{ $footerWidth }}">
|
||||
{{- partial "language-switch.html" (dict "context" .) -}}
|
||||
{{- with $displayThemeToggle }}{{ partial "theme-toggle.html" }}{{ end -}}
|
||||
</div>
|
||||
{{- if or hugo.IsMultilingual $displayThemeToggle -}}
|
||||
<hr class="dark:hx-border-neutral-800" />
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
</footer>
|
||||
|
||||
{{- define "theme-credit" -}}
|
||||
<a class="hx-flex hx-text-sm hx-items-center hx-gap-1 hx-text-current" target="_blank" rel="noopener noreferrer" title="Hextra GitHub Homepage" href="https://github.com/imfing/hextra">
|
||||
<span>
|
||||
{{- . | markdownify -}}
|
||||
{{- if strings.Contains . "Hextra" -}}
|
||||
{{- partial "utils/icon.html" (dict "name" "hextra" "attributes" `height=1em class="hx-inline-block ltr:hx-ml-1 rtl:hx-mr-1 hx-align-[-2.5px]"`) -}}
|
||||
{{- end -}}
|
||||
</span>
|
||||
</a>
|
||||
{{- end -}}
|
14
symlink.sh
14
symlink.sh
|
@ -1,14 +0,0 @@
|
|||
#!/bin/sh
|
||||
find content/docs/helm-charts -iname "*.md" -not -path "content/docs/helm-charts/_index*.md" -delete
|
||||
for p in "../helm-charts/"* ; do
|
||||
if [ ! -d $p ] ||[ ! -f $p/Chart.yaml ] ; then
|
||||
continue;
|
||||
fi
|
||||
name=$(basename "${p}")
|
||||
echo "== helm-charts/${name}:"
|
||||
if [ ! -f $p/README.md ]; then
|
||||
echo "not yet in markdown"
|
||||
else
|
||||
ln -s "../../../${p}/README.md" "content/docs/helm-charts/${name}.md"
|
||||
fi
|
||||
done
|
|
@ -1 +0,0 @@
|
|||
themes/adidoks/templates
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 5c698271c460046034605b743a15196b12e32887
|
Loading…
Add table
Reference in a new issue