import type { Config } from "./types"; import logo from "./assets/logo.webp"; import resumeToml from "./assets/resume.toml?raw"; export const config: Config = { personalInfo: { name: "Atridad Lahiji", profileImage: { src: logo, alt: "A drawing of Atridad Lahiji by Shelze!", }, tagline: "Researcher, Full-Stack Developer, and IT Professional", description: "Researcher, Full-Stack Developer, and IT Professional", }, homepageSections: { socialLinks: { title: "Places I Exist:", description: "Find me across the web", }, techStack: { title: "Technologies I Use:", description: "Technologies and tools I work with", }, }, resumeConfig: { tomlFile: resumeToml, layout: { leftColumn: ["experience", "volunteer"], rightColumn: ["skills", "education", "awards"], }, sections: { enabled: [ "summary", "experience", "education", "skills", "volunteer", "awards", ], summary: { title: "Summary", }, experience: { title: "Professional Experience", }, education: { title: "Education", }, skills: { title: "Skills", }, volunteer: { title: "Volunteer Work", }, awards: { title: "Awards", }, }, }, siteConfig: { personal: { name: "Atridad Lahiji", profileImage: { src: logo, alt: "A drawing of Atridad Lahiji by Shelze!", }, tagline: "Researcher, Full-Stack Developer, and IT Professional", description: "Researcher, Full-Stack Developer, and IT Professional", }, homepage: { socialLinks: { title: "Places I Exist:", description: "Find me across the web", }, techStack: { title: "Technologies I Use:", description: "Technologies and tools I work with", }, }, resume: { tomlFile: resumeToml, layout: { leftColumn: ["experience", "volunteer"], rightColumn: ["skills", "education", "awards"], }, sections: { enabled: [ "summary", "experience", "education", "skills", "volunteer", "awards", ], summary: { title: "Summary", }, experience: { title: "Professional Experience", }, education: { title: "Education", }, skills: { title: "Skills", }, volunteer: { title: "Volunteer Work", }, awards: { title: "Awards", }, }, }, meta: { title: "Atridad Lahiji", description: "Personal website of Atridad Lahiji - Researcher, Full-Stack Developer, and IT Professional", url: "https://atri.dad", author: "Atridad Lahiji", }, openGraph: { image: { url: "/logo.webp", width: 1024, height: 1024, type: "image/webp", alt: "Atridad Lahiji", }, type: "website", locale: "en_US", siteName: "Atridad Lahiji", }, pageOpenGraph: { home: { title: "Atridad Lahiji", description: "Personal website of Atridad Lahiji - Researcher, Full-Stack Developer, and IT Professional", }, posts: { title: "Blog Posts", description: "Thoughts and ramblings.", }, projects: { title: "Projects", description: "Projects I'm working on.", }, talks: { title: "Talks", description: "Conference talks and presentations by Atridad Lahiji", }, resume: { title: "Resume", description: "Resume + TOML Resume Generator", }, }, giteaDomains: ["https://git.atri.dad"], }, talks: [ { id: "devedmonton-hateoas", name: "Hypermedia as the engine of application state - An Introduction", description: "A basic introduction to the concepts behind HATEOAS or Hypermedia as the engine of application state.", link: "/files/DevEdmonton_Talk_HATEOAS.pdf", }, ], projects: [ { id: "ascently", name: "Ascently", description: "Offline-first FOSS app designed to help climbers track their sessions", gitLink: "https://git.atri.dad/atridad/Ascently", webLink: "https://ascently.atri.dad", iosLink: "https://apps.apple.com/ca/app/ascently/id6753959144", androidLink: "https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://git.atri.dad/atridad/Ascently/releases", }, { id: "himbocrypt", name: "HimboCrypt", description: "A robust end-to-end encryption engine and CLI.", gitLink: "https://git.atri.dad/atridad/himbocrypt", }, { id: "muse", name: "muse", description: "Go-based music generation using TOML song definitions", gitLink: "https://git.atri.dad/atridad/muse", }, { id: "magiccounter", name: "MagicCounter", description: "FOSS Magic the Gathering Health Tracker", gitLink: "https://git.atri.dad/atridad/MagicCounter", iosLink: "https://apps.apple.com/ca/app/magiccounter/id6756251972", androidLink: "https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://git.atri.dad/atridad/MagicCounter/releases", }, { id: "himbot", name: "Himbot", description: "A discord bot written in Go. Loosly named after my username online (HimbothySwaggins).", gitLink: "https://git.atri.dad/atridad/himbot", }, { id: "lavitz", name: "Lavitz", description: "My NixOS desktop configuration, named after a character in Legend of Dragoon for the PS1: Lavitz.", gitLink: "https://git.atri.dad/atridad/lavitz", }, { id: "haschel", name: "Haschel", description: "My NixOS proxy server configuration, named after a character in Legend of Dragoon for the PS1: Haschel", gitLink: "https://git.atri.dad/atridad/haschel", }, { id: "dart", name: "Dart", description: "My Nix macOS configuration, named after a character in Legend of Dragoon for the PS1: Dart", gitLink: "https://git.atri.dad/atridad/dart", }, { id: "atrodotdad", name: "Personal Site", description: "My personal website built with Astro.", webLink: "https://atri.dad", gitLink: "https://git.atri.dad/atridad/atridotdad", }, ], sections: { resume: { name: "Resume", path: "/resume", description: "Professional experience, skills, and background", }, posts: { name: "Blog Posts", path: "/posts", description: "Technical articles and thoughts", }, talks: { name: "Talks", path: "/talks", description: "Conference talks and presentations", }, projects: { name: "Projects", path: "/projects", description: "Personal and professional projects", }, }, socialLinks: [ { id: "email", name: "Email", url: "mailto:me@atri.dad", icon: "email", ariaLabel: "Email me", }, { id: "rss", name: "RSS Feed", url: "/feed", icon: "rss", ariaLabel: "RSS Feed", }, { id: "gitea", name: "Forgejo (Git)", url: "https://git.atri.dad/atridad", icon: "gitea", ariaLabel: "Forgejo (Git)", }, { id: "bluesky", name: "Bluesky", url: "https://bsky.app/profile/atri.dad", icon: "bluesky", ariaLabel: "Bluesky Profile", }, { id: "matrix", name: "Matrix", url: "https://matrix.to/#/@atridad:atri.dad", icon: "matrix", ariaLabel: "Matrix Profile", }, { id: "mastodon", name: "Mastodon", url: "https://fedi.atri.dad/@atridad", icon: "mastodon", ariaLabel: "Mastodon Profile", }, ], techLinks: [ { id: "react", name: "React", url: "https://react.dev/", icon: "react", ariaLabel: "React", }, { id: "vuejs", name: "Vue.js", url: "https://vuejs.org//", icon: "vuedotjs", ariaLabel: "Vue.js", }, { id: "typescript", name: "TypeScript", url: "https://www.typescriptlang.org/", icon: "typescript", ariaLabel: "TypeScript", }, { id: "astro", name: "Astro", url: "https://astro.build/", icon: "astro", ariaLabel: "Astro", }, { id: "go", name: "Go", url: "https://go.dev/", icon: "go", ariaLabel: "Go", }, { id: "postgresql", name: "PostgreSQL", url: "https://www.postgresql.org/", icon: "postgresql", ariaLabel: "PostgreSQL", }, { id: "dotnet", name: "DotNet", url: "https://dot.net/", icon: "dotnet", ariaLabel: "DotNet", }, { id: "docker", name: "Docker", url: "https://www.docker.com/", icon: "docker", ariaLabel: "Docker", }, { id: "kotlin", name: "Kotlin", url: "https://kotlinlang.org/", icon: "kotlin", ariaLabel: "Kotlin", }, { id: "swift", name: "Swift", url: "https://www.swift.org/", icon: "swift", ariaLabel: "Swift", }, { id: "nix", name: "Nix", url: "https://nixos.org", icon: "nixos", ariaLabel: "Nix", }, ], navigationItems: [ { id: "home", name: "Home", path: "/", tooltip: "Home", icon: "house", enabled: true, }, { id: "posts", name: "Posts", path: "/posts", tooltip: "Posts", icon: "newspaper", enabled: true, isActive: (path: string) => path.startsWith("/posts") || path.startsWith("/post/"), }, { id: "resume", name: "Resume", path: "/resume", tooltip: "Resume", icon: "file-user", enabled: !!(resumeToml && resumeToml.trim()), }, { id: "projects", name: "Projects", path: "/projects", tooltip: "Projects", icon: "code-xml", enabled: true, isActive: (path: string) => path.startsWith("/projects"), }, { id: "talks", name: "Talks", path: "/talks", tooltip: "Talks", icon: "megaphone", enabled: true, isActive: (path: string) => path.startsWith("/talks"), }, ], } as const;