Jamdesk Documentation logo

Markdown 源代码

在文档页面 URL 后添加 .md,即可获取供 AI 工具、脚本和内容流水线使用的原始 Markdown。

AI 工具处理 Markdown 的效率高于渲染后的 HTML。Jamdesk 支持在任意页面 URL 后添加 .md,以获取每个页面的原始 Markdown 源代码。无需身份验证。

.md URL 扩展名

在任意文档页面 URL 后添加 .md,即可获取原始源代码,而不是渲染后的 HTML:

# Rendered page
https://acme.jamdesk.app/getting-started

# Raw Markdown source
https://acme.jamdesk.app/getting-started.md

这适用于任意路径深度。以下是响应示例:

curl https://acme.jamdesk.app/getting-started.md
---
title: Getting Started
description: Set up your first project in 5 minutes.
---

Welcome to the getting started guide.

## Prerequisites

<Note>You'll need Node.js 18 or later.</Note>

响应内容就是仓库中的完整源文件,包括 frontmatter 和组件标签。

自定义域名

自定义域名同样支持原始内容。使用读者看到的相同 URL,并在末尾添加 .md:

# Docs served at root
curl https://docs.example.com/getting-started.md

# Docs served at /docs subpath
curl https://docs.example.com/docs/getting-started.md

网站根路径和语言根路径

网站根路径和不带路径的语言根路径会导出其 HTML 版本显示的页面:导航中的第一个页面,或该语言导航中的第一个页面。不会发生重定向,Markdown 会在首次请求时直接返回。

# All three return the first navigation page's Markdown
curl https://acme.jamdesk.app/index.md
curl -H "Accept: text/markdown" https://acme.jamdesk.app/
curl https://acme.jamdesk.app/fr.md

如果项目包含实际的 index.mdx 页面,则 /index.md 和根路径仍会提供该页面。如果导航中第一个页面的文件缺失,根路径会像其他缺失页面一样返回 404。

内容格式

原始内容是扩展了 <Note>、<Steps> 和 <Tabs> 等组件标签的 Markdown。标准 Markdown 解析器会将组件标签视为原始 HTML。完整语法参考请参阅 Markdown 基础。

端点页面导出的内容

openapi: 页面几乎没有自己的正文内容——端点会根据规范进行渲染——因此其 Markdown 导出内容会改为根据规范展平。获取该页面的代理会得到方法和路径、带说明的参数、请求和响应架构,以及一个 ## Authentication 部分,其中列出操作所需的安全方案:方案类型、apiKey 请求头名称、bearer 格式以及 OAuth 2 作用域。

替代方案会标记为“Any one of”,必须全部发送的方案会列在一起,而显式使用 security: [] 选择退出的操作也会明确说明,而不是保持沉默。无需打开规范,这些信息已足以构建可正常运行的请求。

API 参考页面上的 OpenAPI 规范

获取 API 参考页面的 Markdown 时(其 frontmatter 声明了 api: 或 openapi: 规范),Jamdesk 会附加一个简短页脚,引导 AI 代理获取项目中的所有 OpenAPI 规范,这些规范会打包为一个下载文件:

---

📦 **OpenAPI specs:** Every OpenAPI specification referenced by this documentation is available as a single download — https://acme.jamdesk.app/api-specs.zip

这与 下载 API 规范 操作提供的 api-specs.zip 相同,并且会在每次请求时即时组装。这样做是为了扩大覆盖范围:读取单个端点页面的代理可以得知,只需一次请求即可获取完整的机器可读契约,而不必抓取每个端点。只有至少包含一个规范的项目中的 API 参考页面才会显示该页脚;普通指南不受影响。

响应详情

请求头

请求头值用途
Content-Typetext/markdown; charset=utf-8指示内容为 Markdown
Cache-Controlpublic, max-age=3600, s-maxage=86400浏览器缓存 1 小时,CDN 缓存 1 天(.md URL)
VaryAccept根据请求的 Accept 请求头,同一 URL 可提供 HTML 或 Markdown
X-Robots-Tagnoindex, nofollow防止搜索引擎将内容编入索引
Content-Dispositioninline在浏览器中显示,而不是下载
X-Frame-OptionsDENY防止在 iframe 中嵌入
Content-Security-Policydefault-src 'none'阻止脚本执行

使用 Accept: text/markdown 请求页面的规范 URL(不带 .md)时,也会返回相同的 Markdown,但 Cache-Control 为 private, no-store。它与 HTML 页面共享缓存键,因此该响应永远不会被缓存。

错误响应

状态含义
308末尾斜杠重定向(例如,/intro.md/ 重定向到 /intro.md)
404页面不存在(返回简短的纯文本错误,而不是 Markdown)。网站根路径和语言根路径会解析到导航中的第一个页面,只有该页面的文件也缺失时才返回 404
500服务器错误(返回 HTML 错误页面)

与 AI 工具结合使用

Markdown 源代码 URL 与 MCP 服务器 配合使用效果良好。使用 searchDocs 按关键字查找页面,然后获取匹配页面的原始源代码:

# 1. Search for a topic via MCP
curl -X POST https://acme.jamdesk.app/_mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"searchDocs","arguments":{"query":"authentication"}}}'

# 2. Fetch the raw source of the top result
curl https://acme.jamdesk.app/guides/authentication.md

这样,AI 工具即可同时搜索文档并访问完整源代码。这两个 URL 在运行中的自定义域名上同样有效:https://docs.acme.com/_mcp 和 https://docs.acme.com/guides/authentication.md。

接下来做什么?

MCP 服务器

将 AI 助手直接连接到您的文档

Markdown 基础

文档页面的 MDX 语法参考