From 0a9e63443d71b883df4ec5dd3aa00184b655d73e9a9466731280e315187bc1b9 Mon Sep 17 00:00:00 2001 From: localhorst Date: Mon, 22 Dec 2025 19:16:14 +0100 Subject: [PATCH] inital commit --- .gitignore | 86 ++++++ README.md | 116 +++++++- index.html | 800 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1000 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cce1d75 --- /dev/null +++ b/.gitignore @@ -0,0 +1,86 @@ +# Media Slideshow - .gitignore +# Exclude all media files to avoid committing large binary files to the repository + +# Image files +*.jpg +*.jpeg +*.JPG +*.JPEG +*.png +*.PNG +*.gif +*.GIF +*.webp +*.WEBP +*.avif +*.AVIF +*.heic +*.HEIC +*.heif +*.HEIF +*.bmp +*.BMP +*.tiff +*.TIFF +*.tif +*.TIF +*.svg +*.SVG + +# Video files +*.mp4 +*.MP4 +*.mov +*.MOV +*.avi +*.AVI +*.mkv +*.MKV +*.webm +*.WEBM +*.m4v +*.M4V +*.wmv +*.WMV +*.flv +*.FLV +*.mpeg +*.MPEG +*.mpg +*.MPG +*.3gp +*.3GP +*.ogv +*.OGV + +# Common media-related folders +src/ +media/ +images/ +videos/ +photos/ +pictures/ + +# OS-specific files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db +Desktop.ini + +# Editor-specific files +.vscode/ +.idea/ +*.swp +*.swo +*~ +.project +.settings/ + +# Temporary files +*.tmp +*.temp +*.log \ No newline at end of file diff --git a/README.md b/README.md index 9ea98a6..d331c53 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,115 @@ -# media-slideshow +# 📸 Media Slideshow -A client-side web application for viewing photos and videos \ No newline at end of file +A lightweight, privacy-focused web application for viewing photos and videos in a beautiful slideshow format. All processing happens locally in your browser - no uploads, no servers, no tracking. + +![License](https://img.shields.io/badge/license-MIT-blue.svg) +![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=flat&logo=html5&logoColor=white) +![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=flat&logo=javascript&logoColor=%23F7DF1E) + +## ✨ Features + +- 🖼️ **Fullscreen Display** - Images and videos fill your entire screen +- 📅 **EXIF Data Extraction** - Automatically reads capture date and time from photos +- 📍 **GPS Location Links** - Click to view photo locations on Google Maps (satellite view) +- 🔍 **Image Zoom** - Mouse wheel zoom (1x - 5x) with pan support +- ⌨️ **Keyboard Navigation** - Arrow keys or `<` `>` keys to navigate +- 📂 **Folder Overview** - Virtual screens for easy navigation between albums +- 🔒 **100% Private** - All processing happens locally in your browser +- 💾 **Offline Ready** - Download and use completely offline +- 📱 **Responsive** - Works on desktop, tablet, and mobile devices + +## 🎨 Supported Formats + +### Images (12 formats) +- **JPEG** - `.jpg`, `.jpeg` +- **PNG** - `.png` +- **GIF** - `.gif` +- **WebP** - `.webp` +- **AVIF** - `.avif` +- **HEIC/HEIF** - `.heic`, `.heif` (Apple format) +- **BMP** - `.bmp` +- **TIFF** - `.tiff`, `.tif` +- **SVG** - `.svg` + +### Videos (12 formats) +- **MP4** - `.mp4` +- **MOV** - `.mov` (QuickTime) +- **AVI** - `.avi` +- **MKV** - `.mkv` (Matroska) +- **WebM** - `.webm` +- **M4V** - `.m4v` +- **WMV** - `.wmv` (Windows Media) +- **FLV** - `.flv` (Flash Video) +- **MPEG** - `.mpeg`, `.mpg` +- **3GP** - `.3gp` (Mobile) +- **OGV** - `.ogv` (Ogg Video) + +*Note: Both uppercase and lowercase file extensions are supported* + +## 📁 Folder Structure + +Organize your media files with numeric prefixes for automatic sorting: + +``` +media/ +├── 01_Vacation_Hawaii/ +│ ├── IMG_001.jpg +│ ├── IMG_002.jpg +│ └── video_001.mp4 +├── 02_Family_Reunion/ +│ ├── photo1.jpg +│ ├── photo2.jpg +│ └── celebration.mov +└── 03_Weekend_Trip/ + ├── DSC_0001.jpg + └── sunset.mp4 +``` + +**Rules:** +- Folders should have numeric prefixes: `01_`, `02_`, `03_`, etc. +- Files within folders are sorted alphabetically by filename +- The prefix is removed in the display (e.g., `01_Vacation_Hawaii` → `Vacation Hawaii`) + +## 🎮 Controls + +| Key | Action | +|-----|--------| +| `←` or `<` | Previous media | +| `→` or `>` | Next media | +| **Mouse Wheel** | Zoom in/out (images only) | +| **Click Image** | Toggle zoom on/off | + +## 🛠️ Technical Details + +### Architecture +- **Single HTML File** - Entire application in one self-contained file +- **No Dependencies** - Only uses EXIF.js CDN for metadata extraction +- **Client-Side Only** - No backend, no server, no data transmission +- **File System Access API** - Uses browser's native folder selection + +### Browser Compatibility +- ✅ Chrome/Edge (recommended) +- ✅ Firefox +- ✅ Safari +- ✅ Opera + +*Note: Requires a modern browser with File System Access support* + +### Privacy & Security +- 🔒 All files stay on your computer +- 🚫 No data is uploaded to any server +- 🔐 No tracking or analytics +- 💾 Can be used completely offline +- 🌐 No external dependencies (except EXIF.js CDN) + +## 📋 Use Cases + +- **Photo Albums** - View vacation photos with date and location info +- **Video Collections** - Watch family videos in sequence +- **Photography Review** - Review EXIF data and GPS locations +- **Offline Presentations** - Present media without internet connection +- **Privacy-Conscious Viewing** - Keep your media completely private + +## 📄 License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/index.html b/index.html new file mode 100644 index 0000000..7a116df --- /dev/null +++ b/index.html @@ -0,0 +1,800 @@ + + + + + + + Media Slideshow + + + + +
+
+

📸 Media Slideshow

+

A client-side web application for viewing photos and videos

+ +
+

📖 How to Use

+ +

Folder Structure

+
    +
  • Create folders with numeric prefixes: 01_Vacation, 02_Family, etc. +
  • +
  • Place your media files inside these folders
  • +
  • Files are displayed in alphabetical order by filename
  • +
+ +

Supported Formats

+
    +
  • Images: JPEG, PNG, GIF, WebP, AVIF, HEIC/HEIF, BMP, TIFF, SVG
  • +
  • Videos: MP4, MOV, AVI, MKV, WebM, M4V, WMV, FLV, MPEG, 3GP, OGV
  • +
  • Both uppercase and lowercase file extensions are supported
  • +
+ +

Features

+
    +
  • 🖼️ Fullscreen display of images and videos
  • +
  • 📅 Automatic EXIF date extraction from photos
  • +
  • 📍 GPS location links to Google Maps (when data present)
  • +
  • 🔍 Mouse wheel to zoom images (1x - 5x)
  • +
  • ⌨️ Arrow keys or < > keys to navigate
  • +
  • 📂 Virtual overview screens for easy folder navigation
  • +
+ +
+ 🔒 Privacy Note: All files are processed locally in your browser. Nothing is + uploaded to any server. Your media files never leave your computer. You can download this app and + use it completely offline. +
+
+ +
+ + + +
+ + +
+
+ + + + + + + + + + + + + \ No newline at end of file