ci: migrate GitHub actions to Gitea actions
Deploy CV Site (andreknie.de) / deploy (push) Canceled after 0s
Deploy CV Site (andreknie.de) / deploy (push) Canceled after 0s
This commit is contained in:
@@ -8,7 +8,8 @@ export default function BottomDock() {
|
||||
|
||||
const items = [
|
||||
{ label: 'Home', path: '/', icon: <Home size={20} /> },
|
||||
{ label: 'Kniepunkt', path: '/kniepunkt', icon: <Newspaper size={20} /> },
|
||||
{ label: 'Artikel', path: '/artikel', icon: <Newspaper size={20} /> },
|
||||
{ label: 'Kniepunkt', path: '/kniepunkt', icon: <span style={{ fontWeight: 800, fontSize: '1.2rem', fontFamily: 'serif' }}>K</span> },
|
||||
{ label: 'Podcast', path: '/podcast', icon: <Mic size={20} /> },
|
||||
{ label: 'Speaking', path: '/speaking', icon: <MessageSquare size={20} /> },
|
||||
{ label: 'Beratung', path: '/consulting', icon: <Briefcase size={20} /> },
|
||||
|
||||
@@ -19,6 +19,7 @@ export default function Navigation() {
|
||||
}
|
||||
|
||||
const navLinks = [
|
||||
{ to: '/artikel', label: 'Artikel' },
|
||||
{ to: '/kniepunkt', label: 'Kniepunkt' },
|
||||
{ to: '/podcast', label: 'Podcast' },
|
||||
{ to: '/speaking', label: 'Speaking' },
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import React from 'react'
|
||||
import { Helmet } from 'react-helmet-async'
|
||||
|
||||
export default function SEOHead({ title, description, url, image, type = 'website' }) {
|
||||
const defaultTitle = "Dr. André Knie - Experte für Digitale Souveränität"
|
||||
const defaultDescription = "Dr. André Knie unterstützt Organisationen dabei, digitale Souveränität zu erlangen und sicher von KI zu profitieren."
|
||||
|
||||
const siteTitle = title ? `${title} | Dr. André Knie` : defaultTitle
|
||||
const siteDesc = description || defaultDescription
|
||||
const siteUrl = url ? `https://andreknie.de${url}` : "https://andreknie.de"
|
||||
const siteImage = image || "https://andreknie.de/images/og-image.jpg"
|
||||
|
||||
return (
|
||||
<Helmet>
|
||||
<title>{siteTitle}</title>
|
||||
<meta name="description" content={siteDesc} />
|
||||
|
||||
{/* Open Graph / Facebook */}
|
||||
<meta property="og:type" content={type} />
|
||||
<meta property="og:url" content={siteUrl} />
|
||||
<meta property="og:title" content={siteTitle} />
|
||||
<meta property="og:description" content={siteDesc} />
|
||||
<meta property="og:image" content={siteImage} />
|
||||
|
||||
{/* Twitter */}
|
||||
<meta property="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:url" content={siteUrl} />
|
||||
<meta property="twitter:title" content={siteTitle} />
|
||||
<meta property="twitter:description" content={siteDesc} />
|
||||
<meta property="twitter:image" content={siteImage} />
|
||||
</Helmet>
|
||||
)
|
||||
}
|
||||
@@ -55,6 +55,7 @@
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
|
||||
Reference in New Issue
Block a user