Commit Graph

26 Commits

Author SHA1 Message Date
joyzhao
21fba08741 feat(taxonomy): add unified taxonomy page layout and utilities
refactor blog category and tag pages to use new TaxonomyPageLayout
add utility functions for processing taxonomy page data
pass lang prop to GlassHeader component
2025-06-19 17:22:27 +08:00
joyzhao
7951121c7f refactor(blog): extract blog utilities into shared module
Move common blog functionality like post filtering, sorting and data extraction into a centralized utils module.
Replace Astro.glob with import.meta.glob for better performance.
Update all blog components and pages to use the new utilities.
2025-06-19 16:28:59 +08:00
joyzhao
429b13985f feat(blog): refactor blog components and improve category/tag handling
- Add new CategoryCard and TagCard components to centralize UI logic
- Convert BlogList from React to Astro component
- Improve category and tag matching by using IDs from frontmatter
- Update all blog pages to use new components
- Add line-height to global styles for better readability
2025-06-19 14:45:29 +08:00
joyzhao
deb80c0df7 feat(blog): add tagId and categoryId for multilingual routing support
- Add tagId and categoryId fields to blog post frontmatter and interfaces
- Update blog list, category, and tag pages to use IDs for routing
- Implement fallback to regular tags/categories when IDs are not available
- Improve tag and category links with hover effects and proper encoding
- Update post meta component to support multilingual routing
2025-06-19 14:08:47 +08:00
joyzhao
601f3f06ce fix(routing): encode special characters in tag and category URLs
Handle special characters in tag and category URLs by encoding them properly to prevent routing issues. Also update the UI/UX tag to UI in blog posts.
2025-06-19 13:30:10 +08:00
joyzhao
eb00c13375 feat(blog): add dynamic tag and category pages for multilingual support
Implement dynamic routing for blog tags and categories in both English and Chinese
Add sorting, filtering and sidebar navigation functionality
Include responsive design with proper styling and fallbacks
2025-06-19 13:24:23 +08:00
joyzhao
fb9b2b6971 feat(blog): replace hardcoded posts with dynamic loading from markdown files
Dynamically load blog posts from markdown files instead of using hardcoded data. Posts are now sorted by date and categories/tags are automatically extracted from frontmatter. This makes content management easier and more maintainable.
2025-06-19 11:34:04 +08:00
joyzhao
62df420d80 refactor(profile): centralize personal info in data module and update components
Move all personal information to a centralized data module and update components to use this source. This improves maintainability by having a single source of truth for profile data and makes it easier to update information across the application.
2025-06-19 11:00:39 +08:00
joyzhao
5b6b9f5d58 refactor(i18n): restructure translation system with nested objects and proxy
feat(data): add projects and services data structure for dynamic rendering
refactor(pages): replace hardcoded content with dynamic data-driven components
2025-06-19 10:52:05 +08:00
joyzhao
c1f240d007 refactor(i18n): simplify language handling across components
use Astro.currentLocale as single source of truth for language
remove manual lang prop passing to components
components now read language from document lang attribute
2025-06-19 10:24:48 +08:00
joyzhao
7bb617a5c5 feat: add multilingual about, services and projects pages with i18n support
- Create new about and services pages in both English and Chinese
- Implement projects page with responsive design and project cards
- Add i18n translations for new UI elements
- Update header navigation to support new pages
- Create shared AboutLayout component with table of contents
2025-06-18 18:15:32 +08:00
joyzhao
e5497e5e6d feat(i18n): implement comprehensive blog post enhancements
- Add avatar to personal info in data.ts
- Remove redundant headings from blog posts
- Reorder imports in utils.ts for consistency
- Implement new blog layout components including:
  - PostMeta for displaying post metadata
  - TableOfContents for navigation
  - BlogNavigation for post pagination
  - ShareButtons for social sharing
  - AuthorCard for author information
- Enhance BlogPostLayout with:
  - Improved typography and spacing
  - Responsive sidebar layout
  - Dark mode support
  - Better code block styling
- Remove outdated i18n guide documentation
- Add comprehensive styling for all new components
2025-06-17 19:37:36 +08:00
joyzhao
d22174e0dc refactor(blog): update blog post layouts and remove index pages
- Replace BlogLayout with new BlogPostLayout for better post styling
- Remove unused blog post index pages
- Add new blog post layout with enhanced typography and metadata
2025-06-16 22:30:40 +08:00
joyzhao
70b6a27021 feat(blog): add blog posts and typography plugin
Add new blog posts covering React Hooks, Docker with Node.js, Tailwind CSS, and TypeScript best practices. Implement Tailwind Typography plugin for better blog post styling. Create blog post listing pages in both English and Chinese. Update BlogLayout to use prose styling for improved readability.

The changes include:
- Added 4 new blog posts in English and Chinese versions
- Integrated @tailwindcss/typography plugin
- Created blog post index pages
- Updated BlogLayout with typography-focused styling
- Added related dependencies to package.json
2025-06-16 22:24:20 +08:00
joyzhao
b4b2153bde feat(blog): add blog feature with layout, list component and i18n support
- Create BlogLayout for consistent blog page structure
- Implement BlogList component with responsive design and line-clamp
- Add blog navigation to header with proper routing
- Include i18n support for both English and Chinese
- Add sample blog pages with mock data
2025-06-16 21:52:16 +08:00
joyzhao
f31fbb20a6 feat(projects): add project tags and improve project cards layout
- Add project type tags (business, opensource, personal) to project cards
- Update i18n translations for new project tags and visit/demo labels
- Improve tech stack indicators styling with unified gray theme
- Simplify project card footer links to use translation labels
- Update project descriptions and tech stack details
2025-06-16 19:26:05 +08:00
joyzhao
89cfeff439 feat(navigation): add services section to header and translations
- Add 'nav.services' translations in both English and Chinese
- Include services link in desktop and mobile navigation
- Add id to services section for navigation
- Use personalInfo.name instead of translation for header name
2025-06-16 18:37:28 +08:00
joyzhao
1ace97c5e1 refactor: simplify personal info and remove unused components
- Replace translation-based personal info with direct values
- Remove unused HeroSection, AboutSection, and ProjectsSection components
- Clean up i18n translations to only keep essential navigation items
2025-06-16 18:32:43 +08:00
joyzhao
1354ffab58 feat(services): add services section with outsourcing and bugfix cards
Add new services section to showcase outsourcing projects and bug fixing services
Update i18n translations for services section
Change hero section link from projects to about
Remove personalInfo import and use translation for name in footer
2025-06-16 17:29:35 +08:00
joyzhao
a18a0cdff1 feat(portfolio): replace skills section with about section and skills marquee
- Remove old skills data and components
- Add new about section with personal introduction and stats
- Implement animated skills marquee component
- Update navigation to reflect new section structure
2025-06-16 12:50:08 +08:00
joyzhao
ed02039a9e feat(portfolio): redesign hero and projects sections with modern UI
- Implement new glassmorphism design for hero section with terminal mockup
- Redesign projects section with improved card layout and tech stack indicators
- Update project data with new entries and translations
- Add scroll-aware header with dynamic styling
- Remove unused ExperienceSection component
2025-06-16 11:29:53 +08:00
joyzhao
20ae3de62c refactor: remove experience section and related data
Clean up unused experience section from UI and remove associated data
2025-06-16 09:33:17 +08:00
joyzhao
1476f4eeec feat(i18n): implement astro i18n integration and refactor locale handling
- Add i18n configuration to astro.config.mjs with default locale and routing
- Refactor language handling to use Astro.currentLocale instead of URL parsing
- Update tsconfig to include only necessary files for better type checking
- Improve LanguageSwitcher to handle routing based on astro i18n config
- Add new translation keys and update components to use dynamic titles
- Simplify MotionWrapper component by removing unused default animations
2025-06-15 17:20:29 +08:00
joyzhao
22799c9d8a refactor(portfolio): update skills data and remove awards/education sections
- Update skills data with additional frameworks and tools
- Remove AwardsSection and EducationSection components
- Update project documentation to reflect changes
2025-06-15 15:43:27 +08:00
joyzhao
720686751a feat(i18n): add multilingual support for all sections
Implement internationalization across all components by adding lang prop and translation keys
Update data structure to use translation keys instead of hardcoded text
Add comprehensive English and Chinese translations in ui.ts
2025-06-15 09:34:17 +08:00
joyzhao
ee0fbcceb2 feat(i18n): implement internationalization support for en and zh
Add i18n infrastructure with translation files and utility functions
Update components to use translations and language switching
Create localized pages for en and zh languages
Add language detection and path localization utilities
2025-06-15 09:08:41 +08:00