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);
-

Skills

@@ -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)