रिमोट MDX
mdxRemote() सोर्स की सहायता से किसी GitHub रिपॉज़िटरी या रॉ URL से HTTP के माध्यम से Markdown और MDX फ़ेच करें, जिन्हें हर Blume कॉम्पोनेंट के साथ रेंडर किया जाता है।
बिल्ट-इन mdxRemote() एडैप्टर HTTP के माध्यम से रॉ .md/.mdx फ़ाइलें फ़ेच करता है। आप फ़ाइलों को या तो किसी GitHub रिपॉज़िटरी के सबट्री (github) से सूचीबद्ध कर सकते हैं, या किसी रॉ बेस URL के सापेक्ष स्पष्ट रूप से (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" },
}),
],
},
});
यदि आप फ़ाइलों की सूची स्वयं देना चाहते हैं, तो url को किसी रॉ बेस URL पर सेट करें:
mdxRemote({
prefix: "sdk",
url: "https://raw.githubusercontent.com/acme/sdk/main/docs",
files: ["intro.mdx", "guide.mdx"],
});
किसी प्राइवेट रिपॉज़िटरी का टोकन GITHUB_TOKEN एनवायरनमेंट वेरिएबल से पढ़ा जाता है। एडैप्टर इस वेरिएबल को घोषित करता है, इसलिए यदि यह सेट न हो तो blume dev और blume build चेतावनी देते हैं। यह टोकन कभी भी आपके कॉन्फ़िग या जनरेट किए गए आउटपुट में इनलाइन नहीं किया जाता। इसे केवल GitHub के अपने होस्ट (api.github.com, raw.githubusercontent.com) पर ही भेजा जाता है, किसी कस्टम url बेस पर कभी नहीं। पब्लिक रिपॉज़िटरी इस टोकन के बिना भी काम करती है।
रिमोट पेज पूरी MDX और कॉम्पोनेंट सटीकता के साथ रेंडर किए जाते हैं। उनकी सामग्री एक छिपी हुई स्टेजिंग डायरेक्टरी में लिखी जाती है और आपके लोकल डॉक्स के साथ Astro के माध्यम से रेंडर की जाती है। इसलिए कॉलआउट, टैब और Blume के अन्य सभी कॉम्पोनेंट सामान्य रूप से काम करते रहते हैं।
अन्य सभी रिमोट सोर्स की तरह, फ़ेच किए गए पेज ऑफ़लाइन बिल्ड के लिए कैश किए जाते हैं और blume sync से रीफ़्रेश होते हैं। अधिक जानकारी के लिए कैशिंग और ऑफ़लाइन बिल्ड देखें।