aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml141
-rw-r--r--.gitignore3
-rw-r--r--.mailmap9
-rw-r--r--.travis.yml125
-rw-r--r--changelog.md80
-rw-r--r--compiler/.gitignore1
-rw-r--r--compiler/app/Main.hs32
-rw-r--r--compiler/app/ViewerDist.hs39
-rw-r--r--compiler/ldgallery.1.md4
-rw-r--r--compiler/package.yaml17
-rw-r--r--compiler/src/Caching.hs6
-rw-r--r--compiler/src/Compiler.hs6
-rw-r--r--compiler/src/FileProcessors.hs4
-rw-r--r--compiler/src/Input.hs6
-rw-r--r--compiler/src/ItemProcessors.hs7
-rw-r--r--compiler/src/Resource.hs3
-rw-r--r--compiler/stack.yaml7
-rw-r--r--compiler/stack.yaml.lock8
-rw-r--r--example/src/Misc Media/Déclaration des Droits de l'Homme et du Citoyen de 1789.txt39
-rw-r--r--example/src/Misc Media/Universal Declaration of Human Rights.md159
-rw-r--r--example/src/Misc Media/Universal Declaration of Human Rights.txt157
-rw-r--r--example/src/gallery.yaml1
-rw-r--r--flake.lock43
-rw-r--r--flake.nix131
-rw-r--r--ldgallery-quickstart.7.md22
-rw-r--r--readme.md53
-rw-r--r--scripts/dev_win_build.cmd5
-rw-r--r--scripts/dev_win_compiler_build.cmd5
-rw-r--r--scripts/dev_win_compiler_compile_example.cmd (renamed from scripts/dev_win_compile_example.cmd)0
-rw-r--r--scripts/dev_win_compiler_help.cmd (renamed from scripts/dev_win_help.cmd)0
-rw-r--r--scripts/dev_win_start_vueui.cmd44
-rw-r--r--scripts/dev_win_viewer_deps_install.cmd22
-rw-r--r--viewer/.browserslistrc7
-rw-r--r--viewer/.env4
-rw-r--r--viewer/.eslintrc.js45
-rw-r--r--viewer/.gitignore4
-rw-r--r--viewer/.prettierrc.js9
-rw-r--r--viewer/.vscode/launch.json19
-rw-r--r--viewer/.vscode/tasks.json49
-rw-r--r--viewer/babel.config.js5
-rw-r--r--viewer/examples/config.json.example3
-rw-r--r--viewer/examples/defaulticon.pngbin3363 -> 0 bytes
-rw-r--r--viewer/examples/manifest.json.example13
-rw-r--r--viewer/ldgallery-viewer.7.md51
-rw-r--r--viewer/package-lock.json14182
-rw-r--r--viewer/package.json88
-rw-r--r--viewer/public/index.html40
-rw-r--r--viewer/readme.md19
-rw-r--r--viewer/src/@types/ItemType.ts11
-rw-r--r--viewer/src/@types/gallery.d.ts114
-rw-r--r--viewer/src/@types/gallery.ts129
-rw-r--r--viewer/src/@types/itemType.ts (renamed from viewer/src/@types/v-lazy-image.d.ts)13
-rw-r--r--viewer/src/@types/operation.ts (renamed from viewer/src/@types/Operation.ts)8
-rw-r--r--viewer/src/@types/splashscreen.ts (renamed from viewer/src/@types/vue-dragscroll.d.ts)9
-rw-r--r--viewer/src/@types/tag.ts (renamed from viewer/src/@types/tag.d.ts)43
-rw-r--r--viewer/src/assets/scss/_buefy_variables.scss171
-rw-r--r--viewer/src/assets/scss/buefy.scss47
-rw-r--r--viewer/src/assets/scss/constants.scss (renamed from viewer/src/assets/scss/palette.scss)24
-rw-r--r--viewer/src/assets/scss/global.scss53
-rw-r--r--viewer/src/assets/scss/scrollbar.scss6
-rw-r--r--viewer/src/assets/scss/theme.scss42
-rw-r--r--viewer/src/assets/scss/transition.scss40
-rw-r--r--viewer/src/components/LdBreadcrumb.vue127
-rw-r--r--viewer/src/components/LdCommand.vue97
-rw-r--r--viewer/src/components/LdCommandSort.vue55
-rw-r--r--viewer/src/components/LdDropdown.vue92
-rw-r--r--viewer/src/components/LdGallery.vue59
-rw-r--r--viewer/src/components/LdInput.vue60
-rw-r--r--viewer/src/components/LdKeyPress.vue49
-rw-r--r--viewer/src/components/LdLink.vue75
-rw-r--r--viewer/src/components/LdLoading.vue51
-rw-r--r--viewer/src/components/LdNotice.vue (renamed from viewer/src/components/LdError.vue)39
-rw-r--r--viewer/src/components/LdProposition.vue179
-rw-r--r--viewer/src/components/LdTagInput.vue97
-rw-r--r--viewer/src/components/LdTitle.vue46
-rw-r--r--viewer/src/components/async/AsyncLdMarkdown.vue125
-rw-r--r--viewer/src/components/async/index.ts (renamed from viewer/src/plugins/dragscroll.ts)7
-rw-r--r--viewer/src/components/index.ts44
-rw-r--r--viewer/src/components/item_handlers/LdPicture.vue127
-rw-r--r--viewer/src/components/item_handlers/LdPlainTextViewer.vue55
-rw-r--r--viewer/src/locales/en.json24
-rw-r--r--viewer/src/locales/en.yml44
-rw-r--r--viewer/src/main.ts70
-rw-r--r--viewer/src/plugins/asyncLib.ts3
-rw-r--r--viewer/src/plugins/devServer.js53
-rw-r--r--viewer/src/plugins/i18n.ts19
-rw-r--r--viewer/src/plugins/router.ts22
-rw-r--r--viewer/src/services/api/ldFetch.ts (renamed from viewer/src/plugins/fontawesome-icons.ts)42
-rw-r--r--viewer/src/services/dragscrollclickfix.ts51
-rw-r--r--viewer/src/services/indexFactory.ts163
-rw-r--r--viewer/src/services/indexSearch.ts74
-rw-r--r--viewer/src/services/indexfactory.ts155
-rw-r--r--viewer/src/services/indexsearch.ts68
-rw-r--r--viewer/src/services/itemComparator.ts93
-rw-r--r--viewer/src/services/itemComparators.ts73
-rw-r--r--viewer/src/services/itemGuards.ts11
-rw-r--r--viewer/src/services/ldzoom.ts136
-rw-r--r--viewer/src/services/navigation.ts88
-rw-r--r--viewer/src/services/ui/ldFullscreen.ts (renamed from viewer/src/plugins/buefy.ts)43
-rw-r--r--viewer/src/services/ui/ldItemResourceUrl.ts15
-rw-r--r--viewer/src/services/ui/ldKeepFocus.ts (renamed from viewer/src/plugins/fontawesome.ts)23
-rw-r--r--viewer/src/services/ui/ldKeyboard.ts (renamed from viewer/src/plugins/lazyimage.ts)13
-rw-r--r--viewer/src/services/ui/ldSaveScroll.ts (renamed from viewer/src/@types/scrollposition.d.ts)19
-rw-r--r--viewer/src/services/ui/ldTitle.ts34
-rw-r--r--viewer/src/services/ui/ldZoom.ts128
-rw-r--r--viewer/src/shims-tsx.d.ts13
-rw-r--r--viewer/src/shims-vue.d.ts10
-rw-r--r--viewer/src/store/galleryStore.ts199
-rw-r--r--viewer/src/store/index.ts47
-rw-r--r--viewer/src/store/uiStore.ts82
-rw-r--r--viewer/src/views/GalleryNavigation.vue103
-rw-r--r--viewer/src/views/GallerySearch.vue69
-rw-r--r--viewer/src/views/GalleryTiles.vue70
-rw-r--r--viewer/src/views/ItemThumbnail.vue (renamed from viewer/src/components/LdThumbnail.vue)67
-rw-r--r--viewer/src/views/MainLayout.vue159
-rw-r--r--viewer/src/views/PanelLeft.vue116
-rw-r--r--viewer/src/views/SplashScreen.vue75
-rw-r--r--viewer/src/views/item_handlers/AudioViewer.vue (renamed from viewer/src/components/item_handlers/LdAudioViewer.vue)42
-rw-r--r--viewer/src/views/item_handlers/DirectoryViewer.vue (renamed from viewer/src/components/item_handlers/LdDirectory.vue)34
-rw-r--r--viewer/src/views/item_handlers/DownloadViewer.vue (renamed from viewer/src/components/item_handlers/LdDownload.vue)41
-rw-r--r--viewer/src/views/item_handlers/MarkdownViewer.vue50
-rw-r--r--viewer/src/views/item_handlers/PdfViewer.vue (renamed from viewer/src/components/item_handlers/LdPdfViewer.vue)29
-rw-r--r--viewer/src/views/item_handlers/PictureViewer.vue129
-rw-r--r--viewer/src/views/item_handlers/PlainTextViewer.vue69
-rw-r--r--viewer/src/views/item_handlers/VideoViewer.vue (renamed from viewer/src/components/item_handlers/LdVideoViewer.vue)34
-rw-r--r--viewer/src/views/layout/left/LayoutCommandSearch.vue (renamed from viewer/src/components/LdCommandSearch.vue)58
-rw-r--r--viewer/src/views/layout/left/LayoutInformation.vue (renamed from viewer/src/components/LdInformation.vue)61
-rw-r--r--viewer/src/views/layout/left/LayoutLeft.vue158
-rw-r--r--viewer/src/views/layout/left/LayoutProposition.vue208
-rw-r--r--viewer/src/views/layout/left/LayoutTagInput.vue141
-rw-r--r--viewer/src/views/layout/left/LayoutTagList.vue74
-rw-r--r--viewer/src/views/layout/top/LayoutBreadcrumb.vue130
-rw-r--r--viewer/src/views/layout/top/LayoutCommand.vue127
-rw-r--r--viewer/src/views/layout/top/LayoutCommandSort.vue85
-rw-r--r--viewer/src/views/layout/top/LayoutTop.vue (renamed from viewer/src/views/PanelTop.vue)22
-rw-r--r--viewer/tsconfig.json13
-rw-r--r--viewer/viewer.code-workspace30
-rw-r--r--viewer/visualstudio.code-workspace42
-rw-r--r--viewer/vue.config.js70
-rw-r--r--viewer/yarn.lock6849
140 files changed, 11119 insertions, 17662 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..f5ca509
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,141 @@
1name: Build
2on: [ pull_request, push ]
3
4jobs:
5 build-viewer:
6 runs-on: ubuntu-20.04
7 steps:
8 - uses: actions/checkout@v2
9 - uses: actions/setup-node@v1
10 with:
11 # Latest version officially tested for Ld
12 node-version: 16.14.2
13 - name: Lint and build Node.js Vue project
14 working-directory: viewer
15 run: |
16 yarn
17 yarn run lint
18 yarn run build
19 - uses: actions/upload-artifact@v2
20 with:
21 name: viewer-dist
22 path: viewer/dist
23
24 # TODO: do not hard-code the CI install path in the output binary