diff --git a/src/components/inline-link.astro b/src/components/inline-link.astro
new file mode 100644
index 0000000..9bdc028
--- /dev/null
+++ b/src/components/inline-link.astro
@@ -0,0 +1,23 @@
+---
+import type { HTMLAttributes } from "astro/types";
+import ExternalIcon from "../icons/arrow-top-right-on-square.svg";
+import InlineSvg from "./inline-svg.astro";
+
+interface Props extends HTMLAttributes<"a"> {
+ /** Whether this link should use defaults for external links. */
+ external?: boolean | null | undefined;
+}
+
+const { external, target, rel, ...rest } = Astro.props;
+---
+
+{
+ external ? (
+
+ ) : undefined
+ }
diff --git a/src/components/inline-svg.astro b/src/components/inline-svg.astro
index 2f20289..139bc4a 100644
--- a/src/components/inline-svg.astro
+++ b/src/components/inline-svg.astro
@@ -3,22 +3,18 @@ import type { HTMLAttributes, SvgComponent } from "astro/types";
interface Props extends HTMLAttributes<"svg"> {
SvgComponent: SvgComponent;
- size?: number;
}
const {
SvgComponent,
- height,
+ class: className,
role = "presentation",
- size = 24,
- width,
...rest
} = Astro.props;
---
diff --git a/src/icons/arrow-left-circle.svg b/src/icons/arrow-left-circle.svg
new file mode 100644
index 0000000..017eedb
--- /dev/null
+++ b/src/icons/arrow-left-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/icons/arrow-top-right-on-square.svg b/src/icons/arrow-top-right-on-square.svg
new file mode 100644
index 0000000..4f1e3ae
--- /dev/null
+++ b/src/icons/arrow-top-right-on-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/icons/back.svg b/src/icons/back.svg
deleted file mode 100644
index e4657b1..0000000
--- a/src/icons/back.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 1e3968a..6bf4cb4 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -1,7 +1,6 @@
---
import { Image } from "astro:assets";
import ButtonLink from "../components/button-link.astro";
-import InlineSvg from "../components/inline-svg.astro";
import GitHubLogo from "../images/GitHub.svg";
import GitLabLogo from "../images/GitLab.svg";
import KeyoxideLogo from "../images/Keyoxide.svg";
@@ -38,9 +37,10 @@ import BaseLayout from "../layouts/BaseLayout.astro";
title="Mein Matrix-Konto"
external
>
-
@kmoschcau:matrix.org
@@ -53,9 +53,10 @@ import BaseLayout from "../layouts/BaseLayout.astro";
title="Mein GitHub-Konto"
external
>
-
kmoschcau
@@ -68,9 +69,10 @@ import BaseLayout from "../layouts/BaseLayout.astro";
title="Mein GitLab-Konto"
external
>
-
kmoschcau
@@ -83,9 +85,10 @@ import BaseLayout from "../layouts/BaseLayout.astro";
title="Mein LinkedIn-Konto"
external
>
-
kmoschcau
@@ -98,9 +101,10 @@ import BaseLayout from "../layouts/BaseLayout.astro";
title="Mein Keyoxide-Eintrag"
external
>
-
Keyoxide
diff --git a/src/pages/skills.astro b/src/pages/skills.astro
index c544580..593c3ed 100644
--- a/src/pages/skills.astro
+++ b/src/pages/skills.astro
@@ -1,10 +1,11 @@
---
-import BackIcon from "../icons/back.svg";
+import ArrowLeftCircle from "../icons/arrow-left-circle.svg";
import BaseLayout from "../layouts/BaseLayout.astro";
import {
getDurationInYearsBetween as between,
getDurationInYearsFrom as from,
} from "../duration-utils";
+import InlineLink from "../components/inline-link.astro";
const trStart = new Date(2011, 7, 1);
@@ -32,11 +33,8 @@ const kcStart = new Date(2026, 0, 1);
@@ -110,11 +108,10 @@ const kcStart = new Date(2026, 0, 1);
Public, Private & Clouds – {between(cbtStart, mcB2cEnd)}+
Jahre
- (AWS Certified Solutions Architect – AssociateAWS Certified Solutions Architect – Associate, AWS, GCP, Azure, CloudFormation, HashiCorp Terraform)