My personal website and blog built with Astro, TailwindCSS, and MDX. Visit doguyilmaz.com to see it live.
- ⚡️ Built with Astro 5.0 for blazing-fast performance
- 🎨 Styled with TailwindCSS
- 📝 MDX for blog posts with rich content
- 🔍 SEO optimized with meta tags and sitemap
- 📱 Fully responsive design
- 🌙 Dark mode support
- 🔤 Custom font loading with Fontsource
- 📊 Reading time estimation
- 🎥 YouTube and Twitter embeds support
- 🤖 RSS feed generation
- 🚦 Vercel deployment ready
- Clone the repository:
git clone https://github.com/yourusername/doguyilmaz.com.git
cd doguyilmaz.com
- Install dependencies:
bun install
- Start the development server:
bun dev
- Build for production:
bun run build
Blog posts are written in MDX format and stored in src/content/blog/
. To add a new blog post:
- Create a new
.mdx
file in thesrc/content/blog/
directory - Add the required frontmatter at the top of your file:
---
title: "Your Blog Post Title"
description: "A brief description of your post"
pubDate: "2024-01-01"
heroImage: "/path/to/hero-image.jpg"
tags: ["tag1", "tag2"]
---
Your blog post content here...
- Write your content using MDX syntax
- Add any images to the
public
directory - Preview your post by running the development server
- Markdown syntax
- Custom components
- YouTube embeds
- Twitter embeds
- Code blocks with syntax highlighting
- Images with captions
- And more!
The site configuration is managed through src/config/site.ts
. This file contains all the main settings and content for the website:
export const siteConfig = {
// Basic site information
siteName: "Your Name",
siteTitle: "Your Title",
siteDescription: "Your description",
siteUrl: "https://yourdomain.com",
siteLanguage: "en",
profileImage: "/images/profile.jpg",
// SEO and metadata
seo: {
title: "Your SEO Title",
description: "Your SEO Description",
keywords: ["keyword1", "keyword2"],
ogImage: "/images/og-image.jpg",
twitterHandle: "@yourhandle",
},
// Page-specific metadata
pages: {
home: { ... },
about: { ... },
blog: { ... },
// ... other pages
}
}
-
Basic Information
- Site name, title, and description
- Profile image and language settings
-
SEO Settings
- Meta titles and descriptions
- Open Graph images
- Social media handles
-
Page Metadata
- Individual page titles and descriptions
- Content types and images
-
Homepage Settings
- Latest posts display options
- Contact form visibility
- Custom button text
-
Social Links
- GitHub, Twitter, LinkedIn, Instagram
-
Background Patterns
- Multiple pattern options
- Pattern selector configuration
- Floating button settings
To modify any of these settings, edit the corresponding values in src/config/site.ts
.
This project is licensed under the MIT License.
Contributions, issues, and feature requests are welcome!