aboutsummaryrefslogtreecommitdiff
path: root/viewer
diff options
context:
space:
mode:
Diffstat (limited to 'viewer')
-rw-r--r--viewer/.env.development1
-rw-r--r--viewer/ldgallery-viewer.7.md16
-rw-r--r--viewer/package.json24
-rw-r--r--viewer/src/@types/gallery.ts6
-rw-r--r--viewer/src/@types/itemType.ts1
-rw-r--r--viewer/src/assets/scss/theme.scss3
-rw-r--r--viewer/src/components/async/AsyncLdMarkdown.vue14
-rw-r--r--viewer/src/locales/en.yml4
-rw-r--r--viewer/src/services/navigation.ts14
-rw-r--r--viewer/src/services/ui/ldItemResourceUrl.ts8
-rw-r--r--viewer/src/views/GalleryNavigation.vue2
-rw-r--r--viewer/src/views/ItemThumbnail.vue6
-rw-r--r--viewer/src/views/MainLayout.vue5
-rw-r--r--viewer/src/views/item_handlers/AudioViewer.vue15
-rw-r--r--viewer/src/views/item_handlers/DownloadViewer.vue4
-rw-r--r--viewer/src/views/item_handlers/MarkdownViewer.vue4
-rw-r--r--viewer/src/views/item_handlers/PdfViewer.vue4
-rw-r--r--viewer/src/views/item_handlers/PictureViewer.vue4
-rw-r--r--viewer/src/views/item_handlers/PlainTextViewer.vue4
-rw-r--r--viewer/src/views/item_handlers/VideoViewer.vue4
-rw-r--r--viewer/src/views/item_handlers/async/AsyncEpubViewer.vue180
-rw-r--r--viewer/src/views/item_handlers/async/index.ts23
-rw-r--r--viewer/src/views/layout/left/LayoutInformation.vue8
-rw-r--r--viewer/src/views/layout/left/LayoutTagInput.vue16
-rw-r--r--viewer/src/views/layout/top/LayoutCommand.vue37
-rw-r--r--viewer/src/views/layout/top/LayoutTop.vue10
-rw-r--r--viewer/vue.config.js4
-rw-r--r--viewer/yarn.lock1787
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 @@
1VUE_APP_DEVSERVER_PORT=8085 1VUE_APP_DEVSERVER_PORT=8085
2VUE_APP_DEVSERVER_CONFIG_PATH=../example/ 2VUE_APP_DEVSERVER_CONFIG_PATH=../example/
3VUE_APP_DATA_URL=~/ 3VUE_APP_DATA_URL=~/
4VUE_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 @@
2pagetitle: Viewer user manual - ldgallery 2pagetitle: Viewer user manual - ldgallery
3title: LDGALLERY-VIEWER(7) ldgallery 3title: LDGALLERY-VIEWER(7) ldgallery
4author: Pacien TRAN-GIRARD, Guillaume FOUET 4author: Pacien TRAN-GIRARD, Guillaume FOUET
5date: 2022-09-04 (v2.1) 5date: 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
43Formats 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. 43Formats 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.
44The 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
164Copyright (C) 2019-2022 Pacien TRAN-GIRARD and Guillaume FOUET. 172Copyright (C) 2019-2023 Pacien TRAN-GIRARD and Guillaume FOUET.
165 173
166This 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. 174This 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 {
64export interface PDFProperties extends Downloadable { 64export interface PDFProperties extends Downloadable {
65 type: ItemType.PDF; 65 type: ItemType.PDF;
66} 66}
67export interface EPUBProperties extends Downloadable {
68 type: ItemType.EPUB;
69}
67export interface VideoProperties extends Downloadable { 70export interface VideoProperties extends Downloadable {
68 type: ItemType.VIDEO; 71 type: ItemType.VIDEO;
69} 72}
@@ -107,6 +110,9 @@ export interface MarkdownItem extends Item {
107export interface PDFItem extends Item { 110export interface PDFItem extends Item {
108 properties: PDFProperties; 111 properties: PDFProperties;
109} 112}
113export interface EPUBItem extends Item {
114 properties: EPUBProperties;
115}
110export interface VideoItem extends Item { 116export 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;
45 44
46 a { 45 a {
@@ -52,19 +51,10 @@ const html = computed(() => marked(props.markdown));
52 background-color: #666; 51 background-color: #666;
53 }