Romain
cc7abdf0ac
2.4.0
6 years ago
Romain
6d94b6339f
chore(tests): handle rejected promises during tests
6 years ago
Romain
3fd0ee9ba3
chore(tests): capture all logs during the tests so they don’t pollute the output + can be asserted on
6 years ago
Romain
3fa8867757
test(all): add unit tests for theme + cleanup logic
6 years ago
Romain
72a23807f1
chore(build): require all source files in the tests so the coverage report shows untested files
6 years ago
Felix Eckhofer
81a85004c2
Fix behavior for non-traversable directories ( #108 )
...
fix(index): Continue on errors during find
This ensures the gallery is created even when some files are
inaccessible (for example due to invalid names or file permissions).
Requires running the test in Docker as non-root to allow file access test
6 years ago
Romain
bd86ab6535
test(themes): add integration tests using a mock file system
...
This replaces the basic unit tests that used private methods
and didn’t have a very clear intent
6 years ago
Romain
deee049650
refactor(themes): extract the {{relative}} helper to be standalone + add some tests
6 years ago
Romain
be0ee25c64
test(index): don’t run the invalid filename test on macOS
6 years ago
Felix Eckhofer
383f77e0d4
fix(core): Use correct base for calculating the relative path
...
Fixes #109
6 years ago
Felix Eckhofer
124d1857b1
test(index): Add test for invalid filename behavior
6 years ago
Felix Eckhofer
7dc914f924
fix(index): skip non-existing files
...
This can happen when files have invalid names or they are being deleted
while thumbsup is running.
Fixes #106
6 years ago
Romain
899a89e516
test(mapper): fix unit test that relied on a folder called “tmp” to already exist
6 years ago
Romain
fc4432ba34
docs(readme): add documentation URL at the top of the README
6 years ago
Romain
e9beb830a2
feat(core): skip files that can’t be processed + show a summary at the end
...
Thumbsup used to stop at the first problem processing a file.
This was a problem on large galleries where you’d need to run it again and again, fixing files as you went.
This change:
- skips problematic files and shows a summary at the end
- logs all warnings/errors to <thumbsup.log> when running the default output
Also refactor and cleanup of the logging logic.
6 years ago
Romain
7208642d95
test(all): increase unit test coverage
6 years ago
Romain
8bbe1186c5
fix(core): custom album mappers using file:// can use a relative path
6 years ago
Romain
253a0b5fff
fix(core): typo in the startup dependency check (gifsicle2)
6 years ago
Romain
0adef54dc8
feat(core): add support for static and animated GIFs
...
GraphicsMagick can’t process animated GIFs well unless all frames are coalesced, which creates very large files.
This means there is a new dependency on Gifsicle which is very good at working with animated GIFs.
- Thumbnails are still processed through GraphicsMagick (more options, e.g. centre-crop)
- Large previews of animated GIFs go through Gifsicle
The startup checks are updated to check for the Gifsicle binary.
Fixes #96 .
6 years ago
Romain
e1517d2fbd
feat(core): when building thumbnails, fallback to JPG if the source is not a browser-friendly format
...
If the source is browser-friendly (jpg, jpeg, png) then keep the exact original extension.
6 years ago
Romain
7edf3bbf15
refactor(cli): use package to render boxes in the console output
...
This avoids having to figure out the length of each line manually.
6 years ago
Romain
24790c075c
chore(cleanup): remove old code and console.log()
6 years ago
Romain
468a55d434
fix(themes): Fix reference to caption / animation metadata in thumbnail.hbs
...
Fixes 102
6 years ago
Romain
9612ca0048
feat(core): load an external theme from a given path using --theme-path
6 years ago
Romain
03a9c9a319
refactor: themes are now standalone folders, to prepare for external loading
...
Every theme is made of { Handlebars + Less + Partials + Helpers + Public }
6 years ago
Romain
36d935a787
feat(core): new option to add watermarks to the gallery
...
Watermarks only apply to large images, not thumbnails.
6 years ago
Romain
b761353691
docs(readme): reference --log in the troubleshooting section
6 years ago
Romain
1ce19d4024
docs(readme): add Docker build badge + reorganise
6 years ago
Romain
55b059d077
chore(dependencies): update package-lock.json for Node version 8
6 years ago
Romain
9cef1dd532
2.3.1
6 years ago
Romain
11e81d5756
chore(build): use Travis CI to auto-publish npm package on tagged commits
6 years ago
Romain
cd079a6ccc
docs(readme): update current CLI options
6 years ago
Romain
3c946621ec
feat(core): new --gm-args flag to pass additional options to GraphicsMagick
...
Example: thumbsup --gm-args ‘modulate 120’ --gm-args ‘equalize’
Closes #89 .
6 years ago
Romain
dd282f92d4
chore(dependencies): update all dependencies to the latest version
6 years ago
Romain
b54cfd3cad
2.3.0
6 years ago
Romain
2f37c82026
docs(readme): add social sharing buttons
6 years ago
Romain
f7d7b827e5
feat(cli): --concurrency also controls the number of batch exiftool processes
7 years ago
Romain
a5740fb94e
feat(cli): Expose --photo-quality to control the quality of the converted images
7 years ago
Romain
8f76013539
fix(dependencies) Upgrade downsize for the width/height mixup
...
The end behaviour stays the same since `--large-size`
always referred to the image height in the docs.
7 years ago
Romain
a5a75b81ad
fix(cli): show an error on startup if one of the binary dependencies is missing
...
Closes #95
7 years ago
klemens
424d2c8b8b
spelling fixes
7 years ago
Brandon Lopez
205ec2f3cb
Add concurrency argument ( #92 )
...
Add concurrency option
7 years ago
Romain
03c3b38e82
fix(model): ignore the EXIF date if it’s not valid e.g. 0000:00:00
...
Closes #94
7 years ago
Felix Yan
0ff1699c5c
Correct a typo in step-index.js
7 years ago
Romain
cd3d699b34
feat(cli): new --dry-run option to skip resizing the files / creating the website
...
The index is still updated, and the media folder is still scanned to log how many tasks are required.
This is useful to know what thumbsup is about to do, without actually running the expensive tasks.
7 years ago
Romain
e5f6df3d28
refactor(cli): deprecated options logic now handled in <options> module
7 years ago
Romain
286dc8d15f
feat(albums): --albums-from can be a list of patterns with special keywords
...
- %path expands to the path of the photo/video
- %keywords expands to the IPTC keywords of the photo
- {format} expands to the photo's EXIF date, e.g. {YYYY MM}
7 years ago
Romain
23f19566d0
test(cli): add unit tests for options parsing, especially custom logic on top of yargs
7 years ago
Romain
2c2d9ce43f
2.2.1
7 years ago
Romain
2f8a15c058
fix(resize): upgrade `downsize` to fix Infinity% when reporting video progress
7 years ago