Compare commits

..

23 commits

Author SHA1 Message Date
0169e430c3
update woodpecker pipeline
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-10-01 17:41:47 +02:00
1f7c2d19ad
[blog] add article
Mainly for compatibility with Firefox Reader View.
2023-10-01 14:13:30 +02:00
825a375a34
remove robots.txt
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-08-22 18:07:53 +02:00
518c9c2ec5
add gpg link
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-07-16 17:32:19 +02:00
1424e36ba8
improve syntax
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-05-18 13:20:29 +02:00
30b4ffa43d
fix aria-labels
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-05-18 13:19:15 +02:00
41be8c98a5
improve accessibility
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-05-18 13:17:48 +02:00
9fdef1a7db
fix svg according to w3 validator
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-05-18 13:03:09 +02:00
a29261b5c0
use different directory structure
All checks were successful
ci/woodpecker/push/hugo-build Pipeline was successful
2023-05-17 17:57:02 +02:00
98c2d2c164
fix translation
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 15:42:47 +02:00
914d5ff0f6
add GSC file
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 15:36:56 +02:00
cb51826059
add descriptions
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 15:26:00 +02:00
a90f5a6edc
remove robots.txt
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 14:58:32 +02:00
1013d07f1c
fix DOCTYPE
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 14:53:31 +02:00
26fbe298bf
improve image quality
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 14:50:54 +02:00
71259aea50
improve font loading
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 14:45:41 +02:00
e14d012783
Merge branch 'improve-accessability'
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 14:35:55 +02:00
727357ab3e
add condition 2023-05-17 14:34:52 +02:00
3eb883a192
use hugoci image 2023-05-17 14:34:52 +02:00
4c53ad19f5
fix continous deployment (#13)
Co-authored-by: vrifox <vrifox@vrifox.cc>
Reviewed-on: #13
2023-05-17 14:34:52 +02:00
014d970ffd
add condition
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 13:20:19 +02:00
83590f56b6
use hugoci image
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-05-17 13:16:09 +02:00
39b8f480e4 fix continous deployment (#13)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Co-authored-by: vrifox <vrifox@vrifox.cc>
Reviewed-on: #13
2023-04-05 23:53:25 +02:00
18 changed files with 168 additions and 150 deletions

View file

@ -1,34 +1,47 @@
pipeline: steps:
build: build-stable:
image: archlinux image: code.cozy.town/vrifox/hugoci:latest
commands: commands:
- pacman -Syu --noconfirm hugo git
- hugo --destination /woodpecker/build/ --minify --cleanDestinationDir - hugo --destination /woodpecker/build/ --minify --cleanDestinationDir
when:
branch: main
upload-stable: upload-stable:
image: archlinux image: code.cozy.town/vrifox/hugoci:latest
commands: commands:
- pacman -Syu --noconfirm openssh rsync
- mkdir -p /root/.ssh - mkdir -p /root/.ssh
- echo "$SSH_KEY" > /root/.ssh/id_ed25519 - echo "$SSH_KEY" > /root/.ssh/id_ed25519
- chmod 700 /root/.ssh/id_ed25519 - chmod 700 /root/.ssh/id_ed25519
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > /root/.ssh/config - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > /root/.ssh/config
- rsync -rv --delete -e "ssh -p $SSH_PORT -i /root/.ssh/id_ed25519" /woodpecker/build/ caddy@$SSH_HOST:/var/lib/caddy/woodpecker/vrifox.cc/ --mkpath --checksum - rsync -rv --delete -e "ssh -p $SSH_PORT -i /root/.ssh/id_ed25519" /woodpecker/build/ caddy@$SSH_HOST:/var/lib/caddy/woodpecker/vrifox.cc/ --mkpath --checksum
secrets: [ ssh_key, ssh_port, ssh_host ] secrets:
- ssh_key
- ssh_port
- ssh_host
when: when:
branch: [ main ] branch: main
build-dev:
image: code.cozy.town/vrifox/hugoci:latest
commands:
- hugo --destination /woodpecker/build/ --baseURL "https://dev.vrifox.cc/${CI_COMMIT_BRANCH}/${CI_COMMIT_SHA}/" --cleanDestinationDir
when:
branch:
exclude: main
upload-dev: upload-dev:
image: archlinux image: code.cozy.town/vrifox/hugoci:latest
commands: commands:
- pacman -Syu --noconfirm openssh rsync
- mkdir -p /root/.ssh - mkdir -p /root/.ssh
- echo "$SSH_KEY" > /root/.ssh/id_ed25519 - echo "$SSH_KEY" > /root/.ssh/id_ed25519
- chmod 700 /root/.ssh/id_ed25519 - chmod 700 /root/.ssh/id_ed25519
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > /root/.ssh/config - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > /root/.ssh/config
- rsync -rv --delete -e "ssh -p $SSH_PORT -i /root/.ssh/id_ed25519" /woodpecker/build/ caddy@$SSH_HOST:/var/lib/caddy/woodpecker/vrifox.cc-dev/CI_COMMIT_BRANCH/$CI_COMMIT_SHA/ --mkpath --checksum - rsync -rv --delete -e "ssh -p $SSH_PORT -i /root/.ssh/id_ed25519" /woodpecker/build/ caddy@$SSH_HOST:/var/lib/caddy/woodpecker/vrifox.cc-dev/${CI_COMMIT_BRANCH}/${CI_COMMIT_SHA}/ --mkpath --checksum
- echo "The preview is now available on https://dev.vrifox.cc/CI_COMMIT_BRANCH/$CI_COMMIT_SHA/" - echo "The preview is now available on https://dev.vrifox.cc/${CI_COMMIT_BRANCH}/${CI_COMMIT_SHA}/"
secrets: [ ssh_key, ssh_port, ssh_host ] secrets:
- ssh_key
- ssh_port
- ssh_host
when: when:
branch: branch:
exclude: [ main ] exclude: main

View file

@ -1 +1 @@
<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com" stroke="inherit" fill="inherit"><g transform="rotate(45, 210, 230)"><path d="M 250 375 C 194.772 375 150 319.036 150 250 L 150 100 C 150 44.772 194.772 0 250 0 C 305.228 0 350 44.772 350 100 L 350 250 C 350 319.036 305.228 375 250 375 Z"/><path style="stroke-linecap: round;" d="M 250.001 150 L 250 500.03" transform="matrix(1, -0.000003, 0.000003, 1, -0.000975, 0.00075)"/><path style="stroke-linecap: round;" d="M 249.992 180.713 L 249.991 320.712" transform="matrix(0.707105, -0.707109, 0.707109, 0.707105, -153.556825, 270.705963)" bx:origin="0.286467 0.999998"/><path style="stroke-linecap: round;" d="M 249.99 110.004 L 249.989 250.003" transform="matrix(0.707105, -0.707109, 0.707109, 0.707105, -103.558456, 249.994221)" bx:origin="0.286467 0.999998"/></g></svg> <svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" stroke="inherit" fill="inherit"><g transform="rotate(45, 210, 230)"><path d="M 250 375 C 194.772 375 150 319.036 150 250 L 150 100 C 150 44.772 194.772 0 250 0 C 305.228 0 350 44.772 350 100 L 350 250 C 350 319.036 305.228 375 250 375 Z"/><path style="stroke-linecap: round;" d="M 250.001 150 L 250 500.03" transform="matrix(1, -0.000003, 0.000003, 1, -0.000975, 0.00075)"/><path style="stroke-linecap: round;" d="M 249.992 180.713 L 249.991 320.712" transform="matrix(0.707105, -0.707109, 0.707109, 0.707105, -153.556825, 270.705963)"/><path style="stroke-linecap: round;" d="M 249.99 110.004 L 249.989 250.003" transform="matrix(0.707105, -0.707109, 0.707109, 0.707105, -103.558456, 249.994221)"/></g></svg>

Before

Width:  |  Height:  |  Size: 863 B

After

Width:  |  Height:  |  Size: 771 B

View file

@ -1,12 +1,14 @@
@font-face { @font-face {
font-family: "playfair"; font-family: "playfair";
src: local("Playfair"), src: local("Playfair"),
url("/fonts/playfair/PlayfairDisplay-Regular.woff2") format(woff2); url("../fonts/playfair/PlayfairDisplay-Regular.woff2") format(woff2);
font-display: swap;
} }
@font-face { @font-face {
font-family: "playfair"; font-family: "playfair";
src: local("Playfair"), src: local("Playfair"),
url("/fonts/playfair/PlayfairDisplay-Bold.woff2") format(woff2); url("../fonts/playfair/PlayfairDisplay-Bold.woff2") format(woff2);
font-weight: bold; font-weight: bold;
font-display: swap;
} }

View file

@ -81,7 +81,7 @@
} }
} }
header { #avatar-wrapper {
text-align: center; text-align: center;
user-select: none; user-select: none;
padding: inherit; padding: inherit;
@ -230,86 +230,84 @@
} }
} }
} }
aside { #social-links {
#social-links { text-align: center;
text-align: center;
@media (max-width: 1140px) { @media (max-width: 1140px) {
display: none; display: none;
}
a {
display: flex;
padding: 1rem;
place-content: center;
&:hover {
.mastodon-icon {
color: hsl(251.5, 58.9%, 51.4%);
}
}
.mastodon-icon {
color: hsl(239.6, 100%, 69.4%);
}
.icon {
height: 1.25rem;
width: 1.25rem;
display: block;
@media (prefers-reduced-motion: no-preference) {
transition: color 0.2s ease-in-out;
}
}
}
} }
#languages {
text-align: center; a {
border-radius: 0.5rem 0.5rem 1.85rem 0.5rem; display: flex;
padding: 1rem;
place-content: center;
@media (max-width: 1140px) {
border-radius: 4rem;
position: absolute;
top: 1rem;
left: calc(100vw - 1em - 64px);
font-size: 1.4rem;
border-radius: 100%;
background-color: var(--sidebar-accent-1);
aspect-ratio: 1 / 1;
width: 64px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
transition: background-color 0.2s ease-in-out;
}
&:hover { &:hover {
background-color: var(--sidebar-accent-1); .mastodon-icon {
color: hsl(251.5, 58.9%, 51.4%);
@media (max-width: 1140px) {
background-color: var(--sidebar-accent-2);
}
}
&:active {
background-color: var(--sidebar-accent-2);
@media (max-width: 1140px) {
background-color: var(--sidebar-accent-3);
} }
} }
#language { .mastodon-icon {
color: hsl(239.6, 100%, 69.4%);
}
.icon {
height: 1.25rem;
width: 1.25rem;
display: block; display: block;
text-decoration: none;
width: 100%; @media (prefers-reduced-motion: no-preference) {
height: 100%; transition: color 0.2s ease-in-out;
padding: 1rem; }
pointer-events: all;
} }
} }
} }
#languages {
text-align: center;
border-radius: 0.5rem 0.5rem 1.85rem 0.5rem;
@media (max-width: 1140px) {
border-radius: 4rem;
position: absolute;
top: 1rem;
left: calc(100vw - 1em - 64px);
font-size: 1.4rem;
border-radius: 100%;
background-color: var(--sidebar-accent-1);
aspect-ratio: 1 / 1;
width: 64px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
transition: background-color 0.2s ease-in-out;
}
&:hover {
background-color: var(--sidebar-accent-1);
@media (max-width: 1140px) {
background-color: var(--sidebar-accent-2);
}
}
&:active {
background-color: var(--sidebar-accent-2);
@media (max-width: 1140px) {
background-color: var(--sidebar-accent-3);
}
}
#language {
display: block;
text-decoration: none;
width: 100%;
height: 100%;
padding: 1rem;
pointer-events: all;
}
}
} }

View file

@ -1,7 +1,7 @@
baseURL: "https://vrifox.cc/" baseURL: "https://vrifox.cc/"
title: "Vris Cute Corner" title: "Vris Cute Corner"
enableRobotsTXT: true enableRobotsTXT: false
defaultContentLanguage: de defaultContentLanguage: de
defaultContentLanguageInSubdir: true defaultContentLanguageInSubdir: true
enableGitInfo: true enableGitInfo: true

View file

@ -19,8 +19,12 @@ main:
# name: "Empfehlungen" # name: "Empfehlungen"
# pageref: "/blogroll/" # pageref: "/blogroll/"
# weight: 5 # weight: 5
footer_source: footer:
- identifier: "gpg"
name: "GPG"
url: "/gpg/"
weight: 1
- identifier: "sourcecode" - identifier: "sourcecode"
name: "Quellcode" name: "Quellcode"
url: "https://code.cozy.town/vri/website" url: "https://code.cozy.town/vri/website"
weight: 1 weight: 2

4
content/_index.de.md Normal file
View file

@ -0,0 +1,4 @@
---
title: "Hola 🖖"
description: "Die Website von Vri aka vrifox. Sie erstellt Websites und Grafiken. Außerdem betreibt und betreut sie Cozy Town."
---

4
content/_index.en.md Normal file
View file

@ -0,0 +1,4 @@
---
title: "Hola 🖖"
description: "The website of Vri aka vrifox. She creates websites and graphics. Additionally she hosts and maintains Cozy Town."
---

View file

@ -1,6 +0,0 @@
---
title: "Hola 🖖"
---
I create Websites and Graphics
Additinaly I host and maintain [Cozy Town](https://cozy.town)

View file

@ -30,9 +30,9 @@ introduction-sub:
other: and Computer Science is my passion. other: and Computer Science is my passion.
home-websites-and-graphics: home-websites-and-graphics:
other: Ich erstelle Websites und Grafiken other: I create websites and graphics
home-cozy-town: home-cozy-town:
other: Zudem betreibe und betreue ich <a href="https://cozy.town">Cozy Town</a> other: Additionally I host and maintain <a href="https://cozy.town">Cozy Town</a>
# Blog # Blog
blog-heading: blog-heading:

View file

@ -1,4 +1,4 @@
<!doctype html> <!DOCTYPE html>
<html lang="{{ .Page.Lang }}"> <html lang="{{ .Page.Lang }}">
<head> <head>
<title>{{ with .Title }} {{ . }} {{ end }}{{ .Site.Title }}</title> <title>{{ with .Title }} {{ . }} {{ end }}{{ .Site.Title }}</title>
@ -7,8 +7,15 @@
<link href="https://social.anoxinon.de/@vri" rel="me" /> <link href="https://social.anoxinon.de/@vri" rel="me" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content='
{{- if (isset .Params "description") -}}
{{- index .Params "description" }} {{ .Site.Title -}}
{{- else if (isset .Params "title") -}}
{{- index .Params "title" }} {{ .Site.Title -}}
{{- end -}}
'>
</head> </head>
<body id="{{ .File.ContentBaseName }}" class="{{ .Page.Section }}"> <body id="{{ with .File }}{{ .ContentBaseName }}{{ end }}" class="{{ .Page.Section }}">
{{- block "header" . }}{{ end }} {{- block "header" . }}{{ end }}
{{ partial "sidebar.html" . }} {{ partial "sidebar.html" . }}
{{- block "main" . }}{{ end }} {{- block "main" . }}{{ end }}

View file

@ -1,2 +0,0 @@
User-agent: *
Disallow: /

View file

@ -1,31 +1,29 @@
{{- define "stylesheet" -}} {{- define "stylesheet" -}}
{{- $style := resources.Get "/scss/blog.scss" | resources.ToCSS (dict "outputStyle" "compressed") -}} {{- $style := resources.Get "/scss/blog.scss" | resources.ToCSS (dict "outputStyle" "compressed") -}}
<link rel="preload stylesheet" as="style" href="{{ $style.Permalink }}" type="text/css" media="screen" /> <link rel="preload stylesheet" as="style" href="{{ $style.Permalink }}" type="text/css" media="screen" />
{{- end -}} {{- end -}}
{{- define "header" }} {{- define "header" }}
<header id="blog-header"> <header id="blog-header">
<h1 class="title">{{ .Title }}</h1> <h1 class="title">{{ .Title }}</h1>
<p> <p>
<span <span id="blog-post-published" title="{{ i18n " blog-post-published" }} {{ .Date |
id="blog-post-published" time.Format "2. January 2006, 15:04 MST" }}">
title="{{ i18n "blog-post-published" }} {{ .Date | time.Format "2. January 2006, 15:04 MST" }}" {{ .Date | time.Format "2. January 2006" }}
> </span>
{{ .Date | time.Format "2. January 2006" }} <span id="blog-post-updated" title="{{ i18n " blog-post-updated" }} {{ .Lastmod |
</span> time.Format "2. January 2006, 15:04 MST" }}">
<span {{ i18n "blog-post-updated" }} {{ .Lastmod | time.Format "2. January 2006" }}
id="blog-post-updated" </span>
title="{{ i18n "blog-post-updated" }} {{ .Lastmod | time.Format "2. January 2006, 15:04 MST" }}" </p>
> </header>
{{ i18n "blog-post-updated" }} {{ .Lastmod | time.Format "2. January 2006" }}
</span>
</p>
</header>
{{ end }} {{ end }}
{{- define "main" }} {{- define "main" }}
<main> <main>
<article>
{{ .Content -}} {{ .Content -}}
{{ partial "moreposts.html" . }} {{ partial "moreposts.html" . }}
</main> </article>
{{- end }} </main>
{{- end }}

View file

@ -13,14 +13,14 @@
{{- define "main" }} {{- define "main" }}
<main id="main"> <main id="main">
<section id="general-description"> <div id="general-description">
<p id="websites-and-graphics"> <p id="websites-and-graphics">
{{ i18n "home-websites-and-graphics" | safeHTML }} {{ i18n "home-websites-and-graphics" | safeHTML }}
</p> </p>
<p id="cozy-town"> <p id="cozy-town">
{{ i18n "home-cozy-town" | safeHTML }} {{ i18n "home-cozy-town" | safeHTML }}
</p> </p>
</section> </div>
{{ partial "moreposts.html" . }} {{ partial "moreposts.html" . }}
</main> </main>
{{- end }} {{- end }}

View file

@ -1,12 +1,12 @@
<footer> <footer>
<p> <p>
<span title='{{ i18n "build-title-tag" }}{{ now | time.Format ":date_full" }}, {{ now | time.Format ":time_full" }}'>{{ i18n "build" }}{{ now | time.Format ":date_short" }}</span> {{- range .Site.Menus.footer -}}
{{- range .Site.Menus.footer_source -}} <span><a href="{{ relLangURL .URL }}">{{ i18n .Identifier | default .Name }}</a></span>
<span><a href="{{ .URL }}">{{ i18n .Identifier | default .Name }}</a></span>
{{- end }} {{- end }}
</p> </p>
<p> <p>
<span title='{{ i18n "build-title-tag" }}{{ now | time.Format ":date_full" }}, {{ now | time.Format ":time_full" }}'>{{ i18n "build" }}{{ now | time.Format ":date_short" }}</span>
<span>{{ i18n "made-with" }}<a href='{{ .Site.Params.staticSiteGeneratorLink }}'>{{ .Site.Params.staticSiteGenerator }}</a></span> <span>{{ i18n "made-with" }}<a href='{{ .Site.Params.staticSiteGeneratorLink }}'>{{ .Site.Params.staticSiteGenerator }}</a></span>
</p> </p>
</footer> </footer>

View file

@ -1,14 +1,14 @@
{{ $currentPage := . }} {{ $currentPage := . }}
<nav id="sidebar"> <header id="sidebar">
<header> <div id="avatar-wrapper">
{{ with .Site.Params.avatar }} {{ with .Site.Params.avatar }}
{{ $avatar := resources.Get . }} {{ $avatar := resources.Get . }}
{{ $avatar := $avatar.Resize "64x webp" }} {{ $avatar := $avatar.Resize "96x webp" }}
<img id="avatar" alt="{{ $.Site.Params.displayName }}" src="{{ $avatar.RelPermalink }}" /> <img id="avatar" alt="{{ $.Site.Params.displayName }}" src="{{ $avatar.RelPermalink }}" />
{{ end }} {{ end }}
</header> </div>
<section id="sidebar-menu"> <nav id="sidebar-menu" aria-label="primary-navigation">
<ul> <ul>
{{- range .Site.Menus.main }} {{- range .Site.Menus.main }}
{{ if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }} {{ if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }}
@ -18,12 +18,12 @@
{{ end }} {{ end }}
{{- end }} {{- end }}
</ul> </ul>
</section> </nav>
<aside> <div>
<section id="social-links"> <nav id="social-links" aria-label="social-links">
<a class="hint-text" rel="me" href="https://social.anoxinon.de/@vri" aria-label="Mastodon">{{ partial "helpers/icons" "mastodon" }}</a> <a class="hint-text" rel="me" href="https://social.anoxinon.de/@vri" aria-label="Mastodon">{{ partial "helpers/icons" "mastodon" }}</a>
</section> </nav>
<section id="languages"> <div id="languages">
{{- if .Site.IsMultiLingual }} {{- if .Site.IsMultiLingual }}
{{ $siteLanguages := .Site.Languages }} {{ $siteLanguages := .Site.Languages }}
{{ $pageLanguage := .Page.Lang }} {{ $pageLanguage := .Page.Lang }}
@ -39,6 +39,6 @@
{{ end }} {{ end }}
{{ end }} {{ end }}
{{- end }} {{- end }}
</section> </div>
</aside> </div>
</nav> </header>

View file

@ -1,5 +0,0 @@
User-agent: *
{{range .Pages}}
Disallow: {{.RelPermalink}}
{{end}}

View file

@ -0,0 +1 @@
google-site-verification: google3423f546928945a1.html