{formatDate(post.date)}
{post.title}
{post.description && ({post.description}
)} {post.tags && post.tags.length > 0 && (import { Link, useParams, Navigate } from 'react-router-dom';
import { useEffect, useState } from 'react';
import ReactMarkdown from 'react-markdown';
import remarkGfm from 'remark-gfm';
import rehypeHighlight from 'rehype-highlight';
import { getPostBySlug, formatDate } from '@/lib/blog';
import { ArrowLeft } from 'lucide-react';
import 'highlight.js/styles/github-dark.css';
const BlogPost = () => {
const { slug } = useParams<{ slug: string }>();
const post = slug ? getPostBySlug(slug) : undefined;
const [mousePos, setMousePos] = useState({ x: 0, y: 0 });
useEffect(() => {
if (post) {
document.title = `${post.title} — damaj.tech`;
const meta = document.querySelector('meta[name="description"]');
if (meta && post.description) meta.setAttribute('content', post.description);
}
}, [post]);
if (!post) return
{formatDate(post.date)}
{post.description}
)} {post.tags && post.tags.length > 0 && (