अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
यह दस्तावेज़ पुराना है, आधार संस्करण को इस तिथि पर अपडेट किया गया है 24 मार्च 2026.
अंग्रेजी दस्तावेज़ पर जाएँसंस्करण इतिहास
- "Add `intlayerHTML` plugin object; use `app.use(intlayerHTML)` instead of `app.use(installIntlayerHTML)`"v8.5.024/3/2026
- "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/html`"v8.5.024/3/2026
- "HTMLRenderer / useHTMLRenderer / renderHTML यूटिलिटी जोड़े"v8.0.022/1/2026
- "HTML पार्सिंग समर्थन जोड़ा"v8.0.020/1/2026
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
HTML सामग्री / Intlayer में HTML
Intlayer HTML सामग्री का समर्थन करता है, जिससे आप अपने dictionaries के भीतर समृद्ध, संरचित सामग्री एम्बेड कर सकते हैं। इस सामग्री को standard HTML टैग्स के साथ रेंडर किया जा सकता है या रनटाइम पर कस्टम कंपोनेंट्स से बदल दिया जा सकता है।
HTML कंटेंट घोषित करना
आप html फ़ंक्शन का उपयोग करके या सीधे एक स्ट्रिंग के रूप में HTML कंटेंट घोषित कर सकते हैं।
HTML कंटेंट को स्पष्ट रूप से घोषित करने के लिए html फ़ंक्शन का उपयोग करें। यह सुनिश्चित करता है कि मानक टैग सही तरीके से मैप किए जाएँ, भले ही स्वचालित पहचान अक्षम हो।
कोड को क्लिपबोर्ड पर कॉपी करें
import { html, type Dictionary } from "intlayer";const htmlDictionary = { key: "app", contentAutoTransformation: true, // कॉन्फ़िग फ़ाइल में सेट किया जा सकता है content: { myHtmlContent: html("<p>हैलो <strong>वर्ल्ड</strong></p>"), },} satisfies Dictionary;export default htmlDictionary;html() नोड
html() फ़ंक्शन Intlayer v8 में एक नई विशेषता है जो आपको अपने शब्दकोशों में स्पष्ट रूप से HTML सामग्री को परिभाषित करने की अनुमति देती है। जबकि Intlayer अक्सर HTML सामग्री का स्वतः पता लगा सकता है, html() फ़ंक्शन का उपयोग करने से कई लाभ मिलते हैं:
- टाइप सुरक्षा (Type Safety):
html()फ़ंक्शन आपको कस्टम घटकों के लिए अपेक्षित प्रॉप्स (props) को परिभाषित करने की अनुमति देता है, जो आपके संपादक में बेहतर ऑटोकंप्लीशन और टाइप चेकिंग प्रदान करता है। - स्पष्ट घोषणा: यह सुनिश्चित करता है कि स्ट्रिंग को हमेशा HTML के रूप में माना जाए, भले ही इसमें मानक HTML टैग न हों जो स्वतः पता लगाने को ट्रگر करते हैं।
- कस्टम घटक परिभाषा: आप कस्टम घटकों और उनके अपेक्षित प्रॉप प्रकारों को परिभाषित करने के लिए
html()में दूसरा तर्क पारित कर सकते हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
import { html } from "intlayer";const myContent = html( "<MyCustomComponent title='नमस्ते'>दुनिया</MyCustomComponent>", { MyCustomComponent: { title: "string", children: "node", }, });HTML नोड पर .use() विधि का उपयोग करते समय, आपके द्वारा प्रदान किए गए घटकों की जांच html() फ़ंक्शन (यदि उपलब्ध हो) में प्रदान की गई परिभाषा के विरुद्ध की जाएगी।
HTML रेंडरिंग
रेंडरिंग को Intlayer के कंटेंट सिस्टम द्वारा स्वचालित रूप से या विशेष टूल्स का उपयोग करके मैन्युअली संभाला जा सकता है।
स्वचालित रेंडरिंग (useIntlayer का उपयोग)
जब आप useIntlayer के माध्यम से कंटेंट एक्सेस करते हैं, तो HTML नोड्स पहले से ही रेंडरिंग के लिए तैयार होते हैं।
HTML नोड्स को सीधे JSX के रूप में रेंडर किया जा सकता है। सामान्य टैग स्वचालित रूप से काम करते हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
import { useIntlayer } from "react-intlayer";const AppContent = () => { const { myHtmlContent } = useIntlayer("app"); return <div>{myHtmlContent}</div>;};कस्टम कंपोनेंट्स प्रदान करने या टैग ओवरराइड करने के लिए .use() मेथड का उपयोग करें:
कोड को क्लिपबोर्ड पर कॉपी करें
{myHtmlContent.use({ p: (props) => <p className="prose" {...props} />, CustomLink: ({ children }) => <a href="/details">{children}</a>,})}HTMLProvider के साथ वैश्विक कॉन्फ़िगरेशन
आप अपने पूरे एप्लिकेशन के लिए HTML rendering को वैश्विक स्तर पर कॉन्फ़िगर कर सकते हैं। यह उन कस्टम कंपोनेंट्स को परिभाषित करने के लिए आदर्श है जिन्हें सभी HTML कंटेंट में उपलब्ध होना चाहिए।
कोड को क्लिपबोर्ड पर कॉपी करें
import { HTMLProvider } from "react-intlayer/html";export const AppProvider = ({ children }) => ( <HTMLProvider components={{ p: (props) => <p className="prose" {...props} />, CustomLink: ({ children }) => <a href="/details">{children}</a>, }} > {children} </HTMLProvider>);मैनुअल रेंडरिंग और उन्नत टूल्स
यदि आपको raw HTML स्ट्रिंग्स रेंडर करने की आवश्यकता है या component मैपिंग पर अधिक नियंत्रण चाहिए, तो निम्नलिखित टूल्स का उपयोग करें।
<HTMLRenderer /> कम्पोनेंट
विशिष्ट कम्पोनेंट्स के साथ HTML स्ट्रिंग रेंडर करें।
कोड को क्लिपबोर्ड पर कॉपी करें
import { HTMLRenderer } from "react-intlayer/html";<HTMLRenderer components={{ p: MyCustomP }}> {"<p>Hello World</p>"}</HTMLRenderer>useHTMLRenderer() हुक
एक पूर्व-कॉन्फ़िगर किया हुआ renderer फ़ंक्शन प्राप्त करें।
कोड को क्लिपबोर्ड पर कॉपी करें
import { useHTMLRenderer } from "react-intlayer/html";const renderHTML = useHTMLRenderer({ components: { strong: (props) => <strong {...props} className="text-red-500" /> }});return renderHTML("<p>हैलो <strong>वर्ल्ड</strong></p>");renderHTML() यूटिलिटी
कम्पोनेन्ट्स के बाहर रेंडरिंग के लिए स्टैंडअलोन यूटिलिटी।
कोड को क्लिपबोर्ड पर कॉपी करें
import { renderHTML } from "react-intlayer/html";const jsx = renderHTML("<p>हैलो</p>", { components: { p: 'div' } });विकल्प संदर्भ
इन विकल्पों को HTMLProvider, HTMLRenderer, useHTMLRenderer, और renderHTML को पास किया जा सकता है।
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| विकल्प | प्रकार | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
components | Record<string, any> | {} | HTML टैग्स या कस्टम कॉम्पोनेंट नामों को कॉम्पोनेंट्स से मैप करने वाला ऑब्जेक्ट। |
renderHTML | Function | null | डिफ़ॉल्ट HTML पार्सर को पूरी तरह से बदलने के लिए एक कस्टम रेंडरिंग फ़ंक्शन (केवल Vue/Svelte providers के लिए)। |
नोट: React और Preact के लिए, मानक HTML टैग्स स्वतः प्रदान किए जाते हैं। केवल तभी आपको components prop पास करने की आवश्यकता होती है जब आप उन्हें ओवरराइड करना या कस्टम कॉम्पोनेंट जोड़ना चाहें।