diff --git a/docs/.editorconfig b/docs/.editorconfig new file mode 100644 index 00000000..a1b04a26 --- /dev/null +++ b/docs/.editorconfig @@ -0,0 +1,10 @@ +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..4f548e6b --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,112 @@ +### OSX ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# pnpm link folder +pnpm-global + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# rollup.js default build output +dist/ + +# vitepress build output +.vitepress/dist +.vitepress/cache + +# Serverless directories +.serverless/ + +# Temporary folders +tmp/ +temp/ +TODOs.md +src/api/index.json +src/examples/data.json +src/tutorial/data.json +draft.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 00000000..2b877b83 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,132 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + appearance: 'force-dark', + srcDir: 'src', + title: 'KitOps', + titleTemplate: 'KitOps', + description: 'Documentation for KitOps', + + head: [ + // ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "/favicons/apple-touch-icon.png"}], + ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicons/favicon-32x32.png"}], + ['link', { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicons/favicon-16x16.png"}], + // ['link', { rel: "manifest", href: "/favicons/site.webmanifest"}], + // ['link', { rel: "mask-icon", href: "/favicons/safari-pinned-tab.svg", color: "#3a0839"}], + ['link', { rel: "shortcut icon", href: "/favicon.ico"}], + // ['meta', { name: "msapplication-TileColor", content: "#3a0839"}], + // ['meta', { name: "msapplication-config", content: "/favicons/browserconfig.xml"}], + // ['meta', { name: "theme-color", content: "#ffffff"}], + ], + + lastUpdated: true, + + // https://vitepress.dev/reference/default-theme-config + themeConfig: { + logo: '/logo.svg', + + externalLinkIcon: true, + + search: { + provider: 'local' + }, + + // lastUpdated: { + // text: 'Updated at', + // formatOptions: { + // dateStyle: 'full', + // timeStyle: 'medium' + // } + // }, + + // Top navigation + nav: [ + { text: 'Docs', activeMatch: `^/docs`, link: '/docs/overview' }, + { text: 'Guides', activeMatch: `^/guides`, link: '/guides/index' } + ], + + // Sidebar nav + sidebar: [ + { + text: 'Getting started', + items: [ + { text: 'Overview', link: '/docs/overview' }, + { text: 'Installation', link: '/docs/installation' }, + ] + }, + { + text: 'CLI', + items: [ + { text: 'Download & Install', link: '/docs/cli/installation' }, + { text: 'Usage', link: '/docs/cli/usage' }, + { text: 'Flags', link: '/docs/cli/flags' }, + ] + }, + { + text: 'Manifest', + items: [ + { text: 'Overview', link: '/docs/manifest/overview' }, + { text: 'Structure', link: '/docs/manifest/overview' }, + { text: 'Building and running', link: '/docs/manifest/building-running' }, + { text: 'Creating a new model', link: '/' }, + { text: 'Training a model', link: '/' }, + { text: 'Strategies', link: '/' }, + ] + }, + { + text: 'MLOps with Kitfile', + items: [ + { text: 'Continuos integration and deployment', link: '/docs/mlops/ci-cd' }, + { text: 'Monitoring and logging', link: '/docs/mlops/ci-cd' }, + { text: 'Orchestration', link: '/docs/mlops/ci-cd' }, + { text: 'Scalability and resources', link: '/docs/mlops/ci-cd' }, + ] + }, + { + text: 'Advanced', + items: [ + { text: 'Fine-tuning', link: '/docs/mlops/ci-cd' }, + { text: 'Multi-models and Multi-tasking', link: '/docs/mlops/ci-cd' }, + { text: 'Parallel training', link: '/docs/mlops/ci-cd' }, + { text: 'Reinforcement and deep RL', link: '/docs/mlops/ci-cd' }, + ] + }, + { + text: 'Contribute', + items: [ + { text: 'Contribute to KitOps docs', link: '/' } + ] + }, + { + text: 'Documentation Examples', + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' } + ] + } + ], + + socialLinks: [ + { + icon: 'github', + link: 'https://github.com/jozu-ai/kitops' + }, + { + icon: { + svg: '' + }, + link: 'https://jozu.com', + ariaLabel: 'JOzu Website' + } + ], + + footer: { + license: { + text: 'MIT License', + link: 'https://opensource.org/licenses/MIT' + }, + copyright: `Copyright © ${new Date().getFullYear()} Jozu` + } + } +}) diff --git a/docs/.vitepress/theme/components/PlatformSelect.vue b/docs/.vitepress/theme/components/PlatformSelect.vue new file mode 100644 index 00000000..448298c0 --- /dev/null +++ b/docs/.vitepress/theme/components/PlatformSelect.vue @@ -0,0 +1,183 @@ + + + + + + + diff --git a/docs/.vitepress/theme/components/PlatformSnippet.vue b/docs/.vitepress/theme/components/PlatformSnippet.vue new file mode 100644 index 00000000..65acb361 --- /dev/null +++ b/docs/.vitepress/theme/components/PlatformSnippet.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 00000000..d95d4aed --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,24 @@ +// https://vitepress.dev/guide/custom-theme +import { h, ref } from 'vue' +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import PlatformSelect from './components/PlatformSelect.vue' +import PlatformSnippet from './components/PlatformSnippet.vue' +import Layout from './Layout.vue' +import './style.css' + +const isPlatformModalOpen = ref(false) + +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + 'sidebar-nav-after': () => h(PlatformSelect), + }) + }, + enhanceApp({ app, router, siteData }) { + app.component('PlatformSnippet', PlatformSnippet) + app.provide('isPlatformModalOpen', isPlatformModalOpen) + } +} satisfies Theme diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 00000000..4c514be3 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,155 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * 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. + * + * - `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. + * -------------------------------------------------------------------------- */ + + :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: #3febe0; + --vp-c-brand-2: #34C0B7; + --vp-c-brand-3: #065550; + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + --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-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); + + /* Custom jozu branding colors */ + --color-elevation-05: rgba(70, 70, 70, 0.14); +} + +.dark { + --vp-c-text-1: #ECECEC; +} + +/** + * 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); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); + + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #bd34fe 50%, + #47caff 50% + ); + --vp-home-hero-image-filter: blur(44px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} + +.dark h1, +.dark h2, +.dark h3 { + color: #FFF; +} + +*:focus-visible { + outline-color: var(--vp-c-brand-1); +} diff --git a/docs/.vitepress/theme/utils.ts b/docs/.vitepress/theme/utils.ts new file mode 100644 index 00000000..64446ed9 --- /dev/null +++ b/docs/.vitepress/theme/utils.ts @@ -0,0 +1,21 @@ +import { inBrowser } from 'vitepress' + +// Get the current user OS +export function getUserOS(): 'mac' | 'windows' | 'linux' { + // client-code only + if (!inBrowser) { + return + } + + const osName = navigator.userAgent.toLowerCase(); + + if (osName.indexOf('mac') !== -1) { + return 'mac'; + } + + if (osName.indexOf('win') !== -1) { + return 'windows'; + } + + return 'linux'; +} diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..aa9fc5d8 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,69 @@ +# KitOps Documentation + +This is the documentation for [KitsOps](https://kitops.ml). You can read the docs at https://docs.kitops.ml. + +## Table of Contents + +- [Introduction](#introduction) +- [Development](#development) + * [Prerequisites](#prerequisites) + * [Installation](#installation) +- [Contributing Guidelines](#contributing-guidelines) + + [Reporting Bugs and Issues](#reporting-bugs-and-issues) + + [Submitting Pull Requests](#submitting-pull-requests) + +## Introduction + +This documentation has been built using [VitePress](https://vitepress.dev/). VitePress is a fast static site generator for building modern documentations using Vue.js. For more information please refer to the [VitePress Website](https://vitepress.dev/). + +## Development + +To get started with our, follow these steps: + +### Prerequisites + +Ensure you have the following installed on your system: +* Node.js (v18.x or higher) +* npm or pnpm package manager + +For local development, [pnpm](https://pnpm.io/) is preferred as package manager. + +### Running locally + +1. Clone the repository: + ```sh + git clone https://github.com/jozu-ai/kitops.git + ``` +2. Navigate to the docs directory: + ```sh + cd docs + ``` +3. Install dependencies: + ```sh + pnpm i + ``` +4. Start the development server: + ```sh + pnpm docs:dev + ``` + +The documentation should now be available at `http://localhost:5173`. + +## Contributing Guidelines + +We welcome contributions from the community to help improve our project and documentation. Please follow these guidelines when contributing: + +### Reporting Bugs and Issues + +If you encounter any bugs or issues with the documentation, please report them in our [GitHub issue tracker](https://github.com/jozu-ai/kitops/issues). Be sure to provide clear details about the problem, including steps to reproduce if possible. + +### Submitting Pull Requests + +If you'd like to submit a pull request for updates or improvements to the documentation, please follow these steps: + +1. Fork the repository on GitHub. +2. Create a new branch for your changes: `git checkout -b feature/your-feature` +3. Make the necessary changes and additions to the documentation. +4. Commit your changes: `git commit -m 'Add documentation for XYZ'` +5. Push the branch to your forked repository: `git push origin feature/your-feature` +6. Submit a pull request on GitHub, detailing the changes you made. diff --git a/docs/env.d.ts b/docs/env.d.ts new file mode 100644 index 00000000..7bd399cb --- /dev/null +++ b/docs/env.d.ts @@ -0,0 +1,12 @@ +/// + +declare module '@vue/theme/config' { + import { UserConfig } from 'vitepress' + const config: () => Promise + export default config +} + +declare module '@vue/theme/highlight' { + const createHighlighter: () => Promise<(input: string) => string> + export default createHighlighter +} \ No newline at end of file diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..92787e58 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,17 @@ +{ + "peerDependencies": { + "vue": "^3.4" + }, + "devDependencies": { + "vitepress": "1.0.0-rc.42", + "vue": "^3.4.18" + }, + "scripts": { + "docs:dev": "vitepress dev", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" + }, + "dependencies": { + "@vueuse/core": "^10.7.2" + } +} \ No newline at end of file diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 00000000..f8925574 --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,1032 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@vueuse/core': + specifier: ^10.7.2 + version: 10.7.2(vue@3.4.18) + +devDependencies: + vitepress: + specifier: 1.0.0-rc.42 + version: 1.0.0-rc.42(@algolia/client-search@4.22.1)(search-insights@2.13.0) + vue: + specifier: ^3.4.18 + version: 3.4.18 + +packages: + + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + dev: true + + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + dev: true + + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 + dev: true + + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 + dev: true + + /@algolia/cache-browser-local-storage@4.22.1: + resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==} + dependencies: + '@algolia/cache-common': 4.22.1 + dev: true + + /@algolia/cache-common@4.22.1: + resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} + dev: true + + /@algolia/cache-in-memory@4.22.1: + resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} + dependencies: + '@algolia/cache-common': 4.22.1 + dev: true + + /@algolia/client-account@4.22.1: + resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-analytics@4.22.1: + resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-common@4.22.1: + resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==} + dependencies: + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-personalization@4.22.1: + resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-search@4.22.1: + resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/logger-common@4.22.1: + resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} + dev: true + + /@algolia/logger-console@4.22.1: + resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} + dependencies: + '@algolia/logger-common': 4.22.1 + dev: true + + /@algolia/requester-browser-xhr@4.22.1: + resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==} + dependencies: + '@algolia/requester-common': 4.22.1 + dev: true + + /@algolia/requester-common@4.22.1: + resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} + dev: true + + /@algolia/requester-node-http@4.22.1: + resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} + dependencies: + '@algolia/requester-common': 4.22.1 + dev: true + + /@algolia/transporter@4.22.1: + resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==} + dependencies: + '@algolia/cache-common': 4.22.1 + '@algolia/logger-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 + + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@docsearch/css@3.5.2: + resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} + dev: true + + /@docsearch/js@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} + dependencies: + '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) + preact: 10.19.4 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + dev: true + + /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} + 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 + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@docsearch/css': 3.5.2 + algoliasearch: 4.22.1 + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@rollup/rollup-android-arm-eabi@4.9.6: + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.9.6: + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.9.6: + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.9.6: + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.6: + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.6: + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.6: + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.6: + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.6: + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.6: + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.6: + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.6: + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.6: + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@shikijs/core@1.1.0: + resolution: {integrity: sha512-mB1uFNMpHD82I6QAi/Sk4+H070czXNqUCXvpobeLQGFQ8LM1jQHK/lbHLcucUNSDpFKxTCNJK4KbU2PjR+KJNA==} + dev: true + + /@shikijs/transformers@1.1.0: + resolution: {integrity: sha512-9lMaSaDaK9gjUMcwMQeG5l2RJnb7eoNqNpR8LYWy3RzUzeIB89zku+00J3FIOrptmuAaBhKLFb/aJ8tqn6NIYA==} + dependencies: + shiki: 1.1.0 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/markdown-it@13.0.7: + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + /@vitejs/plugin-vue@5.0.3(vite@5.1.1)(vue@3.4.18): + resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.1.1 + vue: 3.4.18 + dev: true + + /@vue/compiler-core@3.4.18: + resolution: {integrity: sha512-F7YK8lMK0iv6b9/Gdk15A67wM0KKZvxDxed0RR60C1z9tIJTKta+urs4j0RTN5XqHISzI3etN3mX0uHhjmoqjQ==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.18 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.4.18: + resolution: {integrity: sha512-24Eb8lcMfInefvQ6YlEVS18w5Q66f4+uXWVA+yb7praKbyjHRNuKVWGuinfSSjM0ZIiPi++QWukhkgznBaqpEA==} + dependencies: + '@vue/compiler-core': 3.4.18 + '@vue/shared': 3.4.18 + + /@vue/compiler-sfc@3.4.18: + resolution: {integrity: sha512-rG5tqtnzwrVpMqAQ7FHtvHaV70G6LLfJIWLYZB/jZ9m/hrnZmIQh+H3ewnC5onwe/ibljm9+ZupxeElzqCkTAw==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.18 + '@vue/compiler-dom': 3.4.18 + '@vue/compiler-ssr': 3.4.18 + '@vue/shared': 3.4.18 + estree-walker: 2.0.2 + magic-string: 0.30.7 + postcss: 8.4.35 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.4.18: + resolution: {integrity: sha512-hSlv20oUhPxo2UYUacHgGaxtqP0tvFo6ixxxD6JlXIkwzwoZ9eKK6PFQN4hNK/R13JlNyldwWt/fqGBKgWJ6nQ==} + dependencies: + '@vue/compiler-dom': 3.4.18 + '@vue/shared': 3.4.18 + + /@vue/devtools-api@7.0.14: + resolution: {integrity: sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw==} + dependencies: + '@vue/devtools-kit': 7.0.14 + dev: true + + /@vue/devtools-kit@7.0.14: + resolution: {integrity: sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg==} + dependencies: + '@vue/devtools-schema': 7.0.14 + '@vue/devtools-shared': 7.0.14 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + dev: true + + /@vue/devtools-schema@7.0.14: + resolution: {integrity: sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg==} + dev: true + + /@vue/devtools-shared@7.0.14: + resolution: {integrity: sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA==} + dependencies: + rfdc: 1.3.1 + dev: true + + /@vue/reactivity@3.4.18: + resolution: {integrity: sha512-7uda2/I0jpLiRygprDo5Jxs2HJkOVXcOMlyVlY54yRLxoycBpwGJRwJT9EdGB4adnoqJDXVT2BilUAYwI7qvmg==} + dependencies: + '@vue/shared': 3.4.18 + + /@vue/runtime-core@3.4.18: + resolution: {integrity: sha512-7mU9diCa+4e+8/wZ7Udw5pwTH10A11sZ1nldmHOUKJnzCwvZxfJqAtw31mIf4T5H2FsLCSBQT3xgioA9vIjyDQ==} + dependencies: + '@vue/reactivity': 3.4.18 + '@vue/shared': 3.4.18 + + /@vue/runtime-dom@3.4.18: + resolution: {integrity: sha512-2y1Mkzcw1niSfG7z3Qx+2ir9Gb4hdTkZe5p/I8x1aTIKQE0vY0tPAEUPhZm5tx6183gG3D/KwHG728UR0sIufA==} + dependencies: + '@vue/runtime-core': 3.4.18 + '@vue/shared': 3.4.18 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.18(vue@3.4.18): + resolution: {integrity: sha512-YJd1wa7mzUN3NRqLEsrwEYWyO+PUBSROIGlCc3J/cvn7Zu6CxhNLgXa8Z4zZ5ja5/nviYO79J1InoPeXgwBTZA==} + peerDependencies: + vue: 3.4.18 + dependencies: + '@vue/compiler-ssr': 3.4.18 + '@vue/shared': 3.4.18 + vue: 3.4.18 + + /@vue/shared@3.4.18: + resolution: {integrity: sha512-CxouGFxxaW5r1WbrSmWwck3No58rApXgRSBxrqgnY1K+jk20F6DrXJkHdH9n4HVT+/B6G2CAn213Uq3npWiy8Q==} + + /@vueuse/core@10.7.2(vue@3.4.18): + resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.7.2 + '@vueuse/shared': 10.7.2(vue@3.4.18) + vue-demi: 0.14.7(vue@3.4.18) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.18): + resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} + 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 + dependencies: + '@vueuse/core': 10.7.2(vue@3.4.18) + '@vueuse/shared': 10.7.2(vue@3.4.18) + focus-trap: 7.5.4 + vue-demi: 0.14.7(vue@3.4.18) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/metadata@10.7.2: + resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} + + /@vueuse/shared@10.7.2(vue@3.4.18): + resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} + dependencies: + vue-demi: 0.14.7(vue@3.4.18) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + /algoliasearch@4.22.1: + resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==} + 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 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + 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 + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + dependencies: + tabbable: 6.2.0 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: true + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + dev: true + + /minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + dev: true + + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /preact@10.19.4: + resolution: {integrity: sha512-dwaX5jAh0Ga8uENBX1hSOujmKWgx9RtL80KaKUFLc6jb4vCEAc3EeZ0rnQO/FO4VgjfPMfoLFWnNG8bHuZ9VLw==} + dev: true + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /rollup@4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.6 + '@rollup/rollup-android-arm64': 4.9.6 + '@rollup/rollup-darwin-arm64': 4.9.6 + '@rollup/rollup-darwin-x64': 4.9.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 + '@rollup/rollup-linux-arm64-gnu': 4.9.6 + '@rollup/rollup-linux-arm64-musl': 4.9.6 + '@rollup/rollup-linux-riscv64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-musl': 4.9.6 + '@rollup/rollup-win32-arm64-msvc': 4.9.6 + '@rollup/rollup-win32-ia32-msvc': 4.9.6 + '@rollup/rollup-win32-x64-msvc': 4.9.6 + fsevents: 2.3.3 + dev: true + + /search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + dev: true + + /shiki@1.1.0: + resolution: {integrity: sha512-esLKFNE2wwgAU/Ze4u/7qZRi9CwDfPq/4PQNFf7TiAN6+pbgTmibOxBS0eu1xvSW7autXP/g1bOGRGkAQK233w==} + dependencies: + '@shikijs/core': 1.1.0 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /vite@5.1.1: + resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitepress@1.0.0-rc.42(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-VeiVVXFblt/sjruFSJBNChMWwlztMrRMe8UXdNpf4e05mKtTYEY38MF5qoP90KxPTCfMQiKqwEGwXAGuOTK8HQ==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4.3.2 + postcss: ^8.4.34 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + dependencies: + '@docsearch/css': 3.5.2 + '@docsearch/js': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) + '@shikijs/core': 1.1.0 + '@shikijs/transformers': 1.1.0 + '@types/markdown-it': 13.0.7 + '@vitejs/plugin-vue': 5.0.3(vite@5.1.1)(vue@3.4.18) + '@vue/devtools-api': 7.0.14 + '@vueuse/core': 10.7.2(vue@3.4.18) + '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.18) + focus-trap: 7.5.4 + mark.js: 8.11.1 + minisearch: 6.3.0 + shiki: 1.1.0 + vite: 5.1.1 + vue: 3.4.18 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + dev: true + + /vue-demi@0.14.7(vue@3.4.18): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.18 + + /vue@3.4.18: + resolution: {integrity: sha512-0zLRYamFRe0wF4q2L3O24KQzLyLpL64ye1RUToOgOxuWZsb/FhaNRdGmeozdtVYLz6tl94OXLaK7/WQIrVCw1A==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.18 + '@vue/compiler-sfc': 3.4.18 + '@vue/runtime-dom': 3.4.18 + '@vue/server-renderer': 3.4.18(vue@3.4.18) + '@vue/shared': 3.4.18 diff --git a/docs/src/api-examples.md b/docs/src/api-examples.md new file mode 100644 index 00000000..5752d765 --- /dev/null +++ b/docs/src/api-examples.md @@ -0,0 +1,75 @@ +--- +outline: deep +--- + +# Badges samples + +You can add custom badges like these: + +```html + + + + + + + +``` + +Which renders like these: + + + + + + + + + +--- + +# 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/src/docs/cli/flags.md b/docs/src/docs/cli/flags.md new file mode 100644 index 00000000..31537ef4 --- /dev/null +++ b/docs/src/docs/cli/flags.md @@ -0,0 +1,56 @@ +# Flags + +`kit cli` supports global and local flags. + +## Global flags + +These flags must be run with no command. + +| Flag | Description | +| ---- | ---- | +| `--config ` | config file (default is `$HOME/.jozu`) | +| `-h`, `--help` | help for kit | + +### Example + + + + + + + + + +## Local flags + +These flags run next to a command. + +| Flag | Description | +| ---- | ---- | +| `-h`, `--help` | help for kit | + +### Example + +`./kit models --help` + +or + +`./kit models -h` diff --git a/docs/src/docs/cli/installation.md b/docs/src/docs/cli/installation.md new file mode 100644 index 00000000..20d46bc0 --- /dev/null +++ b/docs/src/docs/cli/installation.md @@ -0,0 +1,24 @@ +# Installation + +To install the `kit cli` tool please refer to download and install. + +## Download + +You can download the cli in the [github repository page](https://github.com/jozu-ai/kitops/releases). + +### Versions + +There are different build versions available depending on your platform: + +| Platform | Release file name | +| --- | --- | +| Mac Silicon (ARM) | [kit-darwin-arm64.tar.gz](https://github.com/jozu-ai/kit/releases/download/nightly/kit-darwin-arm64.tar.gz) | +| Mac Intel (AMD) | [kit-darwin-amd64.tar.gz](https://github.com/jozu-ai/kit/releases/download/nightly/kit-darwin-amd64.tar.gz) | +| Linux (ARM) | [kit-linux-arm64.tar.gz](https://github.com/jozu-ai/kit/releases/download/nightly/kit-linux-arm64.tar.gz) | +| Linux (AMD) | [kit-linux-amd64.tar.gz](https://github.com/jozu-ai/kit/releases/download/nightly/kit-linux-amd64.tar.gz) | +| Windows | [kit-windows-amd64.zip](https://github.com/jozu-ai/kit/releases/download/nightly/kit-windows-amd64.tar.gz) | + +## Installation + +Just download the file and untar it. + diff --git a/docs/src/docs/cli/usage.md b/docs/src/docs/cli/usage.md new file mode 100644 index 00000000..4ce4c9ae --- /dev/null +++ b/docs/src/docs/cli/usage.md @@ -0,0 +1,30 @@ +# Kit CLI tool + +The `kit CLI` is a tool to easily and quickly manage models. + +## Usage + +```sh +$ ./kit [command] +``` + +Available Commands: + +| Command | Description | +| ---- | --- | +| `build` | Build a model | +| `completion` | Generate the autocompletion script for the specified shell | +| `help` | Help about any command | +| `login` | A brief description of your command | +| `models` | List models | +| `pull` | Pull model from registry | +| `push` | Push model to registry | +| `version` | Display the version information for kit | + +## Example + +To list your available models you can do: + +```sh +$ ./kit models +``` diff --git a/docs/src/docs/installation.md b/docs/src/docs/installation.md new file mode 100644 index 00000000..b888132a --- /dev/null +++ b/docs/src/docs/installation.md @@ -0,0 +1,25 @@ +# Installation + +## Prerequisites + +Nobis maiores nisi asperiores minima hic. Nihil impedit quisquam. Ad et aspernatur dignissimos et rerum ut. Non consectetur id at. Aut sunt porro voluptate animi quis repellat. + +Corporis voluptates placeat repellat saepe ut exercitationem officiis est. In quia suscipit aut ad deserunt. Quia quaerat expedita earum nulla labore qui. Assumenda quos consequatur vero. In ratione error doloremque. + +Quam ex placeat maiores fugiat et corrupti et omnis. Sunt explicabo ipsum praesentium ut et quisquam voluptates voluptatem. Ut repudiandae modi corporis magni quasi. + +## How to install + +Eius ut id quisquam et quia fugiat. Quos quia et hic reprehenderit quasi doloremque nesciunt. Corrupti quos sit dolorem dignissimos ea iure. Eligendi non ea nisi numquam porro. + +Vero qui et maiores quibusdam odio et molestiae. Architecto ea et nulla ducimus nihil unde quae suscipit ut. Rerum ea sed. Vel nulla molestiae qui quaerat voluptatem provident vitae quia. + +Excepturi et eius ipsa occaecati rem. Fuga pariatur et sit reiciendis. Vel sunt et qui. Recusandae vel nesciunt voluptate perferendis reprehenderit. Ducimus dolores reprehenderit nihil dicta. + +## Your first command + +Minima possimus odio consequuntur quam quos tempore eveniet quis. Vel in facere vero deserunt aut libero eius. Qui aliquid velit aut ipsam aliquam. + +Necessitatibus exercitationem eum optio neque culpa. Debitis autem optio vel quam dolor est. Expedita aut ea. Expedita asperiores saepe qui commodi repellat perspiciatis aut error nobis. Quo sit aut illo recusandae et quod ut cupiditate. Eaque enim perferendis quia possimus. + +Qui dolore ut facere soluta omnis ea omnis. Ex est sunt eum omnis accusantium aut nisi totam. Consequatur id earum. Rerum nesciunt ullam perferendis expedita sapiente. diff --git a/docs/src/docs/manifest/building-running.md b/docs/src/docs/manifest/building-running.md new file mode 100644 index 00000000..80b1ce80 --- /dev/null +++ b/docs/src/docs/manifest/building-running.md @@ -0,0 +1,21 @@ +# Building and running + +Some introductory text here + +## Building + +Quo recusandae maxime eum est id error dolore. Voluptas provident accusamus voluptatibus sequi. Quia consequatur adipisci dolores a vel ipsum voluptates debitis atque. + +Voluptatem sit temporibus. Quia quas dolorum rerum. Iure et perferendis qui doloremque voluptates optio. Ratione fugit fuga officiis sed ex molestias tempora quisquam eum. Rerum iste sit omnis cupiditate consequatur possimus dolor ut quis. + +Ex assumenda natus non beatae porro nisi. Impedit et nulla qui beatae qui ex dolorum est. Ut quam sequi rerum voluptatem deserunt nostrum ullam quia assumenda. Provident iure a rerum ullam facilis eaque. + + +## Running an Kitfile + +Veritatis aut quidem aut accusantium. Ab qui odit officiis quibusdam deleniti omnis ea. Dolor molestias dolores molestiae quia ut. + +Ut iusto quidem qui optio rem expedita ut facere. Magnam sed aut sequi non sunt praesentium excepturi et. Consequatur est dolorem sed voluptates et pariatur qui voluptatem iure. Non aliquam debitis repellat dolorum numquam est. + +Culpa dolores incidunt magnam. Molestiae debitis quia et ut esse inventore. Tempora nemo illum inventore est sequi omnis. Nihil provident quas minus dolorem. Exercitationem placeat a ducimus ex dolore. + diff --git a/docs/src/docs/manifest/overview.md b/docs/src/docs/manifest/overview.md new file mode 100644 index 00000000..c4145974 --- /dev/null +++ b/docs/src/docs/manifest/overview.md @@ -0,0 +1,18 @@ +# Manifest + +## Kitfiles + +Ea modi dolore ut et sunt voluptates perferendis fuga dignissimos. Excepturi dolor dolor. Fuga est odit recusandae expedita aut adipisci recusandae. Ea facilis similique quibusdam illo adipisci quis nihil et. Sint at est commodi voluptatem. + +Repellendus deserunt natus harum dolorem ducimus quae quasi. Voluptate ipsa voluptatem beatae maxime possimus. Pariatur nemo aut dolorem dolor dignissimos quaerat tempore commodi quisquam. Aperiam voluptates aut. + +Iusto asperiores dolor voluptas. Quidem molestiae praesentium rerum similique recusandae eum placeat optio. Et rem expedita aliquid a minus magni tenetur sapiente. + +## Format + +Sequi sunt laboriosam quia error sequi et quibusdam. Similique rem perferendis reprehenderit distinctio voluptatum voluptatem officiis. Autem illum quod sit. Ut debitis accusantium numquam quisquam velit repellendus facilis est. Maiores voluptatem dolores qui qui quo provident dicta dolores quam. + +Nihil quod expedita adipisci deserunt rem sint. Recusandae dolorem est magnam assumenda rerum dolores rerum. Velit dolores soluta laborum blanditiis ipsum aspernatur sed harum autem. Quaerat velit tenetur error asperiores harum. Repellat veritatis ut enim et odio. + +Eum enim ea nesciunt illum et. Accusantium sit voluptate aspernatur quasi et eos. Quia voluptatem tempore dolores alias qui magni quod. Corrupti est laboriosam deserunt autem nulla quibusdam qui aut. + diff --git a/docs/src/docs/mlops/ci-cd.md b/docs/src/docs/mlops/ci-cd.md new file mode 100644 index 00000000..28d7f747 --- /dev/null +++ b/docs/src/docs/mlops/ci-cd.md @@ -0,0 +1,18 @@ +# Continuous Integration and Deployment + +## Continuous integration + +Ipsum rerum harum officia. Quo sit aut ea. Fuga autem non nostrum debitis. Laboriosam enim quisquam consequatur veniam. + +Accusamus et nulla vel. Odio dicta accusantium iste dolores qui doloremque magni rem. In doloremque ullam reiciendis cupiditate nulla corporis et nemo. Blanditiis harum sed expedita ullam consequatur qui. Est iste aut ut. + +Impedit commodi quod excepturi commodi sit ut fugit exercitationem quo. Quia provident rem voluptatem at iusto possimus et earum. Odit vel corrupti omnis quos impedit. Cupiditate illum in debitis. + +## Continuous deployment + +Libero corporis voluptatum cum nihil. Ea expedita aut. Quae occaecati qui maiores cupiditate qui veritatis. Eos eum unde itaque blanditiis sit eligendi. Perferendis nihil occaecati qui voluptas. Quia in similique. + +Rerum unde molestias amet. Dolore minus deleniti ut velit est. Accusamus porro tenetur molestiae quia excepturi quas aut officiis sit. Quisquam aut numquam velit aliquam eos dicta sint. Enim dolorem sunt architecto ipsam aut consequatur. Sequi atque placeat ipsa et aliquam odio sunt ut facere. + +Exercitationem corporis rerum earum dolorem est culpa reprehenderit laborum rem. Nostrum quasi animi corrupti sed sint consequatur temporibus sed. Corporis autem repellat ut a qui quia. Exercitationem maiores voluptatem doloremque aut enim rerum et qui. + diff --git a/docs/src/docs/overview.md b/docs/src/docs/overview.md new file mode 100644 index 00000000..5f6bc648 --- /dev/null +++ b/docs/src/docs/overview.md @@ -0,0 +1,29 @@ +# Getting started + +:::info +Quick TL; DR about what is KitOps and why it is awesome +::: + +## What is KitOps? + +Consequatur doloremque enim aliquam. Quo ut saepe quia quidem beatae harum itaque at. Quidem ex placeat maiores autem magnam consectetur sequi ad nostrum. Quia modi hic reprehenderit est corporis eaque perspiciatis architecto veritatis. Soluta fuga libero occaecati qui aliquam iste qui voluptatem. Itaque aliquam et molestias debitis at delectus id et. + +Dolorum aut ut culpa. In voluptatem dolorem quidem. Neque saepe necessitatibus iste aut. Consectetur vitae ducimus asperiores voluptates. Qui eos ex consequatur atque rerum repudiandae hic at. Vel enim occaecati possimus officiis natus commodi laborum libero. + +Sapiente consequatur et alias similique delectus consequuntur accusamus. Veniam temporibus est quod iste error impedit doloribus sapiente. Maxime nobis omnis hic asperiores est. Temporibus recusandae totam quia delectus vel atque. Et consequatur qui. + +## Why use KitOps? + +Porro est facere error nulla deserunt. A eos natus voluptate quam neque sit aut vitae iure. Adipisci maiores cumque debitis illum enim. + +Et dolore quisquam natus adipisci nihil minima ipsam dolorum. Reprehenderit reprehenderit ut aliquid labore. Unde natus eligendi accusamus. Aut sapiente vitae iusto exercitationem eveniet. Aspernatur sunt odio at autem quidem enim tenetur veritatis illo. + +Hic est vel reprehenderit dolorem temporibus cumque. Nihil tenetur quo ut. Est tempora magnam architecto minima. Magnam voluptatum et. Quo natus aut inventore voluptas voluptatum autem eveniet nulla ex. + +## Benefits of KitOps + +Provident aut ea voluptas error qui perferendis earum. Fuga aut deserunt dolores ut. Dolores dolorum ea quo nulla ut recusandae quo eum aut. Non voluptatem eaque voluptatem magnam quis iusto id deleniti. + +Quas quisquam quisquam quis cumque quae. Ipsum perspiciatis aliquid distinctio rerum consequatur voluptate aliquid. Et ratione sequi hic in. Quasi eligendi et beatae consequatur velit et. Ut inventore est nobis. Aspernatur non earum suscipit. + +Dolore eos in culpa porro vitae aliquam sed omnis. Sapiente nobis fugit laboriosam recusandae nobis sit natus. Repellat aut ut commodi eum est voluptas sit. Suscipit sed ut similique eveniet laudantium. diff --git a/docs/src/guides/index.md b/docs/src/guides/index.md new file mode 100644 index 00000000..6cbfa3d6 --- /dev/null +++ b/docs/src/guides/index.md @@ -0,0 +1,18 @@ +--- +title: Guides and Walkthroughs +sidebar: false +aside: false +footer: false +prev: false +next: false +--- + +# Guides + +Collection of code samples and walkthroughs for performing common tasks. + +Minus labore dicta quia ut ipsum. Sed error aspernatur repellendus rerum. Labore id asperiores dignissimos error totam. Est est cupiditate delectus quaerat aperiam optio voluptatem facere. + +Repellat eveniet rerum. At nobis accusamus. Assumenda exercitationem sunt. Aut ex exercitationem cupiditate assumenda voluptas quod. Eum earum beatae eveniet. Pariatur sed minus deleniti quia nam laboriosam accusantium aut. + +Et itaque quos ab quis quaerat sit et cupiditate. Ea rerum minus blanditiis et. Numquam impedit id aut est eum quis est perspiciatis quaerat. diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 00000000..17d2017d --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,29 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "KitOps" + text: "Documentation for the KitOps" + tagline: The simple and standard way to build, package, and manage AI / ML models for deploying anywhere. + actions: + - theme: brand + text: What exactly is KitOps? + link: /docs/overview + - theme: alt + text: Install + link: /docs/cli/installation + - theme: alt + text: Guides + link: /guides + +features: + - title: Simple + details: Create, share, and deploy to any infrastructure while maintaining traceability and provenance for the datasets, models, and applications. + - title: Open source + details: Open source CLI and packaging file that tracks models, datasets, parameters, configuration, and test results from a Jupyter Notebook to Production. + - title: More visible + details: Unified visibility and provenance across ML and App teams for datasets, models, and application dependencies. + +--- + diff --git a/docs/src/markdown-examples.md b/docs/src/markdown-examples.md new file mode 100644 index 00000000..e15f7bdd --- /dev/null +++ b/docs/src/markdown-examples.md @@ -0,0 +1,154 @@ +# 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!' + } + } +} +``` + +## Dynamic platform code snippet + +Dynamic snippets that depends on the selected platform needs to be wrapped into a `PlatformSnippet` tag, which is a custom-made Vue component. Then each language snippet must be inside a `