Files
DeepSeek-TUI/web/lib/software-application-schema.ts
CodeWhale Bot 16e1af363e web: publish FAQ and organization structured data, llms.txt, and docs crumbs
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.
2026-08-18 21:14:07 -07:00

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 },
};
}