Fix pipeline order, add selective metadata stripping, rename case/regex

- Move watermark step after compress in processing pipeline to match
  design doc order (resize, adjustments, convert, compress, metadata,
  watermark, rename)
- Implement selective EXIF metadata stripping for Privacy and Custom
  modes using little_exif tag filtering (GPS, camera, software,
  timestamps, copyright categories)
- Add case conversion support to rename (none/lower/upper/title)
- Add regex find-and-replace on original filenames
- Wire case and regex controls in rename step UI to JobConfig
- Add regex crate dependency to pixstrip-core
This commit is contained in:
2026-03-06 18:12:18 +02:00
parent 5104d66aaf
commit a666fbad05
10 changed files with 208 additions and 17 deletions

View File

@@ -92,6 +92,9 @@ fn rename_config_simple_template() {
counter_start: 1,
counter_padding: 3,
template: None,
case_mode: 0,
regex_find: String::new(),
regex_replace: String::new(),
};
let result = config.apply_simple("sunset", "jpg", 1);
assert_eq!(result, "blog_sunset_001.jpg");
@@ -105,6 +108,9 @@ fn rename_config_with_suffix() {
counter_start: 1,
counter_padding: 2,
template: None,
case_mode: 0,
regex_find: String::new(),
regex_replace: String::new(),
};
let result = config.apply_simple("photo", "webp", 5);
assert_eq!(result, "photo_web_05.webp");