2
0
mirror of https://github.com/thumbsup/thumbsup synced 2024-11-19 09:26:04 +00:00
Commit Graph

50 Commits

Author SHA1 Message Date
Romain
293cbf8469 test: make all tests run on Linux + Windows 2021-03-03 23:19:36 +01:00
Romain
008bb4c54f fix: support files and albums with special characters
Fixes #240
2021-02-23 23:52:26 +01:00
Christian Paul
d5ebd160e5
Support albums and images with # or ? (#235)
* Use encodeURIComponent for file URLs
* Use encodeURIComponent on album basename for the url
* Add unit tests for encoding # and ? characters
2021-02-18 00:35:21 +01:00
Romain
61dc0c588d chore: cleanup Mocha test output 2021-01-20 00:02:50 +01:00
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.
2021-01-12 23:37:08 +01:00
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.
2021-01-12 23:05:21 +01:00
Romain
59b539e38e fix(core): gracefully handle missing Exif.Composite.ImageSize
Fixes #226
2021-01-10 23:05:13 +01:00
Romain
c3ca18d97e fix(core): encode URLs to files to handle special characters
Fixes #229
2021-01-10 22:54:22 +01:00
Romain
b7827941f4 feat(core): option to choose how album previews are selected
Fixes #223
2020-12-30 16:51:09 +01:00
Romain
60c3902edc feat(albums): Support custom sorting per nesting levels, fix #179 2020-05-11 00:36:46 +02:00
Romain
066155f0fb Uses more web-friendly and robust slugs for album filenames (no quotes, no colons…)
Fixes #164
2019-06-13 22:50:41 +02:00
Romain
9c581bbd0b feat(albums): optionally generate a ZIP file for each album
Fixes #125
2019-03-17 22:56:48 +01:00
Romain
f10544a6a9 fix(model): remove unnecessary ./ for files in the root folder 2019-03-17 22:25:17 +01:00
Romain
5571e0e6bf Expose width and height in the file metadata
Fixes #149
2019-03-16 21:34:18 +01:00
Romain
220b2137ec feat(media): support suffix based generated paths instead of folder groups
Fixes #32, Fixes #111
2019-02-13 22:18:54 +01:00
Romain
96bb3ad902 feat(resize): new options to control preview images (resize, copy, symlink…)
Fixes #115
2019-02-07 22:08:38 +01:00
Romain
2c2c518f4b New options --video-format, --video-quality and --video-bitrate 2019-01-07 21:48:44 +01:00
Nikolai Kim
6b7df75ea4 Use Slugify for Albun names 2019-01-06 23:52:21 +03:00
Romain
9425604dd7 chore(dependencies): upgrade Standard from v11 to v12 which introduces a style change 2018-12-11 23:11:03 +01:00
Romain
b15b10fbb9 fix(metadata): support the ContentCreateDate field for videos 2018-09-02 16:55:16 +02:00
Romain
73672ce4dd refactor(test): replace var with const in tests files when appropriate 2018-08-18 20:25:35 +02:00
Romain
fb4c4fb89f test(all): add unit tests for Album and Problem 2018-06-15 22:32:45 +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
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.
2018-06-08 00:27:44 +02:00
klemens
424d2c8b8b spelling fixes 2018-04-26 11:08:45 +02:00
Romain
03c3b38e82 fix(model): ignore the EXIF date if it’s not valid e.g. 0000:00:00
Closes #94
2018-03-29 20:21:58 +11:00
Romain
3152361e65 Fix #83: handle IPTC keywords returned as string or array 2017-12-02 22:54:37 +11:00
Romain
b92724472e Fix #71: read both Quicktime CreationDate and CreateDate 2017-08-13 21:28:00 +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
d24c5110cc Fix #70: files in the root of the source folder get added to the root gallery (index.html)
Before, they were added to an album called “.” which didn’t look good,
and the corresponding “.html” file (no base name) caused issues on web servers
2017-07-22 21:25:43 +10:00
Romain
dc40fbac09 Fix inferring data from the filename: was getting confused if the folder contained digits 2017-06-14 17:43:38 +10:00
Romain
3531f1e533 Try to infer dates from the filename if there is no "date" metadata 2017-04-01 00:07:04 +11:00
Romain
a7ad8dc9fc Fix reading the original creation date of QuickTime and H264 movies 2017-03-19 00:12:21 +11:00
Romain
39ee2adf05 Read XMP ratings 2017-03-08 21:41:37 +11:00
Romain
449ee0b180 Read the caption from all standard EXIF/IPTC/XMP tags (issue #24) 2017-03-08 21:40:09 +11:00
Romain
7e73e6a10b Refactor album mapping code to be much simpler based on (media) => string 2017-03-08 20:12:05 +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
e719bf15b1 Single source of truth for input/outputs + view model for display (#58) 2017-03-06 22:16:36 +11:00
Romain
d3781b8fcf Fix parsing of MIME Type into Media type (image/video)
This fixes download links, and being able to right-click on a video and save-as
2017-02-28 21:40:51 +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
e36464a76a New --albums-output-folder option to write all albums to a subfolder (cleaner output)
The main changes are
- this introduces relative paths, since some HTML files have to go ".." to get to public/media
- it also introduces the difference between album.path (OS dependent) and album.url (forward slashes)
2017-02-07 23:37:52 +11:00
Romain
e930af7f49 Add GIF support, fixes #22.
One major change here is that thumbnails will always be generated as ".jpg".
This is potentially a breaking change, in the sense that all "png" or "jpeg" thumbnails
would be to re-calculated and re-uploaded.
2017-02-06 21:37:36 +11:00
Romain
4209466c14 More unit tests for the Album model (tests split into 2 files for legibility) 2017-02-05 18:38:44 +11:00
Romain
6772e9c9d9 Fix final options for nested albums, not being passed recursively 2017-02-05 15:39:52 +11:00
Romain
f235675f86 Don't concatenate the root album name to be 100% compatible with existing version for flat albums 2016-11-17 22:07:04 +11:00
Romain
0208babae1 Pick 10 previews per album, to make the mosaic theme work 2016-11-17 12:34:58 +11:00
Romain
b10e7ca6c9 Unit tests for album constructor + sorting 2016-11-15 13:28:37 +11:00
Romain
93ffff1e90 Move album.previews() test one level up 2016-11-13 13:22:43 +11:00
Romain
fd9bf181fd Extract model from website generation 2016-11-02 11:35:27 +11:00