59 lines
1.3 KiB
TypeScript
59 lines
1.3 KiB
TypeScript
import { defineConfig, DefaultTheme } from "vitepress";
|
|
import {
|
|
groupIconMdPlugin,
|
|
groupIconVitePlugin,
|
|
} from "vitepress-plugin-group-icons";
|
|
|
|
interface CustomThemeConfig extends DefaultTheme.Config {
|
|
socialLinks?: Array<{
|
|
label: string;
|
|
link: string;
|
|
icon: string;
|
|
}>;
|
|
nav?: Array<{
|
|
text: string;
|
|
link: string;
|
|
}>;
|
|
}
|
|
|
|
export default defineConfig<CustomThemeConfig>({
|
|
title: "Simon Einzinger",
|
|
description: "Cybersecurity Student",
|
|
markdown: {
|
|
theme: {
|
|
light: "github-light",
|
|
dark: "github-dark",
|
|
},
|
|
// lineNumbers: true,
|
|
config(md: any) {
|
|
md.use(groupIconMdPlugin);
|
|
},
|
|
},
|
|
vite: {
|
|
plugins: [groupIconVitePlugin()],
|
|
},
|
|
themeConfig: {
|
|
socialLinks: [
|
|
{
|
|
label: "GitHub",
|
|
icon: "/icons/github.svg",
|
|
link: "https://github.com/einCyberSimon",
|
|
},
|
|
{
|
|
label: "LinkedIn",
|
|
icon: "/icons/linkedin.svg",
|
|
link: "https://www.linkedin.com/in/simon-einzinger",
|
|
},
|
|
{
|
|
label: "Email",
|
|
icon: "/icons/email.svg",
|
|
link: "mailto:info@simon-einzinger.de",
|
|
},
|
|
],
|
|
nav: [
|
|
{ text: "Home", link: "/" },
|
|
{ text: "Blog", link: "/blog/" },
|
|
{ text: "CV", link: "/cv/" },
|
|
],
|
|
},
|
|
} satisfies { themeConfig: CustomThemeConfig });
|