Romain
dc5cf14355
feat(metadata): add GPS lat/long
5 years ago
Romain
1502e8be0d
feat(themes): expose all program options to the theme templates
...
Fixes #174
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
4d8dfcb7b7
fix(cli): can explicitly set the log level to “default” for the Listr renderer
...
Fixes #154
5 years ago
Romain
77ba7f09ab
[feat] Support HEIC images, including iOS single / burst / live photos
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
Andrew McOlash
282713f273
Allow generating rectangular thumbnails ( #146 )
...
Add rectangular thumbnail
6 years ago
Romain
c4719328af
fix(database): add support for AVI and WMV videos
...
fixes #147
6 years ago
Romain
2e875e7448
test(theme): add tests for escaping of single and double quotes
6 years ago
Andrew McOlash
11da4850c8
Add in escaping of quotes for relative paths ( #145 )
...
* Add in escaping of quotes for relative paths
* Add double quote escaping
* Fix lint errors
* Always escape relative paths
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
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
4030025bc9
feat(index): support m4v files, video format used when exporting from Apple Photos
6 years ago
hnizdil
7c0b87cbae
GA code fix in GA template
6 years ago
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
Romain
b15b10fbb9
fix(metadata): support the ContentCreateDate field for videos
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
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
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
79dd36f77b
test(core): add unit tests for the relationship/action mapping, e.g. “photo:large”
6 years ago
Romain
7dd714c957
refactor(tests): dynamically generate test folders to check more edge cases
6 years ago
Romain
3fa8867757
test(all): add unit tests for theme + cleanup logic
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
Felix Eckhofer
383f77e0d4
fix(core): Use correct base for calculating the relative path
...
Fixes #109
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
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
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
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
24790c075c
chore(cleanup): remove old code and console.log()
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
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
f7d7b827e5
feat(cli): --concurrency also controls the number of batch exiftool processes
6 years ago
Romain
a5740fb94e
feat(cli): Expose --photo-quality to control the quality of the converted images
6 years ago