diff --git a/website/blog/2019-05-28-first-blog-post.md b/website/blog/2019-05-28-first-blog-post.md deleted file mode 100644 index 02f3f81..0000000 --- a/website/blog/2019-05-28-first-blog-post.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -slug: first-blog-post -title: First Blog Post -authors: - name: Gao Wei - title: Docusaurus Core Team - url: https://github.com/wgao19 - image_url: https://github.com/wgao19.png -tags: [hola, docusaurus] ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet diff --git a/website/blog/2019-05-29-long-blog-post.md b/website/blog/2019-05-29-long-blog-post.md deleted file mode 100644 index 26ffb1b..0000000 --- a/website/blog/2019-05-29-long-blog-post.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -slug: long-blog-post -title: Long Blog Post -authors: endi -tags: [hello, docusaurus] ---- - -This is the summary of a very long blog post, - -Use a `` comment to limit blog post size in the list view. - - - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet diff --git a/website/blog/2021-08-01-mdx-blog-post.mdx b/website/blog/2021-08-01-mdx-blog-post.mdx deleted file mode 100644 index c04ebe3..0000000 --- a/website/blog/2021-08-01-mdx-blog-post.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -slug: mdx-blog-post -title: MDX Blog Post -authors: [slorber] -tags: [docusaurus] ---- - -Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/). - -:::tip - -Use the power of React to create interactive blog posts. - -```js - alert('button clicked!')}>Click me! -``` - - alert('button clicked!')}>Click me! - -::: diff --git a/website/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg b/website/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg deleted file mode 100644 index 11bda09..0000000 Binary files a/website/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg and /dev/null differ diff --git a/website/blog/2021-08-26-welcome/index.md b/website/blog/2021-08-26-welcome/index.md deleted file mode 100644 index 9455168..0000000 --- a/website/blog/2021-08-26-welcome/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -slug: welcome -title: Welcome -authors: [slorber, yangshun] -tags: [facebook, hello, docusaurus] ---- - -[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog). - -Simply add Markdown files (or folders) to the `blog` directory. - -Regular blog authors can be added to `authors.yml`. - -The blog post date can be extracted from filenames, such as: - -- `2019-05-30-welcome.md` -- `2019-05-30-welcome/index.md` - -A blog post folder can be convenient to co-locate blog post images: - - - -The blog supports tags as well! - -**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config. diff --git a/website/blog/authors.yml b/website/blog/authors.yml deleted file mode 100644 index bcb2991..0000000 --- a/website/blog/authors.yml +++ /dev/null @@ -1,17 +0,0 @@ -endi: - name: Endilie Yacop Sucipto - title: Maintainer of Docusaurus - url: https://github.com/endiliey - image_url: https://github.com/endiliey.png - -yangshun: - name: Yangshun Tay - title: Front End Engineer @ Facebook - url: https://github.com/yangshun - image_url: https://github.com/yangshun.png - -slorber: - name: Sébastien Lorber - title: Docusaurus maintainer - url: https://sebastienlorber.com - image_url: https://github.com/slorber.png diff --git a/website/docs/features.md b/website/docs/features.md new file mode 100644 index 0000000..6158f2d --- /dev/null +++ b/website/docs/features.md @@ -0,0 +1,75 @@ +--- +sidebar_position: 2 +--- + +# 功能概览 + +kit 提供命令行工具、脚本组装、运维管理三大核心能力。 + +## 命令行工具 + +kit 内置跨平台的常用命令,解决 Windows/Linux 脚本兼容性问题: + +| 命令 | 说明 | +|------|------| +| `info` | 查看系统信息 | +| `mkdir` | 创建目录 | +| `rm` | 删除文件/目录 | +| `cp` | 复制文件 | +| `mv` | 移动文件 | +| `zip` | 压缩/解压 | +| `md5` | 计算 MD5 | +| `readJson` | 读取 JSON 文件 | +| `writeJson` | 写入 JSON 文件 | + +## 远程操作 + +| 命令 | 说明 | +|------|------| +| `scp` | 跨主机文件传输 | +| `remoteShell` | SSH 远程执行命令 | + +## 模块管理 + +kit 可作为模块管理器,从远程仓库安装、升级、卸载工具: + +```shell +# 安装模块 +kit install myapp + +# 指定版本安装 +kit install myapp@1.0 + +# 查看已安装版本 +kit list myapp + +# 切换版本 +kit use myapp@1.0 + +# 回滚到上一个版本 +kit rollback myapp + +# 删除版本 +kit remove myapp@1.0 +``` + +## 脚本组装 + +kit 支持通过脚本文件(`kitx.js`)组合各种能力,实现工作流自动化: + +```js +// kitx.js +async function main() { + console.log("开始部署..."); + mkdir("./dist"); + cp("./src/*", "./dist/"); + scp("./dist/", "server:/app/"); + remoteShell({host: "server"}, "cd /app && restart.sh"); +} +``` + +运行脚本: + +```shell +kit run +``` diff --git a/website/docs/intro.md b/website/docs/intro.md index 2bc9114..7038904 100644 --- a/website/docs/intro.md +++ b/website/docs/intro.md @@ -4,19 +4,44 @@ sidebar_position: 1 # 安装 -kit 支持 Windows(x86_64)、Linux(x86_64)、 Linux(arm64)、 Alpine 等多个执行平台。 +kit 是一个跨平台命令行工具,支持以下平台: -下载地址:http://baishe.fullstack.club:5244/ +| 平台 | 架构 | 说明 | +|------|------|------| +| Windows | x86_64 | `kit.exe` | +| Linux | x86_64 | 现代 glibc(Ubuntu 20.04+) | +| Linux | x86_64 | Kylin V10 低版本 glibc | +## 下载 + +前往首页下载对应平台的二进制文件: + +- **Windows**: [kit.exe](https://pub-98ee77ce79984c2cad0dc1c300901158.r2.dev/data/windows/kit.exe) +- **Linux (现代 glibc)**: [kit](https://pub-98ee77ce79984c2cad0dc1c300901158.r2.dev/data/linux/kit) +- **Linux (Kylin V10)**: [kit.zip](https://pub-98ee77ce79984c2cad0dc1c300901158.r2.dev/data/kylin/kit.zip) + +下载后将可执行文件添加到系统 `PATH` 中即可使用。 ## 远程仓库 + +kit 支持从远程仓库安装和管理模块。配置仓库地址: + ```shell kit config remoteServer http://baishe.fullstack.club:5244/dav kit config remoteAuth cheney@722V587 ``` -## 信雅达内部仓库 +### 信雅达内部仓库 + ```shell kit config remoteServer http://172.16.17.230:5244/dav kit config remoteAuth kit@kitkit -``` \ No newline at end of file +``` + +## 验证 + +配置完成后,运行以下命令验证仓库连接: + +```shell +kit remote +``` diff --git a/website/docs/more.md b/website/docs/more.md index 0c72b95..ac0ee74 100644 --- a/website/docs/more.md +++ b/website/docs/more.md @@ -1,6 +1,10 @@ --- -sidebar_position: 1 +sidebar_position: 3 --- -# 更多 -等多文档请移步 -> **[Kit 辅助开发工具](https://flowus.cn/fullstack/share/9e90b5b7-cea7-44d7-9231-e5d8a6c807f9)** \ No newline at end of file +# 更多文档 + +详细的 API 文档和使用示例,请参考: + +- **在线文档**: [Kit 辅助开发工具](https://flowus.cn/fullstack/share/9e90b5b7-cea7-44d7-9231-e5d8a6c807f9) +- **代码仓库**: [git.honor3.com/Fullstack/kit.program](http://git.honor3.com/Fullstack/kit.program) diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 63a5739..4abcfc8 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -1,8 +1,4 @@ // @ts-check -// `@type` JSDoc annotations allow editor autocompletion and type checking -// (when paired with `@ts-check`). -// There are various equivalent ways to declare your Docusaurus config. -// See: https://docusaurus.io/docs/api/docusaurus-config import {themes as prismThemes} from 'prism-react-renderer'; @@ -12,23 +8,15 @@ const config = { tagline: '手边的开发运维工具', favicon: 'img/favicon.ico', - // Set the production url of your site here url: 'http://kit.fullstack.club', - // Set the // pathname under which your site is served - // For GitHub pages deployment, it is often '//' baseUrl: '/', - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: 'facebook', // Usually your GitHub org/user name. - projectName: 'docusaurus', // Usually your repo name. + organizationName: 'Fullstack', + projectName: 'kit.program', onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', - // Even if you don't use internationalization, you can use this field to set - // useful metadata like html lang. For example, if your site is Chinese, you - // may want to replace "en" with "zh-Hans". i18n: { defaultLocale: 'zh', locales: ['zh'], @@ -41,18 +29,8 @@ const config = { ({ docs: { sidebarPath: './sidebars.js', - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', - }, - blog: { - showReadingTime: true, - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', }, + blog: false, theme: { customCss: './src/css/custom.css', }, @@ -63,45 +41,57 @@ const config = { themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ - // Replace with your project's social card image: 'img/docusaurus-social-card.jpg', navbar: { - title: 'Kit 项目主页', + title: 'Kit', logo: { - alt: 'kit logo is still in production', + alt: 'Kit logo', src: 'img/logo.svg', }, items: [ - { href: 'https://flowus.cn/fullstack/share/9e90b5b7-cea7-44d7-9231-e5d8a6c807f9', label: '文档', position: 'right'} + { + type: 'docSidebar', + sidebarId: 'tutorialSidebar', + position: 'left', + label: '文档', + }, + { + href: 'http://git.honor3.com/Fullstack/kit.program', + label: '仓库', + position: 'right', + }, ], }, footer: { style: 'dark', links: [ { - title: 'More', + title: 'Kit', items: [ { - label: '代码仓库', - href: 'https://gitee.com/fullstackclub/kit.git', + label: '下载', + to: '/', }, { - label: '开发者博客', - to: 'http://gpio.me', + label: '文档', + to: '/docs/intro', }, { - label: '反馈', - to: 'mailto:hq@gpio.me', + label: '功能概览', + to: '/docs/features', }, - ], }, { - title: 'Docs', + title: '社区', items: [ { - label: '文档', - to: 'https://flowus.cn/fullstack/share/9e90b5b7-cea7-44d7-9231-e5d8a6c807f9', + label: '代码仓库', + href: 'http://git.honor3.com/Fullstack/kit.program', + }, + { + label: '反馈', + href: 'mailto:hq@gpio.me', }, ], }, @@ -111,6 +101,7 @@ const config = { prism: { theme: prismThemes.github, darkTheme: prismThemes.dracula, + additionalLanguages: ['bash'], }, }), }; diff --git a/website/sidebars.js b/website/sidebars.js index 3327580..ea02e30 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -1,33 +1,10 @@ -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ - -// @ts-check - /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { - // By default, Docusaurus generates a sidebar from the docs folder structure - tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], - - // But you can create a sidebar manually - /* tutorialSidebar: [ 'intro', - 'hello', - { - type: 'category', - label: 'Tutorial', - items: ['tutorial-basics/create-a-document'], - }, + 'features', + 'more', ], - */ }; export default sidebars; diff --git a/website/src/components/DownloadSection/index.js b/website/src/components/DownloadSection/index.js new file mode 100644 index 0000000..dc91f9c --- /dev/null +++ b/website/src/components/DownloadSection/index.js @@ -0,0 +1,75 @@ +import clsx from 'clsx'; +import Heading from '@theme/Heading'; +import styles from './styles.module.css'; + +const R2_BASE = 'https://pub-98ee77ce79984c2cad0dc1c300901158.r2.dev'; + +const downloads = [ + { + platform: 'Windows', + arch: 'x86_64', + filename: 'kit.exe', + url: `${R2_BASE}/data/windows/kit.exe`, + icon: ( + + + + ), + }, + { + platform: 'Linux', + arch: 'x86_64 · 现代 glibc', + filename: 'kit', + url: `${R2_BASE}/data/linux/kit`, + icon: ( + + + + ), + }, + { + platform: 'Linux', + arch: 'x86_64 · Kylin V10', + filename: 'kit.zip', + url: `${R2_BASE}/data/kylin/kit.zip`, + icon: ( + + + + ), + }, +]; + +export default function DownloadSection() { + return ( + + + + 下载 Kit + + + {downloads.map(({platform, arch, filename, url, icon}) => ( + + + + {icon} + {platform} + {arch} + {filename} + + + + 下载 + + + + + ))} + + + + ); +} diff --git a/website/src/components/DownloadSection/styles.module.css b/website/src/components/DownloadSection/styles.module.css new file mode 100644 index 0000000..c161d9f --- /dev/null +++ b/website/src/components/DownloadSection/styles.module.css @@ -0,0 +1,33 @@ +.downloads { + display: flex; + align-items: center; + padding: 2rem 0 4rem; + width: 100%; +} + +.downloadCard { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; + transition: box-shadow 0.2s; +} + +.downloadCard:hover { + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); +} + +.iconWrap { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0.5rem; + color: var(--ifm-color-primary); +} + +.filename { + font-family: var(--ifm-font-family-monospace); + font-size: 0.85rem; + color: var(--ifm-color-emphasis-600); + margin: 0; +} diff --git a/website/src/pages/index.js b/website/src/pages/index.js index c551389..2708381 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -3,6 +3,7 @@ import Link from '@docusaurus/Link'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import Layout from '@theme/Layout'; import HomepageFeatures from '@site/src/components/HomepageFeatures'; +import DownloadSection from '@site/src/components/DownloadSection'; import Heading from '@theme/Heading'; import styles from './index.module.css'; @@ -33,10 +34,11 @@ export default function Home() { return ( + description="手边的开发运维工具"> + ); diff --git a/website/src/pages/markdown-page.md b/website/src/pages/markdown-page.md deleted file mode 100644 index 9756c5b..0000000 --- a/website/src/pages/markdown-page.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Markdown page example ---- - -# Markdown page example - -You don't need React to write simple standalone pages.
{arch}
{filename}