diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f20ff79 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +# flutter_app/** linguist-vendored +src-tauri/gen/android/** linguist-vendored + +docs/public/pdfjs-dist/** linguist-vendored +docs/public/pdfjs-*-dist/** linguist-vendored diff --git a/docs/.vitepress/theme/components/Frame.vue b/docs/.vitepress/theme/components/Frame.vue deleted file mode 100644 index 09f6f24..0000000 --- a/docs/.vitepress/theme/components/Frame.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - - - diff --git a/docs/.vitepress/theme/components/PDF.vue b/docs/.vitepress/theme/components/PDF.vue new file mode 100644 index 0000000..45e09ca --- /dev/null +++ b/docs/.vitepress/theme/components/PDF.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index c5590f6..6880c1a 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -7,7 +7,7 @@ import { h } from "vue"; import AudioButton from "./components/AudioButton.vue"; import Details from "./components/Details.vue"; -import Frame from "./components/Frame.vue"; +import PDF from "./components/PDF.vue"; import TTS from "./components/TTS.vue"; import YouTube from "./components/YouTube.vue"; @@ -26,6 +26,6 @@ export default { app.component("Details", Details); app.component("TTS", TTS); app.component("YouTube", YouTube); - app.component("Frame", Frame); + app.component("PDF", PDF); }, } satisfies Theme; diff --git a/docs/howtostudykorean/unit-1/06-honorifics.md b/docs/howtostudykorean/unit-1/06-honorifics.md index 6548281..31be868 100644 --- a/docs/howtostudykorean/unit-1/06-honorifics.md +++ b/docs/howtostudykorean/unit-1/06-honorifics.md @@ -1066,4 +1066,4 @@ This YouTube video will prompt you with Korean sentences to dictate using the co [Click here for a free PDF of this lesson.] - + diff --git a/docs/howtostudykorean/unit-1/07-irregulars.md b/docs/howtostudykorean/unit-1/07-irregulars.md index 88a3001..7e6364d 100644 --- a/docs/howtostudykorean/unit-1/07-irregulars.md +++ b/docs/howtostudykorean/unit-1/07-irregulars.md @@ -1410,7 +1410,7 @@ These videos are available to reinforce this lesson: [Click here for a free PDF of this lesson.] - + [Okay, I got it! Take me to the next lesson!](https://www.howtostudykorean.com/?page_id=297) Or, [Click here for a workbook to go along with this lesson.](https://www.howtostudykorean.com/workbooks#Unit118) diff --git a/docs/public/HowtoStudyKorean-Unit-1-Lesson-6.pdf b/docs/public/HowtoStudyKorean-Unit-1-Lesson-6.pdf new file mode 100644 index 0000000..675c65a Binary files /dev/null and b/docs/public/HowtoStudyKorean-Unit-1-Lesson-6.pdf differ diff --git a/docs/public/HowtoStudyKorean-Unit-1-Lesson-7.pdf b/docs/public/HowtoStudyKorean-Unit-1-Lesson-7.pdf new file mode 100644 index 0000000..50ec2e4 Binary files /dev/null and b/docs/public/HowtoStudyKorean-Unit-1-Lesson-7.pdf differ diff --git a/package.json b/package.json index 14042ba..7f38554 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "vue": "^3.5.30" }, "dependencies": { + "@vue3-office/vue-pdf": "^1.0.0", "tauri-plugin-tts-api": "^0.1.3" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d7e2272..4d05450 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@vue3-office/vue-pdf': + specifier: ^1.0.0 + version: 1.0.0(vue@3.5.30) tauri-plugin-tts-api: specifier: ^0.1.3 version: 0.1.3 @@ -215,6 +218,81 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@napi-rs/canvas-android-arm64@0.1.97': + resolution: {integrity: sha512-V1c/WVw+NzH8vk7ZK/O8/nyBSCQimU8sfMsB/9qeSvdkGKNU7+mxy/bIF0gTgeBFmHpj30S4E9WHMSrxXGQuVQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/canvas-darwin-arm64@0.1.97': + resolution: {integrity: sha512-ok+SCEF4YejcxuJ9Rm+WWunHHpf2HmiPxfz6z1a/NFQECGXtsY7A4B8XocK1LmT1D7P174MzwPF9Wy3AUAwEPw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/canvas-darwin-x64@0.1.97': + resolution: {integrity: sha512-PUP6e6/UGlclUvAQNnuXCcnkpdUou6VYZfQOQxExLp86epOylmiwLkqXIvpFmjoTEDmPmXrI+coL/9EFU1gKPA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': + resolution: {integrity: sha512-XyXH2L/cic8eTNtbrXCcvqHtMX/nEOxN18+7rMrAM2XtLYC/EB5s0wnO1FsLMWmK+04ZSLN9FBGipo7kpIkcOw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/canvas-linux-arm64-gnu@0.1.97': + resolution: {integrity: sha512-Kuq/M3djq0K8ktgz6nPlK7Ne5d4uWeDxPpyKWOjWDK2RIOhHVtLtyLiJw2fuldw7Vn4mhw05EZXCEr4Q76rs9w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@napi-rs/canvas-linux-arm64-musl@0.1.97': + resolution: {integrity: sha512-kKmSkQVnWeqg7qdsiXvYxKhAFuHz3tkBjW/zyQv5YKUPhotpaVhpBGv5LqCngzyuRV85SXoe+OFj+Tv0a0QXkQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': + resolution: {integrity: sha512-Jc7I3A51jnEOIAXeLsN/M/+Z28LUeakcsXs07FLq9prXc0eYOtVwsDEv913Gr+06IRo34gJJVgT0TXvmz+N2VA==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@napi-rs/canvas-linux-x64-gnu@0.1.97': + resolution: {integrity: sha512-iDUBe7AilfuBSRbSa8/IGX38Mf+iCSBqoVKLSQ5XaY2JLOaqz1TVyPFEyIck7wT6mRQhQt5sN6ogfjIDfi74tg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@napi-rs/canvas-linux-x64-musl@0.1.97': + resolution: {integrity: sha512-AKLFd/v0Z5fvgqBDqhvqtAdx+fHMJ5t9JcUNKq4FIZ5WH+iegGm8HPdj00NFlCSnm83Fp3Ln8I2f7uq1aIiWaA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@napi-rs/canvas-win32-arm64-msvc@0.1.97': + resolution: {integrity: sha512-u883Yr6A6fO7Vpsy9YE4FVCIxzzo5sO+7pIUjjoDLjS3vQaNMkVzx5bdIpEL+ob+gU88WDK4VcxYMZ6nmnoX9A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/canvas-win32-x64-msvc@0.1.97': + resolution: {integrity: sha512-sWtD2EE3fV0IzN+iiQUqr/Q1SwqWhs2O1FKItFlxtdDkikpEj5g7DKQpY3x55H/MAOnL8iomnlk3mcEeGiUMoQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/canvas@0.1.97': + resolution: {integrity: sha512-8cFniXvrIEnVwuNSRCW9wirRZbHvrD3JVujdS2P5n5xiJZNZMOZcfOvJ1pb66c7jXMKHHglJEDVJGbm8XWFcXQ==} + engines: {node: '>= 10'} + '@rolldown/pluginutils@1.0.0-rc.2': resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} @@ -531,6 +609,16 @@ packages: '@vue/shared@3.5.30': resolution: {integrity: sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ==} + '@vue3-office/common@1.0.0': + resolution: {integrity: sha512-jpuFkJJSqX2wfomdCDTP1BcXU3IaIPo211JI8xLeeayNRmbgfF1JqLnaWaE5nk4D366Z03thEgZctwt24EBXGA==} + peerDependencies: + vue: ^3.5.24 + + '@vue3-office/vue-pdf@1.0.0': + resolution: {integrity: sha512-l8fcjEe4IMk9vsxf6R1s0BYb6JyT5PVKobe+O3EDVKMQ++e0oUf1g2Zu20Y+salbToFdTkGSz++GU4lEVI+clg==} + peerDependencies: + vue: ^3.5.24 + '@vueuse/core@14.2.1': resolution: {integrity: sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==} peerDependencies: @@ -690,6 +778,10 @@ packages: oniguruma-to-es@4.3.5: resolution: {integrity: sha512-Zjygswjpsewa0NLTsiizVuMQZbp0MDyM6lIt66OxsF21npUDlzpHi1Mgb/qhQdkb+dWFTzJmFbEWdvZgRho8eQ==} + pdfjs-dist@5.4.449: + resolution: {integrity: sha512-CegnUaT0QwAyQMS+7o2POr4wWUNNe8VaKKlcuoRHeYo98cVnqPpwOXNSx6Trl6szH02JrRcsPgletV6GmF3LtQ==} + engines: {node: '>=20.16.0 || >=22.3.0'} + perfect-debounce@2.1.0: resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} @@ -941,6 +1033,54 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} + '@napi-rs/canvas-android-arm64@0.1.97': + optional: true + + '@napi-rs/canvas-darwin-arm64@0.1.97': + optional: true + + '@napi-rs/canvas-darwin-x64@0.1.97': + optional: true + + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': + optional: true + + '@napi-rs/canvas-linux-arm64-gnu@0.1.97': + optional: true + + '@napi-rs/canvas-linux-arm64-musl@0.1.97': + optional: true + + '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': + optional: true + + '@napi-rs/canvas-linux-x64-gnu@0.1.97': + optional: true + + '@napi-rs/canvas-linux-x64-musl@0.1.97': + optional: true + + '@napi-rs/canvas-win32-arm64-msvc@0.1.97': + optional: true + + '@napi-rs/canvas-win32-x64-msvc@0.1.97': + optional: true + + '@napi-rs/canvas@0.1.97': + optionalDependencies: + '@napi-rs/canvas-android-arm64': 0.1.97 + '@napi-rs/canvas-darwin-arm64': 0.1.97 + '@napi-rs/canvas-darwin-x64': 0.1.97 + '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.97 + '@napi-rs/canvas-linux-arm64-gnu': 0.1.97 + '@napi-rs/canvas-linux-arm64-musl': 0.1.97 + '@napi-rs/canvas-linux-riscv64-gnu': 0.1.97 + '@napi-rs/canvas-linux-x64-gnu': 0.1.97 + '@napi-rs/canvas-linux-x64-musl': 0.1.97 + '@napi-rs/canvas-win32-arm64-msvc': 0.1.97 + '@napi-rs/canvas-win32-x64-msvc': 0.1.97 + optional: true + '@rolldown/pluginutils@1.0.0-rc.2': {} '@rollup/rollup-android-arm-eabi@4.60.0': @@ -1203,6 +1343,16 @@ snapshots: '@vue/shared@3.5.30': {} + '@vue3-office/common@1.0.0(vue@3.5.30)': + dependencies: + vue: 3.5.30 + + '@vue3-office/vue-pdf@1.0.0(vue@3.5.30)': + dependencies: + '@vue3-office/common': 1.0.0(vue@3.5.30) + pdfjs-dist: 5.4.449 + vue: 3.5.30 + '@vueuse/core@14.2.1(vue@3.5.30)': dependencies: '@types/web-bluetooth': 0.0.21 @@ -1355,6 +1505,10 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 + pdfjs-dist@5.4.449: + optionalDependencies: + '@napi-rs/canvas': 0.1.97 + perfect-debounce@2.1.0: {} picocolors@1.1.1: {}