From 948f47709b112f029ddd8565b5bf5db6390c7da0 Mon Sep 17 00:00:00 2001 From: stampaaaron Date: Fri, 6 Jan 2023 11:41:29 +0000 Subject: [PATCH 1/3] feat: move skill icons to svg sprite --- .../data/sections/strengths/skills/apis.de.md | 2 +- .../data/sections/strengths/skills/apis.en.md | 2 +- .../sections/strengths/skills/calendar.de.md | 2 +- .../sections/strengths/skills/calendar.en.md | 2 +- .../data/sections/strengths/skills/iam.de.md | 2 +- .../data/sections/strengths/skills/iam.en.md | 2 +- .../strengths/skills/web-applications.de.md | 2 +- .../strengths/skills/web-applications.en.md | 2 +- .../strengths/skills => images}/apis.svg | 2 +- .../strengths/skills => images}/calendar.svg | 24 +-- .../strengths/skills => images}/iam.svg | 5 +- content/images/sprite.json | 16 ++ .../skills => images}/web-applications.svg | 2 +- graphql-types.ts | 156 +----------------- src/pages/index.tsx | 4 +- src/sections/StrenghtsSection.tsx | 10 +- 16 files changed, 56 insertions(+), 179 deletions(-) rename content/{data/sections/strengths/skills => images}/apis.svg (94%) rename content/{data/sections/strengths/skills => images}/calendar.svg (85%) rename content/{data/sections/strengths/skills => images}/iam.svg (91%) rename content/{data/sections/strengths/skills => images}/web-applications.svg (96%) diff --git a/content/data/sections/strengths/skills/apis.de.md b/content/data/sections/strengths/skills/apis.de.md index 7c40a45d..241deeac 100755 --- a/content/data/sections/strengths/skills/apis.de.md +++ b/content/data/sections/strengths/skills/apis.de.md @@ -1,5 +1,5 @@ --- title: Schnittstellen -icon: ./apis.svg +sprite: apis link: /present/strengths#apis --- diff --git a/content/data/sections/strengths/skills/apis.en.md b/content/data/sections/strengths/skills/apis.en.md index 94d93690..47461d00 100755 --- a/content/data/sections/strengths/skills/apis.en.md +++ b/content/data/sections/strengths/skills/apis.en.md @@ -1,5 +1,5 @@ --- title: Interfaces -icon: ./apis.svg +sprite: apis link: /present/strengths#apis --- diff --git a/content/data/sections/strengths/skills/calendar.de.md b/content/data/sections/strengths/skills/calendar.de.md index a719c440..7ed15232 100755 --- a/content/data/sections/strengths/skills/calendar.de.md +++ b/content/data/sections/strengths/skills/calendar.de.md @@ -1,5 +1,5 @@ --- title: Kalender-Funktionalität -icon: ./calendar.svg +sprite: calendar link: /present/strengths#calendar --- diff --git a/content/data/sections/strengths/skills/calendar.en.md b/content/data/sections/strengths/skills/calendar.en.md index 3001d88b..64441649 100755 --- a/content/data/sections/strengths/skills/calendar.en.md +++ b/content/data/sections/strengths/skills/calendar.en.md @@ -1,5 +1,5 @@ --- title: Calendar functionality -icon: ./calendar.svg +sprite: calendar link: /present/strengths#calendar --- diff --git a/content/data/sections/strengths/skills/iam.de.md b/content/data/sections/strengths/skills/iam.de.md index fc69a2e5..11233cae 100755 --- a/content/data/sections/strengths/skills/iam.de.md +++ b/content/data/sections/strengths/skills/iam.de.md @@ -1,5 +1,5 @@ --- title: Benutzer und Zugriff -icon: ./iam.svg +sprite: iam link: /present/strengths#iam --- diff --git a/content/data/sections/strengths/skills/iam.en.md b/content/data/sections/strengths/skills/iam.en.md index 637e63e8..89266b2f 100755 --- a/content/data/sections/strengths/skills/iam.en.md +++ b/content/data/sections/strengths/skills/iam.en.md @@ -1,5 +1,5 @@ --- title: Users and access -icon: ./iam.svg +sprite: iam link: /present/strengths#iam --- diff --git a/content/data/sections/strengths/skills/web-applications.de.md b/content/data/sections/strengths/skills/web-applications.de.md index 28b6cdf1..10faad00 100755 --- a/content/data/sections/strengths/skills/web-applications.de.md +++ b/content/data/sections/strengths/skills/web-applications.de.md @@ -1,5 +1,5 @@ --- title: Web-Applikationen -icon: ./web-applications.svg +sprite: web-applications link: /present/strengths#web-applications --- diff --git a/content/data/sections/strengths/skills/web-applications.en.md b/content/data/sections/strengths/skills/web-applications.en.md index e033ad36..ab4c17a8 100755 --- a/content/data/sections/strengths/skills/web-applications.en.md +++ b/content/data/sections/strengths/skills/web-applications.en.md @@ -1,5 +1,5 @@ --- title: Web applications -icon: ./web-applications.svg +sprite: web-applications link: /present/strengths#web-applications --- diff --git a/content/data/sections/strengths/skills/apis.svg b/content/images/apis.svg similarity index 94% rename from content/data/sections/strengths/skills/apis.svg rename to content/images/apis.svg index 75c8f7d9..9e6f488c 100644 --- a/content/data/sections/strengths/skills/apis.svg +++ b/content/images/apis.svg @@ -1,5 +1,5 @@ - + diff --git a/content/data/sections/strengths/skills/calendar.svg b/content/images/calendar.svg similarity index 85% rename from content/data/sections/strengths/skills/calendar.svg rename to content/images/calendar.svg index 179d66e6..5877a0d4 100644 --- a/content/data/sections/strengths/skills/calendar.svg +++ b/content/images/calendar.svg @@ -3,18 +3,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/content/data/sections/strengths/skills/iam.svg b/content/images/iam.svg similarity index 91% rename from content/data/sections/strengths/skills/iam.svg rename to content/images/iam.svg index 9631a365..8dc4b95e 100644 --- a/content/data/sections/strengths/skills/iam.svg +++ b/content/images/iam.svg @@ -3,8 +3,9 @@ - - + + diff --git a/content/images/sprite.json b/content/images/sprite.json index 3f7d930d..5989ba96 100644 --- a/content/images/sprite.json +++ b/content/images/sprite.json @@ -1,4 +1,8 @@ { + "apis": { + "width": "73", + "height": "73" + }, "arrow": { "width": "9.387", "height": "10" @@ -7,6 +11,10 @@ "width": "52.089", "height": "35.334" }, + "calendar": { + "width": "896", + "height": "981" + }, "consulting": { "width": "711", "height": "655" @@ -23,6 +31,10 @@ "width": "66.234", "height": "64.4" }, + "iam": { + "width": "67", + "height": "81" + }, "illustration": { "width": "2000", "height": "668.01" @@ -102,5 +114,9 @@ "twoColorDivider": { "width": "1600", "height": "46" + }, + "web-applications": { + "width": "18", + "height": "18" } } diff --git a/content/data/sections/strengths/skills/web-applications.svg b/content/images/web-applications.svg similarity index 96% rename from content/data/sections/strengths/skills/web-applications.svg rename to content/images/web-applications.svg index e532563e..2a3f687b 100644 --- a/content/data/sections/strengths/skills/web-applications.svg +++ b/content/images/web-applications.svg @@ -2,6 +2,6 @@ - + diff --git a/graphql-types.ts b/graphql-types.ts index becae500..f5229f13 100644 --- a/graphql-types.ts +++ b/graphql-types.ts @@ -1931,7 +1931,6 @@ type Query = { readonly allSiteFunction: SiteFunctionConnection; readonly allSitePage: SitePageConnection; readonly allSitePlugin: SitePluginConnection; - readonly allTranslation: TranslationConnection; readonly directory: Maybe; readonly file: Maybe; readonly imageSharp: Maybe; @@ -1942,7 +1941,6 @@ type Query = { readonly siteFunction: Maybe; readonly sitePage: Maybe; readonly sitePlugin: Maybe; - readonly translation: Maybe; }; @@ -2026,14 +2024,6 @@ type Query_allSitePluginArgs = { }; -type Query_allTranslationArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe>>; -}; - - type Query_directoryArgs = { absolutePath: InputMaybe; accessTime: InputMaybe; @@ -2240,17 +2230,6 @@ type Query_sitePluginArgs = { version: InputMaybe; }; - -type Query_translationArgs = { - children: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - key: InputMaybe; - locale: InputMaybe; - message: InputMaybe; - parent: InputMaybe; -}; - type Site = Node & { readonly buildTime: Maybe; readonly children: ReadonlyArray; @@ -3087,132 +3066,6 @@ type TransformOptions = { readonly trim: InputMaybe; }; -type Translation = Node & { - readonly children: ReadonlyArray; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly key: Maybe; - readonly locale: Maybe; - readonly message: Maybe; - readonly parent: Maybe; -}; - -type TranslationConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type TranslationConnection_distinctArgs = { - field: TranslationFieldSelector; -}; - - -type TranslationConnection_groupArgs = { - field: TranslationFieldSelector; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type TranslationConnection_maxArgs = { - field: TranslationFieldSelector; -}; - - -type TranslationConnection_minArgs = { - field: TranslationFieldSelector; -}; - - -type TranslationConnection_sumArgs = { - field: TranslationFieldSelector; -}; - -type TranslationEdge = { - readonly next: Maybe; - readonly node: Translation; - readonly previous: Maybe; -}; - -type TranslationFieldSelector = { - readonly children: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly key: InputMaybe; - readonly locale: InputMaybe; - readonly message: InputMaybe; - readonly parent: InputMaybe; -}; - -type TranslationFilterInput = { - readonly children: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly key: InputMaybe; - readonly locale: InputMaybe; - readonly message: InputMaybe; - readonly parent: InputMaybe; -}; - -type TranslationGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type TranslationGroupConnection_distinctArgs = { - field: TranslationFieldSelector; -}; - - -type TranslationGroupConnection_groupArgs = { - field: TranslationFieldSelector; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type TranslationGroupConnection_maxArgs = { - field: TranslationFieldSelector; -}; - - -type TranslationGroupConnection_minArgs = { - field: TranslationFieldSelector; -}; - - -type TranslationGroupConnection_sumArgs = { - field: TranslationFieldSelector; -}; - -type TranslationSortInput = { - readonly children: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly key: InputMaybe; - readonly locale: InputMaybe; - readonly message: InputMaybe; - readonly parent: InputMaybe; -}; - type WebPOptions = { readonly quality: InputMaybe; }; @@ -3265,7 +3118,14 @@ type IndexPageQueryVariables = Exact<{ }>; -type IndexPageQuery = { readonly values: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly link: string | null, readonly title: string | null } | null }> }, readonly cooperationYou: { readonly html: string | null, readonly frontmatter: { readonly title: string | null } | null } | null, readonly cooperationUs: { readonly html: string | null, readonly frontmatter: { readonly title: string | null } | null } | null, readonly exchange: { readonly html: string | null, readonly frontmatter: { readonly title: string | null } | null } | null, readonly strengths: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly order: number | null, readonly sprite: string | null, readonly skills: ReadonlyArray<{ readonly childMarkdownRemark: { readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly link: string | null, readonly icon: { readonly publicURL: string | null } | null } | null } | null } | null> | null } | null }> }, readonly questions: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly answeredBy: string | null, readonly title: string | null } | null }> }, readonly softwareReferences: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly icon: { readonly publicURL: string | null } | null } | null }> }, readonly companyReferences: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly link: string | null, readonly logo: { readonly publicURL: string | null } | null } | null }> } }; +type IndexPageQuery = { readonly values: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly link: string | null, readonly title: string | null } | null }> }, readonly cooperationYou: { readonly html: string | null, readonly frontmatter: { readonly title: string | null } | null } | null, readonly cooperationUs: { readonly html: string | null, readonly frontmatter: { readonly title: string | null } | null } | null, readonly exchange: { readonly html: string | null, readonly frontmatter: { readonly title: string | null } | null } | null, readonly strengths: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly order: number | null, readonly sprite: string | null, readonly skills: ReadonlyArray<{ readonly childMarkdownRemark: { readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly link: string | null, readonly sprite: string | null } | null } | null } | null> | null } | null }> }, readonly questions: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly answeredBy: string | null, readonly title: string | null } | null }> }, readonly softwareReferences: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly icon: { readonly publicURL: string | null } | null } | null }> }, readonly companyReferences: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly link: string | null, readonly logo: { readonly publicURL: string | null } | null } | null }> } }; + +type StrengthsPageQueryVariables = Exact<{ + locale: InputMaybe; +}>; + + +type StrengthsPageQuery = { readonly strengths: { readonly nodes: ReadonlyArray<{ readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly order: number | null, readonly sprite: string | null, readonly skills: ReadonlyArray<{ readonly childMarkdownRemark: { readonly html: string | null, readonly frontmatter: { readonly title: string | null, readonly link: string | null, readonly sprite: string | null } | null } | null } | null> | null } | null }> } }; type AllGenericPagesQueryVariables = Exact<{ [key: string]: never; }>; diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 5c6b49e4..c28e6a58 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -66,9 +66,7 @@ export const query = graphql` frontmatter { title link - icon { - publicURL - } + sprite } } } diff --git a/src/sections/StrenghtsSection.tsx b/src/sections/StrenghtsSection.tsx index ef9d5a9f..2c50cedf 100755 --- a/src/sections/StrenghtsSection.tsx +++ b/src/sections/StrenghtsSection.tsx @@ -71,8 +71,10 @@ const strengthContentContainerStyle = (theme: Theme) => css` background-color: var(${theme.variables.backgroundColor}); padding: 1rem; - img { - max-height: 5rem; + > svg { + height: 5rem; + width: auto; + fill: ${theme.whiteColor}; margin-bottom: 0.5rem; } @@ -132,10 +134,10 @@ export function StrengthsSection({ strengths }: Props) {
    {selectedStrength?.frontmatter?.skills?.map(skill => { - const { title, icon, link } = skill?.childMarkdownRemark?.frontmatter ?? {}; + const { title, sprite, link } = skill?.childMarkdownRemark?.frontmatter ?? {}; return (
  • - {`${title}-icon`} +

    {title}

    {formatMessage({ id: 'action.learnMore' })} From 27effd20e63ecf0fb76d992676b67bfa16ed8b6c Mon Sep 17 00:00:00 2001 From: stampaaaron Date: Fri, 6 Jan 2023 11:42:09 +0000 Subject: [PATCH 2/3] feat: add strength detail sections --- src/pages/present/strengths.tsx | 35 +++++++- src/sections/StrengthsDetailSection.tsx | 104 ++++++++++++++++++++++++ 2 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 src/sections/StrengthsDetailSection.tsx diff --git a/src/pages/present/strengths.tsx b/src/pages/present/strengths.tsx index 41bc3dc6..af1f2c71 100644 --- a/src/pages/present/strengths.tsx +++ b/src/pages/present/strengths.tsx @@ -1,7 +1,9 @@ +import { graphql, PageProps } from 'gatsby'; import { FormattedMessage } from 'react-intl'; import { DefaultLayout } from '../../layouts/DefaultLayout'; +import { StrengthsDetailSection } from '../../sections/StrengthsDetailSection'; -export default function StrengthsPage() { +export default function StrengthsPage({ data }: PageProps) { return (
    @@ -9,6 +11,37 @@ export default function StrengthsPage() {
    + {data.strengths.nodes.map((strength, index) => ( + + ))}
    ); } + +export const query = graphql` + query StrengthsPage($locale: String) { + strengths: allMarkdownRemark( + filter: { fields: { locale: { eq: $locale }, kind: { eq: "sections/strengths/services" } } } + sort: { frontmatter: { order: ASC } } + ) { + nodes { + html + frontmatter { + title + order + sprite + skills { + childMarkdownRemark { + html + frontmatter { + title + link + sprite + } + } + } + } + } + } + } +`; diff --git a/src/sections/StrengthsDetailSection.tsx b/src/sections/StrengthsDetailSection.tsx new file mode 100644 index 00000000..608e006a --- /dev/null +++ b/src/sections/StrengthsDetailSection.tsx @@ -0,0 +1,104 @@ +import { PropsWithChildren } from 'react'; +import { IterableElement } from 'type-fest'; +import { css, Theme, useTheme } from '@emotion/react'; +import { Markup } from 'interweave'; +import { DividedSection } from '../components/DividedSection'; +import { Sprite, SpriteProps } from '../components/Sprite'; + +const sectionStyle = (theme: Theme) => css` + position: relative; + z-index: 0; + overflow: hidden; + + &:nth-of-type(odd) { + background-color: ${theme.whiteColor}; + > svg { + fill: ${theme.backgroundColor}; + right: 0; + left: unset; + } + } + + > svg { + position: absolute; + top: 0; + left: 0; + height: 90%; + width: auto; + fill: ${theme.whiteColor}; + opacity: 0.5; + z-index: -1; + } + + &:last-of-type + svg { + display: none; + } +`; + +const skillStyles = (isWhiteSection: boolean) => (theme: Theme) => + css` + padding: ${theme.gutter}; + list-style: none; + display: flex; + gap: ${theme.gutter}; + + background-color: ${isWhiteSection ? theme.backgroundColor : theme.whiteColor}; + + &:not(:last-child) { + margin-bottom: ${theme.gutter}; + } + + --offset-size: 10rem; + + &:nth-of-type(even) { + margin-left: var(--offset-size); + flex-direction: row-reverse; + } + + &:nth-of-type(odd) { + margin-right: var(--offset-size); + } + + > div { + flex: 1; + + h3 { + margin-top: 0; + } + } + + svg { + width: var(--offset-size); + height: auto; + fill: ${isWhiteSection ? theme.whiteColor : theme.backgroundColor}; + } + `; + +type StrengthsDetailSectionProps = { + strength: IterableElement; + index: number; +}; + +export function StrengthsDetailSection({ strength, index }: StrengthsDetailSectionProps) { + const theme = useTheme(); + + const isWhiteSection = index % 2 === 1; + + return ( + + + +
      + {strength.frontmatter?.skills?.map(skill => ( +
    • + +
      +

      {skill?.childMarkdownRemark?.frontmatter?.title}

      + +
      +
    • + ))} +
    +
    + ); +} From 2dfbac19e6e79c92f46accb2864d02f949e6a8f8 Mon Sep 17 00:00:00 2001 From: stampaaaron Date: Wed, 3 May 2023 11:29:27 +0000 Subject: [PATCH 3/3] feat: add more skills --- .../strengths/services/consulting.de.md | 1 + .../strengths/services/consulting.en.md | 1 + .../strengths/services/education.de.md | 1 + .../strengths/services/education.en.md | 1 + .../sections/strengths/skills/courses.de.md | 5 + .../sections/strengths/skills/courses.en.md | 5 + .../strengths/skills/project-management.de.md | 5 + .../strengths/skills/project-management.en.md | 5 + .../skills/requirements-engineering.de.md | 5 + .../skills/requirements-engineering.en.md | 5 + .../skills/trial-apprenticeship.de.md | 5 + .../skills/trial-apprenticeship.en.md | 5 + content/images/check.svg | 17 ++ content/images/project-management.svg | 10 ++ content/images/sprite.json | 8 + graphql-types.ts | 157 ++++++++++++++++++ 16 files changed, 236 insertions(+) create mode 100644 content/data/sections/strengths/skills/courses.de.md create mode 100644 content/data/sections/strengths/skills/courses.en.md create mode 100644 content/data/sections/strengths/skills/project-management.de.md create mode 100644 content/data/sections/strengths/skills/project-management.en.md create mode 100644 content/data/sections/strengths/skills/requirements-engineering.de.md create mode 100644 content/data/sections/strengths/skills/requirements-engineering.en.md create mode 100644 content/data/sections/strengths/skills/trial-apprenticeship.de.md create mode 100644 content/data/sections/strengths/skills/trial-apprenticeship.en.md create mode 100644 content/images/check.svg create mode 100644 content/images/project-management.svg diff --git a/content/data/sections/strengths/services/consulting.de.md b/content/data/sections/strengths/services/consulting.de.md index 7dc283d9..bb7d0f3f 100755 --- a/content/data/sections/strengths/services/consulting.de.md +++ b/content/data/sections/strengths/services/consulting.de.md @@ -1,6 +1,7 @@ --- title: Beraten sprite: consulting +skills: ['../skills/project-management.de.md', '../skills/requirements-engineering.de.md'] order: 3 --- diff --git a/content/data/sections/strengths/services/consulting.en.md b/content/data/sections/strengths/services/consulting.en.md index 7a306d9c..40a5c3df 100755 --- a/content/data/sections/strengths/services/consulting.en.md +++ b/content/data/sections/strengths/services/consulting.en.md @@ -1,6 +1,7 @@ --- title: Consulting sprite: consulting +skills: ['../skills/project-management.en.md', '../skills/requirements-engineering.en.md'] order: 3 --- diff --git a/content/data/sections/strengths/services/education.de.md b/content/data/sections/strengths/services/education.de.md index 4fb897af..b8d564ae 100755 --- a/content/data/sections/strengths/services/education.de.md +++ b/content/data/sections/strengths/services/education.de.md @@ -1,6 +1,7 @@ --- title: Schulung sprite: education +skills: [../skills/courses.de.md, ../skills/trial-apprenticeship.de.md] order: 2 --- diff --git a/content/data/sections/strengths/services/education.en.md b/content/data/sections/strengths/services/education.en.md index d5cd0579..9632507c 100755 --- a/content/data/sections/strengths/services/education.en.md +++ b/content/data/sections/strengths/services/education.en.md @@ -1,6 +1,7 @@ --- title: Education sprite: education +skills: [../skills/courses.en.md, ../skills/trial-apprenticeship.en.md] order: 2 --- diff --git a/content/data/sections/strengths/skills/courses.de.md b/content/data/sections/strengths/skills/courses.de.md new file mode 100644 index 00000000..a2c3f2b4 --- /dev/null +++ b/content/data/sections/strengths/skills/courses.de.md @@ -0,0 +1,5 @@ +--- +title: Kurse +sprite: education +link: /present/strengths#courses +--- diff --git a/content/data/sections/strengths/skills/courses.en.md b/content/data/sections/strengths/skills/courses.en.md new file mode 100644 index 00000000..482f6ee0 --- /dev/null +++ b/content/data/sections/strengths/skills/courses.en.md @@ -0,0 +1,5 @@ +--- +title: Courses +sprite: education +link: /present/strengths#courses +--- diff --git a/content/data/sections/strengths/skills/project-management.de.md b/content/data/sections/strengths/skills/project-management.de.md new file mode 100644 index 00000000..21069465 --- /dev/null +++ b/content/data/sections/strengths/skills/project-management.de.md @@ -0,0 +1,5 @@ +--- +title: Projektleitung +sprite: project-management +link: /present/strengths#project-management +--- diff --git a/content/data/sections/strengths/skills/project-management.en.md b/content/data/sections/strengths/skills/project-management.en.md new file mode 100644 index 00000000..eb3739e3 --- /dev/null +++ b/content/data/sections/strengths/skills/project-management.en.md @@ -0,0 +1,5 @@ +--- +title: Project Management +sprite: project-management +link: /present/strengths#project-management +--- diff --git a/content/data/sections/strengths/skills/requirements-engineering.de.md b/content/data/sections/strengths/skills/requirements-engineering.de.md new file mode 100644 index 00000000..f0bd6e1b --- /dev/null +++ b/content/data/sections/strengths/skills/requirements-engineering.de.md @@ -0,0 +1,5 @@ +--- +title: Anforderungs-Analysen +sprite: check +link: /present/strengths#requirements-engineering +--- diff --git a/content/data/sections/strengths/skills/requirements-engineering.en.md b/content/data/sections/strengths/skills/requirements-engineering.en.md new file mode 100644 index 00000000..83042a3d --- /dev/null +++ b/content/data/sections/strengths/skills/requirements-engineering.en.md @@ -0,0 +1,5 @@ +--- +title: Requirements engineering +sprite: check +link: /present/strengths#requirements-engineering +--- diff --git a/content/data/sections/strengths/skills/trial-apprenticeship.de.md b/content/data/sections/strengths/skills/trial-apprenticeship.de.md new file mode 100644 index 00000000..053e9fb7 --- /dev/null +++ b/content/data/sections/strengths/skills/trial-apprenticeship.de.md @@ -0,0 +1,5 @@ +--- +title: Schnupperlehre +sprite: education +link: /present/strengths#trial-apprenticeship +--- diff --git a/content/data/sections/strengths/skills/trial-apprenticeship.en.md b/content/data/sections/strengths/skills/trial-apprenticeship.en.md new file mode 100644 index 00000000..a901f043 --- /dev/null +++ b/content/data/sections/strengths/skills/trial-apprenticeship.en.md @@ -0,0 +1,5 @@ +--- +title: Trial apprenticeship +sprite: education +link: /present/strengths#trial-apprenticeship +--- diff --git a/content/images/check.svg b/content/images/check.svg new file mode 100644 index 00000000..88887d14 --- /dev/null +++ b/content/images/check.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/content/images/project-management.svg b/content/images/project-management.svg new file mode 100644 index 00000000..19236fca --- /dev/null +++ b/content/images/project-management.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/content/images/sprite.json b/content/images/sprite.json index 5989ba96..8e3db9ea 100644 --- a/content/images/sprite.json +++ b/content/images/sprite.json @@ -15,6 +15,10 @@ "width": "896", "height": "981" }, + "check": { + "width": "800", + "height": "800" + }, "consulting": { "width": "711", "height": "655" @@ -103,6 +107,10 @@ "width": "21", "height": "20" }, + "project-management": { + "width": "1073", + "height": "1307" + }, "singleColorDivider": { "width": "1600", "height": "40" diff --git a/graphql-types.ts b/graphql-types.ts index 9275db30..98a8be3e 100644 --- a/graphql-types.ts +++ b/graphql-types.ts @@ -1935,6 +1935,7 @@ type Query = { readonly allSiteFunction: SiteFunctionConnection; readonly allSitePage: SitePageConnection; readonly allSitePlugin: SitePluginConnection; + readonly allTranslation: TranslationConnection; readonly directory: Maybe; readonly file: Maybe; readonly imageSharp: Maybe; @@ -1945,6 +1946,7 @@ type Query = { readonly siteFunction: Maybe; readonly sitePage: Maybe; readonly sitePlugin: Maybe; + readonly translation: Maybe; }; @@ -2028,6 +2030,14 @@ type Query_allSitePluginArgs = { }; +type Query_allTranslationArgs = { + filter: InputMaybe; + limit: InputMaybe; + skip: InputMaybe; + sort: InputMaybe>>; +}; + + type Query_directoryArgs = { absolutePath: InputMaybe; accessTime: InputMaybe; @@ -2165,12 +2175,14 @@ type Query_siteArgs = { buildTime: InputMaybe; children: InputMaybe; graphqlTypegen: InputMaybe; + host: InputMaybe; id: InputMaybe; internal: InputMaybe; jsxRuntime: InputMaybe; parent: InputMaybe; pathPrefix: InputMaybe; polyfill: InputMaybe; + port: InputMaybe; siteMetadata: InputMaybe; trailingSlash: InputMaybe; }; @@ -2232,16 +2244,29 @@ type Query_sitePluginArgs = { version: InputMaybe; }; + +type Query_translationArgs = { + children: InputMaybe; + id: InputMaybe; + internal: InputMaybe; + key: InputMaybe; + locale: InputMaybe; + message: InputMaybe; + parent: InputMaybe; +}; + type Site = Node & { readonly buildTime: Maybe; readonly children: ReadonlyArray; readonly graphqlTypegen: Maybe; + readonly host: Maybe; readonly id: Scalars['ID']; readonly internal: Internal; readonly jsxRuntime: Maybe; readonly parent: Maybe; readonly pathPrefix: Maybe; readonly polyfill: Maybe; + readonly port: Maybe; readonly siteMetadata: Maybe; readonly trailingSlash: Maybe; }; @@ -2429,12 +2454,14 @@ type SiteFieldSelector = { readonly buildTime: InputMaybe; readonly children: InputMaybe; readonly graphqlTypegen: InputMaybe; + readonly host: InputMaybe; readonly id: InputMaybe; readonly internal: InputMaybe; readonly jsxRuntime: InputMaybe; readonly parent: InputMaybe; readonly pathPrefix: InputMaybe; readonly polyfill: InputMaybe; + readonly port: InputMaybe; readonly siteMetadata: InputMaybe; readonly trailingSlash: InputMaybe; }; @@ -2443,12 +2470,14 @@ type SiteFilterInput = { readonly buildTime: InputMaybe; readonly children: InputMaybe; readonly graphqlTypegen: InputMaybe; + readonly host: InputMaybe; readonly id: InputMaybe; readonly internal: InputMaybe; readonly jsxRuntime: InputMaybe; readonly parent: InputMaybe; readonly pathPrefix: InputMaybe; readonly polyfill: InputMaybe; + readonly port: InputMaybe; readonly siteMetadata: InputMaybe; readonly trailingSlash: InputMaybe; }; @@ -3056,12 +3085,14 @@ type SiteSortInput = { readonly buildTime: InputMaybe; readonly children: InputMaybe; readonly graphqlTypegen: InputMaybe; + readonly host: InputMaybe; readonly id: InputMaybe; readonly internal: InputMaybe; readonly jsxRuntime: InputMaybe; readonly parent: InputMaybe; readonly pathPrefix: InputMaybe; readonly polyfill: InputMaybe; + readonly port: InputMaybe; readonly siteMetadata: InputMaybe; readonly trailingSlash: InputMaybe; }; @@ -3088,6 +3119,132 @@ type TransformOptions = { readonly trim: InputMaybe; }; +type Translation = Node & { + readonly children: ReadonlyArray; + readonly id: Scalars['ID']; + readonly internal: Internal; + readonly key: Maybe; + readonly locale: Maybe; + readonly message: Maybe; + readonly parent: Maybe; +}; + +type TranslationConnection = { + readonly distinct: ReadonlyArray; + readonly edges: ReadonlyArray; + readonly group: ReadonlyArray; + readonly max: Maybe; + readonly min: Maybe; + readonly nodes: ReadonlyArray; + readonly pageInfo: PageInfo; + readonly sum: Maybe; + readonly totalCount: Scalars['Int']; +}; + + +type TranslationConnection_distinctArgs = { + field: TranslationFieldSelector; +}; + + +type TranslationConnection_groupArgs = { + field: TranslationFieldSelector; + limit: InputMaybe; + skip: InputMaybe; +}; + + +type TranslationConnection_maxArgs = { + field: TranslationFieldSelector; +}; + + +type TranslationConnection_minArgs = { + field: TranslationFieldSelector; +}; + + +type TranslationConnection_sumArgs = { + field: TranslationFieldSelector; +}; + +type TranslationEdge = { + readonly next: Maybe; + readonly node: Translation; + readonly previous: Maybe; +}; + +type TranslationFieldSelector = { + readonly children: InputMaybe; + readonly id: InputMaybe; + readonly internal: InputMaybe; + readonly key: InputMaybe; + readonly locale: InputMaybe; + readonly message: InputMaybe; + readonly parent: InputMaybe; +}; + +type TranslationFilterInput = { + readonly children: InputMaybe; + readonly id: InputMaybe; + readonly internal: InputMaybe; + readonly key: InputMaybe; + readonly locale: InputMaybe; + readonly message: InputMaybe; + readonly parent: InputMaybe; +}; + +type TranslationGroupConnection = { + readonly distinct: ReadonlyArray; + readonly edges: ReadonlyArray; + readonly field: Scalars['String']; + readonly fieldValue: Maybe; + readonly group: ReadonlyArray; + readonly max: Maybe; + readonly min: Maybe; + readonly nodes: ReadonlyArray; + readonly pageInfo: PageInfo; + readonly sum: Maybe; + readonly totalCount: Scalars['Int']; +}; + + +type TranslationGroupConnection_distinctArgs = { + field: TranslationFieldSelector; +}; + + +type TranslationGroupConnection_groupArgs = { + field: TranslationFieldSelector; + limit: InputMaybe; + skip: InputMaybe; +}; + + +type TranslationGroupConnection_maxArgs = { + field: TranslationFieldSelector; +}; + + +type TranslationGroupConnection_minArgs = { + field: TranslationFieldSelector; +}; + + +type TranslationGroupConnection_sumArgs = { + field: TranslationFieldSelector; +}; + +type TranslationSortInput = { + readonly children: InputMaybe; + readonly id: InputMaybe; + readonly internal: InputMaybe; + readonly key: InputMaybe; + readonly locale: InputMaybe; + readonly message: InputMaybe; + readonly parent: InputMaybe; +}; + type WebPOptions = { readonly quality: InputMaybe; }; pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy