diff options
-rw-r--r-- | .mailmap | 8 | ||||
-rw-r--r-- | changelog.md | 80 | ||||
-rw-r--r-- | compiler/ldgallery.1.md | 4 | ||||
-rw-r--r-- | compiler/package.yaml | 3 | ||||
-rw-r--r-- | compiler/src/FileProcessors.hs | 4 | ||||
-rw-r--r-- | devdoc/design-notes.md (renamed from design-notes.md) | 132 | ||||
-rw-r--r-- | flake.nix | 2 | ||||
-rw-r--r-- | ldgallery-quickstart.7.md | 4 | ||||
-rw-r--r-- | viewer/ldgallery-viewer.7.md | 2 | ||||
-rw-r--r-- | viewer/package.json | 18 | ||||
-rw-r--r-- | viewer/src/views/ItemThumbnail.vue | 2 | ||||
-rw-r--r-- | viewer/src/views/item_handlers/AudioViewer.vue | 11 | ||||
-rw-r--r-- | viewer/yarn.lock | 1490 |
13 files changed, 966 insertions, 794 deletions
@@ -2,8 +2,8 @@ | |||
2 | # git config --global log.mailmap true | 2 | # git config --global log.mailmap true |
3 | # git log --use-mailmap | 3 | # git log --use-mailmap |
4 | 4 | ||
5 | zeroinformatique <10961896+zeroinformatique@users.noreply.github.com> <contact@zeroinformatique.fr> | 5 | zeroinformatique <contact@zeroinformatique.fr> <contact@zeroinformatique.fr> |
6 | zeroinformatique <10961896+zeroinformatique@users.noreply.github.com> <OzoneGrif@users.noreply.github.com> | 6 | zeroinformatique <contact@zeroinformatique.fr> <10961896+zeroinformatique@users.noreply.github.com> |
7 | zeroinformatique <contact@zeroinformatique.fr> <OzoneGrif@users.noreply.github.com> | ||
7 | 8 | ||
8 | pacien <pacien@users.noreply.github.com> | 9 | pacien <pacien.trangirard@pacien.net> <pacien@users.noreply.github.com> |
9 | pacien <pacien@users.noreply.github.com> <pacien.trangirard@pacien.net> | ||
diff --git a/changelog.md b/changelog.md index cf4b230..b533250 100644 --- a/changelog.md +++ b/changelog.md | |||
@@ -1,29 +1,69 @@ | |||
1 | # Changelog | 1 | # Changelog |
2 | 2 | ||
3 | This file lists notable changes that have been made to the application on each release. | 3 | This file lists notable changes that have been made to the application on each |
4 | Releases are tracked and referred to using git tags. | 4 | release. Releases are tracked and referred to using git tags. |
5 | |||
6 | |||
7 | ## v2.1 - 2022-09-04 | ||
8 | - New features: | ||
9 | - Add support for Markdown-formatted files, which are now rendered. | ||
10 | - Add support for user-defined splash screen in the viewer. | ||
11 | - Improvements: | ||
12 | - Item descriptions now support Markdown formatting. | ||
13 | - `.webp` files are now registered and displayed as pictures. | ||
14 | - Better focus management (tab and scroll) in the viewer. | ||
15 | - Prevent flashing during viewer loading. | ||
16 | - Made the viewer lighter and faster to load. | ||
17 | - Directories now stay on top of item lists in viewer. | ||
18 | - Zooming on pictures is now smoother (proportional). | ||
19 | - Bug fixes: | ||
20 | - Fix cache thumbnail masking in index in the compiler. | ||
21 | - Fix momentum/kinetic scroll on Safari and Firefox on iOS. | ||
22 | - Fix sort order button hitbox. | ||
23 | - Fix viewer component not resetting on item change. | ||
24 | - Fix "Object is possibly 'null'" error in templates. | ||
25 | - Fix picture loading failure in edge case. | ||
26 | - Fix scroll position issue when switching screen orientation. | ||
27 | - Fix item aspect-ratio when the search panel is open. | ||
28 | - Miscellaneous: | ||
29 | - The project is now available as a Nix Flake. | ||
30 | - Framework upgrade: Vue 2 to Vue 3 | ||
31 | - Replaced viewer components for dropdown, toast, button, tag, input, loader. | ||
32 | - The Windows bundle now includes ImageMagick with HDRI enabled. | ||
33 | - Portable builds now look for the viewer at its runtime location. | ||
34 | - Plain text files are now displayed inline instead of using an iframe. | ||
35 | |||
5 | 36 | ||
6 | ## v2.0 - 2020-09-25 | 37 | ## v2.0 - 2020-09-25 |
7 | - Thumbnails are now allowed for all files in addition to directories. | 38 | - Thumbnails are now allowed for all files in addition to directories. |
8 | __Breaking change__: directory thumbnails are now named "\_thumbnail.ext" instead of "\_directory.ext". | 39 | __Breaking change__: directory thumbnails are now named "\_thumbnail.ext" |
9 | - Plain text, PDF, audio and video items are now displayed within the web application in browsers which support those formats. | 40 | instead of "\_directory.ext". |
10 | - Items can now have a timestamp. | 41 | - Plain text, PDF, audio and video items are now displayed within the web |
11 | Date and time can be given through the "datetime" key in sidecar metadata files. | 42 | application in browsers which support those formats. |
12 | By default, this is set to the last modification date and time of the file itself. | 43 | - Items can now have a timestamp. Date and time can be given through the |
13 | - Items can now have an optional description, given through the option of the same name in sidecar metadata files. | 44 | "datetime" key in sidecar metadata files. By default, this is set to the last |
14 | Rich text formatting is possible through the use of the GitHub-Flavoured Markdown (GFM) syntax. | 45 | modification date and time of the file itself. |
15 | - An information panel has been added to the viewer. | 46 | - Items can now have an optional description, given through the option of the |
16 | It displays the title, date and time, as well as the description associated to the viewed item. | 47 | same name in sidecar metadata files. Rich text formatting is possible through |
17 | - Items can now be sorted by name and date through a newly introduced sorting menu in the viewer. | 48 | the use of the GitHub-Flavoured Markdown (GFM) syntax. |
18 | A default order can be configured in the viewer's configuration file with the "initialItemSort" option. | 49 | - An information panel has been added to the viewer. It displays the title, |
19 | The default behaviour is to sort items in chronological order. | 50 | date and time, as well as the description associated to the viewed item. |
20 | - Tag suggestions are now limited to the first 10 most used tags for each category. | 51 | - Items can now be sorted by name and date through a newly introduced sorting |
21 | The hidden suggestions now have to be expanded by the user. | 52 | menu in the viewer. A default order can be configured in the viewer's |
22 | This limit can be modified or disabled with the newly introduced "initialTagDisplayLimit" option. | 53 | configuration file with the "initialItemSort" option. The default behaviour |
23 | - The viewer can now load alternative configuration files through an optional query parameter. | 54 | is to sort items in chronological order. |
24 | - The index file to load can now be specified in the viewer configuration file with the "galleryIndex" option. | 55 | - Tag suggestions are now limited to the first 10 most used tags for each |
25 | - Gallery build time has been reduced through more extensive caching (now reusing item metadata from previous compilations). | 56 | category. The hidden suggestions now have to be expanded by the user. This |
57 | limit can be modified or disabled with the newly introduced | ||
58 | "initialTagDisplayLimit" option. | ||
59 | - The viewer can now load alternative configuration files through an optional | ||
60 | query parameter. | ||
61 | - The index file to load can now be specified in the viewer configuration file | ||
62 | with the "galleryIndex" option. | ||
63 | - Gallery build time has been reduced through more extensive caching (now | ||
64 | reusing item metadata from previous compilations). | ||
26 | 65 | ||
27 | 66 | ||
28 | ## v1.0 - 2020-05-02 | 67 | ## v1.0 - 2020-05-02 |
29 | - First release. | 68 | - First release. |
69 | |||
diff --git a/compiler/ldgallery.1.md b/compiler/ldgallery.1.md index eda6cc2..2e247cd 100644 --- a/compiler/ldgallery.1.md +++ b/compiler/ldgallery.1.md | |||
@@ -2,7 +2,7 @@ | |||
2 | pagetitle: Compiler user manual - ldgallery | 2 | pagetitle: Compiler user manual - ldgallery |
3 | title: LDGALLERY(1) ldgallery | 3 | title: LDGALLERY(1) ldgallery |
4 | author: Pacien TRAN-GIRARD, Guillaume FOUET | 4 | author: Pacien TRAN-GIRARD, Guillaume FOUET |
5 | date: 2020-09-19 (v2.0) | 5 | date: 2022-09-04 (v2.1) |
6 | --- | 6 | --- |
7 | 7 | ||
8 | 8 | ||
@@ -187,7 +187,7 @@ The ldgallery source code is available on <https://ldgallery.pacien.org>. | |||
187 | 187 | ||
188 | # LICENSE | 188 | # LICENSE |
189 | 189 | ||
190 | Copyright (C) 2019-2020 Pacien TRAN-GIRARD and Guillaume FOUET. | 190 | Copyright (C) 2019-2022 Pacien TRAN-GIRARD and Guillaume FOUET. |
191 | 191 | ||
192 | This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | 192 | This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. |
193 | 193 | ||
diff --git a/compiler/package.yaml b/compiler/package.yaml index b02a40a..7bd86e9 100644 --- a/compiler/package.yaml +++ b/compiler/package.yaml | |||
@@ -1,10 +1,9 @@ | |||
1 | name: ldgallery-compiler | 1 | name: ldgallery-compiler |
2 | version: 2.0 | 2 | version: 2.1 |
3 | homepage: https://ldgallery.pacien.org | 3 | homepage: https://ldgallery.pacien.org |
4 | github: "pacien/ldgallery" | 4 | github: "pacien/ldgallery" |
5 | license: AGPL-3 | 5 | license: AGPL-3 |
6 | author: "Pacien TRAN-GIRARD, Guillaume FOUET" | 6 | author: "Pacien TRAN-GIRARD, Guillaume FOUET" |
7 | maintainer: "" | ||
8 | copyright: "2019-2021 Pacien TRAN-GIRARD, Guillaume FOUET" | 7 | copyright: "2019-2021 Pacien TRAN-GIRARD, Guillaume FOUET" |
9 | 8 | ||
10 | extra-source-files: | 9 | extra-source-files: |
diff --git a/compiler/src/FileProcessors.hs b/compiler/src/FileProcessors.hs index 5c4e1c8..6e1738e 100644 --- a/compiler/src/FileProcessors.hs +++ b/compiler/src/FileProcessors.hs | |||
@@ -1,7 +1,7 @@ | |||
1 | -- ldgallery - A static generator which turns a collection of tagged | 1 | -- ldgallery - A static generator which turns a collection of tagged |
2 | -- pictures into a searchable web gallery. | 2 | -- pictures into a searchable web gallery. |
3 | -- | 3 | -- |
4 | -- Copyright (C) 2019-2020 Pacien TRAN-GIRARD | 4 | -- Copyright (C) 2019-2022 Pacien TRAN-GIRARD |
5 | -- | 5 | -- |
6 | -- This program is free software: you can redistribute it and/or modify | 6 | -- This program is free software: you can redistribute it and/or modify |
7 | -- it under the terms of the GNU Affero General Public License as | 7 | -- it under the terms of the GNU Affero General Public License as |
@@ -79,7 +79,7 @@ copyFileProcessor inputPath outputPath = | |||
79 | 79 | ||
80 | resizePictureUpTo :: Resolution -> FileTransformer | 80 | resizePictureUpTo :: Resolution -> FileTransformer |
81 | resizePictureUpTo maxResolution inputPath outputPath = | 81 | resizePictureUpTo maxResolution inputPath outputPath = |
82 | putStrLn ("Generating:\t" ++ outputPath) | 82 | putStrLn ("Processing:\t" ++ outputPath) |
83 | >> ensureParentDir (flip resize) outputPath inputPath | 83 | >> ensureParentDir (flip resize) outputPath inputPath |
84 | where | 84 | where |
85 | maxSize :: Resolution -> String | 85 | maxSize :: Resolution -> String |
diff --git a/design-notes.md b/devdoc/design-notes.md index 0d7b5c1..b6ea37a 100644 --- a/design-notes.md +++ b/devdoc/design-notes.md | |||
@@ -1,9 +1,23 @@ | |||
1 | --- | ||
2 | title: ldgallery design notes | ||
3 | author: pacien | ||
4 | date: 2020-02-25 | ||
5 | --- | ||
6 | |||
7 | __Warning: this document is severely outdated.__ | ||
8 | |||
9 | --- | ||
10 | |||
1 | # ldgallery design notes | 11 | # ldgallery design notes |
2 | 12 | ||
3 | _ldgallery_ consists of two main components that are packaged and distributed together, but are otherwise functionally independent: | 13 | _ldgallery_ consists of two main components that are packaged and distributed |
14 | together, but are otherwise functionally independent: | ||
4 | 15 | ||
5 | * a __compiler__ which turns a collection of pictures and sidecar metadata files into their compressed/normalised and aggregated versions respectively, and | 16 | * a __compiler__ which turns a collection of pictures and sidecar metadata |
6 | * a web __viewer__ in the form of a single-page application, rendering the output of the compiler as a searchable picture gallery. | 17 | files into their compressed/normalised and aggregated versions respectively, |
18 | and | ||
19 | * a web __viewer__ in the form of a single-page application, rendering the | ||
20 | output of the compiler as a searchable picture gallery. | ||
7 | 21 | ||
8 | 22 | ||
9 | ## Gallery compiler | 23 | ## Gallery compiler |
@@ -12,7 +26,9 @@ _ldgallery_ consists of two main components that are packaged and distributed to | |||
12 | 26 | ||
13 | #### Directory structure | 27 | #### Directory structure |
14 | 28 | ||
15 | The compiler takes a source directory as input which shall contain item resource files and associated metadata sidecar files. Those items may be recursively grouped into multiple levels of sub-directories. | 29 | The compiler takes a source directory as input which shall contain item |
30 | resource files and associated metadata sidecar files. Those items may be | ||
31 | recursively grouped into multiple levels of sub-directories. | ||
16 | 32 | ||
17 | Example source directory structure: | 33 | Example source directory structure: |
18 | 34 | ||
@@ -31,9 +47,14 @@ example-gallery-source | |||
31 | 47 | ||
32 | #### Metadata sidecar file | 48 | #### Metadata sidecar file |
33 | 49 | ||
34 | Metadata associated to items are stored in YAML sidecar files of the same name, with the `.yaml` extension appended. The use of plain text sidecar files allow for easier editing without any special tool in a unified manner for multiple types of files (pictures, videos, ebooks, ...). The metadata contained within item files are simply ignored. | 50 | Metadata associated to items are stored in YAML sidecar files of the same name, |