59 lines
2 KiB
Markdown
59 lines
2 KiB
Markdown
# Vending Machine Manuals Page
|
|
|
|
This page provides a comprehensive, SEO-optimized interface for browsing and downloading vending machine manuals.
|
|
|
|
## Features
|
|
|
|
- **Scalable Design**: Handles hundreds of manuals efficiently
|
|
- **Smart Organization**: Automatically organizes by manufacturer and category
|
|
- **Advanced Filtering**: Filter by manufacturer, category, or search by name
|
|
- **Two View Modes**: Grouped view (by manufacturer/category) or list view
|
|
- **SEO Optimized**: Includes structured data, proper metadata, and semantic HTML
|
|
- **Performance**: Server-side scanning with client-side filtering
|
|
|
|
## Directory Structure
|
|
|
|
Manuals should be organized in the `/manuals` directory at the project root:
|
|
|
|
```
|
|
manuals/
|
|
├── BevMax/
|
|
│ ├── manual1.pdf
|
|
│ └── manual2.pdf
|
|
├── Merchant-Series/
|
|
│ └── manual.pdf
|
|
└── Other/
|
|
└── manual.pdf
|
|
```
|
|
|
|
## How It Works
|
|
|
|
1. **Scanning**: The `scanManuals()` function scans the manuals directory and extracts metadata
|
|
2. **Categorization**: Automatically categorizes manuals based on filename patterns (model numbers, types, etc.)
|
|
3. **Serving**: PDFs are served via API route (`/api/manuals/[...path]`) for security and flexibility
|
|
4. **Filtering**: Client-side filtering provides instant results without page reloads
|
|
|
|
## SEO Features
|
|
|
|
- Comprehensive metadata with keywords
|
|
- Structured data (WebPage + CollectionPage schemas)
|
|
- Semantic HTML structure
|
|
- Proper heading hierarchy
|
|
- Canonical URLs
|
|
- Open Graph and Twitter Card support
|
|
|
|
## Adding Manuals
|
|
|
|
Simply add PDF files to the appropriate manufacturer directory. The system will:
|
|
|
|
- Automatically detect new files
|
|
- Extract categories from filenames
|
|
- Make them searchable and filterable
|
|
- Serve them securely via the API route
|
|
|
|
## Performance Considerations
|
|
|
|
- Manuals are scanned server-side at build time
|
|
- Client-side filtering ensures fast interactions
|
|
- PDFs are cached with long-term headers
|
|
- Supports hundreds of manuals without performance degradation
|