/** * Content search module for articles and projects * Provides specialized search functionality for content items */ import { initializeBaseSearch } from './baseSearch.js'; /** * Initialize search functionality for articles * @returns {Object} Alpine.js data object with search functionality */ export function initializeArticlesSearch() { return initializeBaseSearch('.article-item', { nameAttribute: 'data-title', tagsAttribute: 'data-tags', additionalAttributes: ['data-description'], noResultsMessage: 'No articles found', allItemsMessage: 'Showing all articles', resultCountMessage: (count) => `Found ${count} articles`, itemLabel: 'articles' }); } /** * Initialize search functionality for projects * @returns {Object} Alpine.js data object with search functionality */ export function initializeProjectsSearch() { return initializeBaseSearch('.project-item', { nameAttribute: 'data-title', tagsAttribute: 'data-tags', additionalAttributes: ['data-description', 'data-github', 'data-live'], noResultsMessage: 'No projects found', allItemsMessage: 'Showing all projects', resultCountMessage: (count) => `Found ${count} projects`, itemLabel: 'projects' }); }