From 6fa74857adb6d28a4eddd09bd2efe84226a0a848 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 21:51:02 +0530 Subject: [PATCH 01/43] Start working on VitePress docs --- .gitignore | 5 +- docs/.vitepress/config.mts | 28 + docs/api-examples.md | 49 ++ docs/index.md | 25 + docs/markdown-examples.md | 85 ++ package-lock.json | 1567 ++++++++++++++++++++++++++++++++++++ package.json | 10 + 7 files changed, 1768 insertions(+), 1 deletion(-) create mode 100644 docs/.vitepress/config.mts create mode 100644 docs/api-examples.md create mode 100644 docs/index.md create mode 100644 docs/markdown-examples.md create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore index 011eeca..1c6e408 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,7 @@ /src/libs/ctl.rs /.rtx.toml /*scratch* -/.idea \ No newline at end of file +/.idea +/node_modules +/docs/.vitepress/cache +/docs/.vitepress/dist diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 0000000..14e48c5 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,28 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: "Strata", + description: "A cutting-edge, robust and sleek Wayland compositor with batteries included.", + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: 'Home', link: '/' }, + { text: 'Examples', link: '/markdown-examples' } + ], + + sidebar: [ + { + text: 'Examples', + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' } + ] + } + ], + + socialLinks: [ + { icon: 'github', link: 'https://github.com/vuejs/vitepress' } + ] + } +}) diff --git a/docs/api-examples.md b/docs/api-examples.md new file mode 100644 index 0000000..6bd8bb5 --- /dev/null +++ b/docs/api-examples.md @@ -0,0 +1,49 @@ +--- +outline: deep +--- + +# Runtime API Examples + +This page demonstrates usage of some of the runtime APIs provided by VitePress. + +The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: + +```md + + +## Results + +### Theme Data +
{{ theme }}
+ +### Page Data +
{{ page }}
+ +### Page Frontmatter +
{{ frontmatter }}
+``` + + + +## Results + +### Theme Data +
{{ theme }}
+ +### Page Data +
{{ page }}
+ +### Page Frontmatter +
{{ frontmatter }}
+ +## More + +Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..e9e6af0 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,25 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "Strata" + text: "A cutting-edge, robust and sleek Wayland compositor with batteries included." + tagline: My great project tagline + actions: + - theme: brand + text: Markdown Examples + link: /markdown-examples + - theme: alt + text: API Examples + link: /api-examples + +features: + - title: Feature A + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit + - title: Feature B + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit + - title: Feature C + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit +--- + diff --git a/docs/markdown-examples.md b/docs/markdown-examples.md new file mode 100644 index 0000000..f9258a5 --- /dev/null +++ b/docs/markdown-examples.md @@ -0,0 +1,85 @@ +# Markdown Extension Examples + +This page demonstrates some of the built-in markdown extensions provided by VitePress. + +## Syntax Highlighting + +VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: + +**Input** + +````md +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` +```` + +**Output** + +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` + +## Custom Containers + +**Input** + +```md +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: +``` + +**Output** + +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: + +## More + +Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..15db1fd --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1567 @@ +{ + "name": "strata", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "vitepress": "^1.0.0-rc.45" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "dev": true, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz", + "integrity": "sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.22.1" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz", + "integrity": "sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz", + "integrity": "sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.22.1" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz", + "integrity": "sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz", + "integrity": "sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz", + "integrity": "sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz", + "integrity": "sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz", + "integrity": "sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz", + "integrity": "sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz", + "integrity": "sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.22.1" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz", + "integrity": "sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.22.1" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz", + "integrity": "sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz", + "integrity": "sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.22.1" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz", + "integrity": "sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/requester-common": "4.22.1" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz", + "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.6.0", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.0", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz", + "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz", + "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz", + "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz", + "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz", + "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz", + "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz", + "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz", + "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz", + "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz", + "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz", + "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz", + "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz", + "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.1.7.tgz", + "integrity": "sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==", + "dev": true + }, + "node_modules/@shikijs/transformers": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.1.7.tgz", + "integrity": "sha512-lXz011ao4+rvweps/9h3CchBfzb1U5OtP5D51Tqc9lQYdLblWMIxQxH6Ybe1GeGINcEVM4goMyPrI0JvlIp4UQ==", + "dev": true, + "dependencies": { + "shiki": "1.1.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "13.0.7", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz", + "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "dev": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", + "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.0.17.tgz", + "integrity": "sha512-UWU9tqzUBv+ttUxYLaQcL5IxSSdF+i6yheFiEtz7mh88YZUYkxpEmT43iKBs3YsC54ROwPD2iZIndnju6PWfOQ==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^7.0.17" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.0.17.tgz", + "integrity": "sha512-znPLSOoTP3RnR9fvkq5M+nnpEA+WocybzOo5ID73vYkE0/n0VcfU8Ld0j4AHQjV/omTdAzh6QLpPlUYdIHXg+w==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^7.0.17", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.0.17", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.0.17.tgz", + "integrity": "sha512-QNg2TMQBFFffRbTKE9NjytXBywGR77p2UMi/gJ0ow58S+1jkAvL8ikU/JnSs9ePvsVtspHX32m2cdfe4DJ4ygw==", + "dev": true, + "dependencies": { + "rfdc": "^1.3.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz", + "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz", + "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz", + "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.4.21", + "@vue/shared": "3.4.21", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz", + "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21" + }, + "peerDependencies": { + "vue": "3.4.21" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.9.0.tgz", + "integrity": "sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.9.0", + "@vueuse/shared": "10.9.0", + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.9.0.tgz", + "integrity": "sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==", + "dev": true, + "dependencies": { + "@vueuse/core": "10.9.0", + "@vueuse/shared": "10.9.0", + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "*", + "axios": "*", + "change-case": "*", + "drauu": "*", + "focus-trap": "*", + "fuse.js": "*", + "idb-keyval": "*", + "jwt-decode": "*", + "nprogress": "*", + "qrcode": "*", + "sortablejs": "*", + "universal-cookie": "*" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.9.0.tgz", + "integrity": "sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.9.0.tgz", + "integrity": "sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", + "integrity": "sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.22.1", + "@algolia/cache-common": "4.22.1", + "@algolia/cache-in-memory": "4.22.1", + "@algolia/client-account": "4.22.1", + "@algolia/client-analytics": "4.22.1", + "@algolia/client-common": "4.22.1", + "@algolia/client-personalization": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/logger-console": "4.22.1", + "@algolia/requester-browser-xhr": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/requester-node-http": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/focus-trap": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", + "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", + "dev": true, + "dependencies": { + "tabbable": "^6.2.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "node_modules/minisearch": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==", + "dev": true + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.19.6", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.6.tgz", + "integrity": "sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "node_modules/rollup": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", + "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.13.0", + "@rollup/rollup-android-arm64": "4.13.0", + "@rollup/rollup-darwin-arm64": "4.13.0", + "@rollup/rollup-darwin-x64": "4.13.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.13.0", + "@rollup/rollup-linux-arm64-gnu": "4.13.0", + "@rollup/rollup-linux-arm64-musl": "4.13.0", + "@rollup/rollup-linux-riscv64-gnu": "4.13.0", + "@rollup/rollup-linux-x64-gnu": "4.13.0", + "@rollup/rollup-linux-x64-musl": "4.13.0", + "@rollup/rollup-win32-arm64-msvc": "4.13.0", + "@rollup/rollup-win32-ia32-msvc": "4.13.0", + "@rollup/rollup-win32-x64-msvc": "4.13.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/search-insights": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", + "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", + "dev": true, + "peer": true + }, + "node_modules/shiki": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.1.7.tgz", + "integrity": "sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==", + "dev": true, + "dependencies": { + "@shikijs/core": "1.1.7" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true + }, + "node_modules/vite": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz", + "integrity": "sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "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 + } + } + }, + "node_modules/vitepress": { + "version": "1.0.0-rc.45", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.45.tgz", + "integrity": "sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.5.2", + "@docsearch/js": "^3.5.2", + "@shikijs/core": "^1.1.5", + "@shikijs/transformers": "^1.1.5", + "@types/markdown-it": "^13.0.7", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/devtools-api": "^7.0.14", + "@vueuse/core": "^10.7.2", + "@vueuse/integrations": "^10.7.2", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.3.0", + "shiki": "^1.1.5", + "vite": "^5.1.3", + "vue": "^3.4.19" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4.3.2", + "postcss": "^8.4.35" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz", + "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-sfc": "3.4.21", + "@vue/runtime-dom": "3.4.21", + "@vue/server-renderer": "3.4.21", + "@vue/shared": "3.4.21" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1f9e0de --- /dev/null +++ b/package.json @@ -0,0 +1,10 @@ +{ + "scripts": { + "docs:dev": "vitepress dev docs", + "docs:build": "vitepress build docs", + "docs:preview": "vitepress preview docs" + }, + "devDependencies": { + "vitepress": "^1.0.0-rc.45" + } +} From 8326cf6dc75a9f77e2a86b2287dd8bf11f7ec5ab Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 22:40:20 +0530 Subject: [PATCH 02/43] Modify some stuff --- docs/api-examples.md | 49 ---------------------- docs/index.md | 21 +++------- docs/markdown-examples.md | 85 --------------------------------------- 3 files changed, 6 insertions(+), 149 deletions(-) delete mode 100644 docs/api-examples.md delete mode 100644 docs/markdown-examples.md diff --git a/docs/api-examples.md b/docs/api-examples.md deleted file mode 100644 index 6bd8bb5..0000000 --- a/docs/api-examples.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -outline: deep ---- - -# Runtime API Examples - -This page demonstrates usage of some of the runtime APIs provided by VitePress. - -The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: - -```md - - -## Results - -### Theme Data -
{{ theme }}
- -### Page Data -
{{ page }}
- -### Page Frontmatter -
{{ frontmatter }}
-``` - - - -## Results - -### Theme Data -
{{ theme }}
- -### Page Data -
{{ page }}
- -### Page Frontmatter -
{{ frontmatter }}
- -## More - -Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/index.md b/docs/index.md index e9e6af0..3d5124f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,25 +1,16 @@ --- -# https://vitepress.dev/reference/default-theme-home-page layout: home hero: - name: "Strata" + name: "" text: "A cutting-edge, robust and sleek Wayland compositor with batteries included." - tagline: My great project tagline + tagline: actions: - theme: brand - text: Markdown Examples - link: /markdown-examples + text: Get Started + link: /get-started - theme: alt - text: API Examples - link: /api-examples - -features: - - title: Feature A - details: Lorem ipsum dolor sit amet, consectetur adipiscing elit - - title: Feature B - details: Lorem ipsum dolor sit amet, consectetur adipiscing elit - - title: Feature C - details: Lorem ipsum dolor sit amet, consectetur adipiscing elit + text: GitHub + link: https://github.com/stratawm/strata --- diff --git a/docs/markdown-examples.md b/docs/markdown-examples.md deleted file mode 100644 index f9258a5..0000000 --- a/docs/markdown-examples.md +++ /dev/null @@ -1,85 +0,0 @@ -# Markdown Extension Examples - -This page demonstrates some of the built-in markdown extensions provided by VitePress. - -## Syntax Highlighting - -VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: - -**Input** - -````md -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` -```` - -**Output** - -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` - -## Custom Containers - -**Input** - -```md -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: -``` - -**Output** - -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: - -## More - -Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). From 69043070dfd09e5dbc0e4c94db719b979ca2bfd2 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:06:21 +0530 Subject: [PATCH 03/43] start working --- docs/.vitepress/config.mts | 2 -- docs/get-started/index.md | 1 + docs/index.md | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) create mode 100644 docs/get-started/index.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 14e48c5..b021fea 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -1,11 +1,9 @@ import { defineConfig } from 'vitepress' -// https://vitepress.dev/reference/site-config export default defineConfig({ title: "Strata", description: "A cutting-edge, robust and sleek Wayland compositor with batteries included.", themeConfig: { - // https://vitepress.dev/reference/default-theme-config nav: [ { text: 'Home', link: '/' }, { text: 'Examples', link: '/markdown-examples' } diff --git a/docs/get-started/index.md b/docs/get-started/index.md new file mode 100644 index 0000000..4d1ae35 --- /dev/null +++ b/docs/get-started/index.md @@ -0,0 +1 @@ +f \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 3d5124f..19befc4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,7 +8,7 @@ hero: actions: - theme: brand text: Get Started - link: /get-started + link: /get-started/ - theme: alt text: GitHub link: https://github.com/stratawm/strata From 81012eea306b3acd66b29d2f8f9ee4ca42e32e1a Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:10:12 +0530 Subject: [PATCH 04/43] more stuff --- docs/.vitepress/config.mts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index b021fea..316e23a 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -6,7 +6,7 @@ export default defineConfig({ themeConfig: { nav: [ { text: 'Home', link: '/' }, - { text: 'Examples', link: '/markdown-examples' } + { text: 'Get Started', link: '/get-started/' } ], sidebar: [ @@ -20,7 +20,7 @@ export default defineConfig({ ], socialLinks: [ - { icon: 'github', link: 'https://github.com/vuejs/vitepress' } + { icon: 'github', link: 'https://github.com/stratawm/strata' } ] } }) From c40e36ada0d259240c1ede691df80930df39d59a Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:18:42 +0530 Subject: [PATCH 05/43] stufff --- docs/.vitepress/config.mts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 316e23a..8ab7119 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -11,10 +11,10 @@ export default defineConfig({ sidebar: [ { - text: 'Examples', + text: 'Get Started', items: [ - { text: 'Markdown Examples', link: '/markdown-examples' }, - { text: 'Runtime API Examples', link: '/api-examples' } + { text: 'Binary Packages', link: '/get-started/binary' }, + { text: 'Compiling', link: '/get-started/compiling' } ] } ], From 08d07cbcb3c158308ccc4fb5e4a8f06ecdfe5947 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:22:42 +0530 Subject: [PATCH 06/43] add more routes --- docs/.vitepress/config.mts | 12 ++++++++++-- docs/get-started/installing.md | 0 docs/get-started/troubleshooting.md | 0 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 docs/get-started/installing.md create mode 100644 docs/get-started/troubleshooting.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 8ab7119..e355300 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -13,8 +13,16 @@ export default defineConfig({ { text: 'Get Started', items: [ - { text: 'Binary Packages', link: '/get-started/binary' }, - { text: 'Compiling', link: '/get-started/compiling' } + { text: 'Installing', link: '/get-started/installing' }, + { text: 'Troubleshooting', link: '/get-started/troubleshooting' } + ] + }, + { + text: 'Configuration', + items: [ + { text: 'General', link: '/configuration/general' }, + { text: 'Keybindings', link: '/configuration/keybindings' }, + { text: 'Window rules', link: '/configuration/window-rules' }, ] } ], diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/get-started/troubleshooting.md b/docs/get-started/troubleshooting.md new file mode 100644 index 0000000..e69de29 From 5373c07de96e0f2c8609f8ff1addd05103b54be8 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:31:00 +0530 Subject: [PATCH 07/43] more stuff --- docs/get-started/index.md | 2 +- docs/get-started/installing.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/get-started/index.md b/docs/get-started/index.md index 4d1ae35..d0811ab 100644 --- a/docs/get-started/index.md +++ b/docs/get-started/index.md @@ -1 +1 @@ -f \ No newline at end of file +This section of the guide will help you in getting started with using Strata. To install Strata on most binary based GNU/Linux distributions like Arch, Fedora, Ubuntu/Debian/Pop!_OS, NixOS or OpenSuse, proceed to [this section](./installing). If you face any troubles while installing or when using Strata, see the [troubleshooting guide](./troubleshooting) for common problems and their fixes. Once you've successfully installed Strata, proceed to the [configuration section](/configuration/) \ No newline at end of file diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index e69de29..5351fa0 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -0,0 +1 @@ +However do note that packages are only update when new versions are released, so bleeding edge features might not be available. To ensure that you get all the latest fixes and features (and bugs :sweat-smile:), see [compiling] \ No newline at end of file From 27b4eb4a59f21ee983531afc7d9f6b715728ce7d Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:31:22 +0530 Subject: [PATCH 08/43] stuff --- docs/configuration/index.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/configuration/index.md diff --git a/docs/configuration/index.md b/docs/configuration/index.md new file mode 100644 index 0000000..e69de29 From 603f2ddb050c7a13a07c204098e3991771fa821f Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:34:07 +0530 Subject: [PATCH 09/43] add list of items to get-started --- docs/get-started/index.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/get-started/index.md b/docs/get-started/index.md index d0811ab..6027f0a 100644 --- a/docs/get-started/index.md +++ b/docs/get-started/index.md @@ -1 +1,7 @@ -This section of the guide will help you in getting started with using Strata. To install Strata on most binary based GNU/Linux distributions like Arch, Fedora, Ubuntu/Debian/Pop!_OS, NixOS or OpenSuse, proceed to [this section](./installing). If you face any troubles while installing or when using Strata, see the [troubleshooting guide](./troubleshooting) for common problems and their fixes. Once you've successfully installed Strata, proceed to the [configuration section](/configuration/) \ No newline at end of file +# Getting Started + +- [Installation](./installing) +- [Troubleshooting](./troubleshooting) +- [Configuration](/configuration/) + +This section of the guide will help you in getting started with using Strata. To install Strata on most binary based GNU/Linux distributions like Arch, Fedora, Ubuntu/Debian/Pop!_OS, NixOS or OpenSuse, proceed to [this page](./installing). If you face any troubles while installing or when using Strata, see the [troubleshooting guide](./troubleshooting) for common problems and their fixes. Once you've successfully installed Strata, proceed to the [configuration section](/configuration/) \ No newline at end of file From a13413a87603c1e6932f1e6b3eaebec8712f8ba6 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Tue, 12 Mar 2024 23:36:39 +0530 Subject: [PATCH 10/43] start working on installation guide --- docs/get-started/index.md | 2 +- docs/get-started/installing.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/get-started/index.md b/docs/get-started/index.md index 6027f0a..08025c9 100644 --- a/docs/get-started/index.md +++ b/docs/get-started/index.md @@ -4,4 +4,4 @@ - [Troubleshooting](./troubleshooting) - [Configuration](/configuration/) -This section of the guide will help you in getting started with using Strata. To install Strata on most binary based GNU/Linux distributions like Arch, Fedora, Ubuntu/Debian/Pop!_OS, NixOS or OpenSuse, proceed to [this page](./installing). If you face any troubles while installing or when using Strata, see the [troubleshooting guide](./troubleshooting) for common problems and their fixes. Once you've successfully installed Strata, proceed to the [configuration section](/configuration/) \ No newline at end of file +This section of the guide will help you in getting started with using Strata. To install Strata on most GNU/Linux distributions like Arch, Fedora, Ubuntu/Debian/Pop!_OS, NixOS or OpenSuse, proceed to [this page](./installing). If you face any troubles while installing or when using Strata, see the [troubleshooting guide](./troubleshooting) for common problems and their fixes. Once you've successfully installed Strata, proceed to the [configuration section](/configuration/) \ No newline at end of file diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index 5351fa0..d011311 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -1 +1,2 @@ -However do note that packages are only update when new versions are released, so bleeding edge features might not be available. To ensure that you get all the latest fixes and features (and bugs :sweat-smile:), see [compiling] \ No newline at end of file +# Installing +Currently, the only way to try Strata is by compiling it using the [Rust](https://rust-lang.org) compiler. \ No newline at end of file From 558b6d30abe0b6319bc12dfe9647f56614d2683a Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Wed, 13 Mar 2024 15:54:44 +0530 Subject: [PATCH 11/43] get rid of the pesky list --- docs/.vitepress/config.mts | 2 +- docs/get-started/index.md | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) delete mode 100644 docs/get-started/index.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index e355300..bb2a141 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -6,7 +6,7 @@ export default defineConfig({ themeConfig: { nav: [ { text: 'Home', link: '/' }, - { text: 'Get Started', link: '/get-started/' } + { text: 'Get Started', link: '/get-started/installing' } ], sidebar: [ diff --git a/docs/get-started/index.md b/docs/get-started/index.md deleted file mode 100644 index 08025c9..0000000 --- a/docs/get-started/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# Getting Started - -- [Installation](./installing) -- [Troubleshooting](./troubleshooting) -- [Configuration](/configuration/) - -This section of the guide will help you in getting started with using Strata. To install Strata on most GNU/Linux distributions like Arch, Fedora, Ubuntu/Debian/Pop!_OS, NixOS or OpenSuse, proceed to [this page](./installing). If you face any troubles while installing or when using Strata, see the [troubleshooting guide](./troubleshooting) for common problems and their fixes. Once you've successfully installed Strata, proceed to the [configuration section](/configuration/) \ No newline at end of file From 66fba96c46a419c9a96c212d756376e9315ae60e Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Wed, 13 Mar 2024 16:02:46 +0530 Subject: [PATCH 12/43] start work on install instructions --- docs/get-started/installing.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index d011311..4685e56 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -1,2 +1,15 @@ # Installing -Currently, the only way to try Strata is by compiling it using the [Rust](https://rust-lang.org) compiler. \ No newline at end of file +Currently, the only way to try Strata is by compiling it using the [Rust](https://rust-lang.org) compiler. + +## Installing Rust +To use the Rust compiler, you obviously have to first install it. This can vary across distributions but most distributions have Rust in their repositories. Instructions to install Rust on some of the popular distros are given below: + +::: code-group + +```bash [Arch Linux] +sudo pacman -S rust +``` + +```bash [Fedora] +``` +::: \ No newline at end of file From ce81f90918c332f7e0acd330ef134c487e9318f1 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Wed, 13 Mar 2024 16:30:08 +0530 Subject: [PATCH 13/43] modify --- docs/get-started/installing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index 4685e56..f0a4feb 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -2,7 +2,7 @@ Currently, the only way to try Strata is by compiling it using the [Rust](https://rust-lang.org) compiler. ## Installing Rust -To use the Rust compiler, you obviously have to first install it. This can vary across distributions but most distributions have Rust in their repositories. Instructions to install Rust on some of the popular distros are given below: +To build Strata, you need the Rust compiler and Cargo. These maybe available as specific packages in your distro's repository. For instructions to install these on some common distros, see below. If your distro is not listed, you can try the alternative method give afterwards. ::: code-group From 535e77fdd4e963b7e1c0ed730970a124f06d76e6 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Wed, 13 Mar 2024 16:30:59 +0530 Subject: [PATCH 14/43] add instructions for more distros --- docs/get-started/installing.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index f0a4feb..e4b71dc 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -11,5 +11,22 @@ sudo pacman -S rust ``` ```bash [Fedora] +sudo dnf install rust cargo +``` + +```bash [Debian (based)] +sudo apt install rustc cargo +``` + +```bash [openSUSE] +sudo zypper install rust cargo +``` + +```bash [Void Linux] +sudo xbps-install -S rust cargo +``` + +```bash [Gentoo] +sudo emerge dev-lang/rust sys-devel/cargo ``` ::: \ No newline at end of file From 6d77b59e175c88f8cd8d4685536e2d7920fbef9f Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Wed, 13 Mar 2024 17:04:05 +0530 Subject: [PATCH 15/43] stuf --- docs/get-started/installing.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index e4b71dc..bacd9a1 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -2,7 +2,9 @@ Currently, the only way to try Strata is by compiling it using the [Rust](https://rust-lang.org) compiler. ## Installing Rust -To build Strata, you need the Rust compiler and Cargo. These maybe available as specific packages in your distro's repository. For instructions to install these on some common distros, see below. If your distro is not listed, you can try the alternative method give afterwards. +To build Strata, you need the Rust compiler and Cargo. These maybe available as specific packages in your distro's repository. For instructions to install these on some common distros, see the [distro-specific instructions](#distro-specific). If your distro is not listed, you can try [this](#using-the-rustup-script). + +### Distro-specific ::: code-group @@ -29,4 +31,7 @@ sudo xbps-install -S rust cargo ```bash [Gentoo] sudo emerge dev-lang/rust sys-devel/cargo ``` -::: \ No newline at end of file +::: + +### Using the `rustup` script +If you are not on any of the above distros or that method didn't work for you, you can try using the official Rustup script \ No newline at end of file From 26ad20acb749c7770554c5de77f1037d3a6fe5fd Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 09:31:34 +0530 Subject: [PATCH 16/43] instructions for rustup script --- docs/get-started/installing.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index bacd9a1..9062a48 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -34,4 +34,12 @@ sudo emerge dev-lang/rust sys-devel/cargo ::: ### Using the `rustup` script -If you are not on any of the above distros or that method didn't work for you, you can try using the official Rustup script \ No newline at end of file +If you are not on any of the above distros or that method didn't work for you, you can try using the official [Rustup](https://rustup.rs) script. This script will work on virtually any GNU/Linux distro. To use this scripts, its recommended that you use `curl`. + +::: details Expand to see how to install `curl` + +::: code-group + +::: + +::: \ No newline at end of file From 9fd2cfe6cc1813cb95bc7b176b4f3ef4b69fcfd2 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 10:35:23 +0530 Subject: [PATCH 17/43] more instructions --- docs/get-started/installing.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index 9062a48..c91d953 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -34,12 +34,8 @@ sudo emerge dev-lang/rust sys-devel/cargo ::: ### Using the `rustup` script -If you are not on any of the above distros or that method didn't work for you, you can try using the official [Rustup](https://rustup.rs) script. This script will work on virtually any GNU/Linux distro. To use this scripts, its recommended that you use `curl`. +If you are not on any of the above distros or that method didn't work for you, you can try using the official [Rustup](https://rustup.rs) script. This script will work on virtually any GNU/Linux distro. To use this script, its recommended that you use `curl`. You probably already have it installed. If not, you can easily install it using your distro's package manager. Then run this command: -::: details Expand to see how to install `curl` - -::: code-group - -::: - -::: \ No newline at end of file +```bash +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` From 84b9b41541650edc2d04b33878201cf41f67d818 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 10:39:05 +0530 Subject: [PATCH 18/43] finish rust install guide --- docs/get-started/installing.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index c91d953..8a0880e 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -39,3 +39,8 @@ If you are not on any of the above distros or that method didn't work for you, y ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` + +Now just follow the prompts. You should be okay with the defaults. + +## Installing other dependencies +To compile and run Strata, you need some external dependencies. These are dependencies mostly used by the [Smithay](https://github.com/smithay/smithay) library. \ No newline at end of file From 1498b893443b3259deb938428d28cbc883512437 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 10:42:56 +0530 Subject: [PATCH 19/43] instructions to install other deps --- docs/get-started/installing.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index 8a0880e..b28e367 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -43,4 +43,20 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh Now just follow the prompts. You should be okay with the defaults. ## Installing other dependencies -To compile and run Strata, you need some external dependencies. These are dependencies mostly used by the [Smithay](https://github.com/smithay/smithay) library. \ No newline at end of file +To compile and run Strata, you need some external dependencies. These are dependencies mostly used by the [Smithay](https://github.com/smithay/smithay) library. The required dependencies are: + +* `udev` +* `wayland` +* `wayland-protocols` +* `libinput` +* `libxkbcommon` +* `libglvnd` +* `seatd` +* `dbus-glib ` +* `mesa` +* `make` (for compiling and linking) + +The package names vary across different distributions. The install instructions for Arch, Fedora and Debian have been given below: + +::: code-group +::: \ No newline at end of file From 549b45c8dc525b788136967949f022af35832391 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 10:45:51 +0530 Subject: [PATCH 20/43] install instructions for some distros --- docs/get-started/installing.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index b28e367..be65975 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -59,4 +59,16 @@ To compile and run Strata, you need some external dependencies. These are depend The package names vary across different distributions. The install instructions for Arch, Fedora and Debian have been given below: ::: code-group + +```bash [Arch Linux] +sudo pacman -S udev wayland wayland-protocols libinput libxkbcommon libglvnd seatd dbus-glib mesa make +``` + +```bash [Fedora] +sudo dnf install systemd-devel libgbm-devel libxkbcommon-devel Mesa-libEGL-devel wayland-devel libinput-devel dbus-glib-devel libseat-devel +``` + +```bash [Debian/Ubuntu/Pop!_OS] +sudo apt-get install libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev make +``` ::: \ No newline at end of file From 6cd7c27de663dbaa26c0c5577485238c9540fa23 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 10:56:06 +0530 Subject: [PATCH 21/43] add isntalling strata section --- docs/get-started/installing.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index be65975..6483806 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -71,4 +71,11 @@ sudo dnf install systemd-devel libgbm-devel libxkbcommon-devel Mesa-libEGL-devel ```bash [Debian/Ubuntu/Pop!_OS] sudo apt-get install libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev make ``` +::: + +## Installing Strata +Now, to install Strata, you first have to clone the Git repository. For this, using `git` is recommended. However, you can also just download the Zip archive and extract it. + +::: details Why Git? +Since Strata is being constantly updated, you'll often have to download the latest repository and re-compile it. Using `git` makes this significantly easier than downloading and extracting the Zip archive each time. Throughout this guide, it is assumed that you're using `git`. ::: \ No newline at end of file From e1527773dee7abdc59d5153d67273b4e95c4e602 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 10:59:10 +0530 Subject: [PATCH 22/43] instructions for installing strata --- docs/get-started/installing.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index 6483806..2eb680b 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -78,4 +78,22 @@ Now, to install Strata, you first have to clone the Git repository. For this, us ::: details Why Git? Since Strata is being constantly updated, you'll often have to download the latest repository and re-compile it. Using `git` makes this significantly easier than downloading and extracting the Zip archive each time. Throughout this guide, it is assumed that you're using `git`. -::: \ No newline at end of file +::: + +To clone the repo, run: + +```bash +git clone https://github.com/stratawm/strata + ``` + +Then to install Strata, `cd` into the cloned repo: + +```bash +cd strata +``` + +and run this command to install it: + +```bash +sudo make install +``` \ No newline at end of file From 7bff8afe2cd04014f62b0c49d12e9b413d52b9c2 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 11:09:15 +0530 Subject: [PATCH 23/43] updating strata --- docs/get-started/installing.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index 2eb680b..a01d0a9 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -96,4 +96,35 @@ and run this command to install it: ```bash sudo make install -``` \ No newline at end of file +``` + +If this command finishes without any errors, then Strata has been installed successfully :tada:! + +## Updating Strata +Strata is being constantly updated. New features are added and bugs are fixed. To update your local installation, follow these steps. + +First `cd` into the directory where you initially clone the repo: + +```bash +cd strata +``` + +Next, you need to configure Git to rebase the branch when pulling. To do this, run: + +```bash +git config pull.rebase true +``` + +Now you can run: + +```bash +git pull +``` + +This will fetch all the latest changes from the remote repo. Finally you can run + +```bash +sudo make install +``` + +to recompile and install Strata with the latest changes \ No newline at end of file From 0b2f9c27e1ff41230e16c88d7de3d2057f89a001 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 11:15:21 +0530 Subject: [PATCH 24/43] finish install page --- docs/get-started/installing.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index a01d0a9..e183669 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -127,4 +127,6 @@ This will fetch all the latest changes from the remote repo. Finally you can run sudo make install ``` -to recompile and install Strata with the latest changes \ No newline at end of file +to recompile and install Strata with the latest changes. + +If you face any issues while installing Strata, checkout out the next page which has solutions for many common issues. \ No newline at end of file From f0f05db9bb5a855cdf762a7eb66ece4b18fb7504 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 11:26:34 +0530 Subject: [PATCH 25/43] add discord link and fix broken link in home --- docs/.vitepress/config.mts | 3 ++- docs/index.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index bb2a141..d26e7d3 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -28,7 +28,8 @@ export default defineConfig({ ], socialLinks: [ - { icon: 'github', link: 'https://github.com/stratawm/strata' } + { icon: 'github', link: 'https://github.com/stratawm/strata' }, + { icon: 'discord', link: 'https://discord.gg/tcb5cRW4ZQ' } ] } }) diff --git a/docs/index.md b/docs/index.md index 19befc4..5205f54 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,7 +8,7 @@ hero: actions: - theme: brand text: Get Started - link: /get-started/ + link: /get-started/installing - theme: alt text: GitHub link: https://github.com/stratawm/strata From 430bb004f51ea6785660ebf13d6199c1b0645028 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 15:11:07 +0530 Subject: [PATCH 26/43] start working on customizing the theme --- docs/.vitepress/theme/colors.css | 0 docs/.vitepress/theme/fonts.css | 0 docs/.vitepress/theme/index.ts | 5 +++++ 3 files changed, 5 insertions(+) create mode 100644 docs/.vitepress/theme/colors.css create mode 100644 docs/.vitepress/theme/fonts.css create mode 100644 docs/.vitepress/theme/index.ts diff --git a/docs/.vitepress/theme/colors.css b/docs/.vitepress/theme/colors.css new file mode 100644 index 0000000..e69de29 diff --git a/docs/.vitepress/theme/fonts.css b/docs/.vitepress/theme/fonts.css new file mode 100644 index 0000000..e69de29 diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..2ef53ec --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,5 @@ +import DefaultTheme from 'vitepress/theme-without-fonts' +import './colors.css' +import './fonts.css' + +export default DefaultTheme \ No newline at end of file From 6c271c4f22b02ca96b8252be552a6923f25cf617 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 15:37:33 +0530 Subject: [PATCH 27/43] set custom fonts --- docs/.vitepress/theme/fonts.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/.vitepress/theme/fonts.css b/docs/.vitepress/theme/fonts.css index e69de29..ee1e4b2 100644 --- a/docs/.vitepress/theme/fonts.css +++ b/docs/.vitepress/theme/fonts.css @@ -0,0 +1,7 @@ +@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap'); + +:root { + --vp-font-family-base: "Roboto"; + --vp-font-family-mono: "JetBrains Mono" + } \ No newline at end of file From 061c1b39c76e8e60b7fea2581bf280930cdaae28 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 15:45:18 +0530 Subject: [PATCH 28/43] start working on custom colors --- docs/.vitepress/theme/colors.css | 562 +++++++++++++++++++++++++++++++ 1 file changed, 562 insertions(+) diff --git a/docs/.vitepress/theme/colors.css b/docs/.vitepress/theme/colors.css index e69de29..c9bd0a2 100644 --- a/docs/.vitepress/theme/colors.css +++ b/docs/.vitepress/theme/colors.css @@ -0,0 +1,562 @@ +/** + * Colors: Solid + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-white: #ffffff; + --vp-c-black: #000000; + + --vp-c-neutral: var(--vp-c-black); + --vp-c-neutral-inverse: var(--vp-c-white); + } + + .dark { + --vp-c-neutral: var(--vp-c-white); + --vp-c-neutral-inverse: var(--vp-c-black); + } + + /** + * Colors: Palette + * + * The primitive colors used for accent colors. These colors are referenced + * by functional colors such as "Text", "Background", or "Brand". + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-gray-1: #dddde3; + --vp-c-gray-2: #e4e4e9; + --vp-c-gray-3: #ebebef; + --vp-c-gray-soft: rgba(142, 150, 170, 0.14); + + --vp-c-indigo-1: #3451b2; + --vp-c-indigo-2: #3a5ccc; + --vp-c-indigo-3: #5672cd; + --vp-c-indigo-soft: rgba(100, 108, 255, 0.14); + + --vp-c-purple-1: #6f42c1; + --vp-c-purple-2: #7e4cc9; + --vp-c-purple-3: #8e5cd9; + --vp-c-purple-soft: rgba(159, 122, 234, 0.14); + + --vp-c-green-1: #18794e; + --vp-c-green-2: #299764; + --vp-c-green-3: #30a46c; + --vp-c-green-soft: rgba(16, 185, 129, 0.14); + + --vp-c-yellow-1: #915930; + --vp-c-yellow-2: #946300; + --vp-c-yellow-3: #9f6a00; + --vp-c-yellow-soft: rgba(234, 179, 8, 0.14); + + --vp-c-red-1: #b8272c; + --vp-c-red-2: #d5393e; + --vp-c-red-3: #e0575b; + --vp-c-red-soft: rgba(244, 63, 94, 0.14); + + --vp-c-sponsor: #db2777; + } + + .dark { + --vp-c-gray-1: #515c67; + --vp-c-gray-2: #414853; + --vp-c-gray-3: #32363f; + --vp-c-gray-soft: rgba(101, 117, 133, 0.16); + + --vp-c-indigo-1: #a8b1ff; + --vp-c-indigo-2: #5c73e7; + --vp-c-indigo-3: #3e63dd; + --vp-c-indigo-soft: rgba(100, 108, 255, 0.16); + + --vp-c-purple-1: #c8abfa; + --vp-c-purple-2: #a879e6; + --vp-c-purple-3: #8e5cd9; + --vp-c-purple-soft: rgba(159, 122, 234, 0.16); + + --vp-c-green-1: #3dd68c; + --vp-c-green-2: #30a46c; + --vp-c-green-3: #298459; + --vp-c-green-soft: rgba(16, 185, 129, 0.16); + + --vp-c-yellow-1: #f9b44e; + --vp-c-yellow-2: #da8b17; + --vp-c-yellow-3: #a46a0a; + --vp-c-yellow-soft: rgba(234, 179, 8, 0.16); + + --vp-c-red-1: #f66f81; + --vp-c-red-2: #f14158; + --vp-c-red-3: #b62a3c; + --vp-c-red-soft: rgba(244, 63, 94, 0.16); + } + + /** + * Colors: Background + * + * - `bg`: The bg color used for main screen. + * + * - `bg-alt`: The alternative bg color used in places such as "sidebar", + * or "code block". + * + * - `bg-elv`: The elevated bg color. This is used at parts where it "floats", + * such as "dialog". + * + * - `bg-soft`: The bg color to slightly distinguish some components from + * the page. Used for things like "carbon ads" or "table". + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-bg: #ffffff; + --vp-c-bg-alt: #f6f6f7; + --vp-c-bg-elv: #ffffff; + --vp-c-bg-soft: #f6f6f7; + } + + .dark { + --vp-c-bg: #1b1b1f; + --vp-c-bg-alt: #161618; + --vp-c-bg-elv: #202127; + --vp-c-bg-soft: #202127; + } + + /** + * Colors: Borders + * + * - `divider`: This is used for separators. This is used to divide sections + * within the same components, such as having separator on "h2" heading. + * + * - `border`: This is designed for borders on interactive components. + * For example this should be used for a button outline. + * + * - `gutter`: This is used to divide components in the page. For example + * the header and the lest of the page. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-border: #c2c2c4; + --vp-c-divider: #e2e2e3; + --vp-c-gutter: #e2e2e3; + } + + .dark { + --vp-c-border: #3c3f44; + --vp-c-divider: #2e2e32; + --vp-c-gutter: #000000; + } + + /** + * Colors: Text + * + * - `text-1`: Used for primary text. + * + * - `text-2`: Used for muted texts, such as "inactive menu" or "info texts". + * + * - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon". + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-text-1: rgba(60, 60, 67); + --vp-c-text-2: rgba(60, 60, 67, 0.78); + --vp-c-text-3: rgba(60, 60, 67, 0.56); + } + + .dark { + --vp-c-text-1: rgba(255, 255, 245, 0.86); + --vp-c-text-2: rgba(235, 235, 245, 0.6); + --vp-c-text-3: rgba(235, 235, 245, 0.38); + } + + /** + * Colors: Function + * + * - `default`: The color used purely for subtle indication without any + * special meanings attached to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * + * To understand the scaling system, refer to "Colors: Palette" section. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: var(--vp-c-indigo-1); + --vp-c-brand-2: var(--vp-c-indigo-2); + --vp-c-brand-3: var(--vp-c-indigo-3); + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + /* DEPRECATED: Use `--vp-c-brand-1` instead. */ + --vp-c-brand: var(--vp-c-brand-1); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-note-1: var(--vp-c-brand-1); + --vp-c-note-2: var(--vp-c-brand-2); + --vp-c-note-3: var(--vp-c-brand-3); + --vp-c-note-soft: var(--vp-c-brand-soft); + + --vp-c-success-1: var(--vp-c-green-1); + --vp-c-success-2: var(--vp-c-green-2); + --vp-c-success-3: var(--vp-c-green-3); + --vp-c-success-soft: var(--vp-c-green-soft); + + --vp-c-important-1: var(--vp-c-purple-1); + --vp-c-important-2: var(--vp-c-purple-2); + --vp-c-important-3: var(--vp-c-purple-3); + --vp-c-important-soft: var(--vp-c-purple-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); + + --vp-c-caution-1: var(--vp-c-red-1); + --vp-c-caution-2: var(--vp-c-red-2); + --vp-c-caution-3: var(--vp-c-red-3); + --vp-c-caution-soft: var(--vp-c-red-soft); + } + + /** + * Typography + * -------------------------------------------------------------------------- */ + + :root { + --vp-font-family-base: 'Chinese Quotes', 'Inter var', 'Inter', ui-sans-serif, + system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, + 'Helvetica Neue', Helvetica, Arial, 'Noto Sans', sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + --vp-font-family-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, + Consolas, 'Liberation Mono', 'Courier New', monospace; + } + + /** + * Shadows + * -------------------------------------------------------------------------- */ + + :root { + --vp-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); + --vp-shadow-2: 0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07); + --vp-shadow-3: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08); + --vp-shadow-4: 0 14px 44px rgba(0, 0, 0, 0.12), 0 3px 9px rgba(0, 0, 0, 0.12); + --vp-shadow-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16); + } + + /** + * Z-indexes + * -------------------------------------------------------------------------- */ + + :root { + --vp-z-index-footer: 10; + --vp-z-index-local-nav: 20; + --vp-z-index-nav: 30; + --vp-z-index-layout-top: 40; + --vp-z-index-backdrop: 50; + --vp-z-index-sidebar: 60; + } + + @media (min-width: 960px) { + :root { + --vp-z-index-sidebar: 25; + } + } + + /** + * Layouts + * -------------------------------------------------------------------------- */ + + :root { + --vp-layout-max-width: 1440px; + } + + /** + * Component: Header Anchor + * -------------------------------------------------------------------------- */ + + :root { + --vp-header-anchor-symbol: '#'; + } + + /** + * Component: Code + * -------------------------------------------------------------------------- */ + + :root { + --vp-code-line-height: 1.7; + --vp-code-font-size: 0.875em; + --vp-code-color: var(--vp-c-brand-1); + --vp-code-link-color: var(--vp-c-brand-1); + --vp-code-link-hover-color: var(--vp-c-brand-2); + --vp-code-bg: var(--vp-c-default-soft); + + --vp-code-block-color: var(--vp-c-text-2); + --vp-code-block-bg: var(--vp-c-bg-alt); + --vp-code-block-divider-color: var(--vp-c-gutter); + + --vp-code-lang-color: var(--vp-c-text-3); + + --vp-code-line-highlight-color: var(--vp-c-default-soft); + --vp-code-line-number-color: var(--vp-c-text-3); + + --vp-code-line-diff-add-color: var(--vp-c-success-soft); + --vp-code-line-diff-add-symbol-color: var(--vp-c-success-1); + + --vp-code-line-diff-remove-color: var(--vp-c-danger-soft); + --vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1); + + --vp-code-line-warning-color: var(--vp-c-warning-soft); + --vp-code-line-error-color: var(--vp-c-danger-soft); + + --vp-code-copy-code-border-color: var(--vp-c-divider); + --vp-code-copy-code-bg: var(--vp-c-bg-soft); + --vp-code-copy-code-hover-border-color: var(--vp-c-divider); + --vp-code-copy-code-hover-bg: var(--vp-c-bg); + --vp-code-copy-code-active-text: var(--vp-c-text-2); + --vp-code-copy-copied-text-content: 'Copied'; + + --vp-code-tab-divider: var(--vp-code-block-divider-color); + --vp-code-tab-text-color: var(--vp-c-text-2); + --vp-code-tab-bg: var(--vp-code-block-bg); + --vp-code-tab-hover-text-color: var(--vp-c-text-1); + --vp-code-tab-active-text-color: var(--vp-c-text-1); + --vp-code-tab-active-bar-color: var(--vp-c-brand-1); + } + + /** + * Component: Button + * -------------------------------------------------------------------------- */ + + :root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); + + --vp-button-alt-border: transparent; + --vp-button-alt-text: var(--vp-c-text-1); + --vp-button-alt-bg: var(--vp-c-default-3); + --vp-button-alt-hover-border: transparent; + --vp-button-alt-hover-text: var(--vp-c-text-1); + --vp-button-alt-hover-bg: var(--vp-c-default-2); + --vp-button-alt-active-border: transparent; + --vp-button-alt-active-text: var(--vp-c-text-1); + --vp-button-alt-active-bg: var(--vp-c-default-1); + + --vp-button-sponsor-border: var(--vp-c-text-2); + --vp-button-sponsor-text: var(--vp-c-text-2); + --vp-button-sponsor-bg: transparent; + --vp-button-sponsor-hover-border: var(--vp-c-sponsor); + --vp-button-sponsor-hover-text: var(--vp-c-sponsor); + --vp-button-sponsor-hover-bg: transparent; + --vp-button-sponsor-active-border: var(--vp-c-sponsor); + --vp-button-sponsor-active-text: var(--vp-c-sponsor); + --vp-button-sponsor-active-bg: transparent; + } + + /** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + + :root { + --vp-custom-block-font-size: 14px; + --vp-custom-block-code-font-size: 13px; + + --vp-custom-block-info-border: transparent; + --vp-custom-block-info-text: var(--vp-c-text-1); + --vp-custom-block-info-bg: var(--vp-c-default-soft); + --vp-custom-block-info-code-bg: var(--vp-c-default-soft); + + --vp-custom-block-note-border: transparent; + --vp-custom-block-note-text: var(--vp-c-text-1); + --vp-custom-block-note-bg: var(--vp-c-default-soft); + --vp-custom-block-note-code-bg: var(--vp-c-default-soft); + + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-tip-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-tip-soft); + + --vp-custom-block-important-border: transparent; + --vp-custom-block-important-text: var(--vp-c-text-1); + --vp-custom-block-important-bg: var(--vp-c-important-soft); + --vp-custom-block-important-code-bg: var(--vp-c-important-soft); + + --vp-custom-block-warning-border: transparent; + --vp-custom-block-warning-text: var(--vp-c-text-1); + --vp-custom-block-warning-bg: var(--vp-c-warning-soft); + --vp-custom-block-warning-code-bg: var(--vp-c-warning-soft); + + --vp-custom-block-danger-border: transparent; + --vp-custom-block-danger-text: var(--vp-c-text-1); + --vp-custom-block-danger-bg: var(--vp-c-danger-soft); + --vp-custom-block-danger-code-bg: var(--vp-c-danger-soft); + + --vp-custom-block-caution-border: transparent; + --vp-custom-block-caution-text: var(--vp-c-text-1); + --vp-custom-block-caution-bg: var(--vp-c-caution-soft); + --vp-custom-block-caution-code-bg: var(--vp-c-caution-soft); + + --vp-custom-block-details-border: var(--vp-custom-block-info-border); + --vp-custom-block-details-text: var(--vp-custom-block-info-text); + --vp-custom-block-details-bg: var(--vp-custom-block-info-bg); + --vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg); + } + + /** + * Component: Input + * -------------------------------------------------------------------------- */ + + :root { + --vp-input-border-color: var(--vp-c-border); + --vp-input-bg-color: var(--vp-c-bg-alt); + + --vp-input-switch-bg-color: var(--vp-c-default-soft); + } + + /** + * Component: Nav + * -------------------------------------------------------------------------- */ + + :root { + --vp-nav-height: 64px; + --vp-nav-bg-color: var(--vp-c-bg); + --vp-nav-screen-bg-color: var(--vp-c-bg); + --vp-nav-logo-height: 24px; + } + + .hide-nav { + --vp-nav-height: 0px; + } + + .hide-nav .VPSidebar { + --vp-nav-height: 22px; + } + + /** + * Component: Local Nav + * -------------------------------------------------------------------------- */ + + :root { + --vp-local-nav-bg-color: var(--vp-c-bg); + } + + /** + * Component: Sidebar + * -------------------------------------------------------------------------- */ + + :root { + --vp-sidebar-width: 272px; + --vp-sidebar-bg-color: var(--vp-c-bg-alt); + } + + /** + * Colors Backdrop + * -------------------------------------------------------------------------- */ + + :root { + --vp-backdrop-bg-color: rgba(0, 0, 0, 0.6); + } + + /** + * Component: Home + * -------------------------------------------------------------------------- */ + + :root { + --vp-home-hero-name-color: var(--vp-c-brand-1); + --vp-home-hero-name-background: transparent; + + --vp-home-hero-image-background-image: none; + --vp-home-hero-image-filter: none; + } + + /** + * Component: Badge + * -------------------------------------------------------------------------- */ + + :root { + --vp-badge-info-border: transparent; + --vp-badge-info-text: var(--vp-c-text-2); + --vp-badge-info-bg: var(--vp-c-default-soft); + + --vp-badge-tip-border: transparent; + --vp-badge-tip-text: var(--vp-c-tip-1); + --vp-badge-tip-bg: var(--vp-c-tip-soft); + + --vp-badge-warning-border: transparent; + --vp-badge-warning-text: var(--vp-c-warning-1); + --vp-badge-warning-bg: var(--vp-c-warning-soft); + + --vp-badge-danger-border: transparent; + --vp-badge-danger-text: var(--vp-c-danger-1); + --vp-badge-danger-bg: var(--vp-c-danger-soft); + } + + /** + * Component: Carbon Ads + * -------------------------------------------------------------------------- */ + + :root { + --vp-carbon-ads-text-color: var(--vp-c-text-1); + --vp-carbon-ads-poweredby-color: var(--vp-c-text-2); + --vp-carbon-ads-bg-color: var(--vp-c-bg-soft); + --vp-carbon-ads-hover-text-color: var(--vp-c-brand-1); + --vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1); + } + + /** + * Component: Local Search + * -------------------------------------------------------------------------- */ + + :root { + --vp-local-search-bg: var(--vp-c-bg); + --vp-local-search-result-bg: var(--vp-c-bg); + --vp-local-search-result-border: var(--vp-c-divider); + --vp-local-search-result-selected-bg: var(--vp-c-bg); + --vp-local-search-result-selected-border: var(--vp-c-brand-1); + --vp-local-search-highlight-bg: var(--vp-c-brand-1); + --vp-local-search-highlight-text: var(--vp-c-neutral-inverse); + } \ No newline at end of file From f95a2461963915771dcbf92163752bc91c95b7ca Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 16:08:07 +0530 Subject: [PATCH 29/43] going pretty good hehe :sweat_smile: --- docs/.vitepress/theme/colors.css | 567 +------------------------------ 1 file changed, 10 insertions(+), 557 deletions(-) diff --git a/docs/.vitepress/theme/colors.css b/docs/.vitepress/theme/colors.css index c9bd0a2..5d524e5 100644 --- a/docs/.vitepress/theme/colors.css +++ b/docs/.vitepress/theme/colors.css @@ -1,562 +1,15 @@ -/** - * Colors: Solid - * -------------------------------------------------------------------------- */ +@import url('https://unpkg.com/@catppuccin/palette/css/catppuccin.css'); - :root { - --vp-c-white: #ffffff; - --vp-c-black: #000000; - - --vp-c-neutral: var(--vp-c-black); - --vp-c-neutral-inverse: var(--vp-c-white); - } - - .dark { - --vp-c-neutral: var(--vp-c-white); - --vp-c-neutral-inverse: var(--vp-c-black); - } - - /** - * Colors: Palette - * - * The primitive colors used for accent colors. These colors are referenced - * by functional colors such as "Text", "Background", or "Brand". - * - * Each colors have exact same color scale system with 3 levels of solid - * colors with different brightness, and 1 soft color. - * - * - `XXX-1`: The most solid color used mainly for colored text. It must - * satisfy the contrast ratio against when used on top of `XXX-soft`. - * - * - `XXX-2`: The color used mainly for hover state of the button. - * - * - `XXX-3`: The color for solid background, such as bg color of the button. - * It must satisfy the contrast ratio with pure white (#ffffff) text on - * top of it. - * - * - `XXX-soft`: The color used for subtle background such as custom container - * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors - * on top of it. - * - * The soft color must be semi transparent alpha channel. This is crucial - * because it allows adding multiple "soft" colors on top of each other - * to create a accent, such as when having inline code block inside - * custom containers. - * -------------------------------------------------------------------------- */ - - :root { - --vp-c-gray-1: #dddde3; - --vp-c-gray-2: #e4e4e9; - --vp-c-gray-3: #ebebef; - --vp-c-gray-soft: rgba(142, 150, 170, 0.14); - - --vp-c-indigo-1: #3451b2; - --vp-c-indigo-2: #3a5ccc; - --vp-c-indigo-3: #5672cd; - --vp-c-indigo-soft: rgba(100, 108, 255, 0.14); - - --vp-c-purple-1: #6f42c1; - --vp-c-purple-2: #7e4cc9; - --vp-c-purple-3: #8e5cd9; - --vp-c-purple-soft: rgba(159, 122, 234, 0.14); - - --vp-c-green-1: #18794e; - --vp-c-green-2: #299764; - --vp-c-green-3: #30a46c; - --vp-c-green-soft: rgba(16, 185, 129, 0.14); - - --vp-c-yellow-1: #915930; - --vp-c-yellow-2: #946300; - --vp-c-yellow-3: #9f6a00; - --vp-c-yellow-soft: rgba(234, 179, 8, 0.14); - - --vp-c-red-1: #b8272c; - --vp-c-red-2: #d5393e; - --vp-c-red-3: #e0575b; - --vp-c-red-soft: rgba(244, 63, 94, 0.14); - - --vp-c-sponsor: #db2777; - } - - .dark { - --vp-c-gray-1: #515c67; - --vp-c-gray-2: #414853; - --vp-c-gray-3: #32363f; - --vp-c-gray-soft: rgba(101, 117, 133, 0.16); - - --vp-c-indigo-1: #a8b1ff; - --vp-c-indigo-2: #5c73e7; - --vp-c-indigo-3: #3e63dd; - --vp-c-indigo-soft: rgba(100, 108, 255, 0.16); - - --vp-c-purple-1: #c8abfa; - --vp-c-purple-2: #a879e6; - --vp-c-purple-3: #8e5cd9; - --vp-c-purple-soft: rgba(159, 122, 234, 0.16); - - --vp-c-green-1: #3dd68c; - --vp-c-green-2: #30a46c; - --vp-c-green-3: #298459; - --vp-c-green-soft: rgba(16, 185, 129, 0.16); - - --vp-c-yellow-1: #f9b44e; - --vp-c-yellow-2: #da8b17; - --vp-c-yellow-3: #a46a0a; - --vp-c-yellow-soft: rgba(234, 179, 8, 0.16); - - --vp-c-red-1: #f66f81; - --vp-c-red-2: #f14158; - --vp-c-red-3: #b62a3c; - --vp-c-red-soft: rgba(244, 63, 94, 0.16); - } - - /** - * Colors: Background - * - * - `bg`: The bg color used for main screen. - * - * - `bg-alt`: The alternative bg color used in places such as "sidebar", - * or "code block". - * - * - `bg-elv`: The elevated bg color. This is used at parts where it "floats", - * such as "dialog". - * - * - `bg-soft`: The bg color to slightly distinguish some components from - * the page. Used for things like "carbon ads" or "table". - * -------------------------------------------------------------------------- */ - - :root { - --vp-c-bg: #ffffff; - --vp-c-bg-alt: #f6f6f7; - --vp-c-bg-elv: #ffffff; - --vp-c-bg-soft: #f6f6f7; - } - - .dark { - --vp-c-bg: #1b1b1f; - --vp-c-bg-alt: #161618; - --vp-c-bg-elv: #202127; - --vp-c-bg-soft: #202127; - } - - /** - * Colors: Borders - * - * - `divider`: This is used for separators. This is used to divide sections - * within the same components, such as having separator on "h2" heading. - * - * - `border`: This is designed for borders on interactive components. - * For example this should be used for a button outline. - * - * - `gutter`: This is used to divide components in the page. For example - * the header and the lest of the page. - * -------------------------------------------------------------------------- */ - - :root { - --vp-c-border: #c2c2c4; - --vp-c-divider: #e2e2e3; - --vp-c-gutter: #e2e2e3; - } - - .dark { - --vp-c-border: #3c3f44; - --vp-c-divider: #2e2e32; - --vp-c-gutter: #000000; - } - - /** - * Colors: Text - * - * - `text-1`: Used for primary text. - * - * - `text-2`: Used for muted texts, such as "inactive menu" or "info texts". - * - * - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon". - * -------------------------------------------------------------------------- */ - - :root { - --vp-c-text-1: rgba(60, 60, 67); - --vp-c-text-2: rgba(60, 60, 67, 0.78); - --vp-c-text-3: rgba(60, 60, 67, 0.56); +:root { + --vp-c-bg: var(--ctp-latte-mantle); + --vp-c-bg-alt: var(--ctp-latte-crust); + --vp-c-bg-elv: var(--ctp-latte-base); + --vp-c-bg-soft: var(--ctp-latte-surface0); } .dark { - --vp-c-text-1: rgba(255, 255, 245, 0.86); - --vp-c-text-2: rgba(235, 235, 245, 0.6); - --vp-c-text-3: rgba(235, 235, 245, 0.38); - } - - /** - * Colors: Function - * - * - `default`: The color used purely for subtle indication without any - * special meanings attached to it such as bg color for menu hover state. - * - * - `brand`: Used for primary brand colors, such as link text, button with - * brand theme, etc. - * - * - `tip`: Used to indicate useful information. The default theme uses the - * brand color for this by default. - * - * - `warning`: Used to indicate warning to the users. Used in custom - * container, badges, etc. - * - * - `danger`: Used to show error, or dangerous message to the users. Used - * in custom container, badges, etc. - * - * To understand the scaling system, refer to "Colors: Palette" section. - * -------------------------------------------------------------------------- */ - - :root { - --vp-c-default-1: var(--vp-c-gray-1); - --vp-c-default-2: var(--vp-c-gray-2); - --vp-c-default-3: var(--vp-c-gray-3); - --vp-c-default-soft: var(--vp-c-gray-soft); - - --vp-c-brand-1: var(--vp-c-indigo-1); - --vp-c-brand-2: var(--vp-c-indigo-2); - --vp-c-brand-3: var(--vp-c-indigo-3); - --vp-c-brand-soft: var(--vp-c-indigo-soft); - - /* DEPRECATED: Use `--vp-c-brand-1` instead. */ - --vp-c-brand: var(--vp-c-brand-1); - - --vp-c-tip-1: var(--vp-c-brand-1); - --vp-c-tip-2: var(--vp-c-brand-2); - --vp-c-tip-3: var(--vp-c-brand-3); - --vp-c-tip-soft: var(--vp-c-brand-soft); - - --vp-c-note-1: var(--vp-c-brand-1); - --vp-c-note-2: var(--vp-c-brand-2); - --vp-c-note-3: var(--vp-c-brand-3); - --vp-c-note-soft: var(--vp-c-brand-soft); - - --vp-c-success-1: var(--vp-c-green-1); - --vp-c-success-2: var(--vp-c-green-2); - --vp-c-success-3: var(--vp-c-green-3); - --vp-c-success-soft: var(--vp-c-green-soft); - - --vp-c-important-1: var(--vp-c-purple-1); - --vp-c-important-2: var(--vp-c-purple-2); - --vp-c-important-3: var(--vp-c-purple-3); - --vp-c-important-soft: var(--vp-c-purple-soft); - - --vp-c-warning-1: var(--vp-c-yellow-1); - --vp-c-warning-2: var(--vp-c-yellow-2); - --vp-c-warning-3: var(--vp-c-yellow-3); - --vp-c-warning-soft: var(--vp-c-yellow-soft); - - --vp-c-danger-1: var(--vp-c-red-1); - --vp-c-danger-2: var(--vp-c-red-2); - --vp-c-danger-3: var(--vp-c-red-3); - --vp-c-danger-soft: var(--vp-c-red-soft); - - --vp-c-caution-1: var(--vp-c-red-1); - --vp-c-caution-2: var(--vp-c-red-2); - --vp-c-caution-3: var(--vp-c-red-3); - --vp-c-caution-soft: var(--vp-c-red-soft); - } - - /** - * Typography - * -------------------------------------------------------------------------- */ - - :root { - --vp-font-family-base: 'Chinese Quotes', 'Inter var', 'Inter', ui-sans-serif, - system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, - 'Helvetica Neue', Helvetica, Arial, 'Noto Sans', sans-serif, - 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - --vp-font-family-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, - Consolas, 'Liberation Mono', 'Courier New', monospace; - } - - /** - * Shadows - * -------------------------------------------------------------------------- */ - - :root { - --vp-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); - --vp-shadow-2: 0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07); - --vp-shadow-3: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08); - --vp-shadow-4: 0 14px 44px rgba(0, 0, 0, 0.12), 0 3px 9px rgba(0, 0, 0, 0.12); - --vp-shadow-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16); - } - - /** - * Z-indexes - * -------------------------------------------------------------------------- */ - - :root { - --vp-z-index-footer: 10; - --vp-z-index-local-nav: 20; - --vp-z-index-nav: 30; - --vp-z-index-layout-top: 40; - --vp-z-index-backdrop: 50; - --vp-z-index-sidebar: 60; - } - - @media (min-width: 960px) { - :root { - --vp-z-index-sidebar: 25; - } - } - - /** - * Layouts - * -------------------------------------------------------------------------- */ - - :root { - --vp-layout-max-width: 1440px; - } - - /** - * Component: Header Anchor - * -------------------------------------------------------------------------- */ - - :root { - --vp-header-anchor-symbol: '#'; - } - - /** - * Component: Code - * -------------------------------------------------------------------------- */ - - :root { - --vp-code-line-height: 1.7; - --vp-code-font-size: 0.875em; - --vp-code-color: var(--vp-c-brand-1); - --vp-code-link-color: var(--vp-c-brand-1); - --vp-code-link-hover-color: var(--vp-c-brand-2); - --vp-code-bg: var(--vp-c-default-soft); - - --vp-code-block-color: var(--vp-c-text-2); - --vp-code-block-bg: var(--vp-c-bg-alt); - --vp-code-block-divider-color: var(--vp-c-gutter); - - --vp-code-lang-color: var(--vp-c-text-3); - - --vp-code-line-highlight-color: var(--vp-c-default-soft); - --vp-code-line-number-color: var(--vp-c-text-3); - - --vp-code-line-diff-add-color: var(--vp-c-success-soft); - --vp-code-line-diff-add-symbol-color: var(--vp-c-success-1); - - --vp-code-line-diff-remove-color: var(--vp-c-danger-soft); - --vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1); - - --vp-code-line-warning-color: var(--vp-c-warning-soft); - --vp-code-line-error-color: var(--vp-c-danger-soft); - - --vp-code-copy-code-border-color: var(--vp-c-divider); - --vp-code-copy-code-bg: var(--vp-c-bg-soft); - --vp-code-copy-code-hover-border-color: var(--vp-c-divider); - --vp-code-copy-code-hover-bg: var(--vp-c-bg); - --vp-code-copy-code-active-text: var(--vp-c-text-2); - --vp-code-copy-copied-text-content: 'Copied'; - - --vp-code-tab-divider: var(--vp-code-block-divider-color); - --vp-code-tab-text-color: var(--vp-c-text-2); - --vp-code-tab-bg: var(--vp-code-block-bg); - --vp-code-tab-hover-text-color: var(--vp-c-text-1); - --vp-code-tab-active-text-color: var(--vp-c-text-1); - --vp-code-tab-active-bar-color: var(--vp-c-brand-1); - } - - /** - * Component: Button - * -------------------------------------------------------------------------- */ - - :root { - --vp-button-brand-border: transparent; - --vp-button-brand-text: var(--vp-c-white); - --vp-button-brand-bg: var(--vp-c-brand-3); - --vp-button-brand-hover-border: transparent; - --vp-button-brand-hover-text: var(--vp-c-white); - --vp-button-brand-hover-bg: var(--vp-c-brand-2); - --vp-button-brand-active-border: transparent; - --vp-button-brand-active-text: var(--vp-c-white); - --vp-button-brand-active-bg: var(--vp-c-brand-1); - - --vp-button-alt-border: transparent; - --vp-button-alt-text: var(--vp-c-text-1); - --vp-button-alt-bg: var(--vp-c-default-3); - --vp-button-alt-hover-border: transparent; - --vp-button-alt-hover-text: var(--vp-c-text-1); - --vp-button-alt-hover-bg: var(--vp-c-default-2); - --vp-button-alt-active-border: transparent; - --vp-button-alt-active-text: var(--vp-c-text-1); - --vp-button-alt-active-bg: var(--vp-c-default-1); - - --vp-button-sponsor-border: var(--vp-c-text-2); - --vp-button-sponsor-text: var(--vp-c-text-2); - --vp-button-sponsor-bg: transparent; - --vp-button-sponsor-hover-border: var(--vp-c-sponsor); - --vp-button-sponsor-hover-text: var(--vp-c-sponsor); - --vp-button-sponsor-hover-bg: transparent; - --vp-button-sponsor-active-border: var(--vp-c-sponsor); - --vp-button-sponsor-active-text: var(--vp-c-sponsor); - --vp-button-sponsor-active-bg: transparent; - } - - /** - * Component: Custom Block - * -------------------------------------------------------------------------- */ - - :root { - --vp-custom-block-font-size: 14px; - --vp-custom-block-code-font-size: 13px; - - --vp-custom-block-info-border: transparent; - --vp-custom-block-info-text: var(--vp-c-text-1); - --vp-custom-block-info-bg: var(--vp-c-default-soft); - --vp-custom-block-info-code-bg: var(--vp-c-default-soft); - - --vp-custom-block-note-border: transparent; - --vp-custom-block-note-text: var(--vp-c-text-1); - --vp-custom-block-note-bg: var(--vp-c-default-soft); - --vp-custom-block-note-code-bg: var(--vp-c-default-soft); - - --vp-custom-block-tip-border: transparent; - --vp-custom-block-tip-text: var(--vp-c-text-1); - --vp-custom-block-tip-bg: var(--vp-c-tip-soft); - --vp-custom-block-tip-code-bg: var(--vp-c-tip-soft); - - --vp-custom-block-important-border: transparent; - --vp-custom-block-important-text: var(--vp-c-text-1); - --vp-custom-block-important-bg: var(--vp-c-important-soft); - --vp-custom-block-important-code-bg: var(--vp-c-important-soft); - - --vp-custom-block-warning-border: transparent; - --vp-custom-block-warning-text: var(--vp-c-text-1); - --vp-custom-block-warning-bg: var(--vp-c-warning-soft); - --vp-custom-block-warning-code-bg: var(--vp-c-warning-soft); - - --vp-custom-block-danger-border: transparent; - --vp-custom-block-danger-text: var(--vp-c-text-1); - --vp-custom-block-danger-bg: var(--vp-c-danger-soft); - --vp-custom-block-danger-code-bg: var(--vp-c-danger-soft); - - --vp-custom-block-caution-border: transparent; - --vp-custom-block-caution-text: var(--vp-c-text-1); - --vp-custom-block-caution-bg: var(--vp-c-caution-soft); - --vp-custom-block-caution-code-bg: var(--vp-c-caution-soft); - - --vp-custom-block-details-border: var(--vp-custom-block-info-border); - --vp-custom-block-details-text: var(--vp-custom-block-info-text); - --vp-custom-block-details-bg: var(--vp-custom-block-info-bg); - --vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg); - } - - /** - * Component: Input - * -------------------------------------------------------------------------- */ - - :root { - --vp-input-border-color: var(--vp-c-border); - --vp-input-bg-color: var(--vp-c-bg-alt); - - --vp-input-switch-bg-color: var(--vp-c-default-soft); - } - - /** - * Component: Nav - * -------------------------------------------------------------------------- */ - - :root { - --vp-nav-height: 64px; - --vp-nav-bg-color: var(--vp-c-bg); - --vp-nav-screen-bg-color: var(--vp-c-bg); - --vp-nav-logo-height: 24px; - } - - .hide-nav { - --vp-nav-height: 0px; - } - - .hide-nav .VPSidebar { - --vp-nav-height: 22px; - } - - /** - * Component: Local Nav - * -------------------------------------------------------------------------- */ - - :root { - --vp-local-nav-bg-color: var(--vp-c-bg); - } - - /** - * Component: Sidebar - * -------------------------------------------------------------------------- */ - - :root { - --vp-sidebar-width: 272px; - --vp-sidebar-bg-color: var(--vp-c-bg-alt); - } - - /** - * Colors Backdrop - * -------------------------------------------------------------------------- */ - - :root { - --vp-backdrop-bg-color: rgba(0, 0, 0, 0.6); - } - - /** - * Component: Home - * -------------------------------------------------------------------------- */ - - :root { - --vp-home-hero-name-color: var(--vp-c-brand-1); - --vp-home-hero-name-background: transparent; - - --vp-home-hero-image-background-image: none; - --vp-home-hero-image-filter: none; - } - - /** - * Component: Badge - * -------------------------------------------------------------------------- */ - - :root { - --vp-badge-info-border: transparent; - --vp-badge-info-text: var(--vp-c-text-2); - --vp-badge-info-bg: var(--vp-c-default-soft); - - --vp-badge-tip-border: transparent; - --vp-badge-tip-text: var(--vp-c-tip-1); - --vp-badge-tip-bg: var(--vp-c-tip-soft); - - --vp-badge-warning-border: transparent; - --vp-badge-warning-text: var(--vp-c-warning-1); - --vp-badge-warning-bg: var(--vp-c-warning-soft); - - --vp-badge-danger-border: transparent; - --vp-badge-danger-text: var(--vp-c-danger-1); - --vp-badge-danger-bg: var(--vp-c-danger-soft); - } - - /** - * Component: Carbon Ads - * -------------------------------------------------------------------------- */ - - :root { - --vp-carbon-ads-text-color: var(--vp-c-text-1); - --vp-carbon-ads-poweredby-color: var(--vp-c-text-2); - --vp-carbon-ads-bg-color: var(--vp-c-bg-soft); - --vp-carbon-ads-hover-text-color: var(--vp-c-brand-1); - --vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1); - } - - /** - * Component: Local Search - * -------------------------------------------------------------------------- */ - - :root { - --vp-local-search-bg: var(--vp-c-bg); - --vp-local-search-result-bg: var(--vp-c-bg); - --vp-local-search-result-border: var(--vp-c-divider); - --vp-local-search-result-selected-bg: var(--vp-c-bg); - --vp-local-search-result-selected-border: var(--vp-c-brand-1); - --vp-local-search-highlight-bg: var(--vp-c-brand-1); - --vp-local-search-highlight-text: var(--vp-c-neutral-inverse); + --vp-c-bg: var(--ctp-mocha-mantle); + --vp-c-bg-alt: var(--ctp-mocha-crust); + --vp-c-bg-elv: var(--ctp-mocha-base); + --vp-c-bg-soft: var(--ctp-mocha-surface0); } \ No newline at end of file From 6c85834a91e902eacd6f487ce9b24fb358e3c71f Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 16:14:50 +0530 Subject: [PATCH 30/43] text and border colors --- docs/.vitepress/theme/colors.css | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/docs/.vitepress/theme/colors.css b/docs/.vitepress/theme/colors.css index 5d524e5..1e3dd9f 100644 --- a/docs/.vitepress/theme/colors.css +++ b/docs/.vitepress/theme/colors.css @@ -1,15 +1,42 @@ @import url('https://unpkg.com/@catppuccin/palette/css/catppuccin.css'); +/* Background Colors */ :root { --vp-c-bg: var(--ctp-latte-mantle); --vp-c-bg-alt: var(--ctp-latte-crust); --vp-c-bg-elv: var(--ctp-latte-base); --vp-c-bg-soft: var(--ctp-latte-surface0); - } +} - .dark { +.dark { --vp-c-bg: var(--ctp-mocha-mantle); --vp-c-bg-alt: var(--ctp-mocha-crust); --vp-c-bg-elv: var(--ctp-mocha-base); --vp-c-bg-soft: var(--ctp-mocha-surface0); +} + +/* Border Colors */ +:root { + --vp-c-border: var(--ctp-latte-surface0); + --vp-c-divider: var(--ctp-latte-surface0); + --vp-c-gutter: var(--ctp-latte-surface1); +} + +.dark { + --vp-c-border: var(--ctp-mocha-surface0); + --vp-c-divider: var(--ctp-mocha-surface0); + --vp-c-gutter: var(--ctp-mocha-surface1); +} + +/* Text Colors */ +:root { + --vp-c-text-1: var(--ctp-latte-text); + --vp-c-text-2: var(--ctp-latte-subtext1); + --vp-c-text-3: var(--ctp-latte-subtext0); + } + + .dark { + --vp-c-text-1: var(--ctp-mocha-text); + --vp-c-text-2: var(--ctp-mocha-subtext1); + --vp-c-text-3: var(--ctp-mocha-subtext0); } \ No newline at end of file From 03f41954453fe47b781ca028bb70d3d4a31fd5fa Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Thu, 14 Mar 2024 22:56:22 +0530 Subject: [PATCH 31/43] Finish stuff for now --- docs/.vitepress/config.mts | 10 +++++- docs/.vitepress/theme/colors.css | 53 ++++++++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 4 deletions(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index d26e7d3..965f09f 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -3,6 +3,9 @@ import { defineConfig } from 'vitepress' export default defineConfig({ title: "Strata", description: "A cutting-edge, robust and sleek Wayland compositor with batteries included.", + markdown: { + theme: { dark: 'catppuccin-mocha', light: 'catppuccin-latte' } + }, themeConfig: { nav: [ { text: 'Home', link: '/' }, @@ -30,6 +33,11 @@ export default defineConfig({ socialLinks: [ { icon: 'github', link: 'https://github.com/stratawm/strata' }, { icon: 'discord', link: 'https://discord.gg/tcb5cRW4ZQ' } - ] + ], + + footer: { + copyright: "Copyright © 2023-present Anant Narayan", + message: "Licensed under the GPL v3 License." + } } }) diff --git a/docs/.vitepress/theme/colors.css b/docs/.vitepress/theme/colors.css index 1e3dd9f..b64fe4d 100644 --- a/docs/.vitepress/theme/colors.css +++ b/docs/.vitepress/theme/colors.css @@ -33,10 +33,57 @@ --vp-c-text-1: var(--ctp-latte-text); --vp-c-text-2: var(--ctp-latte-subtext1); --vp-c-text-3: var(--ctp-latte-subtext0); - } +} - .dark { +.dark { --vp-c-text-1: var(--ctp-mocha-text); --vp-c-text-2: var(--ctp-mocha-subtext1); --vp-c-text-3: var(--ctp-mocha-subtext0); - } \ No newline at end of file +} + +/* Brand Colors */ +:root { + --vp-c-brand-1: var(--ctp-latte-red); + --vp-c-brand-2: var(--ctp-latte-lavender); + --vp-c-brand-3: var(--ctp-latte-mauve); +} + +.dark { + --vp-c-brand-1: var(--ctp-mocha-red); + --vp-c-brand-2: var(--ctp-mocha-mauve); + --vp-c-brand-3: var(--ctp-mocha-lavender); +} + +/* Code Block */ +:root { + --vp-code-line-height: 2; + --vp-code-font-size: 0.875em; + --vp-code-color: var(--ctp-mocha-mauve); + --vp-code-lang-color: rgba(var(--ctp-mocha-text) 0.2); + + --vp-code-copy-copied-text-content: 'Copied!'; +} + +/* Navbar */ +:root { + --vp-nav-height: 56px; + --vp-nav-bg-color: var(--vp-c-bg); + --vp-nav-screen-bg-color: var(--vp-c-bg); + --vp-nav-logo-height: 24px; +} + +.hide-nav { + --vp-nav-height: 0px; +} + +.hide-nav .VPSidebar { + --vp-nav-height: 22px; +} + +/* Custom Block */ +:root { + --vp-custom-block-details-border: var(--ctp-mocha-surface0); + --vp-custom-block-details-text: var(--ctp-mocha-text); + --vp-custom-block-details-bg: var(--ctp-mocha-base); + --vp-custom-block-details-code-bg: var(--ctp-mocha-mantle); +} \ No newline at end of file From 5baa9d581d4a64f5e0e23606084100ee3892417e Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 10:42:16 +0530 Subject: [PATCH 32/43] add logo --- docs/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/index.md b/docs/index.md index 5205f54..b9d33b3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,9 +2,8 @@ layout: home hero: - name: "" - text: "A cutting-edge, robust and sleek Wayland compositor with batteries included." - tagline: + name: "Strata" + tagline: "A cutting-edge, robust and sleek Wayland compositor." actions: - theme: brand text: Get Started @@ -12,5 +11,7 @@ hero: - theme: alt text: GitHub link: https://github.com/stratawm/strata + image: + src: "https://raw.githubusercontent.com/StrataWM/.github/main/assets/strata_logo.png" --- From e5ddbcb801274ed0d24a8643e0db1f0cb3f0020c Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 11:41:22 +0530 Subject: [PATCH 33/43] start work on custom home page layout --- docs/components/Home.vue | 5 +++++ docs/index.md | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 docs/components/Home.vue diff --git a/docs/components/Home.vue b/docs/components/Home.vue new file mode 100644 index 0000000..d2af915 --- /dev/null +++ b/docs/components/Home.vue @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index b9d33b3..7dfaff2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,4 +14,3 @@ hero: image: src: "https://raw.githubusercontent.com/StrataWM/.github/main/assets/strata_logo.png" --- - From 846dd5b3151e5c7e545bf0b92edd4c88a25bc681 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 15:39:11 +0530 Subject: [PATCH 34/43] get rid of home page --- docs/components/Home.vue | 5 ----- docs/index.md | 16 ---------------- package-lock.json | 3 ++- package.json | 3 ++- 4 files changed, 4 insertions(+), 23 deletions(-) delete mode 100644 docs/components/Home.vue diff --git a/docs/components/Home.vue b/docs/components/Home.vue deleted file mode 100644 index d2af915..0000000 --- a/docs/components/Home.vue +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 7dfaff2..e69de29 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,16 +0,0 @@ ---- -layout: home - -hero: - name: "Strata" - tagline: "A cutting-edge, robust and sleek Wayland compositor." - actions: - - theme: brand - text: Get Started - link: /get-started/installing - - theme: alt - text: GitHub - link: https://github.com/stratawm/strata - image: - src: "https://raw.githubusercontent.com/StrataWM/.github/main/assets/strata_logo.png" ---- diff --git a/package-lock.json b/package-lock.json index 15db1fd..8468af6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,8 @@ "packages": { "": { "devDependencies": { - "vitepress": "^1.0.0-rc.45" + "vitepress": "^1.0.0-rc.45", + "vue": "^3.4.21" } }, "node_modules/@algolia/autocomplete-core": { diff --git a/package.json b/package.json index 1f9e0de..cd87969 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "docs:preview": "vitepress preview docs" }, "devDependencies": { - "vitepress": "^1.0.0-rc.45" + "vitepress": "^1.0.0-rc.45", + "vue": "^3.4.21" } } From cc59fc8586eacdb4485df5a4a667715c4c9a59bd Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 16:26:26 +0530 Subject: [PATCH 35/43] only hide nav links, theme toggle and social links on mobile devices --- docs/.vitepress/config.mts | 2 +- docs/.vitepress/theme/index.ts | 1 + docs/.vitepress/theme/nav.css | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 docs/.vitepress/theme/nav.css diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 965f09f..3a0862d 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -8,7 +8,7 @@ export default defineConfig({ }, themeConfig: { nav: [ - { text: 'Home', link: '/' }, + { text: 'Home', link: 'https://stratawm.github.io' }, { text: 'Get Started', link: '/get-started/installing' } ], diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 2ef53ec..5bec1a6 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -1,5 +1,6 @@ import DefaultTheme from 'vitepress/theme-without-fonts' import './colors.css' import './fonts.css' +import './nav.css' export default DefaultTheme \ No newline at end of file diff --git a/docs/.vitepress/theme/nav.css b/docs/.vitepress/theme/nav.css new file mode 100644 index 0000000..21b42d9 --- /dev/null +++ b/docs/.vitepress/theme/nav.css @@ -0,0 +1,19 @@ +@media (min-width: 540px) { + .VPNavBarMenu { + display: flex !important; + } + .VPNavBarSocialLinks { + display: flex !important; + align-items: center !important; + } + .VPNavBarAppearance { + display: flex !important; + align-items: center !important; + } + .VPNavBarExtra { + display: none !important; + } + .VPNavBarHamburger { + display: none !important; + } +} From 10fab747ea0377c0ef229996ef4a8344b19e0139 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 16:32:46 +0530 Subject: [PATCH 36/43] start working on custom scrollbar --- docs/.vitepress/theme/index.ts | 1 + docs/.vitepress/theme/scrollbar.css | 0 2 files changed, 1 insertion(+) create mode 100644 docs/.vitepress/theme/scrollbar.css diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 5bec1a6..836c42c 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -2,5 +2,6 @@ import DefaultTheme from 'vitepress/theme-without-fonts' import './colors.css' import './fonts.css' import './nav.css' +import './scrollbar.css' export default DefaultTheme \ No newline at end of file diff --git a/docs/.vitepress/theme/scrollbar.css b/docs/.vitepress/theme/scrollbar.css new file mode 100644 index 0000000..e69de29 From 0331acec34fed06d83564665bdd43a512cfcf10a Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 16:57:17 +0530 Subject: [PATCH 37/43] custom scrollbar works --- docs/.vitepress/theme/scrollbar.css | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/.vitepress/theme/scrollbar.css b/docs/.vitepress/theme/scrollbar.css index e69de29..4f54f86 100644 --- a/docs/.vitepress/theme/scrollbar.css +++ b/docs/.vitepress/theme/scrollbar.css @@ -0,0 +1,21 @@ +::-webkit-scrollbar { + width: 16px; + height: 16px; +} + +::-webkit-scrollbar-track { + background-color: #1e1d2d; +} + +::-webkit-scrollbar-thumb { + background-color: #45475a; + border-radius: 40px; + border: 6px solid transparent; + background-clip: padding-box; + transition: border-width 0.5s ease-in-out; +} + +::-webkit-scrollbar-thumb:hover { + border: 4px solid transparent; + background-color: #f38ba8; +} \ No newline at end of file From d889cf2cd4e95f71ee252c4510e52607a91bac15 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 17:01:07 +0530 Subject: [PATCH 38/43] redirect home page to installing page --- docs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.md b/docs/index.md index e69de29..24e7212 100644 --- a/docs/index.md +++ b/docs/index.md @@ -0,0 +1 @@ + From 57a288bdfbc273b08aae24f91fed02940530590a Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 17:02:31 +0530 Subject: [PATCH 39/43] enable search --- docs/.vitepress/config.mts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 3a0862d..de5eaf6 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -34,6 +34,10 @@ export default defineConfig({ { icon: 'github', link: 'https://github.com/stratawm/strata' }, { icon: 'discord', link: 'https://discord.gg/tcb5cRW4ZQ' } ], + + search: { + provider: "local", + }, footer: { copyright: "Copyright © 2023-present Anant Narayan", From d1f9b62e41e445f713d1d4a15e87b3ec9d1dbae3 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 17:04:31 +0530 Subject: [PATCH 40/43] create blank pages for configuration --- docs/.vitepress/config.mts | 2 +- docs/configuration/basics.md | 0 docs/configuration/keybindings.md | 0 docs/configuration/window-rules.md | 0 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/configuration/basics.md create mode 100644 docs/configuration/keybindings.md create mode 100644 docs/configuration/window-rules.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index de5eaf6..e7f9d4d 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -23,7 +23,7 @@ export default defineConfig({ { text: 'Configuration', items: [ - { text: 'General', link: '/configuration/general' }, + { text: 'Basics', link: '/configuration/basics' }, { text: 'Keybindings', link: '/configuration/keybindings' }, { text: 'Window rules', link: '/configuration/window-rules' }, ] diff --git a/docs/configuration/basics.md b/docs/configuration/basics.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/configuration/keybindings.md b/docs/configuration/keybindings.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/configuration/window-rules.md b/docs/configuration/window-rules.md new file mode 100644 index 0000000..e69de29 From b3b1a0b46bb0cc0aaf5c5b53a49d6c56724e7d52 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 17:05:15 +0530 Subject: [PATCH 41/43] add nav link for config --- docs/.vitepress/config.mts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index e7f9d4d..dcc02f0 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -9,7 +9,8 @@ export default defineConfig({ themeConfig: { nav: [ { text: 'Home', link: 'https://stratawm.github.io' }, - { text: 'Get Started', link: '/get-started/installing' } + { text: 'Get Started', link: '/get-started/installing' }, + { text: 'Configuration', link: '/configuration/basics' }, ], sidebar: [ From 69f1c668eb9fca61ff93aa287a9a91c3647d70ba Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 17:06:02 +0530 Subject: [PATCH 42/43] fix overflowing navbar --- docs/.vitepress/theme/nav.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.vitepress/theme/nav.css b/docs/.vitepress/theme/nav.css index 21b42d9..94cd3c0 100644 --- a/docs/.vitepress/theme/nav.css +++ b/docs/.vitepress/theme/nav.css @@ -1,4 +1,4 @@ -@media (min-width: 540px) { +@media (min-width: 640px) { .VPNavBarMenu { display: flex !important; } From 29578337f6aa50e3a25ae472f8547a4635670773 Mon Sep 17 00:00:00 2001 From: Anant Narayan Date: Fri, 15 Mar 2024 17:07:08 +0530 Subject: [PATCH 43/43] remove reduntant text --- docs/get-started/installing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/get-started/installing.md b/docs/get-started/installing.md index e183669..f0c5b54 100644 --- a/docs/get-started/installing.md +++ b/docs/get-started/installing.md @@ -77,7 +77,7 @@ sudo apt-get install libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev li Now, to install Strata, you first have to clone the Git repository. For this, using `git` is recommended. However, you can also just download the Zip archive and extract it. ::: details Why Git? -Since Strata is being constantly updated, you'll often have to download the latest repository and re-compile it. Using `git` makes this significantly easier than downloading and extracting the Zip archive each time. Throughout this guide, it is assumed that you're using `git`. +Since Strata is being constantly updated, you'll often have to download the latest repository and re-compile it. Using `git` makes this significantly easier than downloading and extracting the Zip archive each time. ::: To clone the repo, run: