mirror of
https://github.com/Hmbown/DeepSeek-TUI.git
synced 2026-09-03 06:50:13 +08:00
The public FAQ now emits FAQPage JSON-LD from the same 40 Q&A pairs the page renders. The locale layout carries a stable Organization/WebSite graph so SoftwareApplication can reference it. /llms.txt is generated from the docs registry; robots allows it; middleware does not locale-prefix it. Docs pages get a Home → Docs → topic trail and a matching BreadcrumbList. Cloudflare Images is not enabled. Verified: 92 vitest files in the touched web surface passed in the implementing session.
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import type { PublishedReleaseFact } from "./facts";
|
|
import { REPO_URL } from "./i18n/links";
|
|
import { IDENTITY_PHRASE, SITE_NAME, SITE_URL } from "./page-meta";
|
|
import { ORGANIZATION_ID } from "./site-schema";
|
|
|
|
/**
|
|
* Structured product data for the release-backed install page.
|
|
*
|
|
* Source candidates deliberately do not enter this function: the download URL
|
|
* resolves published artifacts, so softwareVersion must describe that release
|
|
* or be absent when no published release receipt is available.
|
|
*/
|
|
export function buildSoftwareApplicationJsonLd(
|
|
publishedRelease: Pick<PublishedReleaseFact, "version"> | null,
|
|
) {
|
|
return {
|
|
"@context": "https://schema.org",
|
|
"@type": "SoftwareApplication",
|
|
name: SITE_NAME,
|
|
url: SITE_URL,
|
|
description: IDENTITY_PHRASE,
|
|
applicationCategory: "DeveloperApplication",
|
|
operatingSystem: "macOS, Linux, Windows, Android",
|
|
...(publishedRelease?.version ? { softwareVersion: publishedRelease.version } : {}),
|
|
license: `${REPO_URL}/blob/main/LICENSE`,
|
|
codeRepository: REPO_URL,
|
|
downloadUrl: `${SITE_URL}/en/install`,
|
|
author: { "@id": ORGANIZATION_ID },
|
|
};
|
|
}
|