aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap8
-rw-r--r--changelog.md80
-rw-r--r--compiler/ldgallery.1.md4
-rw-r--r--compiler/package.yaml3
-rw-r--r--compiler/src/FileProcessors.hs4
-rw-r--r--devdoc/design-notes.md (renamed from design-notes.md)132
-rw-r--r--flake.nix2
-rw-r--r--ldgallery-quickstart.7.md4
-rw-r--r--viewer/ldgallery-viewer.7.md2
-rw-r--r--viewer/package.json18
-rw-r--r--viewer/src/views/ItemThumbnail.vue2
-rw-r--r--viewer/src/views/item_handlers/AudioViewer.vue11
-rw-r--r--viewer/yarn.lock1490
13 files changed, 966 insertions, 794 deletions
diff --git a/.mailmap b/.mailmap
index f484a99..e5dab13 100644
--- a/.mailmap
+++ b/.mailmap
@@ -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
5zeroinformatique <10961896+zeroinformatique@users.noreply.github.com> <contact@zeroinformatique.fr> 5zeroinformatique <contact@zeroinformatique.fr> <contact@zeroinformatique.fr>
6zeroinformatique <10961896+zeroinformatique@users.noreply.github.com> <OzoneGrif@users.noreply.github.com> 6zeroinformatique <contact@zeroinformatique.fr> <10961896+zeroinformatique@users.noreply.github.com>
7zeroinformatique <contact@zeroinformatique.fr> <OzoneGrif@users.noreply.github.com>
7 8
8pacien <pacien@users.noreply.github.com> 9pacien <pacien.trangirard@pacien.net> <pacien@users.noreply.github.com>
9pacien <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
3This file lists notable changes that have been made to the application on each release. 3This file lists notable changes that have been made to the application on each
4Releases are tracked and referred to using git tags. 4release. 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 @@
2pagetitle: Compiler user manual - ldgallery 2pagetitle: Compiler user manual - ldgallery
3title: LDGALLERY(1) ldgallery 3title: LDGALLERY(1) ldgallery
4author: Pacien TRAN-GIRARD, Guillaume FOUET 4author: Pacien TRAN-GIRARD, Guillaume FOUET
5date: 2020-09-19 (v2.0) 5date: 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
190Copyright (C) 2019-2020 Pacien TRAN-GIRARD and Guillaume FOUET. 190Copyright (C) 2019-2022 Pacien TRAN-GIRARD and Guillaume FOUET.
191 191
192This 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. 192This 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 @@
1name: ldgallery-compiler 1name: ldgallery-compiler
2version: 2.0 2version: 2.1
3homepage: https://ldgallery.pacien.org 3homepage: https://ldgallery.pacien.org
4github: "pacien/ldgallery" 4github: "pacien/ldgallery"
5license: AGPL-3 5license: AGPL-3
6author: "Pacien TRAN-GIRARD, Guillaume FOUET" 6author: "Pacien TRAN-GIRARD, Guillaume FOUET"
7maintainer: ""
8copyright: "2019-2021 Pacien TRAN-GIRARD, Guillaume FOUET" 7copyright: "2019-2021 Pacien TRAN-GIRARD, Guillaume FOUET"
9 8
10extra-source-files: 9extra-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
80resizePictureUpTo :: Resolution -> FileTransformer 80resizePictureUpTo :: Resolution -> FileTransformer
81resizePictureUpTo maxResolution inputPath outputPath = 81resizePictureUpTo 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---
2title: ldgallery design notes
3author: pacien
4date: 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
14together, 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
15The 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. 29The compiler takes a source directory as input which shall contain item
30resource files and associated metadata sidecar files. Those items may be
31recursively grouped into multiple levels of sub-directories.
16 32
17Example source directory structure: 33Example source directory structure:
18 34
@@ -31,9 +47,14 @@ example-gallery-source
31 47
32#### Metadata sidecar file 48#### Metadata sidecar file
33 49
34Metadata 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. 50Metadata associated to items are stored in YAML sidecar files of the same name,