├── src ├── env.d.ts ├── styles │ └── global.css ├── images │ ├── product1.png │ ├── profilepic.png │ └── backgrounds │ │ ├── cityscape.png │ │ ├── cityscape2.png │ │ ├── cityscape3.png │ │ ├── cityscape4.png │ │ ├── mars-colony1.png │ │ ├── server-room1.png │ │ ├── server-room2.png │ │ ├── patterned-trees.png │ │ ├── patterned-trees2.png │ │ ├── watercolor-pink.png │ │ ├── vintage-computers.png │ │ ├── vintage-computers2.png │ │ ├── watercolor-blue-green.png │ │ ├── watercolor-pink-blue.png │ │ ├── watercolor-blue-green2.png │ │ ├── watercolor-blue-green3.png │ │ ├── watercolor-orange-centered.png │ │ └── watercolor-pink-blue-orange.png ├── components │ ├── LinkButton.astro │ ├── Profile.astro │ ├── pastel │ │ ├── SocialLinks.astro │ │ ├── Profile.astro │ │ ├── LinkButton.astro │ │ └── ProductLink.astro │ ├── SocialLinks.astro │ ├── modern │ │ ├── Profile.astro │ │ ├── SocialLinks.astro │ │ ├── LinkCard.astro │ │ ├── ProductLink.astro │ │ └── ThemeToggle.astro │ ├── Card.astro │ ├── ProductLink.astro │ ├── retro │ │ ├── SocialLinks.astro │ │ ├── Profile.astro │ │ ├── ProductLink.astro │ │ └── LinkCard.astro │ ├── Navbar.astro │ └── PostHog.astro ├── types.ts ├── pages │ ├── retro.astro │ ├── modern.astro │ ├── index.astro │ └── pastel.astro ├── layouts │ ├── PastelLayout.astro │ ├── Layout.astro │ ├── ModernLayout.astro │ └── RetroLayout.astro └── configs │ ├── modern-config.js │ ├── retro-config.js │ └── pastel-config.js ├── preview.png ├── preview-16x9.png ├── preview-16x9-2.png ├── postcss.config.js ├── .vscode ├── extensions.json └── launch.json ├── tsconfig.json ├── astro.config.mjs ├── .gitignore ├── package.json ├── public └── favicon.svg ├── tailwind.config.js ├── README.md └── config.js /src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// -------------------------------------------------------------------------------- /preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/preview.png -------------------------------------------------------------------------------- /src/styles/global.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /preview-16x9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/preview-16x9.png -------------------------------------------------------------------------------- /preview-16x9-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/preview-16x9-2.png -------------------------------------------------------------------------------- /src/images/product1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/product1.png -------------------------------------------------------------------------------- /src/images/profilepic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/profilepic.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["astro-build.astro-vscode"], 3 | "unwantedRecommendations": [] 4 | } 5 | -------------------------------------------------------------------------------- /src/images/backgrounds/cityscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/cityscape.png -------------------------------------------------------------------------------- /src/images/backgrounds/cityscape2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/cityscape2.png -------------------------------------------------------------------------------- /src/images/backgrounds/cityscape3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/cityscape3.png -------------------------------------------------------------------------------- /src/images/backgrounds/cityscape4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/cityscape4.png -------------------------------------------------------------------------------- /src/images/backgrounds/mars-colony1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/mars-colony1.png -------------------------------------------------------------------------------- /src/images/backgrounds/server-room1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/server-room1.png -------------------------------------------------------------------------------- /src/images/backgrounds/server-room2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/server-room2.png -------------------------------------------------------------------------------- /src/images/backgrounds/patterned-trees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/patterned-trees.png -------------------------------------------------------------------------------- /src/images/backgrounds/patterned-trees2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/patterned-trees2.png -------------------------------------------------------------------------------- /src/images/backgrounds/watercolor-pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/watercolor-pink.png -------------------------------------------------------------------------------- /src/images/backgrounds/vintage-computers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/vintage-computers.png -------------------------------------------------------------------------------- /src/images/backgrounds/vintage-computers2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/vintage-computers2.png -------------------------------------------------------------------------------- /src/images/backgrounds/watercolor-blue-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/watercolor-blue-green.png -------------------------------------------------------------------------------- /src/images/backgrounds/watercolor-pink-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/watercolor-pink-blue.png -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "astro/tsconfigs/strict", 3 | "compilerOptions": { 4 | "strictNullChecks": true, 5 | "allowJs": true 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/images/backgrounds/watercolor-blue-green2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/watercolor-blue-green2.png -------------------------------------------------------------------------------- /src/images/backgrounds/watercolor-blue-green3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/watercolor-blue-green3.png -------------------------------------------------------------------------------- /src/images/backgrounds/watercolor-orange-centered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/watercolor-orange-centered.png -------------------------------------------------------------------------------- /src/images/backgrounds/watercolor-pink-blue-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctrimm/astro-link-in-bio-theme/HEAD/src/images/backgrounds/watercolor-pink-blue-orange.png -------------------------------------------------------------------------------- /astro.config.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import { defineConfig } from 'astro/config'; 3 | import tailwind from "@astrojs/tailwind"; 4 | 5 | // https://astro.build/config 6 | export default defineConfig({ 7 | integrations: [tailwind()] 8 | }); 9 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "command": "./node_modules/.bin/astro dev", 6 | "name": "Development server", 7 | "request": "launch", 8 | "type": "node-terminal" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | 4 | # generated types 5 | .astro/ 6 | 7 | # dependencies 8 | node_modules/ 9 | 10 | # logs 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # environment variables 17 | .env 18 | .env.production 19 | 20 | # macOS-specific files 21 | .DS_Store 22 | 23 | # jetbrains setting folder 24 | .idea/ 25 | 26 | # vscode setting folder 27 | .vscode/ 28 | -------------------------------------------------------------------------------- /src/components/LinkButton.astro: -------------------------------------------------------------------------------- 1 | --- 2 | export interface Props { 3 | title: string; 4 | url: string; 5 | icon?: string; 6 | } 7 | 8 | const { title, url, icon } = Astro.props; 9 | --- 10 | 11 | 17 | {icon && } 18 | {title} 19 | 20 | -------------------------------------------------------------------------------- /src/components/Profile.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import config from '../../config.js'; 3 | import { Image } from 'astro:assets'; 4 | --- 5 | 6 |
7 | {config.user.name} 14 |

{config.user.name}

15 |

{config.user.bio}

16 |
17 | -------------------------------------------------------------------------------- /src/components/pastel/SocialLinks.astro: -------------------------------------------------------------------------------- 1 | --- 2 | // src/components/SocialLinks.astro 3 | import config from '../../configs/pastel-config.js'; 4 | --- 5 | 6 |
7 | {config.socialLinks.map((link) => ( 8 | 14 | 15 | 16 | ))} 17 |
18 | -------------------------------------------------------------------------------- /src/components/SocialLinks.astro: -------------------------------------------------------------------------------- 1 | --- 2 | // src/components/SocialLinks.astro 3 | import config from '../../config.js'; 4 | --- 5 | 6 |
7 | {config.socialLinks.map((link) => ( 8 | 14 | 15 | 16 | ))} 17 |
18 | -------------------------------------------------------------------------------- /src/components/pastel/Profile.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import config from '../../configs/pastel-config.js'; 3 | --- 4 | 5 |
6 | {`${config.user.name} 11 |

{config.user.name}

12 |

{config.user.bio}

13 |
14 | -------------------------------------------------------------------------------- /src/components/pastel/LinkButton.astro: -------------------------------------------------------------------------------- 1 | --- 2 | export interface Props { 3 | title: string; 4 | url: string; 5 | icon?: string; 6 | } 7 | 8 | const { title, url, icon } = Astro.props; 9 | --- 10 | 11 | 17 |
18 | 19 | {title} 20 |
21 |
22 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export interface SiteConfig { 2 | user: { 3 | name: string; 4 | bio: string; 5 | profileImage: string; 6 | }; 7 | background: { 8 | color: string; 9 | image: string; 10 | }; 11 | socialLinks: Array<{ 12 | platform: string; 13 | url: string; 14 | icon?: string; 15 | }>; 16 | links: Array<{ 17 | title: string; 18 | url: string; 19 | icon?: string; 20 | }>; 21 | products: Array<{ 22 | title: string; 23 | description: string; 24 | url: string; 25 | price: number; 26 | includePriceOnSite: boolean; 27 | image: string; 28 | }>; 29 | } 30 | -------------------------------------------------------------------------------- /src/components/modern/Profile.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import config from '../../../config.js'; 3 | --- 4 | 5 |
6 | Profile 11 |

{config.user.name}

12 |

Software Engineer

13 |

14 | {config.user.bio} 15 |

16 |
17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "astro-link-in-bio-theme", 3 | "type": "module", 4 | "version": "0.0.1", 5 | "scripts": { 6 | "dev": "astro dev", 7 | "start": "astro dev", 8 | "build": "astro check && astro build", 9 | "preview": "astro preview", 10 | "astro": "astro" 11 | }, 12 | "dependencies": { 13 | "@astrojs/check": "^0.9.4", 14 | "@astrojs/tailwind": "^5.1.1", 15 | "astro": "^4.15.12", 16 | "posthog-js": "^1.166.2", 17 | "typescript": "^5.6.2" 18 | }, 19 | "devDependencies": { 20 | "autoprefixer": "^10.4.20", 21 | "postcss": "^8.4.47", 22 | "tailwindcss": "^3.4.13" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/components/Card.astro: -------------------------------------------------------------------------------- 1 | --- 2 | // src/components/Card.astro 3 | interface Props { 4 | title: string; 5 | body: string; 6 | href: string; 7 | } 8 | 9 | const { href, title, body } = Astro.props; 10 | --- 11 | 12 | 24 | -------------------------------------------------------------------------------- /src/components/modern/SocialLinks.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import config from '../../../config.js'; 3 | --- 4 | 5 |
6 | { 7 | config.socialLinks.map((link) => ( 8 | 14 |