Commit Graph

110 Commits

Author SHA1 Message Date
joyzhao
59b7e8dda4 ci: update deploy target path in workflow 2025-06-25 21:25:30 +08:00
joyzhao
710ce9ba39 refactor(i18n): move Lang type to types/i18n directory
Update import paths for Lang type across layout files to use new location
Add umami analytics script in production mode
2025-06-21 22:30:44 +08:00
joyzhao
3b9e0465e4 ci: update node version to 20.x in deploy workflow 2025-06-21 21:34:04 +08:00
joyzhao
5e0958fb05 ci: add Gitea workflow for docs deployment
Add workflow to automatically build and deploy documentation site on push to main branch
2025-06-21 21:32:19 +08:00
joyzhao
a49bd3f8a3 feat(homepage): add call-to-action buttons for services and about pages
Add prominent buttons linking to services and about pages to improve navigation and user engagement
2025-06-21 10:47:03 +08:00
joyzhao
9dcde89a8c refactor(i18n): separate type import from utils import 2025-06-21 10:37:09 +08:00
joyzhao
01d80952b6 feat: add code icon svg with gradient styling 2025-06-21 10:33:49 +08:00
joyzhao
d6d2b131d1 feat(ui): modernize design with gradient icons and animations
- Add modern-code-icon.svg and update favicon with gradient styling
- Implement glass effect, hover animations and gradient text in global.css
- Enhance GlassHeader with motion animations and new icon
- Update design variables for modern look including shadows and transitions
2025-06-21 10:31:48 +08:00
joyzhao
d0fe30a5e3 refactor(data): move data exports to index file
Consolidate data exports from data.ts to index.ts for better organization and maintainability. Remove the now redundant data.ts file.
2025-06-21 10:17:27 +08:00
joyzhao
6d80b12855 refactor: remove stats grid section from homepage
The stats grid section was commented out as it's no longer needed on the homepage. This cleanup improves code maintainability by removing unused UI components.
2025-06-21 10:05:49 +08:00
joyzhao
b47ae190e4 refactor: remove projects section and navigation link
Temporarily hide projects section from homepage and remove its navigation link
2025-06-21 10:04:13 +08:00
joyzhao
a80915c1b2 fix: temporarily hide LinkedIn links and share button
Remove LinkedIn integration from AuthorCard, ShareButtons, and homepage components while keeping the code commented for potential future restoration
2025-06-21 09:41:33 +08:00
joyzhao
a8c3d4b197 refactor(i18n): consolidate Lang type imports to types/i18n
Move all Lang type imports from various locations to a centralized location in types/i18n for better maintainability and consistency
2025-06-21 09:36:32 +08:00
joyzhao
67f713565a refactor: clean up codebase by removing redundant comments
Remove unnecessary JSDoc comments and redundant explanations from components, types, and data files. Simplify code structure while maintaining functionality.

Clean up language handling logic in components by removing redundant comments and simplifying state management. Move type imports to dedicated type import statements where applicable.
2025-06-21 09:28:10 +08:00
joyzhao
ea01dc6dd8 refactor: reorganize project structure and improve type definitions
- Split types into separate modules for better organization
- Move data files to dedicated directories with proper documentation
- Enhance i18n utilities with better type safety and performance
- Maintain backward compatibility with legacy imports
2025-06-21 09:18:39 +08:00
joyzhao
e38ec6b12f docs(project_rules): update project documentation with detailed technical specifications
- Expand project overview with responsive design and theme switching details
- Update technology stack section with configuration file references
- Reorganize component library section with enhanced component descriptions
- Restructure directory layout for better clarity
- Add comprehensive documentation for internationalization, data flow, blog features, and animations
2025-06-21 08:54:15 +08:00
joyzhao
398093dde9 feat(mdx): add MDX support and migrate markdown files to MDX
- Add @astrojs/mdx integration to enable MDX support
- Migrate all markdown files (.md) to MDX (.mdx) format
- Create HighlightBox component for enhanced content styling
- Update astro config to include MDX integration
- Add documentation guide for MDX integration
2025-06-20 11:36:11 +08:00
joyzhao
a446ce68bd feat(i18n): add slogans and update translations for multiple pages
Add new slogan translations for projects and blog pages in both English and Chinese
Update about and services pages with additional content
Modify footer to include remote work availability notice
2025-06-20 10:49:53 +08:00
joyzhao
3909db0ceb feat(homepage): add typewriter effect to subtitle section
Implement a dynamic typewriter animation that cycles through multiple role descriptions. The effect includes customizable typing and deleting speeds, delays, and looping behavior to enhance user engagement on the homepage.
2025-06-20 10:27:41 +08:00
joyzhao
fc6a1d32fd feat: add job availability notice to homepage
Add a prominent job availability notice in both English and Chinese versions of the homepage to attract potential remote work opportunities
2025-06-20 09:45:21 +08:00
joyzhao
46c3c2ee41 refactor(data): update skills and about info sections
- Remove duplicate mobile frameworks (uniApp, WeChat Mini Program)
- Add React Native and Flutter to mobile skills
- Update languages and frameworks in about section
- Add backend, database and devops details to about section
2025-06-20 09:22:52 +08:00
joyzhao
45299c1fa6 perf(ui): optimize animations with hardware acceleration
- Replace transition-all with transition-transform for better performance
- Add will-change and transform properties to enable GPU acceleration
- Simplify marquee animation logic and remove unused hover state
- Remove unused skills and optimize animation variants
2025-06-20 09:11:14 +08:00
joyzhao
c698d1ae45 feat: add sitemap integration and configure site URL
- Add @astrojs/sitemap dependency and configure it in astro.config.mjs
- Set site URL and markdown theme in astro config
- Remove unused theme variables from global.css
2025-06-19 21:17:01 +08:00
joyzhao
3b0c8e39df docs(services): update service documentation with clearer terms and contact info
- Improve clarity of requirements and payment terms
- Add explicit contact information section
- Remove redundant introductory line
2025-06-19 21:03:44 +08:00
joyzhao
2e694a3608 docs: update about page content and personal info
Update the about page content in both English and Chinese versions to reflect current personal information, skills, and interests. Also modify the corresponding data in the data.ts file to maintain consistency across the application.
2025-06-19 20:59:32 +08:00
joyzhao
f01143c7b6 feat(blog): add new blog posts about JavaScript, Docusaurus, Git, browser rendering, and Gitea Actions
Add five new technical blog posts covering various frontend and DevOps topics:
- JavaScript map and parseInt trap explanation
- Tailwind CSS integration with Docusaurus v3
- Git commit conventions and best practices
- Browser rendering principles and optimization
- Automated deployment workflows using Gitea Actions

Each post includes detailed explanations, code examples, and practical implementation guidance
2025-06-19 20:51:23 +08:00
joyzhao
10e7a24da8 chore: clean up and migrate temp docs to proper locations
- Remove outdated temporary documentation files
- Migrate relevant content to appropriate locations in docs structure
- Update gitea actions deployment guide with proper images and content
2025-06-19 20:42:28 +08:00
joyzhao
f8173fd706 feat: migrate and organize documentation and blog posts
refactor(blog): restructure blog post layouts and metadata

docs: add markdown migration guide and project rules update

style(global.css): update typography theme variables

chore: move temp_docs to appropriate blog post locations
2025-06-19 20:24:09 +08:00
joyzhao
c064c8a1c5 feat(ui): improve blog list and terminal mockup responsiveness
- Make terminal mockup full width on all screen sizes
- Add empty state handling for blog list with visual feedback
- Maintain consistent styling across language versions
2025-06-19 18:53:05 +08:00
joyzhao
6c5813ecd2 refactor(ui): simplify empty state components and remove unused blog posts
- Replace custom SVG icons with lucide-react components in TaxonomyPageLayout, CategoryCard, and TagCard
- Remove unnecessary "Back to blog list" links from empty states
- Delete outdated blog posts about React Hooks, Docker, Tailwind CSS, and TypeScript
2025-06-19 18:43:20 +08:00
joyzhao
62364d1d11 feat(ui): improve empty state for taxonomy pages
Add visual indicators and back-to-blog links for empty categories, tags, and search results
2025-06-19 18:31:45 +08:00
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