From 804ccdabec398b9121e6ead72b188fcb6839aa8e Mon Sep 17 00:00:00 2001 From: 3252a8 <3252a8@proton.me> Date: Tue, 26 May 2026 16:18:15 +0300 Subject: [PATCH] docs: use nova starlight theme --- docs-site/astro.config.mjs | 10 ++ docs-site/package-lock.json | 279 ++++++++++++++++++++++++++++++++ docs-site/package.json | 1 + docs-site/src/styles/custom.css | 83 ++++------ 4 files changed, 318 insertions(+), 55 deletions(-) diff --git a/docs-site/astro.config.mjs b/docs-site/astro.config.mjs index 7272128..cccb453 100644 --- a/docs-site/astro.config.mjs +++ b/docs-site/astro.config.mjs @@ -1,5 +1,6 @@ import { defineConfig } from 'astro/config'; import starlight from '@astrojs/starlight'; +import starlightThemeNova from 'starlight-theme-nova'; export default defineConfig({ site: 'https://minishop.minidoc.cc', @@ -8,6 +9,15 @@ export default defineConfig({ title: 'Remnawave Minishop', description: 'Документация по настройке, развертыванию и эксплуатации Remnawave Minishop.', + plugins: [ + starlightThemeNova({ + nav: [ + { label: 'Запуск', href: '/reference/deployment/' }, + { label: 'Настройка', href: '/reference/configuration/' }, + { label: 'GitLab', href: 'https://gitlab.com/3252a8/remnawave-minshop' }, + ], + }), + ], favicon: '/favicon.svg', logo: { src: './src/assets/logo.svg', diff --git a/docs-site/package-lock.json b/docs-site/package-lock.json index f369c54..9b30e58 100644 --- a/docs-site/package-lock.json +++ b/docs-site/package-lock.json @@ -7,12 +7,48 @@ "dependencies": { "@astrojs/starlight": "^0.39.2", "astro": "^6.3.7", + "starlight-theme-nova": "^0.11.11", "typescript": "^6.0.3" }, "engines": { "node": ">=22.0.0" } }, + "node_modules/@aria-ui/core": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@aria-ui/core/-/core-0.2.1.tgz", + "integrity": "sha512-EEh2mIHL4HnfjIgZocxhCCqPRU6EE5eLFQcGw4FOfomil11jIBKtmqCQkz8qJ9Ni3IBoh/5DvUFaY206X0oY6A==", + "license": "MIT", + "dependencies": { + "@ocavue/utils": "^1.6.0", + "@zag-js/dom-query": "^1.40.0", + "alien-signals": "^3.2.1", + "server-dom-shim": "^1.1.0" + } + }, + "node_modules/@aria-ui/elements": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@aria-ui/elements/-/elements-0.1.10.tgz", + "integrity": "sha512-XdykJS7m8cOv2vUAzGmuqWzQksBkqh4GEx4WY3N1zCHFB5tVZ9Omfc4vHDoJOfnI2pux64vJIAi+FWb9hUCKdw==", + "license": "MIT", + "dependencies": { + "@aria-ui/core": "0.2.1", + "@aria-ui/utils": "0.1.6", + "@floating-ui/dom": "^1.7.6", + "@zag-js/dismissable": "^1.40.0", + "@zag-js/dom-query": "^1.40.0" + } + }, + "node_modules/@aria-ui/utils": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@aria-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-zdbOstUfJ6Hq92EZZhGT3CLQgnIl3keBkhoFz//6L8l0IMbtdBjYOkd/4nlSCrppQllQNrGOsUSfYSrWOPr9ZA==", + "license": "MIT", + "dependencies": { + "@aria-ui/core": "0.2.1", + "@zag-js/dom-query": "^1.40.0" + } + }, "node_modules/@astrojs/internal-helpers": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.9.1.tgz", @@ -722,6 +758,31 @@ "@expressive-code/core": "^0.42.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, "node_modules/@img/colour": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", @@ -1242,6 +1303,12 @@ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT" }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.6.0.tgz", + "integrity": "sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==", + "license": "BSD-3-Clause" + }, "node_modules/@mdx-js/mdx": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", @@ -1279,6 +1346,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/@ocavue/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@ocavue/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-8W3q1hxx9qFdrYgPtbElllG/tqYkO/dMhlRUiqasO0SuDFTj78azSQjhIrBTFWxlBPPsSZN6zXYHmb3RwN2Jtg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ocavue" + } + }, "node_modules/@oslojs/encoding": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", @@ -1855,6 +1931,36 @@ "node": ">=20" } }, + "node_modules/@shikijs/transformers": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-4.1.0.tgz", + "integrity": "sha512-YbuOcAA3kwqKDU9YSt00dtFLrY5lBXjKU3dWaMATyEyPSqBm9Jqblk/uVICxz7lcjwAHzYaEvIiMWX3mTpogkA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.1.0", + "@shikijs/types": "4.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/twoslash": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-4.1.0.tgz", + "integrity": "sha512-XD7d3LqLXOaL6PbFKGwtdnfcyBdOfKWfxb1+c4MVknVTemwnMQxqj1wYhhWBLRdk8H3Fp9pyf/FILfy2Nzeg8g==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.1.0", + "@shikijs/types": "4.1.0", + "twoslash": "^0.3.8" + }, + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "typescript": ">=5.5.0" + } + }, "node_modules/@shikijs/types": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.1.0.tgz", @@ -1967,12 +2073,69 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@typescript/vfs": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.6.4.tgz", + "integrity": "sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3" + }, + "peerDependencies": { + "typescript": "*" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", "license": "ISC" }, + "node_modules/@zag-js/dismissable": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@zag-js/dismissable/-/dismissable-1.41.0.tgz", + "integrity": "sha512-M9YBC6MyySHyTrbiTeP+5RdvMCbIg6Yac5gda9glRBD7njjqeVFoFT61V0aHJK4Pcni5rFjCMO7u4Wn+WBr6Hg==", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "1.41.0", + "@zag-js/interact-outside": "1.41.0", + "@zag-js/utils": "1.41.0" + } + }, + "node_modules/@zag-js/dom-query": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-1.41.0.tgz", + "integrity": "sha512-10KVw1sZNKsiGcR9nC+xazn6r2hAijrJFcMJWWmtrXuskezV04/axCaWdEGHkPloddaoADecWwCAsD4+kOmKFg==", + "license": "MIT", + "dependencies": { + "@zag-js/types": "1.41.0" + } + }, + "node_modules/@zag-js/interact-outside": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@zag-js/interact-outside/-/interact-outside-1.41.0.tgz", + "integrity": "sha512-nmqgOM8w3YEO3OXXpS2ycA7waYYBeeaSwoh+dUJFKFPViWBzHQ6AFupsobq5K9MejCl7LIV8fDmmB3BAF/0xXg==", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "1.41.0", + "@zag-js/utils": "1.41.0" + } + }, + "node_modules/@zag-js/types": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@zag-js/types/-/types-1.41.0.tgz", + "integrity": "sha512-CNTzGNjJU1e7VAzucjcjqBzpU7e1EBwRH29hCdyoigB4e4uDb+NrKUBHyAkfBVeNMLhpmXxnQfMDlvYt7K3W1A==", + "license": "MIT", + "dependencies": { + "csstype": "3.2.3" + } + }, + "node_modules/@zag-js/utils": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@zag-js/utils/-/utils-1.41.0.tgz", + "integrity": "sha512-WUCIw+W4MYKYfyKad0LLNNqhL58/cRAAAVjLqDch05c1dZ0yhZq3t81jWeYUwiPnprt9V+BtGJEFMnWhdfxsBA==", + "license": "MIT" + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", @@ -1994,6 +2157,12 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/alien-signals": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.2.1.tgz", + "integrity": "sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g==", + "license": "MIT" + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -2149,6 +2318,15 @@ "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta" } }, + "node_modules/astro-theme-toggle": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/astro-theme-toggle/-/astro-theme-toggle-0.8.1.tgz", + "integrity": "sha512-cUQDnMpRrGwWQ0C6dj1x3y3e3ULlikvoc6Tb6FkIQkL1Ropyd6jQ/IZ9GdhSogWEVpNodPckOKeItIh89EDwkg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ocavue" + } + }, "node_modules/astro/node_modules/@astrojs/compiler": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-4.0.0.tgz", @@ -2447,6 +2625,12 @@ "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", "license": "CC0-1.0" }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -5237,6 +5421,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-custom-header-id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remark-custom-header-id/-/remark-custom-header-id-1.0.0.tgz", + "integrity": "sha512-xs1MAgCg1HoiIfqSVV5BPydB4/sc1tT8OHDoqt8Lnf1JHPMUDVumY2Szm/P9MIxIzOT9+tu4IYJTql0vCzldoA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.2", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/remark-directive": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-4.0.0.tgz", @@ -5489,6 +5689,18 @@ "node": ">=10" } }, + "node_modules/server-dom-shim": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/server-dom-shim/-/server-dom-shim-1.1.0.tgz", + "integrity": "sha512-oyKhBZtkr/SGB9YE2r0VtQxQCxaVx/Ix1fMz0XMd6K4T1/TMfDs9K2GR9QjpUtD+siyeLXr+3CzzGSvhTI1sEw==", + "license": "MIT", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/ocavue" + } + }, "node_modules/sharp": { "version": "0.34.5", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", @@ -5553,6 +5765,23 @@ "node": ">=20" } }, + "node_modules/shiki-twoslash-renderer": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/shiki-twoslash-renderer/-/shiki-twoslash-renderer-0.3.5.tgz", + "integrity": "sha512-V1d8JzkhIIJ1n7ZboZmGcPCBREZTkfdF9xIMgVOR71MyWVzvqyFre7sVRTmt7T/VjN0phtOgfMX7JChcaBp5Rg==", + "license": "MIT", + "dependencies": { + "@aria-ui/core": "^0.2.1", + "@aria-ui/elements": "^0.1.10", + "@shikijs/twoslash": "^4.1.0", + "@shikijs/types": "^4.1.0", + "@types/hast": "^3.0.4", + "twoslash": "^0.3.8" + }, + "funding": { + "url": "https://github.com/sponsors/ocavue" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -5618,6 +5847,37 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/starlight-theme-nova": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/starlight-theme-nova/-/starlight-theme-nova-0.11.11.tgz", + "integrity": "sha512-9HsHM3p3lsp6ia09N0NtImayJlZxezI8gGkwzgGwGFtc/6YiM3sulM6eotQmZNKVav6N+RHxa9EL+GSoKAvB0A==", + "license": "MIT", + "dependencies": { + "@aria-ui/core": "^0.2.1", + "@aria-ui/utils": "^0.1.6", + "@pagefind/default-ui": "^1.5.2", + "@shikijs/transformers": "^4.1.0", + "@shikijs/twoslash": "^4.1.0", + "@shikijs/types": "^4.1.0", + "@types/hast": "^3.0.4", + "astro-theme-toggle": "^0.8.1", + "hast-util-is-element": "^3.0.0", + "rehype": "^13.0.2", + "remark-custom-header-id": "^1.0.0", + "shiki-twoslash-renderer": "^0.3.5" + }, + "funding": { + "url": "https://github.com/sponsors/ocavue" + }, + "peerDependencies": { + "@astrojs/starlight": "*" + }, + "peerDependenciesMeta": { + "@astrojs/starlight": { + "optional": true + } + } + }, "node_modules/stream-replace-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", @@ -5748,6 +6008,25 @@ "license": "0BSD", "optional": true }, + "node_modules/twoslash": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/twoslash/-/twoslash-0.3.8.tgz", + "integrity": "sha512-OeDz0kDl8sqPUN3nr7gqcvOs70f5lZsdhKYTX3/SgB9OvdadzzoYJI/4SBXhXV1HG8E9fLc+e17itoRYTxmoig==", + "license": "MIT", + "dependencies": { + "@typescript/vfs": "^1.6.4", + "twoslash-protocol": "0.3.8" + }, + "peerDependencies": { + "typescript": "^5.5.0 || ^6.0.0" + } + }, + "node_modules/twoslash-protocol": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/twoslash-protocol/-/twoslash-protocol-0.3.8.tgz", + "integrity": "sha512-HmvAHoiEviK8LqvAQyc9/irkdvwTUiR1fHmNwH/0gq8EHxyBt4PWVPixjEXg6wJu1u6yBrILEWXGK9Kw58/8yQ==", + "license": "MIT" + }, "node_modules/typescript": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", diff --git a/docs-site/package.json b/docs-site/package.json index f730273..72fc667 100644 --- a/docs-site/package.json +++ b/docs-site/package.json @@ -10,6 +10,7 @@ "dependencies": { "@astrojs/starlight": "^0.39.2", "astro": "^6.3.7", + "starlight-theme-nova": "^0.11.11", "typescript": "^6.0.3" }, "engines": { diff --git a/docs-site/src/styles/custom.css b/docs-site/src/styles/custom.css index 2a6cbe0..71fdc73 100644 --- a/docs-site/src/styles/custom.css +++ b/docs-site/src/styles/custom.css @@ -1,63 +1,36 @@ -:root { - --sl-color-accent-low: #d7f6ef; - --sl-color-accent: #0f766e; - --sl-color-accent-high: #0b3d39; - --sl-color-white: #171717; - --sl-color-gray-1: #2a2f35; - --sl-color-gray-2: #46505a; - --sl-color-gray-3: #6b7580; - --sl-color-gray-4: #aab4bd; - --sl-color-gray-5: #d7dde2; - --sl-color-gray-6: #edf1f4; - --sl-color-gray-7: #f7f9fa; - --sl-color-black: #ffffff; - --sl-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -} +@layer starlight, nova, minishop; -:root[data-theme='dark'] { - --sl-color-accent-low: #06302d; - --sl-color-accent: #2dd4bf; - --sl-color-accent-high: #cbfbf1; - --sl-color-white: #f8fafc; - --sl-color-gray-1: #e6eef5; - --sl-color-gray-2: #c1ccd6; - --sl-color-gray-3: #95a3b3; - --sl-color-gray-4: #526171; - --sl-color-gray-5: #303b49; - --sl-color-gray-6: #1e2937; - --sl-color-gray-7: #111827; - --sl-color-black: #0a0f18; -} +@layer minishop { + .site-title { + font-weight: 760; + } -.site-title { - font-weight: 760; -} + .hero { + gap: clamp(2rem, 6vw, 5rem); + padding-block: clamp(3.5rem, 10vw, 6.5rem); + } -.hero { - gap: clamp(2rem, 6vw, 5rem); - padding-block: clamp(3.5rem, 10vw, 6.5rem); -} + .hero img { + border: 1px solid var(--sl-color-gray-5); + border-radius: 10px; + box-shadow: 0 24px 70px rgb(15 23 42 / 18%); + } -.hero img { - border: 1px solid var(--sl-color-gray-5); - border-radius: 10px; - box-shadow: 0 24px 70px rgb(15 23 42 / 18%); -} + :root[data-theme='dark'] .hero img { + box-shadow: 0 24px 70px rgb(0 0 0 / 36%); + } -:root[data-theme='dark'] .hero img { - box-shadow: 0 24px 70px rgb(0 0 0 / 36%); -} + .sl-markdown-content :is(h2, h3) { + letter-spacing: 0; + } -.sl-markdown-content :is(h2, h3) { - letter-spacing: 0; -} + .sl-markdown-content table { + font-size: 0.92rem; + } -.sl-markdown-content table { - font-size: 0.92rem; -} - -.sl-markdown-content code:not(:where(pre *)) { - border: 1px solid var(--sl-color-gray-5); - border-radius: 5px; - padding: 0.08rem 0.28rem; + .sl-markdown-content code:not(:where(pre *)) { + border: 1px solid var(--sl-color-gray-5); + border-radius: 5px; + padding: 0.08rem 0.28rem; + } }