diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f755814e..5896f92d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ Before submitting your contribution, please make sure to take a moment and read ## Development Setup -You will need [Node.js](http://nodejs.org) **version 16+**, and [npm](https://docs.npmjs.com/try-the-latest-stable-version-of-npm) **version 8+**. +You will need [Node.js](http://nodejs.org) **version 18+**, and [npm](https://docs.npmjs.com/try-the-latest-stable-version-of-npm) **version 9+**. After cloning the repo and entering the the directory, go to the `/website` folder and run: diff --git a/netlify.toml b/netlify.toml index c5288b5d..7c1deb4e 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,5 +1,5 @@ [build.environment] - NODE_VERSION = "16" + NODE_VERSION = "18" [build] base = "website" diff --git a/website/.eslintrc.js b/website/.eslintrc.cjs similarity index 100% rename from website/.eslintrc.js rename to website/.eslintrc.cjs diff --git a/website/.prettierrc.js b/website/.prettierrc.cjs similarity index 100% rename from website/.prettierrc.js rename to website/.prettierrc.cjs diff --git a/website/stylelint.config.js b/website/.stylelintrc.cjs similarity index 100% rename from website/stylelint.config.js rename to website/.stylelintrc.cjs diff --git a/website/package-lock.json b/website/package-lock.json index 95b3ddb0..53259a93 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -20,23 +20,23 @@ "@mdit/plugin-img-size": "^0.4.8", "@mdit/plugin-include": "^0.4.8", "@mdit/plugin-tab": "^0.4.8", - "@typescript-eslint/eslint-plugin": "^6.2.0", - "@typescript-eslint/parser": "^6.2.0", + "@typescript-eslint/eslint-plugin": "^6.3.0", + "@typescript-eslint/parser": "^6.3.0", "eslint": "^8.46.0", "eslint-config-standard": "^17.1.0", - "eslint-plugin-vue": "^9.16.0", + "eslint-plugin-vue": "^9.16.1", "feed": "^4.2.2", "lint-staged": "^13.2.3", "markdown-it-mdi": "^0.1.0", "markdownlint": "^0.29.0", "markdownlint-cli": "^0.35.0", - "prettier": "^3.0.0", + "prettier": "^3.0.1", "sentences-per-line": "^0.2.1", "stylelint": "^15.10.2", "stylelint-stylus": "^0.18.0", "stylus": "^0.59.0", "vite-plugin-eslint": "^1.8.1", - "vitepress": "^1.0.0-beta.7", + "vitepress": "^1.0.0-rc.4", "vue": "^3.3.4", "vue-eslint-parser": "^9.3.1" } @@ -834,16 +834,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.0.tgz", - "integrity": "sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.3.0.tgz", + "integrity": "sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.2.0", - "@typescript-eslint/type-utils": "6.2.0", - "@typescript-eslint/utils": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0", + "@typescript-eslint/scope-manager": "6.3.0", + "@typescript-eslint/type-utils": "6.3.0", + "@typescript-eslint/utils": "6.3.0", + "@typescript-eslint/visitor-keys": "6.3.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -870,15 +870,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.0.tgz", - "integrity": "sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.3.0.tgz", + "integrity": "sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.2.0", - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/typescript-estree": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0", + "@typescript-eslint/scope-manager": "6.3.0", + "@typescript-eslint/types": "6.3.0", + "@typescript-eslint/typescript-estree": "6.3.0", + "@typescript-eslint/visitor-keys": "6.3.0", "debug": "^4.3.4" }, "engines": { @@ -898,13 +898,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.0.tgz", - "integrity": "sha512-1ZMNVgm5nnHURU8ZSJ3snsHzpFeNK84rdZjluEVBGNu7jDymfqceB3kdIZ6A4xCfEFFhRIB6rF8q/JIqJd2R0Q==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.3.0.tgz", + "integrity": "sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0" + "@typescript-eslint/types": "6.3.0", + "@typescript-eslint/visitor-keys": "6.3.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -915,13 +915,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.0.tgz", - "integrity": "sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.3.0.tgz", + "integrity": "sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.2.0", - "@typescript-eslint/utils": "6.2.0", + "@typescript-eslint/typescript-estree": "6.3.0", + "@typescript-eslint/utils": "6.3.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -942,9 +942,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.0.tgz", - "integrity": "sha512-1nRRaDlp/XYJQLvkQJG5F3uBTno5SHPT7XVcJ5n1/k2WfNI28nJsvLakxwZRNY5spuatEKO7d5nZWsQpkqXwBA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.3.0.tgz", + "integrity": "sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -955,13 +955,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.0.tgz", - "integrity": "sha512-Mts6+3HQMSM+LZCglsc2yMIny37IhUgp1Qe8yJUYVyO6rHP7/vN0vajKu3JvHCBIy8TSiKddJ/Zwu80jhnGj1w==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.3.0.tgz", + "integrity": "sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0", + "@typescript-eslint/types": "6.3.0", + "@typescript-eslint/visitor-keys": "6.3.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -982,17 +982,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.0.tgz", - "integrity": "sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.3.0.tgz", + "integrity": "sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.2.0", - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/typescript-estree": "6.2.0", + "@typescript-eslint/scope-manager": "6.3.0", + "@typescript-eslint/types": "6.3.0", + "@typescript-eslint/typescript-estree": "6.3.0", "semver": "^7.5.4" }, "engines": { @@ -1007,12 +1007,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.0.tgz", - "integrity": "sha512-QbaYUQVKKo9bgCzpjz45llCfwakyoxHetIy8CAvYCtd16Zu1KrpzNHofwF8kGkpPOxZB2o6kz+0nqH8ZkIzuoQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.3.0.tgz", + "integrity": "sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.0", + "@typescript-eslint/types": "6.3.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -1155,14 +1155,14 @@ "dev": true }, "node_modules/@vueuse/core": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.2.1.tgz", - "integrity": "sha512-c441bfMbkAwTNwVRHQ0zdYZNETK//P84rC01aP2Uy/aRFCiie9NE/k9KdIXbno0eDYP5NPUuWv0aA/I4Unr/7w==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.3.0.tgz", + "integrity": "sha512-BEM5yxcFKb5btFjTSAFjTu5jmwoW66fyV9uJIP4wUXXU8aR5Hl44gndaaXp7dC5HSObmgbnR2RN+Un1p68Mf5Q==", "dev": true, "dependencies": { "@types/web-bluetooth": "^0.0.17", - "@vueuse/metadata": "10.2.1", - "@vueuse/shared": "10.2.1", + "@vueuse/metadata": "10.3.0", + "@vueuse/shared": "10.3.0", "vue-demi": ">=0.14.5" }, "funding": { @@ -1196,13 +1196,13 @@ } }, "node_modules/@vueuse/integrations": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.2.1.tgz", - "integrity": "sha512-FDP5lni+z9FjHE9H3xuvwSjoRV9U8jmDvJpmHPCBjUgPGYRynwb60eHWXCFJXLUtb4gSIHy0e+iaEbrKdalCkQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.3.0.tgz", + "integrity": "sha512-Jgiv7oFyIgC6BxmDtiyG/fxyGysIds00YaY7sefwbhCZ2/tjEx1W/1WcsISSJPNI30in28+HC2J4uuU8184ekg==", "dev": true, "dependencies": { - "@vueuse/core": "10.2.1", - "@vueuse/shared": "10.2.1", + "@vueuse/core": "10.3.0", + "@vueuse/shared": "10.3.0", "vue-demi": ">=0.14.5" }, "funding": { @@ -1288,18 +1288,18 @@ } }, "node_modules/@vueuse/metadata": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.2.1.tgz", - "integrity": "sha512-3Gt68mY/i6bQvFqx7cuGBzrCCQu17OBaGWS5JdwISpMsHnMKKjC2FeB5OAfMcCQ0oINfADP3i9A4PPRo0peHdQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.3.0.tgz", + "integrity": "sha512-Ema3YhNOa4swDsV0V7CEY5JXvK19JI/o1szFO1iWxdFg3vhdFtCtSTP26PCvbUpnUtNHBY2wx5y3WDXND5Pvnw==", "dev": true, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.2.1.tgz", - "integrity": "sha512-QWHq2bSuGptkcxx4f4M/fBYC3Y8d3M2UYyLsyzoPgEoVzJURQ0oJeWXu79OiLlBb8gTKkqe4mO85T/sf39mmiw==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.3.0.tgz", + "integrity": "sha512-kGqCTEuFPMK4+fNWy6dUOiYmxGcUbtznMwBZLC1PubidF4VZY05B+Oht7Jh7/6x4VOWGpvu3R37WHi81cKpiqg==", "dev": true, "dependencies": { "vue-demi": ">=0.14.5" @@ -2643,9 +2643,9 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.16.0.tgz", - "integrity": "sha512-SonAuvQXFm9HBV9ww/YkYZVYPMR8ptxxuJwcKGnG9A65SyvNANP9MKlfnC49L6DIwt/YEQZwZWEMHOkL1d5s1A==", + "version": "9.16.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.16.1.tgz", + "integrity": "sha512-2FtnTqazA6aYONfDuOZTk0QzwhAwi7Z4+uJ7+GHeGxcKapjqWlDsRWDenvyG/utyOfAS5bVRmAG3cEWiYEz2bA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -5005,9 +5005,9 @@ } }, "node_modules/postcss": { - "version": "8.4.26", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz", - "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==", + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", "dev": true, "funding": [ { @@ -5212,9 +5212,9 @@ } }, "node_modules/prettier": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", - "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.1.tgz", + "integrity": "sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -5489,9 +5489,9 @@ } }, "node_modules/rollup": { - "version": "3.26.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", - "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", + "version": "3.27.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.2.tgz", + "integrity": "sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -6649,14 +6649,14 @@ } }, "node_modules/vite": { - "version": "4.4.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.7.tgz", - "integrity": "sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", "dev": true, "dependencies": { "esbuild": "^0.18.10", - "postcss": "^8.4.26", - "rollup": "^3.25.2" + "postcss": "^8.4.27", + "rollup": "^3.27.1" }, "bin": { "vite": "bin/vite.js" @@ -6734,23 +6734,23 @@ } }, "node_modules/vitepress": { - "version": "1.0.0-beta.7", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-beta.7.tgz", - "integrity": "sha512-P9Rw+FXatKIU4fVdtKxqwHl6fby8E/8zE3FIfep6meNgN4BxbWqoKJ6yfuuQQR9IrpQqwnyaBh4LSabyll6tWg==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.4.tgz", + "integrity": "sha512-JCQ89Bm6ECUTnyzyas3JENo00UDJeK8q1SUQyJYou+4Yz5BKEc/F3O21cu++DnUT2zXc0kvQ2Aj4BZCc/nioXQ==", "dev": true, "dependencies": { "@docsearch/css": "^3.5.1", "@docsearch/js": "^3.5.1", "@vitejs/plugin-vue": "^4.2.3", "@vue/devtools-api": "^6.5.0", - "@vueuse/core": "^10.2.1", - "@vueuse/integrations": "^10.2.1", + "@vueuse/core": "^10.3.0", + "@vueuse/integrations": "^10.3.0", "body-scroll-lock": "4.0.0-beta.0", "focus-trap": "^7.5.2", "mark.js": "8.11.1", "minisearch": "^6.1.0", "shiki": "^0.14.3", - "vite": "^4.4.7", + "vite": "^4.4.9", "vue": "^3.3.4" }, "bin": { diff --git a/website/package.json b/website/package.json index 7c6fd992..dd9d4842 100644 --- a/website/package.json +++ b/website/package.json @@ -4,6 +4,7 @@ "description": "Official website for the Tachiyomi app.", "license": "MPL-2.0", "private": true, + "type": "module", "repository": { "type": "git", "url": "git+https://github.com/tachiyomiorg/website.git" @@ -18,8 +19,8 @@ "preview": "vitepress preview src", "lint": "npm run lint:es && npm run lint:prettier && npm run lint:mdl && npm run lint:style", "lint:fix": "npm run lint:es:fix && npm run lint:prettier:fix && npm run lint:style:fix", - "lint:es": "eslint . --ext .vue,.js,.ts,.jsx,.tsx", - "lint:es:fix": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix", + "lint:es": "eslint . --ext .vue,.js,.ts,.cjs,.mjs,.jsx,.tsx", + "lint:es:fix": "eslint . --ext .vue,.js,.ts,.cjs,.mjs,.jsx,.tsx --fix", "lint:prettier": "prettier --check \"src/**/*\"", "lint:prettier:fix": "prettier --check --write \"src/**/*\"", "lint:mdl": "markdownlint \"**/*.md\" \".github/**/*.md\" --enable sentences-per-line --disable MD025 MD033", @@ -34,23 +35,23 @@ "@mdit/plugin-img-size": "^0.4.8", "@mdit/plugin-include": "^0.4.8", "@mdit/plugin-tab": "^0.4.8", - "@typescript-eslint/eslint-plugin": "^6.2.0", - "@typescript-eslint/parser": "^6.2.0", + "@typescript-eslint/eslint-plugin": "^6.3.0", + "@typescript-eslint/parser": "^6.3.0", "eslint": "^8.46.0", "eslint-config-standard": "^17.1.0", - "eslint-plugin-vue": "^9.16.0", + "eslint-plugin-vue": "^9.16.1", "feed": "^4.2.2", "lint-staged": "^13.2.3", "markdown-it-mdi": "^0.1.0", "markdownlint": "^0.29.0", "markdownlint-cli": "^0.35.0", - "prettier": "^3.0.0", + "prettier": "^3.0.1", "sentences-per-line": "^0.2.1", "stylelint": "^15.10.2", "stylelint-stylus": "^0.18.0", "stylus": "^0.59.0", "vite-plugin-eslint": "^1.8.1", - "vitepress": "^1.0.0-beta.7", + "vitepress": "^1.0.0-rc.4", "vue": "^3.3.4", "vue-eslint-parser": "^9.3.1" }, diff --git a/website/src/.vitepress/config/head.ts b/website/src/.vitepress/config/head.ts index c5ba64cc..c006b783 100644 --- a/website/src/.vitepress/config/head.ts +++ b/website/src/.vitepress/config/head.ts @@ -8,11 +8,35 @@ const head: HeadConfig[] = [ ["meta", { name: "referrer", content: "no-referrer-when-downgrade" }], ["link", { rel: "icon", type: "image/x-icon", href: "/favicon.ico" }], - ["link", { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" }], - ["link", { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicon-16x16.png" }], + [ + "link", + { + rel: "icon", + type: "image/png", + sizes: "32x32", + href: "/favicon-32x32.png", + }, + ], + [ + "link", + { + rel: "icon", + type: "image/png", + sizes: "16x16", + href: "/favicon-16x16.png", + }, + ], ["link", { rel: "manifest", href: "/site.webmanifest" }], ["link", { rel: "mask-icon", href: "/safari-pinned-tab.svg", color: "#818CF8" }], - ["link", { rel: "apple-touch-icon", type: "image/x-icon", sizes: "180x180", href: "/favicon.ico" }], + [ + "link", + { + rel: "apple-touch-icon", + type: "image/x-icon", + sizes: "180x180", + href: "/favicon.ico", + }, + ], ["meta", { name: "twitter:card", content: "summary" }], ["meta", { name: "twitter:site", content: "@tachiyomiorg" }], diff --git a/website/src/.vitepress/config/hooks/generateMeta.ts b/website/src/.vitepress/config/hooks/generateMeta.ts index 5388e6bf..fe634f75 100644 --- a/website/src/.vitepress/config/hooks/generateMeta.ts +++ b/website/src/.vitepress/config/hooks/generateMeta.ts @@ -17,25 +17,55 @@ const generateMeta = (context: TransformContext, hostname: string) => { head.push(["meta", { property: "og:type", content: pageData.frontmatter.type }]); } if (pageData.frontmatter.customMetaTitle) { - head.push(["meta", { property: "og:title", content: pageData.frontmatter.customMetaTitle }]); - head.push(["meta", { name: "twitter:title", content: pageData.frontmatter.customMetaTitle }]); + head.push([ + "meta", + { + property: "og:title", + content: pageData.frontmatter.customMetaTitle, + }, + ]); + head.push([ + "meta", + { + name: "twitter:title", + content: pageData.frontmatter.customMetaTitle, + }, + ]); head.push(["meta", { property: "og:site_name", content: "" }]); } else { head.push(["meta", { property: "og:title", content: pageData.frontmatter.title }]); head.push(["meta", { name: "twitter:title", content: pageData.frontmatter.title }]); } if (pageData.frontmatter.description) { - head.push(["meta", { property: "og:description", content: pageData.frontmatter.description }]); - head.push(["meta", { name: "twitter:description", content: pageData.frontmatter.description }]); + head.push([ + "meta", + { + property: "og:description", + content: pageData.frontmatter.description, + }, + ]); + head.push([ + "meta", + { + name: "twitter:description", + content: pageData.frontmatter.description, + }, + ]); } if (pageData.frontmatter.image) { head.push([ "meta", - { property: "og:image", content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, "")}` }, + { + property: "og:image", + content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, "")}`, + }, ]); head.push([ "meta", - { name: "twitter:image", content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, "")}` }, + { + name: "twitter:image", + content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, "")}`, + }, ]); } else { head.push(["meta", { property: "og:image", content: `${hostname}/img/logo.png` }]); @@ -45,12 +75,21 @@ const generateMeta = (context: TransformContext, hostname: string) => { head.push(["meta", { property: "article:tag", content: pageData.frontmatter.tag }]); } if (pageData.frontmatter.date) { - head.push(["meta", { property: "article:published_time", content: pageData.frontmatter.date }]); + head.push([ + "meta", + { + property: "article:published_time", + content: pageData.frontmatter.date, + }, + ]); } if (pageData.lastUpdated && pageData.frontmatter.lastUpdated !== false) { head.push([ "meta", - { property: "article:modified_time", content: new Date(pageData.lastUpdated).toISOString() }, + { + property: "article:modified_time", + content: new Date(pageData.lastUpdated).toISOString(), + }, ]); } diff --git a/website/src/.vitepress/config/navigation/sidebar.ts b/website/src/.vitepress/config/navigation/sidebar.ts index 28443f3e..923b5bec 100644 --- a/website/src/.vitepress/config/navigation/sidebar.ts +++ b/website/src/.vitepress/config/navigation/sidebar.ts @@ -3,7 +3,11 @@ import { getSidebar } from "vitepress-plugin-auto-sidebar"; const sidebar = { "/docs/": defaultSidebar(), "/forks/": defaultSidebar(), - "/news/": getSidebar({ contentRoot: "/src/", contentDirs: ["news"], collapsed: false }), + "/news/": getSidebar({ + contentRoot: "/src/", + contentDirs: ["news"], + collapsed: false, + }), }; function defaultSidebar() { @@ -17,7 +21,10 @@ function defaultSidebar() { link: "/docs/faq/application/", collapsed: true, items: [ - { text: "Library", link: "/docs/faq/application/library" }, + { + text: "Library", + link: "/docs/faq/application/library", + }, { text: "Browse", link: "/docs/faq/application/browse/", @@ -29,11 +36,26 @@ function defaultSidebar() { }, ], }, - { text: "Downloads", link: "/docs/faq/application/downloads" }, - { text: "Reader", link: "/docs/faq/application/reader" }, - { text: "User interface", link: "/docs/faq/application/user-interface" }, - { text: "Android 11+", link: "/docs/faq/application/android-11+" }, - { text: "Shizuku", link: "/docs/faq/application/shizuku" }, + { + text: "Downloads", + link: "/docs/faq/application/downloads", + }, + { + text: "Reader", + link: "/docs/faq/application/reader", + }, + { + text: "User interface", + link: "/docs/faq/application/user-interface", + }, + { + text: "Android 11+", + link: "/docs/faq/application/android-11+", + }, + { + text: "Shizuku", + link: "/docs/faq/application/shizuku", + }, ], }, { text: "Extensions", link: "/docs/faq/extensions" }, @@ -43,14 +65,26 @@ function defaultSidebar() { { text: "Guides", items: [ - { text: "Getting started", link: "/docs/guides/getting-started" }, - { text: "Troubleshooting", link: "/docs/guides/troubleshooting" }, - { text: "Source migration", link: "/docs/guides/source-migration" }, + { + text: "Getting started", + link: "/docs/guides/getting-started", + }, + { + text: "Troubleshooting", + link: "/docs/guides/troubleshooting", + }, + { + text: "Source migration", + link: "/docs/guides/source-migration", + }, { text: "Backups", link: "/docs/guides/backups" }, { text: "Tracking", link: "/docs/guides/tracking" }, { text: "Categories", link: "/docs/guides/categories" }, { text: "Local manga", link: "/docs/guides/local-manga" }, - { text: "Reader settings", link: "/docs/guides/reader-settings" }, + { + text: "Reader settings", + link: "/docs/guides/reader-settings", + }, ], }, { diff --git a/website/src/.vitepress/config/theme.ts b/website/src/.vitepress/config/theme.ts index bce587ed..f600724f 100644 --- a/website/src/.vitepress/config/theme.ts +++ b/website/src/.vitepress/config/theme.ts @@ -12,10 +12,26 @@ const themeConfig: DefaultTheme.Config = { outline: [2, 3], socialLinks: [ - { icon: "github", link: "https://github.com/tachiyomiorg/tachiyomi", ariaLabel: "Project GitHub" }, - { icon: "discord", link: "https://discord.gg/tachiyomi", ariaLabel: "Discord Server" }, - { icon: "twitter", link: "https://twitter.com/tachiyomiorg", ariaLabel: "Twitter Page" }, - { icon: "facebook", link: "https://facebook.com/tachiyomiorg", ariaLabel: "Facebook Page" }, + { + icon: "github", + link: "https://github.com/tachiyomiorg/tachiyomi", + ariaLabel: "Project GitHub", + }, + { + icon: "discord", + link: "https://discord.gg/tachiyomi", + ariaLabel: "Discord Server", + }, + { + icon: "twitter", + link: "https://twitter.com/tachiyomiorg", + ariaLabel: "Twitter Page", + }, + { + icon: "facebook", + link: "https://facebook.com/tachiyomiorg", + ariaLabel: "Facebook Page", + }, //{ icon: "instagram", link: "https://instagram.com/tachiyomiorg", ariaLabel: "Instagram Page" }, ],