docs(readme): web-first framing + standalone HTML build path (#90)
## Summary Brings the README in line with the v5 codebase and the [`modernization-roadmap.md`](.claude/rules/modernization-roadmap.md) web-only direction. The previous README still framed ExifCleaner as a desktop app first — "Desktop app + browser webapp" tagline, a "Download and Install" section linking to upstream `szTheory/exifcleaner` .dmg / .exe / .AppImage from v3.6.0 (May 2021, pre-Phase-D). ## Changes - **Tagline** → "Runs entirely in your browser — no uploads, no server." - **Features list** → drops the cross-platform line; leads with "Browser-based: install as a PWA or run from a single self-contained HTML file." Also corrects the privacy-controls line — Phase F #83 enforces epoch timestamps, there is no "preserve timestamps" setting (per [`privacy-invariants.md`](.claude/rules/privacy-invariants.md) §6). - **Remove "Download and Install" entirely** — the upstream desktop links pointed at the legacy v3.6.0 binaries (last released May 2021); they don't reflect the v5 codebase, and sending users there is misleading. - **"Running the web app locally"** gets a new **Option 1: Single-file HTML** via `yarn build:web:standalone` (lands in [docs/standalone-html.md](docs/standalone-html.md), shipped in #89). Docker / Node dev server / build+preview shift to Options 2–4. - **Drop the screenshot** — `static/screenshot.png` pre-dated the BEFORE/AFTER/RESULT columns (#88) and the overall v5 UI. File deleted; reference removed. A fresh screenshot is a separate task with its own decisions (mode, sample files, platform chrome). ## Out of scope (deliberately not in this PR) - New screenshot — separate task. - Touching the "Development" section. `yarn dev` still launches Electron and that path is functional until Phase G ships; the README's dev instructions match the current dev workflow even if they downplay the Web-first direction. - Editing `CLAUDE.md`, `project-direction.md`, or `modernization-roadmap.md`. Those are internal docs for contributors and Claude; reframing them is a larger swing. ## Test plan - [x] `yarn lint` (prettier) passes on README.md - [ ] Reviewer eyeballs the rendered README in Forgejo's preview to confirm the option ordering and section flow read cleanly - [ ] No broken intra-repo links (docs/standalone-html.md and the other doc paths all exist) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Randa <obuvuyoviz26@gmail.com> Reviewed-on: http://localhost:3000/forgejo_admin/exifcleaner-web/pulls/90
This commit is contained in:
parent
2190272ea7
commit
948af5433e
2 changed files with 16 additions and 32 deletions
48
README.md
48
README.md
|
|
@ -1,15 +1,13 @@
|
|||
# <img src="static/icon.svg" height=26> ExifCleaner
|
||||
|
||||
> Clean metadata from images, videos, PDFs, and other files. Desktop app + browser webapp.
|
||||
|
||||

|
||||
> Clean metadata from images, videos, PDFs, and other files. Runs entirely in your browser — no uploads, no server.
|
||||
|
||||
## Features
|
||||
|
||||
- Cross-platform: macOS, Windows, and Linux desktop apps + browser-based webapp
|
||||
- Browser-based: install as a PWA or run from a single self-contained HTML file — no server, no native install
|
||||
- Drag and drop files or folders; recursive folder processing
|
||||
- Fully offline — files never leave your device
|
||||
- Privacy controls: preserve orientation, save as copy, remove macOS extended attributes, preserve timestamps
|
||||
- Privacy controls: preserve orientation, save as copy, timestamps written to epoch
|
||||
- 25 translated locales with in-app language switching (contributions welcome in [`.resources/strings.json`](.resources/strings.json))
|
||||
- Dark mode (follows OS preference)
|
||||
- Free and open source (MIT)
|
||||
|
|
@ -56,35 +54,21 @@ Footnotes:
|
|||
5. MP4/MOV: drops `udta`, `meta`, and `Xtra` containers via mp4box.js box-tree rewrite (no re-encoding, lossless). Known gaps in timed-metadata tracks, `hdlr` names, `compressorname`, mdat orphans, and sidecar files — see [`docs/PRIVACY_GAPS.md`](docs/PRIVACY_GAPS.md#mp4--mov-video-gaps) for the user-facing summary.
|
||||
6. RAW: removed in v5 ([issue #16](https://github.com/obuvuyoviz26-lab/exifcleaner-web/issues/16), decided 2026-05-09, shipped 2026-05-10). No production-ready WASM library covers proprietary RAW. RAW workflows should use [ExifTool standalone](https://exiftool.org/) or a dedicated RAW tool — see [`docs/PRIVACY_GAPS.md#raw-unsupported`](docs/PRIVACY_GAPS.md#raw-unsupported).
|
||||
|
||||
## Download and Install
|
||||
|
||||
macOS 10.15+, Windows 10+, and Linux are supported (64-bit).
|
||||
|
||||
- **macOS**: [Download the .dmg file](https://github.com/szTheory/exifcleaner/releases/latest) (universal binary — Intel + Apple Silicon)
|
||||
- **Windows**: [Download the .exe installer or portable version](https://github.com/szTheory/exifcleaner/releases/latest)
|
||||
- **Linux**: [Download the .AppImage, .deb, or .rpm file](https://github.com/szTheory/exifcleaner/releases/latest)
|
||||
|
||||
For Linux, the AppImage needs to be [made executable](https://discourse.appimage.org/t/how-to-make-an-appimage-executable/80) after download.
|
||||
|
||||
Arch Linux users can install from the AUR:
|
||||
|
||||
```bash
|
||||
paru -S exifcleaner-bin
|
||||
```
|
||||
|
||||
### Verifying checksums
|
||||
|
||||
Each release includes a `SHASUMS256.txt` file. Download it from the [release page](https://github.com/szTheory/exifcleaner/releases/latest) and verify your download:
|
||||
|
||||
```bash
|
||||
sha256sum -c SHASUMS256.txt 2>&1 | grep OK
|
||||
```
|
||||
|
||||
## Running the web app locally
|
||||
|
||||
ExifCleaner runs entirely in your browser — no server-side processing, no file uploads.
|
||||
|
||||
### Option 1: Docker (recommended)
|
||||
### Option 1: Single-file HTML (no server, no install)
|
||||
|
||||
```bash
|
||||
yarn build:web:standalone
|
||||
```
|
||||
|
||||
Produces `dist/web-standalone/index.html` — one self-contained ~830 KB HTML file with the entire app inlined (JS, CSS, dependencies). Open it directly in any modern desktop browser from disk; no server, no install, no internet. Email it, share it on a USB stick — recipients double-click it and it runs.
|
||||
|
||||
This is a desktop deliverable (Chrome, Brave, Edge, Firefox, Safari). Chrome on Android doesn't support opening local HTML files — for mobile, use the PWA install path against a deployed instance. Trade-offs (no service worker, no lazy-loading, no PWA install) and the full rationale live in [`docs/standalone-html.md`](docs/standalone-html.md).
|
||||
|
||||
### Option 2: Docker
|
||||
|
||||
```bash
|
||||
# Build the image
|
||||
|
|
@ -96,7 +80,7 @@ docker run -p 8080:80 exifcleaner-web
|
|||
|
||||
Open http://localhost:8080. Drag and drop files to clean metadata.
|
||||
|
||||
### Option 2: Node dev server
|
||||
### Option 3: Node dev server
|
||||
|
||||
Requires Node 22 and yarn:
|
||||
|
||||
|
|
@ -107,7 +91,7 @@ yarn dev:web
|
|||
|
||||
Open http://localhost:5173.
|
||||
|
||||
### Option 3: Build and preview
|
||||
### Option 4: Build and preview
|
||||
|
||||
```bash
|
||||
yarn build:web
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 157 KiB |
Loading…
Add table
Reference in a new issue