From b6bc21e0895b5e2accbf5cb81a04b39e979afd6e Mon Sep 17 00:00:00 2001
From: devandapaige
Date: Wed, 12 Nov 2025 14:22:48 -0500
Subject: [PATCH] search feature
---
README.md | 73 +++-
package-lock.json | 6 +-
public/feed.xml | 2 +-
src/app/resources/page.tsx | 446 +--------------------
src/components/blog/BlogContent.tsx | 150 +++++--
src/components/resources/ResourcesList.tsx | 201 ++++++++++
src/lib/resources.ts | 178 ++++++++
src/types/resources.ts | 16 +
8 files changed, 591 insertions(+), 481 deletions(-)
create mode 100644 src/components/resources/ResourcesList.tsx
create mode 100644 src/lib/resources.ts
create mode 100644 src/types/resources.ts
diff --git a/README.md b/README.md
index 31cc848..d9a6071 100644
--- a/README.md
+++ b/README.md
@@ -103,6 +103,8 @@ This approach allows for more complex user interactions and immediate feedback t
- Professional experience showcase
- Local craft services section
- MDX-based blog system with RSC support
+- **Blog search functionality** - Search blog posts by title, description, and tags
+- **Resources search functionality** - Search free resources by title, description, and features
- Vibe Coding Cheatsheet - Professional TailwindCSS showcase & developer resource (Freebie)
- Sourdough Corner - Local craft baking resource and guide (Freebie)
- Enhanced error handling with user feedback
@@ -148,7 +150,20 @@ Your content here...
```
-4. RSS Feed:
+4. Search Functionality:
+
+The blog includes a powerful search feature that allows users to find posts by:
+- **Title** - Search through post titles
+- **Description** - Search through post descriptions
+- **Tags** - Search through post tags
+
+The search works seamlessly with the existing tag filter system, allowing users to combine tag filtering with text search. Search queries are synced with the URL, making search results shareable. The search interface includes:
+- Real-time filtering as you type
+- Result count display
+- Clear button to reset search
+- "No results" messaging when no posts match
+
+5. RSS Feed:
The blog includes an RSS feed for subscribers to stay updated with new posts. The feed is available at `/feed.xml` and includes:
- Full post content
@@ -327,6 +342,55 @@ The project uses the following environment variables:
- `NEXT_PUBLIC_HOTJAR_ID` - Hotjar tracking ID
- Additional environment variables can be added in `.env.local`
+## Resources Page
+
+The resources page (`/resources`) provides a comprehensive collection of free resources for digital wellness, automation, and neurodivergent-friendly tech solutions.
+
+### Resource Management
+
+Resources are managed through structured data in `src/lib/resources.ts` using TypeScript types defined in `src/types/resources.ts`. Each resource includes:
+- Title and subtitle
+- Description
+- Features list
+- Links to full resource pages
+- Download links (where applicable)
+- Visual styling (border colors, emojis)
+
+### Search Functionality
+
+The resources page includes a search feature that filters resources by:
+- **Title** - Search through resource titles
+- **Subtitle** - Search through resource subtitles
+- **Description** - Search through resource descriptions
+- **Features** - Search through resource feature lists
+
+The search interface provides:
+- Real-time filtering as you type
+- Result count display
+- Clear button to reset search
+- "No results" messaging when no resources match
+- Maintains existing styling and layout
+
+### Adding New Resources
+
+To add a new resource, update the `freeResources` array in `src/lib/resources.ts`:
+
+```typescript
+{
+ id: 'unique-resource-id',
+ title: 'Resource Title',
+ subtitle: 'Resource Subtitle',
+ description: 'Resource description...',
+ emoji: '🎯',
+ features: ['Feature 1', 'Feature 2'],
+ href: '/resource-page',
+ downloadHref: '/path/to/download.pdf', // Optional
+ downloadLabel: 'Download PDF', // Optional
+ borderColor: 'green' | 'purple',
+ type: 'free',
+}
+```
+
## Sections
1. Hero - Introduction and primary CTAs
@@ -335,9 +399,10 @@ The project uses the following environment variables:
4. Experience - Professional background
5. Contact - Booking options and rates
6. Newsletter - Industry insights signup
-7. Blog - Technical articles and resources
-8. Vibe Coding Cheatsheet - Professional TailwindCSS showcase & developer resource (Freebie)
-9. Sourdough Corner - Local craft baking resource and guide (Freebie)
+7. Blog - Technical articles and resources with search functionality
+8. Resources - Free resources hub with search functionality
+9. Vibe Coding Cheatsheet - Professional TailwindCSS showcase & developer resource (Freebie)
+10. Sourdough Corner - Local craft baking resource and guide (Freebie)
## Code Standards
diff --git a/package-lock.json b/package-lock.json
index b781342..6d28a29 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3725,9 +3725,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001721",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz",
- "integrity": "sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==",
+ "version": "1.0.30001754",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz",
+ "integrity": "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==",
"funding": [
{
"type": "opencollective",
diff --git a/public/feed.xml b/public/feed.xml
index dea0e08..37cd51b 100644
--- a/public/feed.xml
+++ b/public/feed.xml
@@ -5,7 +5,7 @@
https://pythonessprogrammer.com
Thoughts on technology, accessibility, and the human experience.en
- Sun, 09 Nov 2025 21:33:11 GMT
+ Wed, 12 Nov 2025 19:19:37 GMT
diff --git a/src/app/resources/page.tsx b/src/app/resources/page.tsx
index e293657..d0c8aca 100644
--- a/src/app/resources/page.tsx
+++ b/src/app/resources/page.tsx
@@ -1,5 +1,7 @@
import Link from 'next/link'
import { Metadata } from 'next'
+import ResourcesList from '@/components/resources/ResourcesList'
+import { freeResources } from '@/lib/resources'
export const metadata: Metadata = {
title: 'Resources | Pythoness Programmer',
@@ -36,449 +38,7 @@ export default function ResourcesPage() {
-
- {/* Digital Spring Cleaning */}
-
-
-
- 🌱
-
-
-
Digital Spring Cleaning
-
GRIT Framework Toolkit
-
-
-
- A comprehensive 4-page worksheet designed to help you refresh your digital life using the GRIT framework
- (Passion, Perseverance, Growth, Resilience). Perfect for monthly or quarterly reflection.
-
- Learn to build automation systems that work with your unique brain patterns. The Y.O.U. Framework
- (Your Brain, Optimize Energy, Understand Maintenance) creates sustainable, brain-friendly workflows.
-
-
-
-
- Y.O.U. Framework Guide (PDF)
-
-
-
- Error-Proofing Worksheet
-
-
-
- Weekly Deep Dive Resources
-
-
-
-
- View Full Resource
-
-
- Download PDF
-
-
-
-
- {/* Neuroinclusive Design */}
-
-
-
- 🧠
-
-
-
Neuroinclusive Design
-
June 2025 Deep Dive
-
-
-
- Learn how designing for neurodivergent users creates better experiences for everyone—moving beyond
- accommodation to proactive inclusion with practical principles and tools.
-
-
-
-
- Four Core Design Principles
-
-
-
- Five-Minute Accessibility Check
-
-
-
- Weekly Deep Dives & Newsletter Links
-
-
-
- Explore Neuroinclusive Design
-
-
-
- {/* Tech Boundaries */}
-
-
-
- ⚡
-
-
-
Tech Boundaries
-
July 2025 Deep Dive
-
-
-
- Small boundaries, big energy gains—learn to create digital systems that work with your brain,
- not against it. Transform tech overwhelm into creative fuel.
-
-
-
-
- Three Core Boundary Pillars
-
-
-
- PARA Method & Energy-Aware Automation
-
-
-
- Weekly Deep Dives & Newsletter Links
-
-
-
- Explore Tech Boundaries
-
-
-
- {/* Vibe Coding Cheatsheet */}
-
-
-
- 💻
-
-
-
Vibe Coding Cheatsheet
-
Interactive Developer Resource
-
-
-
- A professional showcase of TailwindCSS techniques with interactive features. Perfect for developers
- looking to level up their styling game with copy-to-clipboard functionality.
-
-
-
-
- Interactive TailwindCSS Examples
-
-
-
- Copy-to-Clipboard Functionality
-
-
-
- Professional Development Patterns
-
-
-
- Explore Cheatsheet
-
-
-
- {/* Password Security Guide */}
-
-
-
- 🔐
-
-
-
Password Security Guide
-
Complete User Guide
-
-
-
- Your complete guide to password security and two-factor authentication. Learn how to manage dozens of
- passwords without losing your mind, choose the right password manager, and set up 2FA without anxiety.
-
- Building digital independence (slowly) in a world where billionaires monetize every click. A complete guide to password security, VPN protection, secure communication, and building your complete privacy system.
-
-
-
-
- Week 1: Password Foundation
-
-
-
- Week 2: ISP & VPN Protection
-
-
-
- Week 3: Secure Communication & File Sharing
-
-
-
- Week 4: Your Complete System
-
-
-
- Explore Privacy Pleasure
-
-
-
- {/* AI Myth-Busting */}
-
-
-
- 🧠
-
-
-
AI Myth-Busting
-
Critical Thinking Toolkit
-
-
-
- From the Wooden Snake's wisdom to bullshit detection: understand what AI actually is, what it isn't,
- and how to use it responsibly in our tech-power-government era.
-
-
-
-
- Three Core AI Myths Debunked
-
-
-
- Critical Thinking Framework
-
-
-
- Free AI Learning Resources
-
-
-
- Explore AI Myth-Busting
-
-
-
- {/* Digital Accessibility Legal Guide */}
-
-
-
- ⚖️
-
-
-
Digital Accessibility Legal Guide
-
Starting Point for Business Owners
-
-
-
- Essential starting guide to digital accessibility laws, compliance requirements, and practical implementation
- for business owners. Legal framework, risk management, and actionable first steps.
-
-
-
-
- Four Simple Tests You Can Do Right Now
-
-
-
- 90-Day Implementation Plan
-
-
-
- Legal Framework & Compliance Requirements
-
-
-
- Free Testing Tools & Resources
-
-
-
- Explore Accessibility Guide
-
-
-
- {/* Back to Basics */}
-
-
-
- 🏗️
-
-
-
Back to Basics
-
Digital Organization & AI-Ready Workflows
-
-
-
- Master the fundamental tech skills that make AI tools actually useful instead of frustrating.
- Build the foundation that supports your creativity with the Wooden Snake's wisdom.
-
-
-
-
- The 3-Folder Rule for Digital Organization
-
-
-
- Creative Workflow Revolution
-
-
-
- Data Flow from Chaos to Conscious
-
-
-
- Basic Automation That Serves Creativity
-
-
-
- Explore Back to Basics
-
-
-
- {/* Sourdough Corner */}
-
-
-
- 🍞
-
-
-
Sourdough Corner
-
Craft Baking Resources
-
-
-
- Comprehensive sourdough baking guide with recipes, techniques, and Amanda's favorite tools.
- Perfect for beginners and experienced bakers alike.
-