From 9165cc1efcf7791f78b61b2c51a9de651b1b09aa Mon Sep 17 00:00:00 2001
From: Zero~Informatique
Date: Fri, 2 Jul 2021 22:53:16 +0200
Subject: viewer: types normalization - gallery.d.ts
GitHub: closes #301
---
viewer/src/@types/gallery.d.ts | 183 +++++++++++++++++++++--------------------
1 file changed, 92 insertions(+), 91 deletions(-)
(limited to 'viewer/src/@types/gallery.d.ts')
diff --git a/viewer/src/@types/gallery.d.ts b/viewer/src/@types/gallery.d.ts
index e9b80e6..d9e7534 100644
--- a/viewer/src/@types/gallery.d.ts
+++ b/viewer/src/@types/gallery.d.ts
@@ -17,98 +17,99 @@
-- along with this program. If not, see .
*/
-declare namespace Gallery {
- type ItemSortStr = "title_asc" | "date_asc" | "date_desc";
+import { ItemType } from "./ItemType";
- interface Config {
- galleryRoot: string;
- galleryIndex?: string;
- initialItemSort?: ItemSortStr;
- initialTagDisplayLimit?: number;
- }
+export type ItemSortStr = "title_asc" | "date_asc" | "date_desc";
- interface GalleryProperties {
- galleryTitle: string;
- tagCategories: RawTag[];
- }
- interface Index {
- properties: GalleryProperties;
- tree: Directory;
- }
+export interface Config {
+ galleryRoot: string;
+ galleryIndex?: string;
+ initialItemSort?: ItemSortStr;
+ initialTagDisplayLimit?: number;
+}
+
+export interface Properties {
+ galleryTitle: string;
+ tagCategories: RawTag[];
+}
+export interface Index {
+ properties: Properties;
+ tree: DirectoryItem;
+}
+
+export interface OtherItem extends Item {
+ properties: OtherProperties;
+}
+export interface PictureItem extends Item {
+ properties: PictureProperties;
+}
+export interface PlainTextItem extends Item {
+ properties: PlainTextProperties;
+}
+export interface PDFItem extends Item {
+ properties: PDFProperties;
+}
+export interface VideoItem extends Item {
+ properties: VideoProperties;
+}
+export interface AudioItem extends Item {
+ properties: AudioProperties;
+}
+export interface DirectoryItem extends Item {
+ properties: DirectoryProperties;
+}
+export interface Item {
+ title: string;
+ datetime: string;
+ description: string;
+ tags: RawTag[];
+ path: string;
+ thumbnail?: Thumbnail;
+ properties:
+ | OtherProperties
+ | PictureProperties
+ | PlainTextProperties
+ | PDFProperties
+ | VideoProperties
+ | AudioProperties
+ | DirectoryProperties;
+}
+export interface Resolution {
+ width: number;
+ height: number;
+}
+export interface OtherProperties {
+ type: ItemType.OTHER;
+ resource: string;
+}
+export interface PictureProperties {
+ type: ItemType.PICTURE;
+ resource: string;
+ resolution: Resolution;
+}
+export interface PlainTextProperties {
+ type: ItemType.PLAINTEXT;
+ resource: string;
+}
+export interface PDFProperties {
+ type: ItemType.PDF;
+ resource: string;
+}
+export interface VideoProperties {
+ type: ItemType.VIDEO;
+ resource: string;
+}
+export interface AudioProperties {
+ type: ItemType.AUDIO;
+ resource: string;
+}
+export interface DirectoryProperties {
+ type: ItemType.DIRECTORY;
+ items: Item[];
+}
- interface Other extends Item {
- properties: OtherProperties;
- }
- interface Picture extends Item {
- properties: PictureProperties;
- }
- interface PlainText extends Item {
- properties: PlainTextProperties;
- }
- interface PDF extends Item {
- properties: PDFProperties;
- }
- interface Video extends Item {
- properties: VideoProperties;
- }
- interface Audio extends Item {
- properties: AudioProperties;
- }
- interface Directory extends Item {
- properties: DirectoryProperties;
- }
- interface Item {
- title: string;
- datetime: string;
- description: string;
- tags: RawTag[];
- path: string;
- thumbnail?: Thumbnail;
- properties:
- | OtherProperties
- | PictureProperties
- | PlainTextProperties
- | PDFProperties
- | VideoProperties
- | AudioProperties
- | DirectoryProperties;
- }
- interface Resolution {
- width: number;
- height: number;
- }
- interface OtherProperties {
- type: import("./ItemType").ItemType.OTHER;
- resource: string;
- }
- interface PictureProperties {
- type: import("./ItemType").ItemType.PICTURE;
- resource: string;
- resolution: Resolution;
- }
- interface PlainTextProperties {
- type: import("./ItemType").ItemType.PLAINTEXT;
- resource: string;
- }
- interface PDFProperties {
- type: import("./ItemType").ItemType.PDF;
- resource: string;
- }
- interface VideoProperties {
- type: import("./ItemType").ItemType.VIDEO;
- resource: string;
- }
- interface AudioProperties {
- type: import("./ItemType").ItemType.AUDIO;
- resource: string;
- }
- interface DirectoryProperties {
- type: import("./ItemType").ItemType.DIRECTORY;
- items: Item[];
- }
- interface Thumbnail {
- resource: string;
- resolution: Resolution;
- }
- type RawTag = string;
+export interface Thumbnail {
+ resource: string;
+ resolution: Resolution;
}
+export type RawTag = string;
--
cgit v1.2.3
From 928c501dda0c3580e3cb0389efc16fc1dde16b68 Mon Sep 17 00:00:00 2001
From: Zero~Informatique
Date: Sat, 3 Jul 2021 05:06:44 +0200
Subject: viewer: optional user-defined markdown splash screen
GitHub: closes #284
---
viewer/src/@types/gallery.d.ts | 2 ++
1 file changed, 2 insertions(+)
(limited to 'viewer/src/@types/gallery.d.ts')
diff --git a/viewer/src/@types/gallery.d.ts b/viewer/src/@types/gallery.d.ts
index d9e7534..9011f19 100644
--- a/viewer/src/@types/gallery.d.ts
+++ b/viewer/src/@types/gallery.d.ts
@@ -18,6 +18,7 @@
*/
import { ItemType } from "./ItemType";
+import { SplashScreenConfig } from "./splashscreen";
export type ItemSortStr = "title_asc" | "date_asc" | "date_desc";
@@ -26,6 +27,7 @@ export interface Config {
galleryIndex?: string;
initialItemSort?: ItemSortStr;
initialTagDisplayLimit?: number;
+ splashScreen?: SplashScreenConfig;
}
export interface Properties {
--
cgit v1.2.3
From 2bd63dc7622c0f84383fb76f7e2c4380d3f78495 Mon Sep 17 00:00:00 2001
From: Zero~Informatique
Date: Sat, 3 Jul 2021 23:07:09 +0200
Subject: viewer: register markdown item type
Extracted from b170f49 (GH PR #304)
---
viewer/src/@types/gallery.d.ts | 8 ++++++++
1 file changed, 8 insertions(+)
(limited to 'viewer/src/@types/gallery.d.ts')
diff --git a/viewer/src/@types/gallery.d.ts b/viewer/src/@types/gallery.d.ts
index 9011f19..0b4cfc4 100644
--- a/viewer/src/@types/gallery.d.ts
+++ b/viewer/src/@types/gallery.d.ts
@@ -48,6 +48,9 @@ export interface PictureItem extends Item {
export interface PlainTextItem extends Item {
properties: PlainTextProperties;
}
+export interface MarkdownItem extends Item {
+ properties: MarkdownProperties;
+}
export interface PDFItem extends Item {
properties: PDFProperties;
}
@@ -71,6 +74,7 @@ export interface Item {
| OtherProperties
| PictureProperties
| PlainTextProperties
+ | MarkdownProperties
| PDFProperties
| VideoProperties
| AudioProperties
@@ -93,6 +97,10 @@ export interface PlainTextProperties {
type: ItemType.PLAINTEXT;
resource: string;
}
+export interface MarkdownProperties {
+ type: ItemType.MARKDOWN;
+ resource: string;
+}
export interface PDFProperties {
type: ItemType.PDF;
resource: string;
--
cgit v1.2.3
From 00510820a2794efcadbc83f7f8b54318fe198ecb Mon Sep 17 00:00:00 2001
From: Zéro~Informatique
Date: Tue, 26 Jul 2022 08:44:34 +0200
Subject: viewer: migrate to vue 3, general refactoring and cleanup
Non-exhaustive list of fixes and improvements done at the same time:
- html default background to grey (avoids white flash during init)
- unified links behavior
- added more theme variables
- removed the flex-expand transition (it wasn't working) and replaced it
with a slide
- fixed LdLoading not centered on the content
- title on removable tags
- fixed an issue with encoded URI from vue-router
- unified Item resource URLs
- removed the iframe for PlainTextViewer (it wasn't working properly)
and replaced it with a pre
- fixed clear and search buttons tabindex
- fixed the information panel bumping up during the fade animation of
tag's dropdown
- fixed some focus outlines not appearing correctly
- moved CSS variables to the :root context
- Code cleaning
GitHub: closes #217
GitHub: closes #300
GitHub: closes #297
GitHub: closes #105
GitHub: closes #267
GitHub: closes #275
GitHub: closes #228
GitHub: closes #215
GitHub: closes #112
---
viewer/src/@types/gallery.d.ts | 125 -----------------------------------------
1 file changed, 125 deletions(-)
delete mode 100644 viewer/src/@types/gallery.d.ts
(limited to 'viewer/src/@types/gallery.d.ts')
diff --git a/viewer/src/@types/gallery.d.ts b/viewer/src/@types/gallery.d.ts
deleted file mode 100644
index 0b4cfc4..0000000
--- a/viewer/src/@types/gallery.d.ts
+++ /dev/null
@@ -1,125 +0,0 @@
-/* ldgallery - A static generator which turns a collection of tagged
--- pictures into a searchable web gallery.
---
--- Copyright (C) 2019-2020 Guillaume FOUET
---
--- 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.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--- GNU Affero General Public License for more details.
---
--- You should have received a copy of the GNU Affero General Public License
--- along with this program. If not, see .
-*/
-
-import { ItemType } from "./ItemType";
-import { SplashScreenConfig } from "./splashscreen";
-
-export type ItemSortStr = "title_asc" | "date_asc" | "date_desc";
-
-export interface Config {
- galleryRoot: string;
- galleryIndex?: string;
- initialItemSort?: ItemSortStr;
- initialTagDisplayLimit?: number;
- splashScreen?: SplashScreenConfig;
-}
-
-export interface Properties {
- galleryTitle: string;
- tagCategories: RawTag[];
-}
-export interface Index {
- properties: Properties;
- tree: DirectoryItem;
-}
-
-export interface OtherItem extends Item {
- properties: OtherProperties;
-}
-export interface PictureItem extends Item {
- properties: PictureProperties;
-}
-export interface PlainTextItem extends Item {
- properties: PlainTextProperties;
-}
-export interface MarkdownItem extends Item {
- properties: MarkdownProperties;
-}
-export interface PDFItem extends Item {
- properties: PDFProperties;
-}
-export interface VideoItem extends Item {
- properties: VideoProperties;
-}
-export interface AudioItem extends Item {
- properties: AudioProperties;
-}
-export interface DirectoryItem extends Item {
- properties: DirectoryProperties;
-}
-export interface Item {
- title: string;
- datetime: string;
- description: string;
- tags: RawTag[];
- path: string;
- thumbnail?: Thumbnail;
- properties:
- | OtherProperties
- | PictureProperties
- | PlainTextProperties
- | MarkdownProperties
- | PDFProperties
- | VideoProperties
- | AudioProperties
- | DirectoryProperties;
-}
-export interface Resolution {
- width: number;
- height: number;
-}
-export interface OtherProperties {
- type: ItemType.OTHER;
- resource: string;
-}
-export interface PictureProperties {
- type: ItemType.PICTURE;
- resource: string;
- resolution: Resolution;
-}
-export interface PlainTextProperties {
- type: ItemType.PLAINTEXT;
- resource: string;
-}
-export interface MarkdownProperties {
- type: ItemType.MARKDOWN;
- resource: string;
-}
-export interface PDFProperties {
- type: ItemType.PDF;
- resource: string;
-}
-export interface VideoProperties {
- type: ItemType.VIDEO;
- resource: string;
-}
-export interface AudioProperties {
- type: ItemType.AUDIO;
- resource: string;
-}
-export interface DirectoryProperties {
- type: ItemType.DIRECTORY;
- items: Item[];
-}
-
-export interface Thumbnail {
- resource: string;
- resolution: Resolution;
-}
-export type RawTag = string;
--
cgit v1.2.3