const express = require('express'); const router = express.Router(); const contentService = require('../services/content'); router.get('/blogs', (req, res) => { let posts = contentService.getAllPosts(); const { category, tag, page } = req.query; let activeFilter = null; if (category) { const catLower = category.trim().toLowerCase(); posts = posts.filter(p => (p.category || '').toLowerCase() === catLower); activeFilter = { type: 'category', value: category }; } else if (tag) { const tagLower = tag.trim().toLowerCase(); posts = posts.filter(p => (p.tags || []).some(t => t.toLowerCase() === tagLower)); activeFilter = { type: 'tag', value: tag }; } const postsPerPage = 12; const currentPage = Math.max(1, parseInt(page, 10) || 1); const totalPosts = posts.length; const totalPages = Math.ceil(totalPosts / postsPerPage); const startIndex = (currentPage - 1) * postsPerPage; const paginatedPosts = posts.slice(startIndex, startIndex + postsPerPage); const taxonomy = contentService.getTaxonomy(); res.render('pages/blogs', { title: activeFilter ? `Blogs - ${activeFilter.type}: ${activeFilter.value}` : 'Blogs', posts: paginatedPosts, currentPage, totalPages, totalPosts, activeFilter, taxonomy }); }); module.exports = router;