diff options
Diffstat (limited to 'viewer')
28 files changed, 1426 insertions, 782 deletions
diff --git a/viewer/.env.development b/viewer/.env.development index 0d87cf4..7e9a240 100644 --- a/viewer/.env.development +++ b/viewer/.env.development | |||
@@ -1,3 +1,4 @@ | |||
1 | VUE_APP_DEVSERVER_PORT=8085 | 1 | VUE_APP_DEVSERVER_PORT=8085 |
2 | VUE_APP_DEVSERVER_CONFIG_PATH=../example/ | 2 | VUE_APP_DEVSERVER_CONFIG_PATH=../example/ |
3 | VUE_APP_DATA_URL=~/ | 3 | VUE_APP_DATA_URL=~/ |
4 | VUE_APP_WEBPACK_WATCH_POLL=0 | ||
diff --git a/viewer/ldgallery-viewer.7.md b/viewer/ldgallery-viewer.7.md index c0634b6..ad36f7f 100644 --- a/viewer/ldgallery-viewer.7.md +++ b/viewer/ldgallery-viewer.7.md | |||
@@ -2,7 +2,7 @@ | |||
2 | pagetitle: Viewer user manual - ldgallery | 2 | pagetitle: Viewer user manual - ldgallery |
3 | title: LDGALLERY-VIEWER(7) ldgallery | 3 | title: LDGALLERY-VIEWER(7) ldgallery |
4 | author: Pacien TRAN-GIRARD, Guillaume FOUET | 4 | author: Pacien TRAN-GIRARD, Guillaume FOUET |
5 | date: 2022-09-04 (v2.1) | 5 | date: 2023-02-17 (v2.2) |
6 | --- | 6 | --- |
7 | 7 | ||
8 | 8 | ||
@@ -37,10 +37,18 @@ Items of the following formats can be opened and visualised within the web appli | |||
37 | * Pictures (Bitmap, JPEG, PNG, TIFF, HDR, GIF) | 37 | * Pictures (Bitmap, JPEG, PNG, TIFF, HDR, GIF) |
38 | * Videos (OGV, WebM, Matroska, MPEG-4) | 38 | * Videos (OGV, WebM, Matroska, MPEG-4) |
39 | * Audio files (WAV, Opus, FLAC, MP3, MPEG-4) | 39 | * Audio files (WAV, Opus, FLAC, MP3, MPEG-4) |
40 | * Plain text files (`.txt`) | 40 | * Text files (TXT, Markdown) |
41 | * PDFs | 41 | * Ebooks (PDF, EPUB) |
42 | 42 | ||
43 | Formats which are not listed above or which are not supported by the user's web browser are offered for download instead of being directly displayed in the same window. | 43 | Formats which are not listed above or which are not supported by the user's web browser are offered for download instead of being directly displayed in the same window. |
44 | The item being visualised can be downloaded using the download button at the top-left corner. | ||
45 | |||
46 | |||
47 | # KEYBOARD SHORTCUTS | ||
48 | |||
49 | `CTRL-K` | ||
50 | : Moves the focus to the tag search field, opening the side search panel if it is closed. | ||
51 | Pressing again while in the search input field sets the focus to the browser's address bar. | ||
44 | 52 | ||
45 | 53 | ||
46 | # SEARCH QUERIES | 54 | # SEARCH QUERIES |
@@ -161,7 +169,7 @@ The ldgallery source code is available on <https://ldgallery.pacien.org>. | |||
161 | 169 | ||
162 | # LICENSE | 170 | # LICENSE |
163 | 171 | ||
164 | Copyright (C) 2019-2022 Pacien TRAN-GIRARD and Guillaume FOUET. | 172 | Copyright (C) 2019-2023 Pacien TRAN-GIRARD and Guillaume FOUET. |
165 | 173 | ||
166 | 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. | 174 | 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. |
167 | 175 | ||
diff --git a/viewer/package.json b/viewer/package.json index c93b022..36c35fb 100644 --- a/viewer/package.json +++ b/viewer/package.json | |||
@@ -1,10 +1,10 @@ | |||
1 | { | 1 | { |
2 | "name": "ldgallery-viewer", | 2 | "name": "ldgallery-viewer", |
3 | "version": "2.1.0", | 3 | "version": "2.2.0", |
4 | "private": true, | 4 | "private": true, |
5 | "scripts": { | 5 | "scripts": { |
6 | "serve": "vue-cli-service serve", | 6 | "serve": "vue-cli-service serve", |
7 | "build": "vue-cli-service build", | 7 | "build": "vue-tsc --noEmit && vue-cli-service build", |
8 | "lint": "vue-cli-service lint --no-fix --max-warnings 0", | 8 | "lint": "vue-cli-service lint --no-fix --max-warnings 0", |
9 | "lint-autoformat": "vue-cli-service lint --fix" | 9 | "lint-autoformat": "vue-cli-service lint --fix" |
10 | }, | 10 | }, |
@@ -12,21 +12,22 @@ | |||
12 | "@fortawesome/fontawesome-svg-core": "6.1.2", | 12 | "@fortawesome/fontawesome-svg-core": "6.1.2", |
13 | "@fortawesome/free-solid-svg-icons": "6.1.2", | 13 | "@fortawesome/free-solid-svg-icons": "6.1.2", |
14 | "@fortawesome/vue-fontawesome": "3.0.1", | 14 | "@fortawesome/vue-fontawesome": "3.0.1", |
15 | "@vueuse/core": "9.1.1", | 15 | "@vueuse/core": "9.3.1", |
16 | "core-js": "3.25.0", | 16 | "core-js": "3.25.0", |
17 | "epubjs": "0.3.93", | ||
17 | "hammerjs": "2.0.8", | 18 | "hammerjs": "2.0.8", |
18 | "marked": "4.0.19", | 19 | "marked": "4.1.1", |
19 | "mosha-vue-toastify": "1.0.23", | 20 | "mosha-vue-toastify": "1.0.23", |
20 | "pinia": "2.0.21", | 21 | "pinia": "2.0.23", |
21 | "v-lazy-image": "2.1.1", | 22 | "v-lazy-image": "2.1.1", |
22 | "vue": "3.2.37", | 23 | "vue": "3.2.41", |
23 | "vue-dragscroll": "4.0.4", | 24 | "vue-dragscroll": "4.0.4", |
24 | "vue-i18n": "9.1.10", | 25 | "vue-i18n": "9.1.10", |
25 | "vue-router": "4.1.5" | 26 | "vue-router": "4.1.6" |
26 | }, | 27 | }, |
27 | "devDependencies": { | 28 | "devDependencies": { |
28 | "@types/hammerjs": "2.0.41", | 29 | "@types/hammerjs": "2.0.41", |
29 | "@types/marked": "4.0.6", | 30 | "@types/marked": "4.0.7", |
30 | "@typescript-eslint/eslint-plugin": "5.31.0", | 31 | "@typescript-eslint/eslint-plugin": "5.31.0", |
31 | "@typescript-eslint/parser": "5.31.0", | 32 | "@typescript-eslint/parser": "5.31.0", |
32 | "@vue/cli-plugin-babel": "5.0.8", | 33 | "@vue/cli-plugin-babel": "5.0.8", |
@@ -44,9 +45,10 @@ | |||
44 | "js-yaml-loader": "1.2.2", | 45 | "js-yaml-loader": "1.2.2", |
45 | "sass": "1.54.0", | 46 | "sass": "1.54.0", |
46 | "sass-loader": "13.0.2", | 47 | "sass-loader": "13.0.2", |
47 | "typescript": "4.7.4", | 48 | "typescript": "4.8.4", |
48 | "vue-cli-plugin-pinia": "0.1.4" | 49 | "vue-cli-plugin-pinia": "0.1.6", |
50 | "vue-tsc": "1.0.9" | ||
49 | }, | 51 | }, |
50 | "homepage": "https://ldgallery.pacien.org/", | 52 | "homepage": "https://ldgallery.pacien.org/", |
51 | "license": "AGPL-3" | 53 | "license": "AGPL-3.0-only" |
52 | } | 54 | } |
diff --git a/viewer/src/@types/gallery.ts b/viewer/src/@types/gallery.ts index 8c0f177..6960de2 100644 --- a/viewer/src/@types/gallery.ts +++ b/viewer/src/@types/gallery.ts | |||
@@ -64,6 +64,9 @@ export interface MarkdownProperties extends Downloadable { | |||
64 | export interface PDFProperties extends Downloadable { | 64 | export interface PDFProperties extends Downloadable { |
65 | type: ItemType.PDF; | 65 | type: ItemType.PDF; |
66 | } | 66 | } |
67 | export interface EPUBProperties extends Downloadable { | ||
68 | type: ItemType.EPUB; | ||
69 | } | ||
67 | export interface VideoProperties extends Downloadable { | 70 | export interface VideoProperties extends Downloadable { |
68 | type: ItemType.VIDEO; | 71 | type: ItemType.VIDEO; |
69 | } | 72 | } |
@@ -107,6 +110,9 @@ export interface MarkdownItem extends Item { | |||
107 | export interface PDFItem extends Item { | 110 | export interface PDFItem extends Item { |
108 | properties: PDFProperties; | 111 | properties: PDFProperties; |
109 | } | 112 | } |
113 | export interface EPUBItem extends Item { | ||
114 | properties: EPUBProperties; | ||
115 | } | ||
110 | export interface VideoItem extends Item { | 116 | export interface VideoItem extends Item { |
111 | properties: VideoProperties; | 117 | properties: VideoProperties; |
112 | } | 118 | } |
diff --git a/viewer/src/@types/itemType.ts b/viewer/src/@types/itemType.ts index ecab05c..8528728 100644 --- a/viewer/src/@types/itemType.ts +++ b/viewer/src/@types/itemType.ts | |||
@@ -23,6 +23,7 @@ export enum ItemType { | |||
23 | PLAINTEXT = 'plaintext', | 23 | PLAINTEXT = 'plaintext', |
24 | MARKDOWN = 'markdown', | 24 | MARKDOWN = 'markdown', |
25 | PDF = 'pdf', | 25 | PDF = 'pdf', |
26 | EPUB = 'epub', | ||
26 | VIDEO = 'video', | 27 | VIDEO = 'video', |
27 | AUDIO = 'audio', | 28 | AUDIO = 'audio', |
28 | DIRECTORY = 'directory', | 29 | DIRECTORY = 'directory', |
diff --git a/viewer/src/assets/scss/theme.scss b/viewer/src/assets/scss/theme.scss index 63febbf..6622fa5 100644 --- a/viewer/src/assets/scss/theme.scss +++ b/viewer/src/assets/scss/theme.scss | |||
@@ -41,6 +41,8 @@ $dropdown-item-color: $palette-600; | |||
41 | $dropdown-item-hover-color: $palette-500; | 41 | $dropdown-item-hover-color: $palette-500; |
42 | $panel-top-bgcolor: $palette-800; | 42 | $panel-top-bgcolor: $palette-800; |
43 | $panel-top-txtcolor: $primary; | 43 | $panel-top-txtcolor: $primary; |
44 | $panel-bottom-bgcolor: $palette-800; | ||
45 | $panel-bottom-txtcolor: $primary; | ||
44 | $panel-left-bgcolor: $palette-800; | 46 | $panel-left-bgcolor: $palette-800; |
45 | $panel-left-txtcolor: $primary; | 47 | $panel-left-txtcolor: $primary; |
46 | $command-buttons-bgcolor: $palette-700; | 48 | $command-buttons-bgcolor: $palette-700; |
@@ -55,6 +57,7 @@ $thumbnail-other-size: $body-line-height * 7em; | |||
55 | $proposed-category-bgcolor: $palette-700; | 57 | $proposed-category-bgcolor: $palette-700; |
56 | $viewer-text: $palette-000; | 58 | $viewer-text: $palette-000; |
57 | $viewer-text-background: $palette-900; | 59 | $viewer-text-background: $palette-900; |
60 | $viewer-epub-background: $palette-000; | ||
58 | 61 | ||
59 | // Layout | 62 | // Layout |
60 | 63 | ||
diff --git a/viewer/src/components/async/AsyncLdMarkdown.vue b/viewer/src/components/async/AsyncLdMarkdown.vue index 213c11c..c3f368a 100644 --- a/viewer/src/components/async/AsyncLdMarkdown.vue +++ b/viewer/src/components/async/AsyncLdMarkdown.vue | |||
@@ -40,7 +40,6 @@ const html = computed(() => marked(props.markdown)); | |||
40 | <style lang="scss" module> | 40 | <style lang="scss" module> |
41 | .markdown { | 41 | .markdown { |
42 | color: white; | 42 | color: white; |
43 | line-height: 1.7; | ||
44 | word-wrap: break-word; | 43 | word-wrap: break-word; |