Commit Graph

168 Commits (master)

Author SHA1 Message Date
Romain a1ebe53d70 2.6.0 5 years ago
Romain 2c2c518f4b New options --video-format, --video-quality and --video-bitrate 5 years ago
Nikolai Kim 6b7df75ea4 Use Slugify for Albun names 5 years ago
Romain 1f28b3594e 2.5.0 6 years ago
Romain 9425604dd7 chore(dependencies): upgrade Standard from v11 to v12 which introduces a style change 6 years ago
Romain 2427ace270 fix(tests): add missing glob dependency required by integration tests
The build was passing because it’s transitively added by another dependency.
6 years ago
Romain e219fcb676 chore(dependencies): update to latest versions 6 years ago
Romain c29a16ed83 2.4.2 6 years ago
Almir Kadric e8a6d179f1 bumped fs-extra version to fix issue 6 years ago
Romain 59e9f61014 2.4.1 6 years ago
Romain 37ea6c6ba3 fix(themes): resolve built-in theme paths instead of hardcoding node_modules path
The previous method only worked locally inside the repo, but not once the package is published to npm.
Once published, built-in themes are flattened instead of nested.
6 years ago
Romain ba72015124 chore(build): use a whitelist for the content of npm publish 6 years ago
Romain 83831274ff refactor(themes): remove themes from core + use the new extracted modules 6 years ago
Romain bf60ae4677 refactor(components): bring ListrWorkQueue into this repo to simplify the build process
- This component was not published to the rpm registry anyway
- We depended on the repo’s master branch which can break things for everyone
- Its repo was not getting much attention which meant
  * no tests, no coverage report
  * no linting
  * no package linting (e.g. had 2 dependencies that weren’t actually used)

It will be simpler to manage this way
6 years ago
Romain 00dac76983 test(exiftool): add tests for batch exiftool streaming 6 years ago
Romain cc7abdf0ac 2.4.0 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
Romain 8bbe1186c5 fix(core): custom album mappers using file:// can use a relative path 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 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 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 9cef1dd532 2.3.1 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 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.
6 years ago
Romain a5a75b81ad fix(cli): show an error on startup if one of the binary dependencies is missing
Closes #95
6 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
Romain 78ae865b75 2.2.0 7 years ago
Romain 7a9c5f4b08 fix(dependencies): upgrade chalk to latest major version v1 -> v2 7 years ago
Romain 0686ce3b37 fix(dependencies): upgrade dependencies to latest 7 years ago
Romain d0bbf94b1c fix(index): don’t crash when trying to parse exiftool output for a badly encoded file 7 years ago
Romain a2042f3128 Fix logging option for non-TTY + highlight URL in welcome / error messages 7 years ago
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?
7 years ago
Romain 067238c8e4 2.2.0-alpha.3 7 years ago
Romain 0b8eb5bbd9 2.2.0-alpha.2 7 years ago
Romain d19a230a6c Cleanup unused code 7 years ago
Romain e9e5f32970 Add test coverage + clean up build scripts 7 years ago
Romain 2a0a8d6631 Upgrade mock-fs to support Node 8 (includes dynamic require workaround) 7 years ago
Romain cbf8a1f3b4 Don’t index media from Synology thumbnail folders (@eaDir) nor folders starting with “.” 7 years ago
Romain ac520d40ad Fix case insensitive glob + add unit tests for globbing 7 years ago
Romain d66b28b12c 2.2.0-alpha.1 7 years ago
Romain 870b60de17 Simplify test scripts & document them in CONTRIBUTING.md 7 years ago
Romain 208f0f0212 Run full integration tests inside Docker. Travis runs unit + integration. 7 years ago
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
7 years ago
Romain 30f203af4b Render progress using Listr + split the main process into "steps" which are easier to test 7 years ago
Romain 179cc57644 Update “debug” package to fix insecure vulnerability warning 7 years ago
Romain 97a6e348cc Update all dependencies 7 years ago
Romain 35f9ee96b6 Update many dependencies to latest 7 years ago
Romain 0b27d37881 Read metadata from Picasa.ini if present 7 years ago
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)
7 years ago
Romain 5074fb267f 2.1.0 7 years ago
Romain ac67a08da9 Use new “downsize” package that was split out (to make testing edge cases easier) 7 years ago
Romain 80f7a88c35 Fix #61: new options to avoid copying original photos to the output folder 7 years ago
Romain 92706276a0 Fix Github URL in package.json 7 years ago
Romain 96cd92aa46 2.0.1 7 years ago
Romain 8b66a16134 2.0.0 7 years ago
Romain 91e55daf9b Upgrade VideoJS to 5.17 7 years ago
Romain fb77791c80 Fix #33: new --cleanup option to remove unused generated thumbnails/media 7 years ago
Romain 5d82cabd1c Run full CI build locally as part of "npm test" to avoid surprises 7 years ago
Romain 59b9bdbbd2 Use <standard> for code style, which removed lots of unused variables/requires 7 years ago
Romain e71e5d4207 Replace custom "make" DSL with the output task list (#60) 7 years ago
Romain 631aee6a4d 2.0.0-alpha.4 7 years ago
Romain 8dccb88f25 Use [exiftool-json-db] to maintain the JSON database of media files 7 years ago
Romain dcb06c5242 2.0.0-alpha.3 7 years ago
Romain 38a6969eac Fix lightgallery version to fix #53.
There seems to be a breaking change between 1.2.14 and 1.3.5
where light gallery doesn't bundle-in the plugins.
Instead they're available for download as separate npm modules.

Will need to fix that if we want to upgrade to the latest version of lightgallery.
7 years ago
Romain 1817aec7e4 Update package.json with new repository details 7 years ago
Romain 9eec5c3a0a 2.0.0-alpha.2 7 years ago
Romain c98227fde4 2.0.0-alpha.1 7 years ago
Romain 21e4a3fae2 Add "npm test" to quickly run unit tests without the full build 8 years ago
Romain 6bfba60918 Update all dependencies + full build script in scripts/cibuild 8 years ago
Romain 6565acb259 Update README.md 8 years ago
Romain 5117c19eed Cleanup CLI and validate multiple-choice arguments 8 years ago
Romain Prieto a47259b220 Fix README table of contents 8 years ago
Romain Prieto 9c0071c00d Work in progress: support multiple themes 8 years ago
Romain Prieto c2f290bbd6 thumbsup v2: rewrite the website around 'albums' 8 years ago
Romain 3c4e5ad877 Move the website from gh-pages to a /docs subfolder (new Github feature) (#39)
Much easier to manage
8 years ago
Romain Prieto 4baf46031c Cleanup README and add table of contents 8 years ago
Romain Prieto 820f5649b2 1.1.2 8 years ago
Romain Prieto b4378356f1 Update all packages, now compatible with Node 5 8 years ago
Romain Prieto 892c9380b8 1.1.0 9 years ago
Romain Prieto 7d6afac2d0 Upgrade to LightGallery 1.2.2, and use VideoJS for playing videos 9 years ago
Romain Prieto 9473462871 Move to lightgallery instead of blueimp (had video player issues) 9 years ago
Romain Prieto c7865b55cc 1.0.0 10 years ago
Romain Prieto fceed991c4 Bump up all dependencies 10 years ago
Romain Prieto e74733f52d Homepage with grid of 4 images per gallery 10 years ago
Romain Prieto cb835d0ed2 Part of #20, auto-rotates photos based on the EXIF data 10 years ago
Romain Prieto c72f46e463 Fix #19: support for MTS files, with full-frame mp4 export 10 years ago
Romain Prieto 8bffd0bfbd 0.1.1 10 years ago
Romain Prieto bdb43ff4c7 Upgrade yargs (removes debug messages) + remove commander (obsolete) 10 years ago
Romain Prieto 3226077f23 0.1.0 10 years ago
rprieto f1f09adc14 Sort folders by date or by name 10 years ago
rprieto 3c8ecce018 Use <yargs> to parse command line args, and support JSON config 10 years ago
rprieto 436d126050 Remove <regen> dependency (faster builds)
Since we read all the file metadata for EXIF dates, and we need it as well for the view model,
we should use it to generate the thumbnails and save many calls to glob() and fs.stat()
10 years ago
rprieto 17c4b0f9f1 Helper commands in package.json to build the example website 10 years ago
rprieto 11575c65d4 Read and cache EXIF data into <metadata.json> 10 years ago
rprieto 37a3c963fc 0.0.7 10 years ago
rprieto fb31c01053 Bump up regen version 10 years ago