simpleshop_theme/.gitignore
Jamey Greenwood 252ca2268a feat: optimize mockup images with WebP and auto-regeneration
Convert mockup source images from JPG to WebP format for 76% size
reduction (20MB → 4.7MB). Variants are now auto-generated on startup
via Oban, keeping the same DRY approach as database images.

Changes:
- Add OptimizeWorker.enqueue_mockup/1 for filesystem images
- Extend VariantCache to check mockup sources on startup
- Update MockupGenerator to save source as optimized WebP
- Update .gitignore to ignore generated variants
- Convert 55 source mockups from JPG to WebP

The mockup pipeline now uses the same code paths as database images:
- Optimizer.to_optimized_webp/1 for source conversion
- Optimizer.process_file/3 for variant generation
- OptimizeWorker for Oban background processing
- VariantCache for startup cache validation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:30:42 +00:00

70 lines
1.7 KiB
Plaintext

# The directory Mix will write compiled artifacts to.
/_build/
# If you run "mix test --cover", coverage assets end up here.
/cover/
# The directory Mix downloads your dependencies sources to.
/deps/
# Where 3rd-party dependencies like ExDoc output generated docs.
/doc/
# Ignore .fetch files in case you like to edit your project deps locally.
/.fetch
# If the VM crashes, it generates a dump, let's ignore it too.
erl_crash.dump
# Also ignore archive artifacts (built via "mix archive.build").
*.ez
# Temporary files, for example, from tests.
/tmp/
# Ignore package tarball (built via "mix hex.build").
simpleshop_theme-*.tar
# Ignore assets that are produced by build tools.
/priv/static/assets/
# Ignore digested assets cache.
/priv/static/cache_manifest.json
# Ignore digested versions of static files (with hash in filename)
# Keep source files, ignore build outputs
/priv/static/*-*.css
/priv/static/*-*.css.gz
/priv/static/*-*.js
/priv/static/*-*.js.gz
/priv/static/*-*.ico
/priv/static/*-*.txt
/priv/static/*-*.txt.gz
/priv/static/*-*.html
/priv/static/*-*.html.gz
/priv/static/*.gz
# Digested fonts have 32-char hash before extension
/priv/static/fonts/*-????????????????????????????????.woff2
/priv/static/images/*-*.svg
/priv/static/images/*-*.svg.gz
/priv/static/images/*.gz
# Generated mockup variants (auto-generated on startup via Oban)
# Source .webp files are tracked, variants are regenerated
/priv/static/mockups/*-400.*
/priv/static/mockups/*-800.*
/priv/static/mockups/*-1200.*
/priv/static/mockups/*-thumb.jpg
# Generated image variants cache (regenerated from source images)
/priv/static/image_cache/
# In case you use Node.js/npm, you want to ignore these.
npm-debug.log
/assets/node_modules/
# Database files
*.db
*.db-*