Changelog
What actually landed in the repo — subject lines plus the longer explanation when there is one. loke-dev/loke.dev
Repository on GitHub-
feat: add CORS support and update API endpoint handling
- Implemented CORS middleware for the '/api/seshat' endpoint, allowing requests from specified origins. - Updated fetch calls in Sanity actions and Dashboard component to use a centralized appApiUrl for better maintainability. - Added SANITY_STUDIO_APP_SITE_URL to the environment example for easier configuration.
30968d5 Loke -
refactor: remove Sanity configuration files and update ESLint settings
- Deleted obsolete Sanity configuration files including sanity.cli.ts, sanity.config.ts, and related schemas to streamline the project structure. - Updated ESLint configuration to exclude the removed files and directories, ensuring cleaner linting processes. - Removed unused components and actions related to Sanity, enhancing overall code maintainability.
342b897 Loke -
feat: enhance Astro configuration and Vercel rewrites for studio integration
- Added a proxy configuration in Astro for '/studio' to redirect requests to a local server. - Updated Vercel rewrites to correctly route '/studio' paths to the appropriate destination. - Included deployment appId in Sanity CLI configuration for improved project management.
cc49c10 Loke -
feat: add resources field to post schema and enhance blog components
- Introduced a new 'resources' field in the post schema to allow for the inclusion of related resources with titles and URLs. - Updated BlogPostCard and blog post detail pages to display resources, improving content richness. - Enhanced the reading time calculation to account for plain text and added related functionality in the content generation process. - Refactored various components to improve layout and interactivity, including updates to the footer and header for better user experience.
8421769 Loke -
refactor: unify image handling across components and improve cache control
- Replaced getPostImageUrl and getProjectImageUrl with getSanityImageUrl in BlogPostCard and ProjectCard components for consistent image processing. - Updated Footer and various page components to use 'noopener noreferrer' for improved security in external links. - Refactored cache control settings across multiple pages to utilize a centralized CACHE_CONTROL configuration for better maintainability. - Removed deprecated image handling functions from helpers.ts to streamline the codebase.
b69df6a Loke -
feat: enhance image loading and layout structure in BaseLayout and index pages
- Added a slot for head elements in BaseLayout.astro to allow for dynamic head content. - Updated index.astro to preload AVIF images for improved loading performance and adjusted image sizes for better responsiveness. - Refactored image handling in index.astro to utilize new image loading strategies.
8e046a7 Loke -
feat: enhance image handling in Astro configuration and components
- Added imagesConfig to Astro configuration for improved image size management. - Updated BlogPostCard and ProjectCard components to include a listQuality parameter for better image quality control. - Refactored getPostImageSrcSet and getProjectImageSrcSet functions to utilize layoutWidth for responsive image handling.
3f69028 Loke -
chore: update Astro configuration and refactor image component usage
- Added inlineStylesheets configuration to Astro build settings for improved performance. - Removed duplicate preconnect link for Vercel insights in BaseLayout.astro. - Replaced Image component with Picture component in index.astro for better image format handling and added support for AVIF and WebP formats.
1920a2a Loke -
fix: add JSX import source for SolidJS in ContactForm component
7490950 Loke -
refactor: migrate from React to SolidJS and update related components
- Replaced React with SolidJS for the ContactForm component, utilizing Solid's reactive signals and lifecycle methods. - Updated the Header component to implement a mobile navigation dialog using native HTML dialog elements, removing the previous MobileMenu component. - Adjusted related posts functionality to align with the new SolidJS structure, including changes in the API and query handling. - Removed unused React dependencies and updated package.json and pnpm-lock.yaml accordingly. - Enhanced CLAUDE.md documentation to reflect the new client-side JavaScript architecture.
0013862 Loke -
chore: update Vercel adapter configuration and add sharp package
- Enhanced Vercel adapter configuration to include imageService support. - Added sharp package for image processing in package.json and updated pnpm-lock.yaml.
85c5bec Loke -
chore: downgrade package manager to pnpm@9.15.9 and update Vite patch hash in pnpm-lock.yaml
55a22b7 Loke -
chore: update package manager to pnpm@10.6.3 in package.json
2d264b9 Loke -
refactor: remove unused image and update SEO component to use default profile image
- Deleted unused loke_clay.png image file. - Updated Seo.astro to import and use getDefaultProfileOgUrl for default image handling. - Modified createArticleSchema in schema.ts to accept a fallback image URL. - Replaced img tags with Image component in about.astro and index.astro for better performance and added attributes. - Updated blog post page to utilize the new default image URL for article schema.
56c4348 Loke -
chore: update Vite version and add patching configuration
- Set Vite version to 7.3.1 in package.json and pnpm-lock.yaml - Introduce pnpm overrides and patchedDependencies for Vite to ensure consistent versioning across the project
0a9d474 Loke -
chore: isolate sanity studio into studio/ subdirectory
- Add studio/ with isolated package.json (React 19, Sanity 5, lucide-react) - Add studio/tsconfig.json and studio/.gitignore - Remove sanity, @sanity/vision, styled-components from root devDeps - Update root studio script: pnpm --dir studio dev - Update @tailwindcss/vite and tailwindcss 4.1.12 → 4.2.2 (fixes Vite transform error) - Untrack .sanity/ runtime artifacts, add to .gitignore - Remove eslint-plugin-react-refresh references (removed during Astro migration)
ff07087 Loke -
refactor: update image URL builder import to use createImageUrlBuilder
a5d2d80 Loke -
chore: add sanity, @sanity/vision, styled-components as devDeps for studio
06b1f83 Loke -
feat: proxy /studio to sanity hosted studio, add studio dev script
ff861df Loke -
Merge pull request #8 from loke-dev/feat/astro-migration
b32b18f Loke -
fix: add padding to shiki code blocks (pre.shiki selector for Shiki v3)
3d23cdb Loke -
docs: update CLAUDE.md to reflect Astro architecture
4abe6ae Loke -
chore: add astro build output dirs to .gitignore
23d5014 Loke -
fix: resolve typecheck errors after remix removal
aead8a2 Loke -
fix: replace ViewTransitions with ClientRouter (Astro v5+ rename)
9635997 Loke -
chore: remove vite.config.ts (replaced by astro.config.ts)
23f4d02 Loke -
chore: remove remix app/ directory
b1e2a00 Loke -
feat: add RSS feed and custom sitemap endpoint
f980a5b Loke -
feat: add contact page with ContactForm island
fb23d7c Loke -
fix: remove duplicate prose wrapper and guard NaN page param in blog pages
33ae41c Loke -
feat: add blog list and blog post pages
e715e92 Loke -
fix: mark AboutPage.sections as optional to match GROQ output
78775ac Loke -
feat: add home, about, and projects pages
a719574 Loke -
feat: port seshat API routes from remix to astro endpoints
711aaf5 Loke -
fix: move honeypot check before validation, fix error message leak
59ab9dc Loke -
feat: add /api/contact endpoint with Turnstile, Zod, Resend
9560891 Loke -
fix: fix SSR crash and add Turnstile widget reset on error
daa9e29 Loke -
feat: add ContactForm island with vanilla Turnstile and Zod validation
f73e238 Loke -
refactor: simplify GROQ query in related-posts API
a30af1c Loke -
feat: add RelatedPosts island and related-posts API route
9e76138 Loke -
fix: add HTML escaping and fix srcset in PortableText
fa14015 Loke -
feat: add PortableText.astro with server-side Shiki highlighting
6b72594 Loke -
fix: guard technologies array, improve alt text and a11y in ProjectCard
4ef0203 Loke -
feat: add BlogPostCard, ProjectCard, Pagination components
c4c86b3 Loke -
fix: address code review issues in header, mobile menu, footer
06149f7 Loke -
feat: add header, footer, mobile menu island with native dialog
78b1442 Loke -
feat: add Seo.astro component for meta tags
b37daa8 Loke -
feat: add base layout, global styles, schema.org markup
602fb3d Loke -
feat: add security headers middleware
c52e402 Loke -
chore: port sanity lib and utility files to src/
53fa3d2 Loke