Commit Graph

563 Commits (master)
 

Author SHA1 Message Date
Andrew McOlash ac41a925b5 Fix CI test 6 years ago
Andrew McOlash cbbb067957 Change metadata to only have exif when needed, rename exif flag 6 years ago
Andrew McOlash b14a255bc5 Pass exif data to template optionally 6 years ago
Andrew McOlash 5ce0cd4ade Missed a spot 6 years ago
Andrew McOlash 2331fbef95 Add preserve exif option 6 years ago
Andrew McOlash df5062e02d
Merge pull request #1 from thumbsup/master
merge newest changes
6 years ago
Romain b15b10fbb9 fix(metadata): support the ContentCreateDate field for videos 6 years ago
Romain c29a16ed83 2.4.2 6 years ago
Romain 5f38d2a2c6 fix(docker): use a HOME every user has access to
Fixes #120
6 years ago
Romain 73672ce4dd refactor(test): replace var with const in tests files when appropriate 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 4c64251bf5 fix(build): Revert 3ec009e6 + Travis deployment condition + extract Travis script
Travis deploy steps have to be a script file (not a list of steps).

Revert 3ec009e6 because “npm install git+file” actually reads from the local master branch, which
- doesn’t work on Travis since Travis checks out a detached head
- doesn’t work as expected locally, since you might have local changes or might be working from a different branch

For the time being it’s easier to simplify the Docker script and release a known published version.
6 years ago
Oliver Dain 3ec009e6c8 chore(build): docker build uses the current git directory as the npm package
This means we can build and test local changes, not just the latest published version.

Fixes #114 and merges #118.
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 d75815c536 fix(build): fix typo in docker tag on Travis CI 6 years ago
Romain 23b4016923 chore(build): automatically build and publish the Docker image with Travis CI
Fixes #114.
6 years ago
Romain a51904255c fix(test): fix path to theme helpers in unit tests 6 years ago
Romain ca8b4862c3 fix(build): handle theme dependencies which are not directly referenced 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 90cb3994eb fix(log) Only show error summaries on stdout, and full errors in the log file 6 years ago
Romain 39591c70a1 feat(theme): support for themes published within a subfolder
If a theme has a build process, it will likely publish a subfolder (e.g. “dist”) to npm.
It can simply set “thumbsup.themeRoot” in its package.json so thumbsup looks in the right place.
6 years ago
Romain 00dac76983 test(exiftool): add tests for batch exiftool streaming 6 years ago
Romain 79dd36f77b test(core): add unit tests for the relationship/action mapping, e.g. “photo:large” 6 years ago
Romain 832673f322 refactor(tests): integration tests as part of the Mocha suite
Some benefits:
- no need to check-in a full website to compare against
- targeted asserts, instead of a “should be 100% the same”
- more robust against cosmetic theme changes
- allows for testing more edge cases in the future
- can’t forget to run the integration tests since they’re part of “npm test”
6 years ago
Romain 7dd714c957 refactor(tests): dynamically generate test folders to check more edge cases 6 years ago
Romain fb4c4fb89f test(all): add unit tests for Album and Problem 6 years ago
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