Commit Graph

79 Commits

Author SHA1 Message Date
joyzhao
f4ff971c85 refactor(Container): simplify container component and remove size prop
Remove size variants from Container component and set a default max-width
Update all instances where Container was used with size prop to use default
2025-06-19 18:26:05 +08:00
joyzhao
5fcf7a9d33 feat(ui): add Container component and replace manual container divs
Implement a reusable Container component with size variants (sm, md, lg, xl, full) to standardize content width across the application. Replace all manual container divs with the new component for consistent styling and maintainability.
2025-06-19 18:10:49 +08:00
joyzhao
b4a8d13cdd refactor(layouts): extract common layout components to base template
Move shared HTML structure, head metadata, and theme scripts to Layout.astro
Remove duplicate code from BlogLayout, BlogPostLayout, and AboutLayout
Keep page-specific content and styling in individual layout files
2025-06-19 17:37:48 +08:00
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
8fbeec7dc8 feat(table-of-contents): implement scrollable TOC with radix-ui
- Add @radix-ui/react-scroll-area dependency
- Create scroll-area component with custom styling
- Refactor TOC layout to use scroll-area component
- Improve TOC styling and active state transitions
- Apply consistent TOC styling across blog and about layouts
2025-06-19 12:36:35 +08:00
joyzhao
8cecab8479 refactor(layout): improve blog post layout and component styling
- Move AuthorCard to bottom of main content with enhanced styling
- Adjust TableOfContents styling and positioning
- Simplify AuthorCard and GlassHeader components
2025-06-19 11:52:05 +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
25281f4459 refactor(types): centralize type definitions in shared types file
Move all interface and type definitions to src/types/index.ts to reduce code duplication and improve maintainability. This includes types for components, blog posts, personal info, and localization.
2025-06-19 11:26:47 +08:00
joyzhao
acd0fa4bb9 fix: update github username in personal info 2025-06-19 11:10:19 +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
4621223d26 fix(i18n): improve language path handling and prevent unnecessary redirects
- Fix edge cases in path processing for language switching
- Add checks to prevent redirects to the same page
- Update documentation to reflect current project structure
2025-06-19 10:13:49 +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
9ad2651dd2 chore: update personal info with correct email and github url 2025-06-16 18:42:22 +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
0c22c6abf6 refactor(components): simplify animations and styling in header and hero sections
remove framer-motion dependencies and replace with CSS transitions
clean up unused imports and streamline mobile menu implementation
2025-06-16 11:44:39 +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
12631de53e refactor(i18n): update personal info and improve language switcher
- Update personal information in i18n files to reflect new user details
- Remove hardcoded personal info from GlassHeader and use i18n instead
- Simplify navigation items in GlassHeader by removing unused sections
- Enhance LanguageSwitcher UI with better display and chevron icon
2025-06-15 17: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
21c337a040 docs: move i18n guide to .dev_docs directory
Relocate the internationalization guide from project root to .dev_docs folder for better documentation organization
2025-06-15 09:09:44 +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
joyzhao
4ab809ed94 feat(i18n): add internationalization support with astro-i18next
- Add astro-i18next package for i18n support
- Create LanguageSwitcher component with English and Chinese options
- Add i18n guide documentation
- Update .gitignore and package.json
2025-06-14 10:08:29 +08:00
joyzhao
f134d69446 docs: 添加项目说明文档以指导AI进行代码重构 2025-06-13 12:12:41 +08:00
joyzhao
c1bfb0915e refactor: 清理无用资源并更新项目配置
删除大量未使用的图标、图片和组件文件
更新.gitignore、tsconfig.json和astro配置
添加新的工具函数和UI组件
修改项目元数据和依赖项
2025-06-13 12:03:15 +08:00
joyzhao
43d830aa27 fix: 修正类型声明文件的引用路径 2025-06-12 13:09:25 +08:00
joyzhao
884997cc86 first commit 2025-06-12 12:59:07 +08:00
EFEELE
99f4bd4fbf chore: upgrade Tailwind CSS from v4.0.8 to v4.1.8
- Updated Tailwind to the latest patch version for improved stability and features - No breaking changes detected in the current setup - You can review the full changelog here: https://github.com/tailwindlabs/tailwindcss/releases
2025-06-05 09:52:11 -06:00
EFEELE
83ff497b26 refactor: update .blur-circle::after style in dark mode (#12) 2025-06-05 09:25:43 -06:00
Psan
7774685d1f Fixed Maintainability Issues (#11)
* Implemented Astro native content collection for static data

* deleted spaces

* Fixed Maintainability issues

---------

Co-authored-by: psan <psan>
2025-06-05 09:15:35 -06:00
Fernando Lopez
7a127a49b5 style(ui): unify border padding to p-[2px] across themes (#8) 2025-06-03 11:53:08 -06:00
EFEELE
441bfd09d6 docs: add pull request template to standardize PR submissions 2025-06-03 11:39:40 -06:00
EFEELE
01f3db844e chore(funding): add FUNDING.yml to enable sponsorship options 2025-06-03 11:39:28 -06:00
dependabot[bot]
725cdc362f build(deps): bump the npm_and_yarn group across 1 directory with 2 updates (#10)
Bumps the npm_and_yarn group with 2 updates in the / directory: [undici](https://github.com/nodejs/undici) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `undici` from 6.21.1 to 6.21.3
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.21.1...v6.21.3)

Updates `vite` from 6.2.5 to 6.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.5/packages/vite)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.21.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 6.3.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 11:06:19 -06:00