A comprehensive, responsive website for planning family camping trips through Occitania (southern France). This static website provides detailed itineraries, practical information, and interactive tools for an unforgettable camper adventure.
- Mobile-first approach optimized for on-the-go access
- Seamless experience across smartphones, tablets, and desktops
- Touch-friendly navigation and interactions
- Real-time search across all content
- Categorized results (Preparativos, Itinerarios, Alojamientos, etc.)
- Search term highlighting for quick scanning
- Works completely offline
- 50+ categorized packing items
- Progress tracking with visual indicators
- Local storage persistence (saves your progress)
- Export functionality to text format
- Reset and search capabilities
- Modal viewer with navigation controls
- Keyboard shortcuts (arrow keys, ESC)
- Touch gestures for mobile devices
- Detailed descriptions for each location
- Clean, printer-friendly layouts
- Optimized for offline reference during travel
- Essential information preserved in print format
- WCAG 2.1 AA compliant
- Semantic HTML markup
- Keyboard navigation support
- Screen reader optimized
- Vehicle documentation requirements
- Crit'Air vignette process and application
- Strategies for traveling in August
- Heat management tips for families
Route A: Heart of Occitania (7 days)
- Toulouse: La Halle de La Machine, Canal du Midi
- Albi: UNESCO Cathedral, Cordes-sur-Ciel
- Gorges du Tarn: Natural canyons, outdoor activities
- Carcassonne: Medieval citadel exploration
Route B: Pyrenees to Mediterranean (7 days)
- Ariège: Prehistoric parks, wolf sanctuaries
- Narbonne: Roman heritage, Mediterranean coast
- Montpellier: Free zoo, aquarium, planetarium
- Flexible coastal exploration
- Strategic camping recommendations
- Aires de service (service areas) explanation
- Booking strategies for August travel
- Detailed facility information
- Documentation and administration
- Health and first aid supplies
- Clothing and footwear for all weather
- Children's entertainment (age 4+)
- Kitchen and dining essentials
- Bedroom and bathroom necessities
- Essential camper equipment
- Emergency contacts (French and Spanish)
- Recommended mobile apps
- Useful French phrases
- Official websites and links
- Node.js 18+ (for local development)
- Git
- Modern web browser
-
Clone the repository
git clone <repository-url> cd camper-trip
-
Install dependencies
npm install
-
Start local server
npm run serve
Website will be available at
http://localhost:3000 -
Build for production
npm run build
βββ index.html # Landing page (root for GitHub Pages)
βββ src/
β βββ css/
β β βββ styles.css # Global styles and navigation
β β βββ pages.css # Page-specific styles and components
β βββ js/
β β βββ main.js # Core functionality (search, gallery, navigation)
β β βββ checklist.js # Checklist-specific features
β βββ pages/
β β βββ getting-started.html # Preparation and documentation
β β βββ itineraries.html # Two detailed travel routes
β β βββ accommodations.html # Campings and service areas
β β βββ checklist.html # Interactive packing checklist
β β βββ resources.html # Emergency contacts and references
β βββ images/ # Image assets (placeholder)
βββ package.json
βββ .gitlab-ci.yml
βββ README.md
- Frontend: Vanilla HTML5, CSS3, JavaScript (ES6+)
- Styling: CSS Grid, Flexbox, Custom Properties
- Build: Node.js scripts
- Deployment: GitLab Pages with GitLab CI/CD or GitHub Pages
- Search: Client-side implementation with fuzzy matching
- Storage: localStorage for checklist persistence
The website automatically deploys to GitLab Pages when changes are pushed to the main branch.
Deployment Process:
- Push changes to
mainbranch - GitLab CI/CD pipeline runs automatically
- Static files are built and deployed to
public/directory - Website becomes available at your GitLab Pages URL
The website is now compatible with GitHub Pages with index.html in the root directory.
Deployment Process:
- Push changes to
mainbranch - Go to repository Settings β Pages
- Select "Deploy from a branch" and choose
mainbranch - Website will be available at
https://yourusername.github.io/repository-name
# Create production build
npm run build
# Files are ready in public/ directory
# Upload to any static hosting service- Configure DNS settings with your domain provider
- Add domain in GitLab Pages settings
- Update
.gitlab-ci.ymlif needed for domain-specific configuration
The project includes a GitLab CI/CD configuration (.gitlab-ci.yml) with:
- Automated Deployment: Triggers on
mainbranch pushes - Testing Stage: Runs validation (expandable for future tests)
- Caching: Optimizes build times with
node_modulescaching - Artifacts: Preserves build output for deployment
- Update HTML pages in
src/pages/ - Add search terms to
searchDataarray insrc/js/main.js - Update navigation in
index.html(root) and all page files insrc/pages/ - Test locally with
npm run serve - Commit and push to deploy
- Global styles: Edit
src/css/styles.css - Page-specific styles: Edit
src/css/pages.css - Print styles: Located at bottom of each CSS file
- Place images in
src/images/directory - Update image references in HTML
- Add to gallery markup if applicable
- Optimize images for web (recommended: WebP format)
- Lightweight: No external frameworks or libraries
- Optimized CSS: Minimal, purpose-built stylesheets
- Efficient JavaScript: Vanilla JS with modern features
- Image Optimization: Lazy loading implementation ready
- Caching: Static assets cached by GitLab Pages
# Run local server for manual testing
npm run serve
# Validate HTML (add validation tools as needed)
npm testTesting Checklist:
- All navigation links work correctly
- Search functionality returns relevant results
- Checklist saves and loads state properly
- Image gallery modal functions correctly
- Print styles display properly
- Mobile responsiveness across devices
- Accessibility with screen readers
- Fork the repository
- Create feature branch:
git checkout -b update/new-content - Make changes following existing content structure
- Test locally with
npm run serve - Submit merge request with description of changes
- Follow existing code style and structure
- Update search data when adding new content
- Test across different browsers and devices
- Document any new features in this README
- Edit
src/pages/itineraries.html - Update activity cards, logistics sections, and image galleries
- Add new search terms to
main.jssearchData array
- Edit
src/pages/checklist.html - Update checklist items in their respective categories
- Test localStorage functionality after changes
- Update
src/pages/accommodations.html - Follow existing card structure for consistency
- Include essential information: location, services, booking details
- Chrome/Chromium: Full support
- Firefox: Full support
- Safari: Full support (iOS 12+)
- Edge: Full support
- Mobile browsers: Optimized experience
- Touch Navigation: Optimized for finger navigation
- Readable Text: Minimum 16px font size
- Fast Loading: Optimized for 3G connections
- Offline Capable: Core functionality works without internet
MIT License - Feel free to use this template for your own travel guides!
For technical issues or content questions:
- Check existing GitLab issues
- Create new issue with detailed description
- Include browser information and steps to reproduce
Happy Camping! ποΈ Enjoy your adventure through the beautiful Occitania region!