Romain
2330540ba5
chore(core): simplify keyword/people handling
...
In the future metadata mappings could be configurable.
We should then look at a generic system for all metadata
for example including captions.
Until then let's keep it simple and consistent with the other fields.
4 years ago
Geoffrey Lowney
cebb0327fe
Options to specify EXIF tags where keywords and "people in image" are found ( #224 )
...
* Add dynamic keyword and people-in-photo handling.
Add new options include-keywords, exclude-keyword.
Add new options include-people, exclude-people.
4 years ago
Romain
59b539e38e
fix(core): gracefully handle missing Exif.Composite.ImageSize
...
Fixes #226
4 years ago
Romain
c3ca18d97e
fix(core): encode URLs to files to handle special characters
...
Fixes #229
4 years ago
Romain
ad46c8db87
chores(deps): fix build after Boxen upgrade
...
Boxen has a new line-wrapping behavior that doesn't use
line breaks when the content is over 80 characters.
It's simpler to reformat the message.
4 years ago
Romain
b7827941f4
feat(core): option to choose how album previews are selected
...
Fixes #223
4 years ago
Romain
3ced05ad1f
feat(core): option to specify the log file
4 years ago
Romain
0f42dc8f85
feat(core): option to specify the database path
...
Fixes #216
4 years ago
Matthieu Rakotojaona
b9ffb2d630
Don't duplicate photos in the same album
...
A file can be in multiple albums, but the same file can't be in the same album multiple times. This can happen in multiple cases, for instance:
- If one of the mapping for the album contains "/"
- If a file is stored under "sub/file.jpg", one of the mapping is "%path" and the other is "sub"
Fixes #220
4 years ago
Romain
ef0ad4ee8e
feat(core): support pagination with --album-page-size
...
Note: requires a compatible theme which renders pagination.
Fixes #209
4 years ago
Romain
31b85fc0e1
chore(core): refactor SEO into testable module
4 years ago
Romain
6886c262db
chore(core): extract HTML page creation to a testable module
4 years ago
Pierre CLEMENT
b5b0005369
feat(cli): option to set small size
4 years ago
Romain
7e5ccbfbaa
chore(deps): update major dependencies
4 years ago
Romain
946a1d3a6d
chore(test): automatically cleanup temp files generated during tests
4 years ago
Romain
c407873266
feat(core): new --video-stills flag controls when the frame is taken
4 years ago
Romain
60c3902edc
feat(albums): Support custom sorting per nesting levels, fix #179
4 years ago
Romain
d0fc6b590b
test(cli) boolean options are case sensitive
4 years ago
Romain
3671c1211c
refactor(cli): simplify options parsing + include options in integration test
5 years ago
Romain
f088615caa
feat(cli): now option to set the home album name
...
Part of #176
5 years ago
Romain
066155f0fb
Uses more web-friendly and robust slugs for album filenames (no quotes, no colons…)
...
Fixes #164
5 years ago
Romain
a09ff03f2e
[feat] new option to pass settings to a theme, from a JSON file
...
Fixes #168
5 years ago
Romain
9c581bbd0b
feat(albums): optionally generate a ZIP file for each album
...
Fixes #125
6 years ago
Romain
f10544a6a9
fix(model): remove unnecessary ./ for files in the root folder
6 years ago
Romain
5571e0e6bf
Expose width and height in the file metadata
...
Fixes #149
6 years ago
Romain
2e875e7448
test(theme): add tests for escaping of single and double quotes
6 years ago
Romain
220b2137ec
feat(media): support suffix based generated paths instead of folder groups
...
Fixes #32 , Fixes #111
6 years ago
Romain
96bb3ad902
feat(resize): new options to control preview images (resize, copy, symlink…)
...
Fixes #115
6 years ago
Romain
9bda0a4835
feat(database): new include/exclude arguments to filter the input folder
6 years ago
Romain
ec6fbf9b0a
test(database): more unit tests for file globbing patterns
6 years ago
Romain
f30eddb6dd
feat(options): new flags to selectively include photos / videos / raw photos
...
fixes #128
6 years ago
Romain
2c2c518f4b
New options --video-format, --video-quality and --video-bitrate
6 years ago
Nikolai Kim
6b7df75ea4
Use Slugify for Albun names
6 years ago
Romain
9425604dd7
chore(dependencies): upgrade Standard from v11 to v12 which introduces a style change
6 years ago
Romain
b15b10fbb9
fix(metadata): support the ContentCreateDate field for videos
6 years ago
Romain
73672ce4dd
refactor(test): replace var with const in tests files when appropriate
6 years ago
Romain
a51904255c
fix(test): fix path to theme helpers in unit tests
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
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
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