diff --git a/.gitignore b/.gitignore index 56d6f6e384..0475df8a53 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,6 @@ package-lock.json /result .direnv/ -# Documentation -/assets/docs -/assets/docs.json +# Generated documentation +/assets +/docs.json diff --git a/.mise.toml b/.mise.toml index c2492a9368..73ea32917b 100644 --- a/.mise.toml +++ b/.mise.toml @@ -9,14 +9,11 @@ yes = true idiomatic_version_file_enable_tools = [] [tasks.generate-docs] -run = "cargo test --package typst-docs --lib -- tests::test_docs --exact --nocapture" +run = "cargo run --package typst-docs -- --assets-dir assets --out-file docs.json --base /docs/" [tasks.generate-web] depends = ["install-website"] -run = [ - "bun install --frozen-lockfile", - "bun run build", -] +run = ["bun run build"] dir = "./website" [tasks.generate] diff --git a/website/.gitignore b/website/.gitignore index d9fb9ffb5b..9a0861ef93 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -1,3 +1,4 @@ node_modules/ dist/ -public/assets/docs +public/assets +public/docs.json diff --git a/website/bun.lockb b/website/bun.lockb index ad301f4837..ccd850768f 100755 Binary files a/website/bun.lockb and b/website/bun.lockb differ diff --git a/website/package.json b/website/package.json index 424c1389d6..1b168e89c3 100644 --- a/website/package.json +++ b/website/package.json @@ -6,7 +6,7 @@ "dev": "vite dev", "build": "vite build && npm run update-search-index", "preview": "vite preview", - "update-search-index": "pagefind --site ./dist/ --glob \"docs/**/*.html\"", + "update-search-index": "pagefind --site ./dist/ --glob \"**/*.html\"", "check": "biome check .", "check:write": "biome check --write .", "test": "vitest" @@ -14,7 +14,7 @@ "devDependencies": { "@biomejs/biome": "1.9.4", "@hono/ssg-plugins-essential": "^0.1.0", - "@hono/vite-dev-server": "^0.19.0", + "@hono/vite-dev-server": "^0.20.1", "@hono/vite-ssg": "^0.2.0", "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.1.5", @@ -23,7 +23,7 @@ "pagefind": "^1.3.0", "tailwind-merge": "^3.3.0", "tailwindcss": "^4.1.5", - "vite": "^6.2.5", + "vite": "^7.1.2", "vitest": "^3.1.4" } } diff --git a/website/public/assets/favicon.png b/website/public/favicon.png similarity index 100% rename from website/public/assets/favicon.png rename to website/public/favicon.png diff --git a/website/public/assets/fonts/cascadia-code/CascadiaMono-Bold.woff2 b/website/public/fonts/cascadia-code/CascadiaMono-Bold.woff2 similarity index 100% rename from website/public/assets/fonts/cascadia-code/CascadiaMono-Bold.woff2 rename to website/public/fonts/cascadia-code/CascadiaMono-Bold.woff2 diff --git a/website/public/assets/fonts/cascadia-code/CascadiaMono-Regular-Sub.woff2 b/website/public/fonts/cascadia-code/CascadiaMono-Regular-Sub.woff2 similarity index 100% rename from website/public/assets/fonts/cascadia-code/CascadiaMono-Regular-Sub.woff2 rename to website/public/fonts/cascadia-code/CascadiaMono-Regular-Sub.woff2 diff --git a/website/public/assets/fonts/cascadia-code/LICENSE b/website/public/fonts/cascadia-code/LICENSE similarity index 100% rename from website/public/assets/fonts/cascadia-code/LICENSE rename to website/public/fonts/cascadia-code/LICENSE diff --git a/website/public/assets/fonts/hanken-grotesk/HKGrotesk-Bold.woff2 b/website/public/fonts/hanken-grotesk/HKGrotesk-Bold.woff2 similarity index 100% rename from website/public/assets/fonts/hanken-grotesk/HKGrotesk-Bold.woff2 rename to website/public/fonts/hanken-grotesk/HKGrotesk-Bold.woff2 diff --git a/website/public/assets/fonts/hanken-grotesk/HKGrotesk-Regular.woff2 b/website/public/fonts/hanken-grotesk/HKGrotesk-Regular.woff2 similarity index 100% rename from website/public/assets/fonts/hanken-grotesk/HKGrotesk-Regular.woff2 rename to website/public/fonts/hanken-grotesk/HKGrotesk-Regular.woff2 diff --git a/website/public/assets/fonts/hanken-grotesk/HKGrotesk-SemiBold.woff2 b/website/public/fonts/hanken-grotesk/HKGrotesk-SemiBold.woff2 similarity index 100% rename from website/public/assets/fonts/hanken-grotesk/HKGrotesk-SemiBold.woff2 rename to website/public/fonts/hanken-grotesk/HKGrotesk-SemiBold.woff2 diff --git a/website/public/assets/fonts/hanken-grotesk/LICENSE b/website/public/fonts/hanken-grotesk/LICENSE similarity index 100% rename from website/public/assets/fonts/hanken-grotesk/LICENSE rename to website/public/fonts/hanken-grotesk/LICENSE diff --git a/website/public/index.html b/website/public/index.html deleted file mode 100644 index d5d20bc26f..0000000000 --- a/website/public/index.html +++ /dev/null @@ -1,3 +0,0 @@ -
- - \ No newline at end of file diff --git a/website/src/components/templates/BaseTemplate.tsx b/website/src/components/templates/BaseTemplate.tsx index d08188c816..c24a208eda 100644 --- a/website/src/components/templates/BaseTemplate.tsx +++ b/website/src/components/templates/BaseTemplate.tsx @@ -1,6 +1,8 @@ +import { html } from "hono/html"; import type { FC, PropsWithChildren } from "hono/jsx"; -import { baseUrl, typstOfficialUrl } from "../../metadata"; +import { basePath, originUrl, typstOfficialDocsUrl } from "../../metadata"; import type { Page } from "../../types/model"; +import { joinPath, removeBasePath } from "../../utils/path"; import { getTranslationStatus } from "../../utils/translationStatus"; import { CaretRightCircleIcon, @@ -42,9 +44,15 @@ export const BaseTemplate: FC