From ea490628fbff5e8789145f386f3f3b5ea0242224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Mon, 7 Oct 2024 18:36:07 -0500 Subject: [PATCH] feat: migrate docs --- docs/.vitepress/config.ts | 39 -------- docs/.vitepress/theme/index.ts | 16 ---- docs/.vitepress/theme/style.css | 90 ------------------ docs/changelogs/1.3.0.md | 2 +- docs/index.md | 30 ------ docs/public/assets/images/hero.png | Bin 35744 -> 0 bytes packages/website-legacy/package.json | 2 - .../docs/[directory]/[document]/layout.tsx | 30 ------ .../app/docs/[directory]/[document]/page.tsx | 45 --------- .../src/app/docs/patches/page.tsx | 29 ------ packages/website/package.json | 2 + packages/website/src/components/Markdown.tsx | 26 +++++ .../docs/[directory]/[document]/index.astro | 35 +++++++ .../docs/[directory]/[document]/index.tsx | 14 +++ .../src/pages/docs/patches/index.astro | 48 ++++++++++ 15 files changed, 126 insertions(+), 282 deletions(-) delete mode 100644 docs/.vitepress/config.ts delete mode 100644 docs/.vitepress/theme/index.ts delete mode 100644 docs/.vitepress/theme/style.css delete mode 100644 docs/index.md delete mode 100644 docs/public/assets/images/hero.png delete mode 100644 packages/website-legacy/src/app/docs/[directory]/[document]/layout.tsx delete mode 100644 packages/website-legacy/src/app/docs/[directory]/[document]/page.tsx delete mode 100644 packages/website-legacy/src/app/docs/patches/page.tsx create mode 100644 packages/website/src/components/Markdown.tsx create mode 100644 packages/website/src/pages/docs/[directory]/[document]/index.astro create mode 100644 packages/website/src/pages/docs/[directory]/[document]/index.tsx create mode 100644 packages/website/src/pages/docs/patches/index.astro diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts deleted file mode 100644 index 902f7d8b3..000000000 --- a/docs/.vitepress/config.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { compareVersions } from 'compare-versions'; -import { readdirSync } from 'fs'; -import { parse } from 'path'; -import { defineConfig } from 'vitepress'; -import { getSidebar } from 'vitepress-plugin-auto-sidebar'; - -export default defineConfig({ - title: 'BlitzKit', - description: '🎉 All-in-one Discord bot for everything World of Tanks Blitz', - base: '/blitzkit/', - outDir: '../dist/docs', - - themeConfig: { - nav: [ - { text: 'Home', link: '/' }, - { text: 'Guide', link: '/guide/introduction' }, - ], - - sidebar: [ - ...getSidebar({ - collapsed: false, - contentDirs: ['guide', 'legal'], - contentRoot: '/docs/', - }), - - { - text: 'Changelogs', - items: readdirSync('./docs/changelogs') - .map((file) => parse(file).name) - .sort(compareVersions) - .map((name) => ({ text: name, link: `/changelogs/${name}.html` })), - }, - ], - - socialLinks: [ - { icon: 'github', link: 'https://github.com/tresabhi/blitzkit' }, - ], - }, -}); diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts deleted file mode 100644 index 107d0ae71..000000000 --- a/docs/.vitepress/theme/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -// https://vitepress.dev/guide/custom-theme -import { h } from 'vue'; -import Theme from 'vitepress/theme'; -import './style.css'; - -export default { - extends: Theme, - Layout: () => { - return h(Theme.Layout, null, { - // https://vitepress.dev/guide/extending-default-theme#layout-slots - }); - }, - enhanceApp({ app, router, siteData }) { - // ... - }, -}; diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css deleted file mode 100644 index 45d673a9e..000000000 --- a/docs/.vitepress/theme/style.css +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Customize default theme styling by overriding CSS variables: - * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css - */ - -/** - * Colors - * -------------------------------------------------------------------------- */ - -:root { - --vp-c-brand: #646cff; - --vp-c-brand-light: #747bff; - --vp-c-brand-lighter: #9499ff; - --vp-c-brand-lightest: #bcc0ff; - --vp-c-brand-dark: #535bf2; - --vp-c-brand-darker: #454ce1; - --vp-c-brand-dimm: rgba(100, 108, 255, 0.08); -} - -/** - * Component: Button - * -------------------------------------------------------------------------- */ - -:root { - --vp-button-brand-border: var(--vp-c-brand-light); - --vp-button-brand-text: var(--vp-c-white); - --vp-button-brand-bg: var(--vp-c-brand); - --vp-button-brand-hover-border: var(--vp-c-brand-light); - --vp-button-brand-hover-text: var(--vp-c-white); - --vp-button-brand-hover-bg: var(--vp-c-brand-light); - --vp-button-brand-active-border: var(--vp-c-brand-light); - --vp-button-brand-active-text: var(--vp-c-white); - --vp-button-brand-active-bg: var(--vp-button-brand-bg); -} - -/** - * 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(40px); -} - -@media (min-width: 640px) { - :root { - --vp-home-hero-image-filter: blur(56px); - } -} - -@media (min-width: 960px) { - :root { - --vp-home-hero-image-filter: blur(72px); - } -} - -/** - * Component: Custom Block - * -------------------------------------------------------------------------- */ - -:root { - --vp-custom-block-tip-border: var(--vp-c-brand); - --vp-custom-block-tip-text: var(--vp-c-brand-darker); - --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); -} - -.dark { - --vp-custom-block-tip-border: var(--vp-c-brand); - --vp-custom-block-tip-text: var(--vp-c-brand-lightest); - --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); -} - -/** - * Component: Algolia - * -------------------------------------------------------------------------- */ - -.DocSearch { - --docsearch-primary-color: var(--vp-c-brand) !important; -} diff --git a/docs/changelogs/1.3.0.md b/docs/changelogs/1.3.0.md index 209438f62..6161ab211 100644 --- a/docs/changelogs/1.3.0.md +++ b/docs/changelogs/1.3.0.md @@ -2,7 +2,7 @@ This release of Blitzkrieg focuses mainly on **performance**. Blitzkrieg now uses **Satori** and **resvg** under the hood to render images resulting in a solid **2x to 8x performance boost** depending on the situation. -This only applies to `/today` and /stats` as they're the only commands that render an image currently. +This only applies to `/today` and `/stats` as they're the only commands that render an image currently. We're working further on **performance optimizations**. Our goal is to deliver a message within **3 seconds or less**. We're close and we'll get there! diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 81b94c75d..000000000 --- a/docs/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -# https://vitepress.dev/reference/default-theme-home-page -layout: home - -hero: - name: 'BlitzKit' - text: Everything Blitz, right in Discord - tagline: All-in-one Discord bot for everything World of Tanks Blitz - image: - src: '/assets/images/hero.png' - alt: 'blitzkit' - actions: - - theme: brand - text: Add to Discord Server - link: /guide/invite - - theme: alt - text: Guide - link: /guide/introduction - -features: - - title: Clean and Efficient UI - icon: 🚀 - details: BlitzKit is where concise meets efficient. Get the information you need in the way you want. - - title: Endless Possibilities - icon: 🛠 - details: With endless ways to customize the output, it's guaranteed that you'll always get the information you need. - - title: Easy to Use - icon: 💻 - details: Leveraging Discord's, Blitz Stars', and Wargaming's powerful APIS, Blitzkit does all the hard work for you. ---- diff --git a/docs/public/assets/images/hero.png b/docs/public/assets/images/hero.png deleted file mode 100644 index 722f5bf0a3b36113cc451bd3b7b2694fa75fbf1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35744 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

pOQ`0eyNeTc#sId{qL!!)La}r~nft3} z-E$|ayBFDz2~b(GR1co2>Lm%je|;-6f6m7_In`{ z6dgD{=rc`SWIC)3DgsndW=bKQgkmZ|P}BTJpzu*4kczwAvR`){<3{81ljJCqD1v#Q z)7$^vBtWsA)3red30u8SB1MPBhfT~j2aeeLl%~PGWFYq(;BTRny6#x~vr7|$CZ>Mv z)@GKs15j+Jj}@fpP*qdw!({#{+VYawFv8{g-nJVE-Fm&V-_$=0M|LyweFgQWnt&LZ z5Oxxxmgn7fP}PFccMJ9(B%Ao_pqiZB@#8GmRd%tV5_YGh+SIb2oSz11QH%VoA(`5@T|kQ z$}K%F9COaxmn~*_YuE8>Yv}U;T7;Hui@=epTd^%Dt(A+c8FQ`i-^0Nkk{&6 zm(D>paMo?21~9c%O#v3lEg?^<3SC=_tPV$K<~-BJkfyjBNpaRMyNCbAx8Z;LVh|s) z%;JOykOPlH+KtS;V_)Z6?HgRUuHu&YaG%jaED@Vq2F-dFezs!An3o8u<VRLHVnXVH2RTpKD{7VmBrKe=6X_&Cp->%bo;iY@Wh+ez4^N;;2qlu;%U{Gf|ldc_hyPjKWXeFVY}BXT4>Dm zrlKu^l7?J``R8>ji@znlDoK4YCeTKoYO?}&O{L6RXiAmEl){uOjIHOA0)mH2Y5!Su z#4HgvBBT~|hKBR(#F}Cs=;hAbNgX7#|_HU9H4Mtv$mBYg*&_1daP9{eG zJkMxc{?3yQ;T69+K{mf1;nVY7G4nP6KWTM!60DJLF(d(;%z)ZVNE=oiG3aN7X{kz% zre4Dfd4|$KDZJZaPCX}9+XO)Z3?n(c=D)mUE)ZaybU^gSPr~Z+Jc$*A1)5QwIPasX zA0&^YcQgyhrZRJci&n-=e4EcphW&DZOnO4JeL2eG?P=Yp?^(WV=~B7vEOJ;CPOwBx z!}O5lHgZ*H4mmw9vD7!{dI(E{$?v0v8Mwi;SB{rWt_Uk!L17I@K3{#m+Oq} EcCE{87~GN3MUA7<}Sz0*2nyckVm0q-lD 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 Qm@efK{PPjy1avzf$+%%;ucz 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 - Promise.all( - directories - .filter( - (directory) => - !['.vitepress', 'public'].includes(directory) && - !directory.endsWith('.md'), - ) - .map((directory) => - readdir(`../../docs/${directory}`).then((files) => - Promise.all( - files - .filter((file) => file.endsWith('.md')) - .map((file) => ({ - directory, - document: file.replace(/\.md$/, ''), - })), - ), - ), - ), - ).then((directories) => directories.flat()), - ); -} - -export default function Layout({ children }: { children: React.ReactNode }) { - return children; -} diff --git a/packages/website-legacy/src/app/docs/[directory]/[document]/page.tsx b/packages/website-legacy/src/app/docs/[directory]/[document]/page.tsx deleted file mode 100644 index 22cc6cfd9..000000000 --- a/packages/website-legacy/src/app/docs/[directory]/[document]/page.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { assertSecret } from '@blitzkit/core'; -import { Table } from '@radix-ui/themes'; -import Markdown from 'markdown-to-jsx'; -import { use } from 'react'; -import { Link } from '../../../../components/Link'; -import { PageWrapper } from '../../../../components/PageWrapper'; - -export default function Page({ - params, -}: { - params: { document: string; directory: string }; -}) { - const markdown = use( - fetch( - `https://raw.githubusercontent.com/tresabhi/blitzkit/${assertSecret( - process.env.PUBLIC_ASSET_BRANCH, - )}/docs/${params.directory}/${params.document}.md`, - ).then((response) => response.text()), - ); - const title = markdown.split('\n')[0].replaceAll(/[^a-zA-Z0-9 \.&]/g, ''); - - return ( - <> - {title} - - - - {markdown} - - - - ); -} diff --git a/packages/website-legacy/src/app/docs/patches/page.tsx b/packages/website-legacy/src/app/docs/patches/page.tsx deleted file mode 100644 index 72f74d6fe..000000000 --- a/packages/website-legacy/src/app/docs/patches/page.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Flex, Heading } from '@radix-ui/themes'; -import { compareVersions } from 'compare-versions'; -import versions from '../../../../public/assets/versions.json'; -import { Link } from '../../../components/Link'; -import { PageWrapper } from '../../../components/PageWrapper'; - -export default async function Page() { - return ( - <> - BlitzKit - Patch Notes - - BlitzKit patch notes - - - {versions - .sort(compareVersions) - .reverse() - .map((version) => { - return ( - - {version} - - ); - })} - - {' '} - - ); -} diff --git a/packages/website/package.json b/packages/website/package.json index 122d490a7..cd80ffc8b 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -24,6 +24,8 @@ "nanostores": "^0.11.3", "purgecss": "^6.0.0", "react": "^18.3.1", + "markdown-to-jsx": "^7.5.0", + "compare-versions": "^6.1.1", "react-dom": "^18.3.1", "react-promise-suspense": "^0.3.4", "three": "0.159.0", diff --git a/packages/website/src/components/Markdown.tsx b/packages/website/src/components/Markdown.tsx new file mode 100644 index 000000000..dbcee017a --- /dev/null +++ b/packages/website/src/components/Markdown.tsx @@ -0,0 +1,26 @@ +import { Link, Table } from '@radix-ui/themes'; +import MarkdownToJSX from 'markdown-to-jsx'; + +interface MarkdownProps { + children: string; +} + +export function Markdown({ children }: MarkdownProps) { + return ( + + {children} + + ); +} diff --git a/packages/website/src/pages/docs/[directory]/[document]/index.astro b/packages/website/src/pages/docs/[directory]/[document]/index.astro new file mode 100644 index 000000000..b8638a2f5 --- /dev/null +++ b/packages/website/src/pages/docs/[directory]/[document]/index.astro @@ -0,0 +1,35 @@ +--- +import type { GetStaticPaths } from 'astro'; +import { readFile } from 'fs/promises'; +import { Page } from '.'; +import RootLayout from '../../../../layouts/RootLayout.astro'; + +export const getStaticPaths = (async () => { + const ROOT = '../../../../../../../docs/'; + const files = import.meta.glob('../../../../../../../docs/**/*.md', { + eager: true, + }); + + return await Promise.all( + Object.keys(files).map(async (file) => { + const couple = file.replace(ROOT, '').split('/'); + couple[1] = couple[1].replace('.md', ''); + const content = await readFile( + `../../docs/${couple[0]}/${couple[1]}.md`, + ).then((buffer) => buffer.toString()); + + return { + params: { directory: couple[0], document: couple[1] }, + props: { content }, + }; + }), + ); +}) satisfies GetStaticPaths; + +const { content } = Astro.props; +--- + + + + + diff --git a/packages/website/src/pages/docs/[directory]/[document]/index.tsx b/packages/website/src/pages/docs/[directory]/[document]/index.tsx new file mode 100644 index 000000000..02ef84eb8 --- /dev/null +++ b/packages/website/src/pages/docs/[directory]/[document]/index.tsx @@ -0,0 +1,14 @@ +import { Markdown } from '../../../../components/Markdown'; +import { PageWrapper } from '../../../../components/PageWrapper'; + +interface PageProps { + content: string; +} + +export function Page({ content }: PageProps) { + return ( + + {content} + + ); +} diff --git a/packages/website/src/pages/docs/patches/index.astro b/packages/website/src/pages/docs/patches/index.astro new file mode 100644 index 000000000..cb8a1cddb --- /dev/null +++ b/packages/website/src/pages/docs/patches/index.astro @@ -0,0 +1,48 @@ +--- +import { MagicWandIcon, StarFilledIcon } from '@radix-ui/react-icons'; +import { Flex, Heading, Link } from '@radix-ui/themes'; +import { compareVersions } from 'compare-versions'; +import { PageWrapper } from '../../../components/PageWrapper'; +import RootLayout from '../../../layouts/RootLayout.astro'; + +// this can't be used in template literal :( +const ROOT = '../../../../../../docs/changelogs/'; + +const versions = Object.keys( + import.meta.glob(`../../../../../../docs/changelogs/*.md`, { + eager: true, + }), +) + .map((file) => file.replace(ROOT, '').replace('.md', '')) + .sort(compareVersions) + .reverse(); +--- + + + + BlitzKit patches + + + { + versions.map((version) => { + const split = version.split('.').map(Number); + const isMajor = split[2] === 0; + + return ( + + + {!isMajor && } + {isMajor && } + {version} + + + ); + }) + } + + +