|
import { redirect } from "@sveltejs/kit"; |
|
import * as version from "$lib/json/version.json"; |
|
|
|
const COLOR_SETS = [ |
|
"green", |
|
"yellow", |
|
"red", |
|
"blue", |
|
"pink", |
|
"purple", |
|
"green", |
|
"yellow", |
|
"red", |
|
"blue", |
|
"pink", |
|
"purple" |
|
]; |
|
|
|
const DOCS_BUCKET = "https://gradio-docs-json.s3.us-west-2.amazonaws.com"; |
|
const VERSION = version.version; |
|
|
|
async function load_release_guide_categories( |
|
version: string |
|
): Promise<typeof import("$lib/json/guides/guides_by_category.json")> { |
|
let docs_json = await fetch( |
|
`${DOCS_BUCKET}/${version}/guides/guides_by_category.json` |
|
); |
|
return await docs_json.json(); |
|
} |
|
|
|
async function load_main_guide_categories() { |
|
return await import(`../../../lib/json/guides/guides_by_category.json`); |
|
} |
|
|
|
export async function load({ params, url }) { |
|
if (params?.version === VERSION) { |
|
throw redirect(302, url.href.replace(`/${params.version}`, "")); |
|
} |
|
let guides_by_category = ( |
|
params?.version === "main" |
|
? await load_main_guide_categories() |
|
: await load_release_guide_categories(params?.version || VERSION) |
|
).guides_by_category; |
|
|
|
let total_guides = 0; |
|
for (const category in guides_by_category) { |
|
for (const guide in guides_by_category[category].guides) { |
|
total_guides += 1; |
|
} |
|
} |
|
|
|
return { |
|
guides_by_category, |
|
total_guides, |
|
COLOR_SETS |
|
}; |
|
} |
|
|