diff options
Diffstat (limited to 'viewer/src')
31 files changed, 1698 insertions, 0 deletions
diff --git a/viewer/src/@types/gallery/index.d.ts b/viewer/src/@types/gallery/index.d.ts new file mode 100644 index 0000000..25407e8 --- /dev/null +++ b/viewer/src/@types/gallery/index.d.ts | |||
@@ -0,0 +1,45 @@ | |||
1 | /* ldgallery - A static generator which turns a collection of tagged | ||
2 | -- pictures into a searchable web gallery. | ||
3 | -- | ||
4 | -- Copyright (C) 2019-2020 Guillaume FOUET | ||
5 | -- | ||
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 | ||
8 | -- published by the Free Software Foundation, either version 3 of the | ||
9 | -- License, or (at your option) any later version. | ||
10 | -- | ||
11 | -- This program is distributed in the hope that it will be useful, | ||
12 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | -- GNU Affero General Public License for more details. | ||
15 | -- | ||
16 | -- You should have received a copy of the GNU Affero General Public License | ||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | declare namespace Gallery { | ||
21 | interface Picture extends Item { | ||
22 | properties: PictureProperties, | ||
23 | } | ||
24 | interface Directory extends Item { | ||
25 | properties: DirectoryProperties, | ||
26 | } | ||
27 | interface Item { | ||
28 | title: string, | ||
29 | datetime: string, | ||
30 | description: string, | ||
31 | tags: RawTag[], | ||
32 | path: string, | ||
33 | thumbnail?: string, | ||
34 | properties: PictureProperties | DirectoryProperties, | ||
35 | } | ||
36 | interface PictureProperties { | ||
37 | type: "picture", | ||
38 | resource: string, | ||
39 | } | ||
40 | interface DirectoryProperties { | ||
41 | type: "directory", | ||
42 | items: Item[] | ||
43 | } | ||
44 | type RawTag = string; | ||
45 | } \ No newline at end of file | ||
diff --git a/viewer/src/@types/tag/Operation.ts b/viewer/src/@types/tag/Operation.ts new file mode 100644 index 0000000..f1e7a41 --- /dev/null +++ b/viewer/src/@types/tag/Operation.ts | |||
@@ -0,0 +1,24 @@ | |||
1 | /* ldgallery - A static generator which turns a collection of tagged | ||
2 | -- pictures into a searchable web gallery. | ||
3 | -- | ||
4 | -- Copyright (C) 2019-2020 Guillaume FOUET | ||
5 | -- | ||
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 | ||
8 | -- published by the Free Software Foundation, either version 3 of the | ||
9 | -- License, or (at your option) any later version. | ||
10 | -- | ||
11 | -- This program is distributed in the hope that it will be useful, | ||
12 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | -- GNU Affero General Public License for more details. | ||
15 | -- | ||
16 | -- You should have received a copy of the GNU Affero General Public License | ||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | export enum Operation { | ||
21 | INTERSECTION = '', | ||
22 | ADDITION = '+', | ||
23 | SUBSTRACTION = '-', | ||
24 | }; \ No newline at end of file | ||
diff --git a/viewer/src/@types/tag/index.d.ts b/viewer/src/@types/tag/index.d.ts new file mode 100644 index 0000000..c77fc3b --- /dev/null +++ b/viewer/src/@types/tag/index.d.ts | |||
@@ -0,0 +1,33 @@ | |||
1 | /* ldgallery - A static generator which turns a collection of tagged | ||
2 | -- pictures into a searchable web gallery. | ||
3 | -- | ||
4 | -- Copyright (C) 2019-2020 Guillaume FOUET | ||
5 | -- | ||
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 | ||
8 | -- published by the Free Software Foundation, either version 3 of the | ||
9 | -- License, or (at your option) any later version. | ||
10 | -- | ||
11 | -- This program is distributed in the hope that it will be useful, | ||
12 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | -- GNU Affero General Public License for more details. | ||
15 | -- | ||
16 | -- You should have received a copy of the GNU Affero General Public License | ||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | declare namespace Tag { | ||
21 | interface Node { | ||
22 | tag: Gallery.RawTag; | ||
23 | items: Gallery.Item[]; | ||
24 | children: Index; | ||
25 | } | ||
26 | interface Search extends Node { | ||
27 | parent?: Node; | ||
28 | operation: string; // Enum Operation | ||
29 | display: string; | ||
30 | } | ||
31 | type SearchByOperation = { [index: string]: Tag.Search[] }; | ||
32 | type Index = { [index: string]: Node }; | ||
33 | } \ No newline at end of file | ||
diff --git a/viewer/src/assets/scss/_buefy_variables.scss b/viewer/src/assets/scss/_buefy_variables.scss new file mode 100644 index 0000000..e008269 --- /dev/null +++ b/viewer/src/assets/scss/_buefy_variables.scss | |||
@@ -0,0 +1,171 @@ | |||
1 | /* ldgallery - A static generator which turns a collection of tagged | ||
2 | -- pictures into a searchable web gallery. | ||
3 | -- | ||
4 | -- Copyright (C) 2019-2020 Guillaume FOUET | ||
5 | -- | ||
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 | ||
8 | -- published by the Free Software Foundation, either version 3 of the | ||
9 | -- License, or (at your option) any later version. | ||
10 | -- | ||
11 | -- This program is distributed in the hope that it will be useful, | ||
12 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | -- GNU Affero General Public License for more details. | ||
15 | -- | ||
16 | -- You should have received a copy of the GNU Affero General Public License | ||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | // Included below are all the defined variables from Bulma | ||
21 | // Modify as needed, removing the !default attribute. | ||
22 | |||
23 | // Colors | ||
24 | |||
25 | $black: hsl(0, 0%, 4%) !default; | ||
26 | $black-bis: hsl(0, 0%, 7%) !default; | ||
27 | $black-ter: hsl(0, 0%, 14%) !default; | ||
28 | |||
29 | $grey-darker: hsl(0, 0%, 21%) !default; | ||
30 | $grey-dark: hsl(0, 0%, 29%) !default; | ||
31 | $grey: hsl(0, 0%, 48%) !default; | ||
32 | $grey-light: hsl(0, 0%, 71%) !default; | ||
33 | $grey-lighter: hsl(0, 0%, 86%) !default; | ||
34 | |||
35 | $white-ter: hsl(0, 0%, 96%) !default; | ||
36 | $white-bis: hsl(0, 0%, 98%) !default; | ||
37 | $white: hsl(0, 0%, 100%) !default; | ||
38 | |||
39 | $orange: hsl(14, 100%, 53%) !default; | ||
40 | $yellow: hsl(48, 100%, 67%) !default; | ||
41 | $green: hsl(141, 71%, 48%) !default; | ||
42 | $turquoise: hsl(171, 100%, 41%) !default; | ||
43 | $cyan: hsl(204, 86%, 53%) !default; | ||
44 | $blue: hsl(217, 71%, 53%) !default; | ||
45 | $purple: hsl(271, 100%, 71%) !default; | ||
46 | $red: hsl(348, 100%, 61%) !default; | ||
47 | |||
48 | // Typography | ||
49 | |||
50 | $family-sans-serif: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", | ||
51 | "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !default; | ||
52 | $family-monospace: monospace !default; | ||
53 | $render-mode: optimizeLegibility !default; | ||
54 | |||
55 | $size-1: 3rem !default; | ||
56 | $size-2: 2.5rem !default; | ||
57 | $size-3: 2rem !default; | ||
58 | $size-4: 1.5rem !default; | ||
59 | $size-5: 1.25rem !default; | ||
60 | $size-6: 1rem !default; | ||
61 | $size-7: 0.75rem !default; | ||
62 | |||
63 | $weight-light: 300 !default; | ||
64 | $weight-normal: 400 !default; | ||
65 | $weight-medium: 500 !default; | ||
66 | $weight-semibold: 600 !default; | ||
67 | $weight-bold: 700 !default; | ||
68 | |||
69 | // Responsiveness | ||
70 | |||
71 | // The container horizontal gap, which acts as the offset for breakpoints | ||
72 | $gap: 32px !default; | ||
73 | // 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16 | ||
74 | $tablet: 769px !default; | ||
75 |