Files
atridotdad/src/config.ts
Atridad Lahiji f03318f7dc
All checks were successful
Docker Deploy / build-and-push (push) Successful in 3m4s
Fixed some description text
2026-03-03 13:23:13 -07:00

439 lines
10 KiB
TypeScript

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;