Skip to content

Conversation

@naoki-00-ito
Copy link
Member

This pull request introduces a comprehensive blog listing and filtering/pagination system, along with support for external blog links and improved content metadata. The changes add new components for filtering by author and tag, implement client-side pagination, and enhance the BlogCard to handle external articles. Several new blog posts are also added, and the content schema is updated to support external URLs.

Blog Listing, Filtering, and Pagination:

  • Added BlogList component for paginated blog display, with client-side navigation and URL sync (src/components/BlogList.tsx).
  • Implemented BlogPagination and supporting UI components for accessible, styled pagination controls (src/components/BlogPagination.tsx, src/components/ui/pagination.tsx) [1] [2].
  • Introduced BlogFilter component to allow filtering blogs by author and tag, with dynamic generation of filter options (src/components/BlogFilter.astro).
  • Updated main blog page to use new BlogList and BlogFilter components, replacing the previous static list (src/pages/blog.astro).

Blog Card and External Links:

  • Enhanced BlogCard to support external articles: displays an external link icon, "外部記事" badge, and opens links in a new tab when appropriate. Tag and author links are now clickable and styled for clarity (src/components/BlogCard.tsx) [1] [2] [3].

Content Structure and Metadata:

  • Updated blog content schema to include optional externalUrl for supporting external blog links (src/content/config.ts).
  • Added new blog posts with external URLs for various authors (src/content/blog/*.md) [1] [2] [3] [4].
  • Improved blog fetching utility to sort posts by date and fixed a typo in the variable name (src/lib/getBlog.ts).
  • Added utility to fetch and encode unique tags for tag filtering and static path generation (src/lib/getTags.ts).

Author and Tag Filtered Pages:

Other:

  • Updated README.md to remove specific version numbers for Node.js and Astro, reflecting a more general setup.

These changes collectively provide a much richer and more user-friendly blog browsing experience, with robust filtering, pagination, and support for both internal and external articles.

naoki-00-ito and others added 19 commits December 7, 2025 21:54
Merge pull request #133 from rowicy/develop
Co-authored-by: naoki-00-ito <117070296+naoki-00-ito@users.noreply.github.com>
- Add optional externalUrl field to blog schema
- Update BlogCard to handle external URLs with icon and badge
- Add sample external blog entry for demonstration
- External links open in new tab with proper security attributes

Co-authored-by: naoki-00-ito <117070296+naoki-00-ito@users.noreply.github.com>
Use a complete article path instead of root URL

Co-authored-by: naoki-00-ito <117070296+naoki-00-ito@users.noreply.github.com>
Co-authored-by: naoki-00-ito <117070296+naoki-00-ito@users.noreply.github.com>
Co-authored-by: naoki-00-ito <117070296+naoki-00-ito@users.noreply.github.com>
Add author and tag filtering to blog pages
…g-list

Add external article link support to blog list
@naoki-00-ito naoki-00-ito self-assigned this Dec 8, 2025
@netlify
Copy link

netlify bot commented Dec 8, 2025

Deploy Preview for rowicy ready!

Name Link
🔨 Latest commit b973a44
🔍 Latest deploy log https://app.netlify.com/projects/rowicy/deploys/693703c906a6de0007f36cbd
😎 Deploy Preview https://deploy-preview-138--rowicy.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a comprehensive blog listing and filtering system with client-side pagination, external blog link support, and enhanced navigation. The implementation adds interactive filtering by author and tag, with proper URL encoding for special characters, and improves the blog card component to handle both internal and external articles with appropriate visual indicators.

  • Implements client-side pagination (20 posts per page) with URL synchronization and accessible controls
  • Adds filtering capabilities by author and tag with dedicated dynamic route pages
  • Enhances blog cards to support external articles with visual indicators and clickable tag/author links

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/components/BlogList.tsx Implements paginated blog list with URL state management and client-side navigation
src/components/BlogPagination.tsx Provides accessible pagination controls with ellipsis for large page counts
src/components/ui/pagination.tsx Foundational pagination UI components using shadcn/ui patterns
src/components/BlogFilter.astro Creates filter interface showing available authors and tags
src/components/BlogCard.tsx Enhances card with external link support, clickable tags/authors, and visual indicators
src/pages/blog.astro Updates main blog page to use new list and filter components
src/pages/blog/author/[name].astro Dynamic page for filtering blogs by specific author
src/pages/blog/tag/[tag].astro Dynamic page for filtering blogs by specific tag with URL encoding
src/lib/getBlog.ts Fixes typo in variable name from "sortesBlogs" to "sortsBlogs"
src/lib/getTags.ts Utility to fetch and encode unique tags for filtering and routing
src/content/config.ts Adds optional externalUrl field to blog schema
src/content/blog/*.md Adds new blog posts with external URLs and metadata
README.md Removes specific version numbers for Node.js and Astro

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Dec 8, 2025

@naoki-00-ito I've opened a new pull request, #139, to work on those changes. Once the pull request is ready, I'll request review from you.

naoki-00-ito and others added 2 commits December 9, 2025 01:52
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI and others added 2 commits December 8, 2025 16:55
Co-authored-by: naoki-00-ito <117070296+naoki-00-ito@users.noreply.github.com>
Fix grammatically incorrect variable name in getBlog
@naoki-00-ito naoki-00-ito merged commit 4e1e54f into main Dec 8, 2025
5 checks passed
naoki-00-ito added a commit that referenced this pull request Dec 8, 2025
Merge pull request #138 from rowicy/develop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants