city-tourism-website-builder
Research and create modern, animated tourism websites for cities with historical facts, places to visit, and colorful designs.
What this skill does
# City Tourism Website Builder Create stunning, modern tourism websites for any city with comprehensive research, historical facts, and beautiful animations. ## Overview This skill enables the creation of professional city tourism websites featuring: - Deep research on city history, facts, and tourist attractions - Modern, colorful designs with white backgrounds - Smooth animations and hover effects - Responsive layouts for all devices - Interactive OpenStreetMap centered on the city - Optional map snapshot download as PNG - IPFS hosting for permanent availability ## Workflow ### 1. Research Phase Gather comprehensive information about the city: ```bash # Search for city information websearch query="CITY_NAME history facts tourist places visiting sites" websearch query="CITY_NAME famous temples monuments landmarks" websearch query="CITY_NAME best time to visit how to reach" ``` **Key Information to Collect:** - Historical origins and etymology - Famous personalities associated - Religious/spiritual significance - Major tourist attractions - Geography and climate - Cultural heritage - Quick facts (population, distance from major cities, etc.) ### 2. Design Principles **Color Scheme:** - White background for clean, modern look - Vibrant gradient accents (coral, teal, yellow, mint) - Dark text for readability - Colorful cards with hover effects **Animations:** - Floating background shapes - Fade-in on scroll - Card hover lift effects - Smooth scroll navigation - Gradient text animations - Pulse effects on badges ### 3. Website Structure **Sections:** 1. **Hero Header** - Large gradient text city name - Tagline - Animated badge - Scroll indicator 2. **History Section** - Historical facts in card grid - Interactive timeline - Origin stories 3. **Places to Visit** - Categorized cards (Religious, Nature, Adventure, Historic) - Icons and emojis for visual appeal - Distance information 4. **Quick Facts** - Animated number counters - Grid layout - Key statistics 5. **Interactive City Map** - OpenStreetMap map centered on city coordinates - Marker in city center with popup details - "Download Map PNG" action 6. **Visual Gallery** - Colorful placeholder grid - Hover zoom effects 7. **Footer** - Navigation links - Copyright ### 4. Technical Implementation **CSS Features:** ```css /* Animated gradient text */ background: linear-gradient(135deg, #FF6B6B, #4ECDC4); -webkit-background-clip: text; -webkit-text-fill-color: transparent; /* Floating shapes */ animation: float 20s infinite ease-in-out; /* Card hover effects */ transform: translateY(-10px); box-shadow: 0 20px 60px rgba(0,0,0,0.15); /* Scroll-triggered animations */ IntersectionObserver for fade-in effects ``` **JavaScript Features:** - Smooth scroll navigation - Navbar hide/show on scroll - Intersection Observer for reveal animations - Mobile-responsive menu - Interactive OpenStreetMap (Leaflet) - City-center marker and popup - Download map image as PNG (with fallback) ### 4.1 OpenStreetMap integration (required) Use free OpenStreetMap tiles through Leaflet. ```html <!-- In <head> --> <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" /> <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script> <!-- In body --> <section id="map" aria-label="City map section"> <h2>Explore the City Map</h2> <div id="cityMap" style="height: 420px; border-radius: 16px;"></div> <button id="downloadMapBtn" type="button" aria-label="Download Map PNG">Download Map PNG</button> </section> ``` ```javascript // Example city center (replace per city) const city = { name: 'Kathua', lat: 32.3693, lon: 75.5254, zoom: 12 }; const map = L.map('cityMap').setView([city.lat, city.lon], city.zoom); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 19, attribution: '© OpenStreetMap contributors' }).addTo(map); L.marker([city.lat, city.lon]) .addTo(map) .bindPopup(`${city.name} City Center`) .openPopup(); ``` ### 4.2 Download map as PNG (if possible) Client-side PNG export from interactive tiles can fail in some browsers due to canvas/CORS restrictions. **Reliable fallback (recommended):** download a static PNG from the free OSM static map endpoint. ```javascript document.getElementById('downloadMapBtn').addEventListener('click', () => { const url = `https://staticmap.openstreetmap.de/staticmap.php?center=${city.lat},${city.lon}&zoom=${city.zoom}&size=1280x720&markers=${city.lat},${city.lon},red-pushpin`; const link = document.createElement('a'); link.href = url; link.download = `${city.name.toLowerCase().replace(/\s+/g, '-')}-map.png`; link.click(); }); ``` **CLI option (same free endpoint):** ```bash CITY_LAT="32.3693" CITY_LON="75.5254" CITY_NAME="kathua" curl -fsS "https://staticmap.openstreetmap.de/staticmap.php?center=${CITY_LAT},${CITY_LON}&zoom=12&size=1280x720&markers=${CITY_LAT},${CITY_LON},red-pushpin" \ -o "${CITY_NAME}-map.png" ``` ### 5. Example Implementation **File Structure:** ``` city-website.html ├── Animated background shapes ├── Fixed navigation with blur effect ├── Hero section with gradient text ├── History cards with top accent line ├── Timeline with alternating layout ├── Places grid with category badges ├── Facts section with large numbers ├── Interactive OpenStreetMap section (city-centered) ├── Download Map PNG button ├── Gallery grid with color blocks └── Dark footer ``` **Key CSS Variables:** ```css :root { --primary: #FF6B6B; /* Coral */ --secondary: #4ECDC4; /* Teal */ --accent: #FFE66D; /* Yellow */ --purple: #A8E6CF; /* Mint */ --dark: #2C3E50; /* Dark text */ --light: #F7F9FC; /* Light bg */ } ``` ### 6. Content Guidelines **History Section:** - 4 key historical cards - 3-timeline items - Focus on origin stories - Include royal/religious heritage **Places Section:** - 6-8 major attractions - Categorize: Religious, Nature, Adventure, Historic - Include distances from city center - Add emojis for visual appeal **Facts Section:** - 6 key statistics - Large numbers with gradient - Mix of distances, heights, years ### 7. Upload & Deployment ```bash # Upload to IPFS via Originless curl -fsS -X POST -F "[email protected]" https://filedrop.besoeasy.com/upload # Response includes: # - IPFS URL: https://dweb.link/ipfs/{CID} # - CID for permanent access ``` ## Example Output **Kathua Tourism Website:** - URL: https://dweb.link/ipfs/QmRBGRAKvuaVNqNoyvokx2S4H7vWMiHHKsb5EMBzNEkHMB - Features: 2000+ years of history, 8 tourist places, animated timeline - Theme: Colorful gradients on white ## Best Practices 1. **Research Thoroughly** - Use multiple sources - Verify historical facts - Include local legends 2. **Design for All Devices** - Mobile-first approach - Responsive grids - Touch-friendly interactions - Map container sized for mobile and desktop 3. **Performance** - Minimize external dependencies - Use CSS animations (GPU accelerated) - Lazy load below-fold content 4. **Accessibility** - Semantic HTML structure - ARIA labels where needed - Keyboard navigation support - Map controls remain keyboard reachable 5. **Content Quality** - Engaging copy - Accurate information - Local context and flavor 6. **Map Quality** - Keep city marker exactly at city center coordinates - Include attribution for OpenStreetMap contributors - Prefer static-map fallback for guaranteed PNG download ## Variations **Theme Options:** - **Colorful Modern** (default): Gradients on white - **Elegant Dark**: Dark mode with gold accents - **Minimal**: Clean monochrome - **Cultural**: Colors reflecting local culture **Layout Options:** - **Standard**: Header → History → Places → Facts → Gallery - **Parallax**: Scroll-triggered depth effects - **Single Page**: All content in vertical scroll - **Mu
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.