Changelog
1.0.1
- Schema Validation Fixes:
- Fixed review schema to follow Google Product snippet guidelines (changed from standalone Review to Product with nested review property)
- Added author URL (https://kaytomas.com/about) to all Person schemas for proper E-E-A-T signals
- Resolves Google Rich Results validation errors
1.0.0
- 🎉 MAJOR RELEASE - Production Ready with SEO Structured Data
- JSON-LD Structured Data Implementation:
- Review Schema.org markup with star ratings (1-5), product info, pros/cons
- VideoObject schema with YouTube integration and thumbnails
- NewsArticle schema with author attribution and rich article cards
- BreadcrumbList schema for improved navigation in search results
- Organization schema with site branding, logo, and social links
- Type-Safe Content Schema (Breaking Changes):
- Implemented discriminated union pattern in content configuration
- Review posts now REQUIRE
rating field (1-5 scale)
- Video posts now REQUIRE
youtubeId field
- Build-time validation ensures all content meets requirements
- All existing content updated to comply (9 reviews, 3 videos validated)
- Schema Generation Infrastructure:
- Created centralized schema utility library (
src/lib/schema/)
- TypeScript interfaces for all Schema.org types
- Automatic pros/cons extraction from reviewProsCons MDX exports
- JSON-LD injected at build time (zero runtime performance cost)
- SEO Benefits:
- ⭐ Star ratings visible in Google search results
- 🎥 Video thumbnails in search results
- 📰 Rich article cards with author info
- 🔗 Breadcrumb navigation
- 👤 E-E-A-T signals with proper author attribution
- 🏢 Organization branding
- Author Updates:
- Changed default author from "Kay Tomas" to "Kay Tomas Bertheussen"
- Updated all content with standardized author name
0.91
- Video page enhancements:
- Replaced hero image thumbnail with embedded YouTube video on video article pages
- Added accessibility attributes (role and aria-label) to video embeds
- Removed "Latest Videos" title from videos index page
- Added tertiary accent color support for "View all" links
- Author field improvements:
- Removed hardcoded "by" prefix from all author displays
- Changed author text to lighter weight (300) with tighter letter spacing (-0.01em)
- Switched to secondary font for more elegant appearance
- Hero component redesign:
- Split hero into two-column layout with title on left, description on right
- Both sections now centered vertically and horizontally
- Added support for HTML in title and subtitle (line breaks with
<br>)
- Implemented conditional gradient system:
- Main page: Tri-color gradient (white → orange → purple) at 180 degrees
- Sub-pages: Two-color gradient (white → orange) at 90 degrees
- Increased subtitle font size for better readability
- Typography and styling:
- Updated date/time separator spacing with padding for better visual balance
- Added gradient to article card titles (19deg angle, white to accent at 60%)
- Rainbow gradient effect added to "ultrathinking" text on about page
- About page:
- Created new about page with site information and AI content disclosure
- Footer "AI usage" link now points to about page anchor (#ai-content)
- "About" and "Changelog" links properly implemented in footer
- Featured article enhancements:
- Added "Featured" tag badge with magenta color (#cc33cc)
- Featured tag appears before category tag on featured article images
- Improved visual hierarchy for featured content
- Footer refinements:
- Reduced brand text size from lg to base
- Changed credits text from bold to normal weight
- Split version info to separate line for better readability
- Added underline styling to version link for clear affordance
0.90
- Content migration complete! All articles migrated from WordPress and manually processed
- Migrated MegaGear Torres Pro review article:
- Successfully migrated complex review with 4 galleries (39 images total)
- Integrated YouTube video embed
- Added ProsAndCons component for structured review format
- Properly formatted disclaimers and affiliate links
- Brand assets implementation:
- Added official logo and favicon from live site
- Replaced text logo with image in header
- Maintained header height for consistent layout
- Social media updates:
- Updated YouTube link to @kaytomascom
- Updated Instagram and X links to @ktbsen
- CSS improvements:
- Enhanced image caption selector using
:has() pseudo-class for better reliability
- Improved caption positioning across all articles
- Site status: Content complete and ready for launch preparation
0.89
- Manual formatting improvements for review articles
- Gallery component updates:
- Moved styles to global.css following architecture pattern
- Changed to 2-column layout on all screen sizes
- Removed rounded corners for cleaner look
- Article typography refinements:
- Tighter list spacing with improved line-height
- Hero description font size increased to 1.40rem
- Added support for line breaks in hero descriptions
- Created comprehensive review template (reviewTemplate.mdx)
0.88
- Typography and spacing refinements:
- Reduced article body text from 1.29rem to 1.125rem (18px) for improved readability
- Reduced content max-width from 700px to 680px for tighter layout
- Reduced article hero top padding from space-10 to space-5 for more compact design
- Component system improvements:
- Created ProsAndCons component for review articles with Verge-style minimal design
- Two-column layout on desktop with vertical divider, single column on mobile
- Customizable labels (prosLabel/consLabel) with defaults
- Uses default bullet points with accent colors for pros/cons titles
- Added MDX compatibility comment to allow component as first content
- Created Disclaimer CSS class for article disclaimers with accent underline
- Styling architecture:
- Moved all component styles to global.css for centralized management
- Moved prose/content styles (links, headings, blockquotes, code) to global.css
- Moved utility styles (.category, .tag) to global.css
- Path aliases:
- Added TypeScript path aliases (@components, @styles, @layouts, @/*) for cleaner imports
- Updated README with path alias documentation and usage examples
- Blockquote redesign:
- Changed to top border (15px wide, 60px length) in accent color
- Removed italic styling, now uses IBM Plex Sans Medium
- Changed to standard white text color (var(--color-text))
- Uses var(--text-lg) on desktop, var(--text-m) on mobile
- Added horizontal padding (1.5rem) for better positioning
- Header navigation updates:
- Removed Videos and Portfolio links (pages kept for future use)
- Changed nav links to uppercase (REVIEWS / NEWS)
- Added accent-colored "/" separator between navigation items
- Documentation:
- Created comprehensive README.md with development patterns
- Documented component/styling architecture pattern
- Added ProsAndCons usage examples with multi-line array formatting
0.87
- Rewrote the whole hero segment of posts and made them french chéf ready!
- Removed link underline styling from header and footer (now only appears in article content)
- Decreased global page margins from 24px/32px to 10px across all breakpoints
- Added hero image caption support with heroImageCaption frontmatter field
- Updated caption styling globally: 10% smaller, lighter weight, custom color (#cccccc), removed italics
- Added decorative quotation mark to hero excerpt in accent color
- Adjusted hero layout spacing and responsive behavior for better visual hierarchy
- Typography improvements:
- Changed all heading colors (h1-h6) to use accent color globally
- Added gradient effect to article h1 titles (white to accent color)
- Adjusted h2 spacing: increased margin-top to space-8, reduced margin-bottom to space-3
- Created new --text-m variable (18px) for better responsive typography scaling
- Added 480px breakpoint for small mobile devices with reduced content font size
- List styling refinements:
- Removed margin-bottom from ul/ol elements for tighter spacing
- Cleaned up list item spacing for better readability
0.86
- Implement video pages with YouTube embed support
- Add video category to content schema with youtubeId and relatedReviewSlug fields
- Create /video/ archive page and /video/[slug] detail pages
- Add Videos link to header navigation (between Reviews and News)
- Integrate astro-embed for responsive YouTube embeds
- Migrate 3 video posts from WordPress:
- Zowie EC2-CW gaming mouse video
- HeyGen AI video translate test
- MegaGear Torres Pro camera bag review
- Add VIDEO_TEMPLATE.md documentation for creating video posts
0.85
- Add comprehensive redirect script plan for WordPress image URLs (REDIRECT_SCRIPT_PLAN.md)
- Update TODO.md to reflect completed tasks:
- GLightbox implementation verified
- All documentation moved to /docs folder
- CHANGELOG path already updated in version utility
0.84
- Migrated 13 articles from WordPress (9 news, 4 reviews):
- News: MX Northern Light, Dune Awakening, Overwatch 2 Stadium, Marathon, BG3 crossplay, DaVinci Resolve 20, BG3 Act 2 mod, ASUS ProArt PA32UCDM, FreeDOS 1.4, Samsung Odyssey 2025
- Reviews: BenQ Zowie EC2-CW, Red Wing Iron Ranger 8085, Reebok weight vest, Xtrfy M4 Wireless
- Enhanced migration script with major improvements:
- Preserve exact content order (text and media elements)
- Extract actual publish dates and update dates from WordPress
- Fix list formatting to prevent extra line breaks
- Auto-remove "KAYTOMAS" suffix from titles
- Process entire list blocks to maintain compact formatting
0.83
- Delete duplicate Silver Pines article (old November version)
- Implement footer component with social links (Bluesky, YouTube, Instagram, X), contact links, and build version display
- Add dynamic version numbering utility (reads from CHANGELOG.md)
- Remove version display from header (now only in footer)
- Update global link styling with accent-colored underlines and configurable offset
- Add
--text-underline-offset variable to design system
0.82
- Add Gallery.astro component for responsive image grids
- Add WordPress migration script (scripts/migrate-article.cjs) with support for:
- WordPress gallery blocks with automatic image downloads
- YouTube embed detection (astro-embed integration)
- Native WordPress video block support with file downloads
- Complete Elementor content extraction
- MDX output with proper imports
- Add video styling to global.css for proper container constraints
- Add comprehensive migration documentation
0.81
- Migrated "Meshify 3", "Sonic Racing Crossworlds", and "Keychron K3 Max" articles.
- Fixed build issues (missing
marked dependency and config conflict).
- Taught the site to speak 'Meshify', 'Sonic', and 'Keychron'. Also fixed the build, because broken sites are so 2024.
0.80
- Fix broken content collections for reviews, news, and portfolio.
- Implement clean URLs for all content types.
- Implement Image Optimization using Astro
<Image /> component.
- Update header link to
/review.
0.79
- Migrate all images to Astro's Image component for automatic optimization and lazy loading.
- Move images to /src/assets/ for proper build-time processing (news WebP, review JPG).
- Remove unoptimized PNG/WebP files from /public (~4.4MB reduction).
- Update Card and NewsGrid components to use imported image assets.
0.78
- Add comprehensive SEO meta tags (Open Graph, Twitter Cards, canonical URLs) and optimize images (PNG → WebP, 97.5% size reduction).
0.77
- Update navigation to match kaytomas.com structure (Reviews → /reviews, add Portfolio link).
0.76
- Add changelog subsite at /changelog with site styling, header, and container layout.
0.75
- Add real review images from kaytomas.com (GeForce Now, Keychron K3 Max, ZOWIE EC2-CW).
0.74
- Refactor to reusable ContentGrid component with configurable columns and add placeholder images for news items.
0.73
- Complete UI/UX redesign with design system, new layout structure, and component library.
0.72
- Add header component with logo, navigation (Home, Blog), and version number linking to changelog.
0.71
- Update index page subtitle to "det er kjempegøy på skolen".
0.70
- Update index page subtitle to "mats mats mats is helping, so are agents".
0.69
- Initial changelog setup and project documentation update.