From 66e017a42471f3996dee215a1ae5302a1e966177 Mon Sep 17 00:00:00 2001 From: arkon Date: Sat, 6 Jan 2024 11:29:19 -0500 Subject: [PATCH] Update docs Closes #1090 --- website/pnpm-lock.yaml | 242 +++++++++++------- .../.vitepress/config/navigation/sidebar.ts | 4 +- website/src/.vitepress/config/shortcodes.ts | 4 +- website/src/docs/faq/android-11+.md | 33 --- website/src/docs/faq/library.md | 1 + website/src/docs/faq/storage.md | 50 ++++ website/src/docs/guides/backups.md | 15 +- website/src/docs/guides/local-source/index.md | 62 +---- website/src/docs/guides/reader-settings.md | 20 +- .../guides/troubleshooting/common-issues.md | 2 +- website/src/sandbox/index.md | 4 +- 11 files changed, 225 insertions(+), 212 deletions(-) delete mode 100644 website/src/docs/faq/android-11+.md create mode 100644 website/src/docs/faq/storage.md diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml index 3638c818..90a4f2c4 100644 --- a/website/pnpm-lock.yaml +++ b/website/pnpm-lock.yaml @@ -123,10 +123,10 @@ devDependencies: version: 0.8.0 vite-plugin-eslint: specifier: 1.8.1 - version: 1.8.1(eslint@8.56.0)(vite@5.0.10) + version: 1.8.1(eslint@8.56.0)(vite@5.0.0) vitepress: specifier: 1.0.0-rc.34 - version: 1.0.0-rc.34(@algolia/client-search@4.20.0)(@types/node@20.10.6)(axios@1.6.3)(postcss@8.4.32)(search-insights@2.8.2)(stylus@0.62.0)(typescript@5.2.2) + version: 1.0.0-rc.34(@algolia/client-search@4.20.0)(@types/node@20.10.6)(axios@1.6.3)(postcss@8.4.31)(search-insights@2.8.2)(stylus@0.62.0)(typescript@5.2.2) vitepress-plugin-tabs: specifier: 0.5.0 version: 0.5.0(vitepress@1.0.0-rc.34)(vue@3.4.3) @@ -147,8 +147,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@adobe/css-tools@4.3.2: - resolution: {integrity: sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==} + /@adobe/css-tools@4.3.1: + resolution: {integrity: sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==} dev: true /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.2): @@ -380,29 +380,29 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@csstools/css-parser-algorithms@2.4.0(@csstools/css-tokenizer@2.2.2): - resolution: {integrity: sha512-/PPLr2g5PAUCKAPEbfyk6/baZA+WJHQtUhPkoCQMpyRE8I0lXrG1QFRN8e5s3ZYxM8d/g5BZc6lH3s8Op7/VEg==} + /@csstools/css-parser-algorithms@2.5.0(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-tokenizer': ^2.2.2 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/css-tokenizer': 2.2.2 + '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-tokenizer@2.2.2: - resolution: {integrity: sha512-wCDUe/MAw7npAHFLyW3QjSyLA66S5QFaV1jIXlNQvdJ8RzXDSgALa49eWcUO6P55ARQaz0TsDdAgdRgkXFYY8g==} + /@csstools/css-tokenizer@2.2.3: + resolution: {integrity: sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==} engines: {node: ^14 || ^16 || >=18} dev: true - /@csstools/media-query-list-parser@2.1.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.2): - resolution: {integrity: sha512-R6AKl9vaU0It7D7TR2lQn0pre5aQfdeqHRePlaRCY8rHL3l9eVlNRpsEVDKFi/zAjzv68CxH2M5kqbhPFPKjvw==} + /@csstools/media-query-list-parser@2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-lHPKJDkPUECsyAvD60joYfDmp8UERYxHGkFfyLJFTVK/ERJe0sVlIFLXU5XFxdjNDTerp5L4KeaKG+Z5S94qxQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.4.0 - '@csstools/css-tokenizer': ^2.2.2 + '@csstools/css-parser-algorithms': ^2.5.0 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/css-parser-algorithms': 2.4.0(@csstools/css-tokenizer@2.2.2) - '@csstools/css-tokenizer': 2.2.2 + '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 dev: true /@csstools/selector-specificity@3.0.1(postcss-selector-parser@6.0.13): @@ -712,7 +712,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.23.0 - ignore: 5.3.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -729,7 +729,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.23.0 - ignore: 5.3.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -1300,7 +1300,7 @@ packages: eslint: '*' dependencies: '@stylistic/eslint-plugin-js': 1.4.0 - '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 graphemer: 1.4.0 transitivePeerDependencies: @@ -1457,7 +1457,7 @@ packages: debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -1487,12 +1487,12 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.15.0: - resolution: {integrity: sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==} + /@typescript-eslint/scope-manager@6.11.0: + resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/visitor-keys': 6.15.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/visitor-keys': 6.11.0 dev: true /@typescript-eslint/scope-manager@6.16.0: @@ -1523,8 +1523,8 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.15.0: - resolution: {integrity: sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==} + /@typescript-eslint/types@6.11.0: + resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -1533,8 +1533,8 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.15.0(typescript@5.2.2): - resolution: {integrity: sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==} + /@typescript-eslint/typescript-estree@6.11.0(typescript@5.2.2): + resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1542,8 +1542,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/visitor-keys': 6.15.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1576,8 +1576,8 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.15.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==} + /@typescript-eslint/utils@6.11.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1585,9 +1585,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.2 - '@typescript-eslint/scope-manager': 6.15.0 - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -1614,11 +1614,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.15.0: - resolution: {integrity: sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==} + /@typescript-eslint/visitor-keys@6.11.0: + resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/types': 6.11.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1634,14 +1634,14 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.2(vite@5.0.10)(vue@3.4.3): + /@vitejs/plugin-vue@5.0.2(vite@5.0.11)(vue@3.4.3): resolution: {integrity: sha512-kEjJHrLb5ePBvjD0SPZwJlw1QTRcjjCA9sB5VyfonoXVBxTS7TMnqL6EkLt1Eu61RDeiuZ/WN9Hf6PxXhPI2uA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.10(@types/node@20.10.6)(stylus@0.62.0) + vite: 5.0.11(@types/node@20.10.6)(stylus@0.62.0) vue: 3.4.3(typescript@5.2.2) dev: true @@ -1670,7 +1670,7 @@ packages: '@vue/shared': 3.4.3 estree-walker: 2.0.2 magic-string: 0.30.5 - postcss: 8.4.32 + postcss: 8.4.33 source-map-js: 1.0.2 /@vue/compiler-ssr@3.4.3: @@ -1818,12 +1818,12 @@ packages: negotiator: 0.6.3 dev: true - /acorn-jsx@5.3.2(acorn@8.11.2): + /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.2 + acorn: 8.10.0 dev: true /acorn@8.10.0: @@ -2534,6 +2534,10 @@ packages: - '@vue/composition-api' dev: false + /emoji-regex@10.2.1: + resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==} + dev: true + /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true @@ -2792,7 +2796,7 @@ packages: dependencies: escape-string-regexp: 1.0.5 eslint: 8.56.0 - ignore: 5.3.0 + ignore: 5.2.4 dev: true /eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.16.0)(eslint@8.56.0): @@ -2909,7 +2913,7 @@ packages: eslint: 8.56.0 eslint-plugin-es-x: 7.2.0(eslint@8.56.0) get-tsconfig: 4.7.0 - ignore: 5.3.0 + ignore: 5.2.4 is-builtin-module: 3.2.1 is-core-module: 2.13.0 minimatch: 3.1.2 @@ -2940,7 +2944,7 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 minimatch: 9.0.3 natural-compare-lite: 1.4.0 @@ -3011,7 +3015,7 @@ packages: optional: true dependencies: '@typescript-eslint/eslint-plugin': 6.16.0(@typescript-eslint/parser@6.16.0)(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 transitivePeerDependencies: - supports-color @@ -3121,8 +3125,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) eslint-visitor-keys: 3.4.3 dev: true @@ -3269,7 +3273,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.2.0 + flat-cache: 3.1.1 dev: true /file-entry-cache@8.0.0: @@ -3317,9 +3321,9 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} dependencies: flatted: 3.2.9 keyv: 4.5.3 @@ -4280,8 +4284,8 @@ packages: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false - /meow@13.0.0: - resolution: {integrity: sha512-4Hu+75Vo7EOR+8C9RmkabfLijuwd9SrzQ8f0SyC4qZZwU6BlxeOt5ulF3PGCpcMJX4hI+ktpJhea0P6PN1RiWw==} + /meow@13.1.0: + resolution: {integrity: sha512-o5R/R3Tzxq0PJ3v3qcQJtSvSE9nKOLSAaDuuoMzDVuGTwHdccMWcYomh9Xolng2tjT6O/Y83d+0coVGof6tqmA==} engines: {node: '>=18'} dev: true @@ -4407,6 +4411,12 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4700,8 +4710,8 @@ packages: dependencies: htmlparser2: 8.0.2 js-tokens: 8.0.2 - postcss: 8.4.32 - postcss-safe-parser: 6.0.0(postcss@8.4.32) + postcss: 8.4.31 + postcss-safe-parser: 6.0.0(postcss@8.4.31) dev: true /postcss-media-query-parser@0.2.3: @@ -4712,22 +4722,22 @@ packages: resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.32): + /postcss-safe-parser@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.32 + postcss: 8.4.31 dev: true - /postcss-safe-parser@7.0.0(postcss@8.4.32): + /postcss-safe-parser@7.0.0(postcss@8.4.33): resolution: {integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==} engines: {node: '>=18.0'} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + postcss: 8.4.33 dev: true /postcss-selector-parser@6.0.13: @@ -4745,7 +4755,7 @@ packages: debug: 4.3.4 fast-diff: 1.3.0 lodash.sortedlastindex: 4.1.0 - postcss: 8.4.32 + postcss: 8.4.31 stylus: 0.57.0 transitivePeerDependencies: - supports-color @@ -4755,8 +4765,17 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -5026,7 +5045,7 @@ packages: css-background-parser: 0.1.0 css-box-shadow: 1.0.0-3 css-to-react-native: 3.2.0 - emoji-regex: 10.3.0 + emoji-regex: 10.2.1 escape-html: 1.0.3 linebreak: 1.1.0 parse-css-color: 0.2.1 @@ -5128,20 +5147,20 @@ packages: engines: {node: '>=8'} dev: true - /shikiji-core@0.9.15: - resolution: {integrity: sha512-7hqIcUKS15OMs/61Qp2GvO1fSajBB36bDqi8vexIg5kp80V6v6SGtBrlq+nLlo7erMG2d1kvIuTIq1bwKI6fEg==} + /shikiji-core@0.9.17: + resolution: {integrity: sha512-r1FWTXk6SO2aYqfWgcsJ11MuVQ1ymPSdXzJjK7q8EXuyqu8yc2N5qrQy5+BL6gTVOaF4yLjbxFjF+KTRM1Sp8Q==} dev: true - /shikiji-transformers@0.9.15: - resolution: {integrity: sha512-k0sQ6tX26/cdb8QV9CCwwr7QjRp6/AVP9C0oNIXNld3of+xCrpf74kD74piybG6vMfzBoHGsz/s60RVBJOUaYQ==} + /shikiji-transformers@0.9.17: + resolution: {integrity: sha512-2CCG9qSLS6Bn/jbeUTEuvC6YSuP8gm8VyX5VjmCvDKyCPGhlLJbH1k/kg9wfRt7cJqpYjhdMDgT5rkdYrOZnsA==} dependencies: - shikiji: 0.9.15 + shikiji: 0.9.17 dev: true - /shikiji@0.9.15: - resolution: {integrity: sha512-+inN4cN+nY7b0uCPOiqFHAk+cn2DEdM3AIQgPhAV7QKqhww/o7OGS5xvLh3SNnjke9C/HispALqGOQGYHVq7KQ==} + /shikiji@0.9.17: + resolution: {integrity: sha512-0z/1NfkhBkm3ijrfFeHg3G9yDNuHhXdAGbQm7tRxj4WQ5z2y0XDbnagFyKyuV2ebCTS1Mwy1I3n0Fzcc/4xdmw==} dependencies: - shikiji-core: 0.9.15 + shikiji-core: 0.9.17 dev: true /side-channel@1.0.4: @@ -5392,9 +5411,9 @@ packages: engines: {node: '>=18.12.0'} hasBin: true dependencies: - '@csstools/css-parser-algorithms': 2.4.0(@csstools/css-tokenizer@2.2.2) - '@csstools/css-tokenizer': 2.2.2 - '@csstools/media-query-list-parser': 2.1.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.2) + '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + '@csstools/media-query-list-parser': 2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.13) balanced-match: 2.0.0 colord: 2.9.3 @@ -5414,13 +5433,13 @@ packages: is-plain-object: 5.0.0 known-css-properties: 0.29.0 mathml-tag-names: 2.1.3 - meow: 13.0.0 + meow: 13.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.32 + postcss: 8.4.33 postcss-resolve-nested-selector: 0.1.1 - postcss-safe-parser: 7.0.0(postcss@8.4.32) + postcss-safe-parser: 7.0.0(postcss@8.4.33) postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 @@ -5453,7 +5472,7 @@ packages: resolution: {integrity: sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==} hasBin: true dependencies: - '@adobe/css-tools': 4.3.2 + '@adobe/css-tools': 4.3.1 debug: 4.3.4 glob: 7.2.3 sax: 1.3.0 @@ -5731,7 +5750,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-plugin-eslint@1.8.1(eslint@8.56.0)(vite@5.0.10): + /vite-plugin-eslint@1.8.1(eslint@8.56.0)(vite@5.0.0): resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} peerDependencies: eslint: '>=7' @@ -5741,11 +5760,11 @@ packages: '@types/eslint': 8.44.2 eslint: 8.56.0 rollup: 2.79.1 - vite: 5.0.10(@types/node@20.10.6)(stylus@0.62.0) + vite: 5.0.0(@types/node@20.10.6)(stylus@0.62.0) dev: true - /vite@5.0.10(@types/node@20.10.6)(stylus@0.62.0): - resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} + /vite@5.0.0(@types/node@20.10.6)(stylus@0.62.0): + resolution: {integrity: sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5774,7 +5793,44 @@ packages: dependencies: '@types/node': 20.10.6 esbuild: 0.19.5 - postcss: 8.4.32 + postcss: 8.4.31 + rollup: 4.5.0 + stylus: 0.62.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@5.0.11(@types/node@20.10.6)(stylus@0.62.0): + resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.10.6 + esbuild: 0.19.5 + postcss: 8.4.33 rollup: 4.5.0 stylus: 0.62.0 optionalDependencies: @@ -5787,11 +5843,11 @@ packages: vitepress: ^1.0.0-rc.27 vue: ^3.3.8 dependencies: - vitepress: 1.0.0-rc.34(@algolia/client-search@4.20.0)(@types/node@20.10.6)(axios@1.6.3)(postcss@8.4.32)(search-insights@2.8.2)(stylus@0.62.0)(typescript@5.2.2) + vitepress: 1.0.0-rc.34(@algolia/client-search@4.20.0)(@types/node@20.10.6)(axios@1.6.3)(postcss@8.4.31)(search-insights@2.8.2)(stylus@0.62.0)(typescript@5.2.2) vue: 3.4.3(typescript@5.2.2) dev: true - /vitepress@1.0.0-rc.34(@algolia/client-search@4.20.0)(@types/node@20.10.6)(axios@1.6.3)(postcss@8.4.32)(search-insights@2.8.2)(stylus@0.62.0)(typescript@5.2.2): + /vitepress@1.0.0-rc.34(@algolia/client-search@4.20.0)(@types/node@20.10.6)(axios@1.6.3)(postcss@8.4.31)(search-insights@2.8.2)(stylus@0.62.0)(typescript@5.2.2): resolution: {integrity: sha512-TUbTiSdAZFni2XlHlpx61KikgkQ5uG4Wtmw2R0SXhIOG6qGqzDJczAFjkMc4i45I9c3KyatwOYe8oEfCnzVYwQ==} hasBin: true peerDependencies: @@ -5806,7 +5862,7 @@ packages: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.8.2) '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.2(vite@5.0.10)(vue@3.4.3) + '@vitejs/plugin-vue': 5.0.2(vite@5.0.11)(vue@3.4.3) '@vue/devtools-api': 6.5.1 '@vueuse/core': 10.7.1(vue@3.4.3) '@vueuse/integrations': 10.7.1(axios@1.6.3)(focus-trap@7.5.4)(vue@3.4.3) @@ -5814,11 +5870,11 @@ packages: mark.js: 8.11.1 minisearch: 6.3.0 mrmime: 2.0.0 - postcss: 8.4.32 - shikiji: 0.9.15 - shikiji-core: 0.9.15 - shikiji-transformers: 0.9.15 - vite: 5.0.10(@types/node@20.10.6)(stylus@0.62.0) + postcss: 8.4.31 + shikiji: 0.9.17 + shikiji-core: 0.9.17 + shikiji-transformers: 0.9.17 + vite: 5.0.11(@types/node@20.10.6)(stylus@0.62.0) vue: 3.4.3(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' diff --git a/website/src/.vitepress/config/navigation/sidebar.ts b/website/src/.vitepress/config/navigation/sidebar.ts index ebf6c5f6..3821a4a8 100644 --- a/website/src/.vitepress/config/navigation/sidebar.ts +++ b/website/src/.vitepress/config/navigation/sidebar.ts @@ -69,8 +69,8 @@ function defaultSidebar(): DefaultTheme.SidebarItem[] { link: '/docs/faq/settings', }, { - text: 'Android 11+', - link: '/docs/faq/android-11+', + text: 'Storage', + link: '/docs/faq/storage', }, ], }, diff --git a/website/src/.vitepress/config/shortcodes.ts b/website/src/.vitepress/config/shortcodes.ts index f89f0f72..6ed45742 100644 --- a/website/src/.vitepress/config/shortcodes.ts +++ b/website/src/.vitepress/config/shortcodes.ts @@ -1,6 +1,5 @@ const iconMappings = { alertDecagramOutline: '', - backupRestore: '', bookmarkBoxOutline: '', bookOpenOutline: '', cloudOffOutline: '', @@ -17,6 +16,7 @@ const iconMappings = { paletteOutline: '', queryStats: '', security: '', + storage: '', sync: '', } @@ -45,7 +45,7 @@ const navigationMappings: Record = { 'download-queue': { name: 'Download queue', icon: iconMappings.downloadOutline, dependsOn: 'main_more' }, 'categories': { name: 'Categories', icon: iconMappings.labelOutline, dependsOn: 'main_more' }, 'statistics': { name: 'Statistics', icon: iconMappings.queryStats, dependsOn: 'main_more' }, - 'backup-and-restore': { name: 'Backup and restore', icon: iconMappings.backupRestore, dependsOn: 'main_more' }, + 'data-and-storage': { name: 'Data and storage', icon: iconMappings.storage, dependsOn: 'main_more' }, 'settings': { name: 'Settings', icon: iconMappings.cog, dependsOn: 'main_more' }, 'about': { name: 'About', icon: iconMappings.informationOutline, dependsOn: 'main_more' }, 'help': { name: 'Help', icon: iconMappings.helpCircleOutline, dependsOn: 'main_more' }, diff --git a/website/src/docs/faq/android-11+.md b/website/src/docs/faq/android-11+.md deleted file mode 100644 index e33fe3ae..00000000 --- a/website/src/docs/faq/android-11+.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Android 11+ -titleTemplate: Frequently Asked Questions -description: Understanding Android 11 Changes. ---- - -# Android 11+ -Understanding **Android 11** Changes. - -## Android 11 modifications -**Android 11** introduced changes related to [Scoped Storage](https://developer.android.com/about/versions/11/privacy/storage), which was initially introduced in **Android 5.0 Lollipop**. - -However, the enforcement of **Scoped Storage** was initiated by **Google** with **Android 11**. - -Different smartphone manufacturers implement **Scoped Storage** with varying levels of success, resulting in varying user experiences. -Some encounter minimal issues, while others using different phone brands face numerous challenges. - -## Implications for Tachiyomi -**Scoped Storage**'s introduction affects various storage-related functions in **Tachiyomi**. -These functions may become slower due to **Scoped Storage**'s inherent latency, as discussed in detail [here](https://www.xda-developers.com/android-q-storage-access-framework-scoped-storage/). - -This impact encompasses tasks like deleting chapters, library loading times, accessing folders outside data directories for downloads and reading, and more. - -## Enhancing performance -For potential performance improvements, consider utilizing the following ADB command if you are comfortable with it. - -```bash -adb shell cmd appops set eu.kanade.tachiyomi android:legacy_storage allow -``` - -This command grants general storage access to the app, enabling **Tachiyomi** to use the conventional storage access interface. - -If using **Tachiyomi Preview**, or a fork, replace `eu.kanade.tachiyomi` with the corresponding package name. diff --git a/website/src/docs/faq/library.md b/website/src/docs/faq/library.md index a756f5b3..1c789e8b 100644 --- a/website/src/docs/faq/library.md +++ b/website/src/docs/faq/library.md @@ -13,6 +13,7 @@ The app's default behavior is to skip updates for entries that meet the followin * Have unread chapters * Haven't been initiated * Carry a "**Completed**" status +* Isn't expected to have new chapters yet This strategy prevents unnecessary load which may lead to sources implementing measures against **Tachiyomi**. To manage entries with infrequent or no updates, consider using categories and excluding them from updates. diff --git a/website/src/docs/faq/storage.md b/website/src/docs/faq/storage.md new file mode 100644 index 00000000..cd859099 --- /dev/null +++ b/website/src/docs/faq/storage.md @@ -0,0 +1,50 @@ +--- +title: Storage +titleTemplate: Frequently Asked Questions +description: Understanding Storage Permissions. +--- + +# Storage location + +Tachiyomi manages several things within a selected storage location, including automatic backups, chapter downloads, and the Local source. + +The following illustrates the folder structure: + +```txt +[your selected storage location]/ + |- autobackup/ + |- eu.kanade.tachiyomi_yyyy-mm-dd_hh-mm.tachibk + |- ... + |- downloads/ + |- Source name (LANG) + |- Title + |- Chapter01.cbz + |- ... + |- Other title + |- Chapter01.cbz + |- ... + |- local/ + |- Title + |- Chapter01.cbz + |- ... + |- Other title + |- Chapter01.cbz + |- ... +``` + +Backup file name prefixes are unique for the app to avoid potential collisions between forks. + +## Migrating from v0.14.x or ealier + +If you were using the default locations before, then simply select the existing `Tachiyomi` folder. + +If were using non-standard downloads folder, you may want to either choose the parent folder (if applicable; avoid choosing the root of your storage) or move your downloads to a new location. + +# Scoped Storage + +Since Android 11, most apps are enforced to use [Scoped Storage](https://developer.android.com/about/versions/11/privacy/storage) for better security for users so that apps cannot read everything on the device. + +**Scoped Storage**'s introduction affects various storage-related functions in **Tachiyomi**. +These functions may become slower due to **Scoped Storage**'s inherent latency, as discussed in detail [here](https://www.xda-developers.com/android-q-storage-access-framework-scoped-storage/). + +This can impact tasks like deleting chapters, library loading times, accessing local files like downloads or the local source, and more. diff --git a/website/src/docs/guides/backups.md b/website/src/docs/guides/backups.md index 2135430f..1f707789 100644 --- a/website/src/docs/guides/backups.md +++ b/website/src/docs/guides/backups.md @@ -9,7 +9,7 @@ description: Backups helps you prevent losing your library if something happens. Backups in **Tachiyomi** are compatible between different versions of the app. ::: tip How to create a backup -1. Go to