diff --git a/src/components/Legal.astro b/src/components/Legal.astro new file mode 100644 index 0000000..6695cec --- /dev/null +++ b/src/components/Legal.astro @@ -0,0 +1,13 @@ +--- +import LegalDate from './LegalDate.svelte'; +import { site } from '../data/site'; +--- + + diff --git a/src/components/LegalDate.svelte b/src/components/LegalDate.svelte new file mode 100644 index 0000000..bbe460f --- /dev/null +++ b/src/components/LegalDate.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/components/PageFooter.astro b/src/components/PageFooter.astro new file mode 100644 index 0000000..0424987 --- /dev/null +++ b/src/components/PageFooter.astro @@ -0,0 +1,16 @@ +--- +import Legal from './Legal.astro'; +import SocialLinks from './SocialLinks.astro'; +import UpLink from './UpLink.astro'; +--- + + diff --git a/src/components/SocialLinks.astro b/src/components/SocialLinks.astro new file mode 100644 index 0000000..4d50a77 --- /dev/null +++ b/src/components/SocialLinks.astro @@ -0,0 +1,22 @@ +--- +import { Sprite } from 'astro-icon'; +import data from '../data/social-links.json'; +--- + +
+ { + data.map(({ text, url, icon, props = {} }) => ( + + + + )) + } +
diff --git a/src/components/ThemeBox.svelte b/src/components/ThemeBox.svelte index b732927..4dc47c8 100644 --- a/src/components/ThemeBox.svelte +++ b/src/components/ThemeBox.svelte @@ -1,5 +1,5 @@ + diff --git a/src/data/site.ts b/src/data/site.ts new file mode 100644 index 0000000..cbd50bc --- /dev/null +++ b/src/data/site.ts @@ -0,0 +1,3 @@ +export const site = { + author: 'Stefan Imhoff', +}; diff --git a/src/data/social-links.json b/src/data/social-links.json new file mode 100644 index 0000000..1f622d9 --- /dev/null +++ b/src/data/social-links.json @@ -0,0 +1,23 @@ +[ + { + "text": "Mail", + "url": "#protected-email", + "icon": "ri:mail-fill", + "props": { + "data-domain": "stefanimhoff", + "data-name": "hey", + "data-tld": "de", + "onclick": "window.open(`mailto:${this.dataset.name}@${this.dataset.domain}.${this.dataset.tld}`, '_blank')" + } + }, + { + "text": "Twitter", + "url": "https://twitter.com/kogakure", + "icon": "ri:twitter-fill" + }, + { + "text": "GitHub", + "url": "https://github.com/kogakure", + "icon": "ri:github-fill" + } +] diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index e5bb49b..9ade1a2 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -4,6 +4,7 @@ import { Sprite } from 'astro-icon'; import ThemeProvider from '../components/ThemeProvider.astro'; import PageHeader from '../components/PageHeader.astro'; +import PageFooter from '../components/PageFooter.astro'; export interface Props { title: string; @@ -57,9 +58,7 @@ const { title, backLink } = Astro.props;
- + diff --git a/tailwind.config.cjs b/tailwind.config.cjs index e29ffb0..2dc9c81 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -40,7 +40,7 @@ module.exports = { 18: 'repeat(18, minmax(0, 1fr))', // --grid-fullsize }, gridTemplateRows: ({ theme }) => ({ - layout: `clamp(3rem, ${theme('spacing.55')}, 9rem)`, + layout: `clamp(3rem, ${theme('spacing.layout')}, 9rem)`, }), columns: { 13: '13', @@ -81,6 +81,7 @@ module.exports = { }, borderWidth: { 1: '1px', // --border-width-1, (DEFAULT) + 2: '2px', 10: '0.1em', // --border-width-10 15: '0.15em', // --border-width-15 }, @@ -105,9 +106,11 @@ module.exports = { 18: 'clamp(6.192rem, 13.25vw, 7.43rem)', // --space-18 19: 'clamp(7.43rem, 15.9vw, 8.916rem)', // --space-19 20: 'clamp(8.916rem, 19.08vw, 10.699rem)', // --space-20 - 55: '5.55vw', // --space-55 TODO: new name, e.g. spacing-grid + column: '5.55vw', // --space-55 TODO: new name, e.g. spacing-grid + halfcolumn: '2.775vw', layout: 'clamp(1.5rem, 5.55vw, 4.5rem)', icon: '24px', + 'icon-small': '20px', clickarea: '40px', }, fontFamily: { @@ -116,7 +119,7 @@ module.exports = { }, // TODO: Switch to Tshirt sizes fontSize: { - 1: ['0.65em', { lineHeight: ' ' }], // --font-size-1 (0) + 1: ['0.65em', { lineHeight: '' }], // --font-size-1 (0) 2: ['clamp(0.65rem, 0.8vw, 0.75rem)', { lineHeight: '1.625' }], // --font-size-2 (2) 3: ['clamp(1rem, 1.1vw, 1.25rem)', { lineHeight: '1.625' }], // --font-size-3 (15) 4: ['clamp(1.25rem, 1.8vw, 2rem)', { lineHeight: '1' }], // --font-size-4 (5)