Romain
72a23807f1
chore(build): require all source files in the tests so the coverage report shows untested files
2018-06-13 23:27:40 +02:00
Romain
8bbe1186c5
fix(core): custom album mappers using file:// can use a relative path
2018-06-08 23:28:11 +02:00
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 .
2018-06-08 00:49:03 +02:00
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.
2018-06-08 00:20:29 +02:00
Romain
03a9c9a319
refactor: themes are now standalone folders, to prepare for external loading
...
Every theme is made of { Handlebars + Less + Partials + Helpers + Public }
2018-06-01 23:49:53 +02:00
Romain
36d935a787
feat(core): new option to add watermarks to the gallery
...
Watermarks only apply to large images, not thumbnails.
2018-05-15 20:28:57 +02:00
Romain
9cef1dd532
2.3.1
2018-05-14 22:48:04 +02:00
Romain
dd282f92d4
chore(dependencies): update all dependencies to the latest version
2018-05-14 21:22:57 +02:00
Romain
b54cfd3cad
2.3.0
2018-05-14 21:14:06 +02:00
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.
2018-05-08 21:51:09 +02:00
Romain
a5a75b81ad
fix(cli): show an error on startup if one of the binary dependencies is missing
...
Closes #95
2018-05-07 23:36:11 +02:00
Romain
2c2d9ce43f
2.2.1
2017-12-16 22:00:59 +11:00
Romain
2f8a15c058
fix(resize): upgrade downsize
to fix Infinity% when reporting video progress
2017-12-16 20:40:34 +11:00
Romain
78ae865b75
2.2.0
2017-12-11 23:18:29 +11:00
Romain
7a9c5f4b08
fix(dependencies): upgrade chalk to latest major version v1 -> v2
2017-12-11 22:55:31 +11:00
Romain
0686ce3b37
fix(dependencies): upgrade dependencies to latest
2017-12-10 23:33:47 +11:00
Romain
d0bbf94b1c
fix(index): don’t crash when trying to parse exiftool output for a badly encoded file
2017-12-09 23:22:20 +11:00
Romain
a2042f3128
Fix logging option for non-TTY + highlight URL in welcome / error messages
2017-12-08 21:28:04 +11:00
Romain
06ecd2edad
Add usage reporting with Google Analytics + greeting/error messages
...
This will help understand usage patterns to know what to focus on, e.g.
- are many people using thumbsup on Windows?
- are there many galleries with > 10,000 photos?
2017-12-08 00:04:16 +11:00
Romain
067238c8e4
2.2.0-alpha.3
2017-11-29 21:06:42 +11:00
Romain
0b8eb5bbd9
2.2.0-alpha.2
2017-11-29 08:49:26 +11:00
Romain
d19a230a6c
Cleanup unused code
2017-11-28 21:50:44 +11:00
Romain
e9e5f32970
Add test coverage + clean up build scripts
2017-11-28 07:53:55 +11:00
Romain
2a0a8d6631
Upgrade mock-fs to support Node 8 (includes dynamic require workaround)
2017-11-26 22:47:51 +11:00
Romain
cbf8a1f3b4
Don’t index media from Synology thumbnail folders (@eaDir) nor folders starting with “.”
2017-11-26 22:32:03 +11:00
Romain
ac520d40ad
Fix case insensitive glob + add unit tests for globbing
2017-11-26 21:21:15 +11:00
Romain
d66b28b12c
2.2.0-alpha.1
2017-11-26 09:18:00 +11:00
Romain
870b60de17
Simplify test scripts & document them in CONTRIBUTING.md
2017-11-25 22:29:21 +11:00
Romain
208f0f0212
Run full integration tests inside Docker. Travis runs unit + integration.
2017-11-25 22:01:30 +11:00
Romain
24b2f9bd7c
Major optimisations: SQLite index + faster disk glob + new exiftool streaming
...
1. Move from a JSON index to a SQLite database.
- This allows the indexing to be interrupted & resumed
- Updating the index consumes less RAM than loading / saving an entire JSON object
- Loading the index consumes less RAM since it can be streamed, only exacting the properties we need every time (instead of loading all EXIF data in memory, only to discard most of it later)
- These make a big difference when processing 10,000+ photos
2. Switch from <glob> to a manual <readdir>
- Glob would take several hundred or GB of RAM when asked to find several thousand files
- Manual approach with <micromatch> library does the same thing in a fraction of the time / memory usage
3. Exiftool optimisations
- Run 1 exiftool process per CPU, still in batch mode (divide all files to be read into 1 bucket per CPU)
- Stream the exiftool output instead of buffering it in memory
2017-11-24 22:08:59 +11:00
Romain
30f203af4b
Render progress using Listr + split the main process into "steps" which are easier to test
2017-11-06 00:02:42 +11:00
Romain
179cc57644
Update “debug” package to fix insecure vulnerability warning
2017-10-12 20:18:11 +11:00
Romain
97a6e348cc
Update all dependencies
2017-10-12 20:12:50 +11:00
Romain
35f9ee96b6
Update many dependencies to latest
2017-08-15 19:08:53 +10:00
Romain
0b27d37881
Read metadata from Picasa.ini if present
2017-08-07 22:53:04 +10:00
Romain
3e64d2ab38
Create a Metadata model attached to input files
...
- for easier unit testing
- to enable input filtering (e.g. only include photos with this keyword)
2017-08-07 22:52:26 +10:00
Romain
5074fb267f
2.1.0
2017-07-23 21:40:23 +10:00
Romain
ac67a08da9
Use new “downsize” package that was split out (to make testing edge cases easier)
2017-07-15 20:22:46 +10:00
Romain
80f7a88c35
Fix #61 : new options to avoid copying original photos to the output folder
2017-06-03 21:25:41 +10:00
Romain
92706276a0
Fix Github URL in package.json
2017-05-29 17:34:33 +10:00
Romain
96cd92aa46
2.0.1
2017-05-25 21:44:27 +10:00
Romain
8b66a16134
2.0.0
2017-03-20 20:51:21 +11:00
Romain
91e55daf9b
Upgrade VideoJS to 5.17
2017-03-11 10:05:27 +11:00
Romain
fb77791c80
Fix #33 : new --cleanup option to remove unused generated thumbnails/media
2017-03-09 22:40:41 +11:00
Romain
5d82cabd1c
Run full CI build locally as part of "npm test" to avoid surprises
2017-03-07 17:44:17 +11:00
Romain
59b9bdbbd2
Use <standard> for code style, which removed lots of unused variables/requires
2017-03-06 23:46:46 +11:00
Romain
e71e5d4207
Replace custom "make" DSL with the output task list ( #60 )
2017-03-06 23:27:44 +11:00
Romain
631aee6a4d
2.0.0-alpha.4
2017-03-01 22:01:35 +11:00
Romain
8dccb88f25
Use [exiftool-json-db] to maintain the JSON database of media files
2017-02-28 00:13:45 +11:00
Romain
dcb06c5242
2.0.0-alpha.3
2017-02-18 16:41:31 +11:00