MDX remoto
Busque Markdown e MDX via HTTP a partir de um repositório do GitHub ou de uma URL raw com a source mdxRemote(), renderizados com todos os componentes do Blume.
O adapter nativo mdxRemote() busca arquivos .md/.mdx raw via HTTP. Você pode listar os arquivos a partir de uma subárvore de um repositório do GitHub (github) ou informá-los explicitamente em relação a uma URL base raw (url + files):
import { defineConfig } from "blume";
import { filesystem, mdxRemote } from "blume/sources";
export default defineConfig({
content: {
sources: [
filesystem({ root: "docs" }),
// The docs/ subtree of acme/sdk, mounted under /sdk
mdxRemote({
prefix: "sdk",
github: { owner: "acme", repo: "sdk", ref: "main", path: "docs" },
}),
],
},
});
Para listar os arquivos você mesmo, aponte url para uma URL base raw:
mdxRemote({
prefix: "sdk",
url: "https://raw.githubusercontent.com/acme/sdk/main/docs",
files: ["intro.mdx", "guide.mdx"],
});
O token de um repositório privado é lido da variável de ambiente GITHUB_TOKEN. Como o adapter declara essa variável, o blume dev e o blume build avisam quando ela não está definida. O token nunca é inserido na sua configuração nem no output gerado, e só é enviado para os próprios hosts do GitHub (api.github.com, raw.githubusercontent.com), nunca para uma base url personalizada. Um repositório público funciona sem ele.
As páginas remotas são renderizadas com total fidelidade de MDX e componentes: o conteúdo delas é materializado em um diretório de staging oculto e renderizado pelo Astro junto com a sua documentação local, então callouts, tabs e todos os outros componentes do Blume continuam funcionando.
Como em toda source remota, as páginas buscadas ficam em cache para builds offline e são atualizadas com blume sync. Veja Cache e builds offline.