@intlayer/docs 8.10.0-canary.0 → 8.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2025-02-07
3
3
  updatedAt: 2026-05-19
4
- title: Markdown सामग्री
5
- description: Intlayer के साथ अपने बहुभाषी वेबसाइट में Markdown सामग्री को घोषित करने और उपयोग करने का तरीका जानें। अपने प्रोजेक्ट में Markdown को आसानी से एकीकृत करने के लिए इस ऑनलाइन दस्तावेज़ का पालन करें।
4
+ title: Markdown
5
+ description: Intlayer के साथ अपनी बहुभाषी वेबसाइट में Markdown सामग्री घोषित करने और उसका उपयोग करने का तरीका जानें। अपने प्रोजेक्ट में Markdown को समेकित रूप से एकीकृत करने के लिए इस ऑनलाइन दस्तावेज़ में दिए गए चरणों का पालन करें।
6
6
  keywords:
7
7
  - Markdown
8
8
  - अंतर्राष्ट्रीयकरण
@@ -19,51 +19,51 @@ slugs:
19
19
  history:
20
20
  - version: 8.10.0
21
21
  date: 2026-05-19
22
- changes: "`.content.md` फ़ाइल समर्थन जोड़ें"
22
+ changes: "`.content.md` फ़ाइलों के लिए समर्थन जोड़ा गया"
23
23
  - version: 8.5.0
24
24
  date: 2026-03-24
25
- changes: "Add `intlayerMarkdown` plugin object; use `app.use(intlayerMarkdown)` instead of `app.use(installIntlayerMarkdown)`"
25
+ changes: "`intlayerMarkdown` प्लगइन ऑब्जेक्ट जोड़ा गया; `app.use(installIntlayerMarkdown)` के बजाय `app.use(intlayerMarkdown)` का उपयोग करें"
26
26
  - version: 8.5.0
27
27
  date: 2026-03-24
28
- changes: "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/markdown`"
28
+ changes: "आयात को `{{framework}}-intlayer` से `{{framework}}-intlayer/markdown` में ले जाया गया"
29
29
  - version: 8.0.0
30
30
  date: 2026-01-22
31
- changes: "MarkdownRenderer / useMarkdownRenderer / renderMarkdown यूटिलिटी और forceInline विकल्प जोड़ें"
31
+ changes: "MarkdownRenderer / useMarkdownRenderer / renderMarkdown उपयोगिता और forceInline विकल्प जोड़ा गया"
32
32
  - version: 8.0.0
33
33
  date: 2026-01-18
34
- changes: "मार्कडाउन सामग्री का स्वचालित सजावट, MDX और SSR समर्थन"
34
+ changes: "मार्कडाउन सामग्री, MDX और SSR समर्थन की स्वचालित सजावट"
35
35
  - version: 5.5.10
36
36
  date: 2025-06-29
37
- changes: "इतिहास प्रारंभ"
37
+ changes: "प्रारंभिक इतिहास"
38
38
  ---
39
39
 
40
- # मार्कडाउन / रिच टेक्स्ट सामग्री
40
+ # Markdown / रिच टेक्स्ट सामग्री
41
41
 
42
- Intlayer मार्कडाउन सिंटैक्स का उपयोग करके परिभाषित रिच टेक्स्ट सामग्री का समर्थन करता है। यह आपको ब्लॉग, लेख और बहुत कुछ जैसे समृद्ध स्वरूपण के साथ सामग्री को आसानी से लिखने और बनाए रखने की अनुमति देता है।
42
+ Intlayer Markdown सिंटैक्स का उपयोग करके परिभाषित रिच टेक्स्ट सामग्री का समर्थन करता है। यह आपको ब्लॉग, लेख आदि जैसी समृद्ध-स्वरूपित सामग्री को आसानी से लिखने और बनाए रखने की अनुमति देता है।
43
43
 
44
- ## मार्कडाउन सामग्री घोषित करना
44
+ ## Markdown सामग्री घोषित करना
45
45
 
46
- आप `md` फ़ंक्शन का उपयोग करके या केवल एक स्ट्रिंग के रूप में मार्कडाउन सामग्री घोषित कर सकते हैं (यदि इसमें मार्कडाउन सिंटैक्स है)।
46
+ आप `md` फ़ंक्शन का उपयोग करके या केवल एक स्ट्रिंग के रूप में (यदि इसमें Markdown सिंटैक्स है) Markdown सामग्री घोषित कर सकते हैं।
47
47
 
48
48
  <Tabs>
49
49
  <Tab label=".content.md" value=".content.md">
50
- संस्करण `8.10.0` से, आप सीधे `.content.md` फ़ाइलों में मार्कडाउन सामग्री घोषित कर सकते हैं। Intlayer स्वचालित रूप से मार्कडाउन सामग्री का पता लगाएगा और उसका विश्लेषण (parse) करेगा।
50
+ संस्करण `8.10.0` से, आप सीधे `.content.md` फ़ाइलों में Markdown सामग्री घोषित कर सकते हैं। Intlayer स्वचालित रूप से Markdown सामग्री का पता लगाएगा और उसे पार्स करेगा।
51
51
 
52
- ```md fileName="markdown-file.hi.content.md"
52
+ ```md fileName="markdown-file.en.content.md"
53
53
  ---
54
54
  key: my-markdown-content
55
55
  description: मेरी सामग्री
56
- locale: hi
56
+ locale: en
57
57
  ---
58
58
 
59
59
  # मेरी सामग्री
60
60
 
61
- यहाँ मार्कडाउन सामग्री का एक उदाहरण दिया गया है
61
+ यहाँ एक मार्कडाउन सामग्री उदाहरण है
62
62
  ```
63
63
 
64
- `locale` फ्रंटमैटर फ़ील्ड वह फ़ील्ड है जो सामग्री के स्थान (locale) को परिभाषित करती है। यह वैकल्पिक है। यदि प्रदान नहीं किया जाता है, तो Intlayer डिफ़ॉल्ट स्थान का उपयोग करेगा, जिसका उपयोग बैकअप (fallback) स्थान के रूप में भी किया जाता है यदि किसी विशिष्ट स्थान के लिए कोई अनुवाद उपलब्ध नहीं है।
64
+ `locale` फ्रंट-मैटर फ़ील्ड वह फ़ील्ड है जो सामग्री स्थानीय (locale) को परिभाषित करता है। यह वैकल्पिक है। यदि प्रदान नहीं किया जाता है, तो Intlayer डिफ़ॉल्ट स्थानीय का उपयोग करेगा, जिसे विशिष्ट स्थानीय के लिए कोई अनुवाद उपलब्ध नहीं होने पर फ़ॉलबैक स्थानीय के रूप में भी उपयोग किया जाता है।
65
65
 
66
- फ़ाइल संरचना का उदाहरण:
66
+ फ़ाइल संरचना उदाहरण:
67
67
 
68
68
  ```text
69
69
  content/
@@ -75,11 +75,11 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
75
75
  └── markdown-file.es.content.md
76
76
  ```
77
77
 
78
- आप फ्रंट-मैटर में [डिक्शनरी परिभाषा](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/content_file.md) में परिभाषित किसी भी गुण को जोड़ सकते हैं।
78
+ आप फ्रंट-मैटर में [डिक्शनरी परिभाषा](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/content_file.md) में परिभाषित कोई भी गुण जोड़ सकते हैं
79
79
 
80
80
  </Tab>
81
81
  <Tab label="मैनुअल रैपिंग" value="manual-wrapping">
82
- मार्कडाउन सामग्री को स्पष्ट रूप से घोषित करने के लिए `md` फ़ंक्शन का उपयोग करें। यह तब उपयोगी होता है जब आप सुनिश्चित करना चाहते हैं कि स्ट्रिंग को मार्कडाउन के रूप में माना जाए, भले ही इसमें स्पष्ट सिंटैक्स न हो।
82
+ Markdown सामग्री को स्पष्ट रूप से घोषित करने के लिए `md` फ़ंक्शन का उपयोग करें। यह तब उपयोगी होता है जब आप यह सुनिश्चित करना चाहते हैं कि किसी स्ट्रिंग को Markdown के रूप में माना जाए, भले ही उसमें स्पष्ट सिंटैक्स न हो।
83
83
 
84
84
  ```typescript fileName="markdownDictionary.content.ts"
85
85
  import { md, type Dictionary } from "intlayer";
@@ -95,33 +95,34 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
95
95
  ```
96
96
 
97
97
  </Tab>
98
- <Tab label="स्वचालित पहचान" value="automatic-detection">
99
- यदि स्ट्रिंग में सामान्य मार्कडाउन संकेतक (जैसे हेडर, सूचियां, लिंक आदि) हैं, तो Intlayer इसे स्वतः ही रूपांतरित कर देगा।
98
+ <Tab label="बाहरी फ़ाइलें" value="external-files">
99
+ `file` फ़ंक्शन का उपयोग करके सीधे `.md` फ़ाइलें आयात करें।
100
100
 
101
101
  ```typescript fileName="markdownDictionary.content.ts"
102
+ import { md, file, t } from "intlayer";
103
+
102
104
  export default {
103
105
  key: "app",
104
- contentAutoTransformation: true, // मार्कडाउन सामग्री की स्वचालित पहचान सक्षम करें - intlayer.config.ts में वैश्विक स्तर पर सेट किया जा सकता है
105
106
  content: {
106
- myMarkdownContent: "## मेरा शीर्षक \n\nLorem Ipsum",
107
+ content: t({
108
+ en: md(file("./myMarkdown.en.md")),
109
+ hi: md(file("./myMarkdown.hi.md")),
110
+ }),
107
111
  },
108
112
  };
109
113
  ```
110
114
 
111
115
  </Tab>
112
- <Tab label="बाहरी फ़ाइलें" value="external-files">
113
- `file` फ़ंक्शन का उपयोग करके सीधे `.md` फ़ाइलें आयात करें।
114
116
 
115
- ```typescript fileName="markdownDictionary.content.ts"
116
- import { md, file, t } from "intlayer";
117
+ <Tab label="स्वचालित पहचान" value="automatic-detection">
118
+ यदि स्ट्रिंग में सामान्य Markdown संकेतक (जैसे हेडिंग, लिस्ट, लिंक आदि) हैं, तो Intlayer स्वचालित रूप से इसे बदल देगा।
117
119
 
120
+ ```typescript fileName="markdownDictionary.content.ts"
118
121
  export default {
119
122
  key: "app",
123
+ contentAutoTransformation: true, // Markdown सामग्री की स्वचालित पहचान सक्षम करें - intlayer.config.ts में विश्व स्तर पर सेट किया जा सकता है
120
124
  content: {
121
- content: t({
122
- en: md(file("./myMarkdown.en.md")),
123
- fr: md(file("./myMarkdown.fr.md")),
124
- }),
125
+ myMarkdownContent: "## मेरा शीर्षक \n\nLorem Ipsum",
125
126
  },
126
127
  };
127
128
  ```
@@ -131,38 +132,74 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
131
132
 
132
133
  ---
133
134
 
134
- ## मार्कडाउन रेंडरिंग
135
+ ## Markdown रेंडरिंग
136
+
137
+ Intlayer Markdown रेंडर करने के दो स्वतंत्र तरीके प्रदान करता है:
138
+
139
+ 1. **`useIntlayer` के माध्यम से**
140
+ — Intlayer स्वचालित रूप से `md` नोड को फ्रेमवर्क के मूल आउटपुट (JSX, VNode, HTML स्ट्रिंग) में बदल देता है।
141
+ - फ्रंटमैटर को पार्स किया जाता है और `.metadata` के रूप में उजागर किया जाता है। आप रेंडरिंग को दो स्तरों पर ओवरराइड कर सकते हैं — विश्व स्तर पर `MarkdownProvider` (या फ्रेमवर्क समतुल्य) के साथ और स्थानीय स्तर पर प्रति नोड `.use()` के साथ। दोनों को जोड़ा जा सकता है; `.use()`, `MarkdownProvider` पर पूर्वता लेता है, जो डिफ़ॉल्ट पर पूर्वता लेता है।
135
142
 
136
- रेंडरिंग को Intlayer के सामग्री सिस्टम द्वारा स्वचालित रूप से या विशेष टूल्स का उपयोग करके मैन्युअल रूप से संभाला जा सकता है।
143
+ 2. **हेल्पर यूटिलिटीज** `<MarkdownRenderer />`, `useMarkdownRenderer()`, और `renderMarkdown()` स्टैंडअलोन टूल हैं जो **केवल कच्चे Markdown स्ट्रिंग्स** को स्वीकार करते हैं। वे `useIntlayer` से स्वतंत्र हैं और इसके द्वारा लौटाए गए सजाए गए नोड्स के साथ काम नहीं करते हैं।
137
144
 
138
- ### 1. स्वचालित रेंडरिंग (`useIntlayer` का उपयोग करके)
145
+ Markdown रेंडरिंग **MDX** का समर्थन करता है — अपने Markdown के अंदर सीधे नाम से किसी भी JSX/फ्रेमवर्क घटक का उपयोग करें।
139
146
 
140
- जब आप `useIntlayer` के माध्यम से सामग्री तक पहुँचते हैं, तो मार्कडाउन नोड्स रेंडरिंग के लिए पहले से ही तैयार होते हैं।
147
+ ### 1. स्वचालित रेंडरिंग (`useIntlayer` के माध्यम से)
141
148
 
142
149
  <Tabs group="framework">
143
150
  <Tab label="React / Next.js" value="react">
144
- मार्कडाउन नोड्स को सीधे JSX के रूप में रेंडर किया जा सकता है।
151
+ Markdown नोड्स को सीधे JSX के रूप में रेंडर किया जा सकता है।
145
152
 
146
153
  ```tsx fileName="App.tsx"
147
154
  import { useIntlayer } from "react-intlayer";
155
+ import { MarkdownProvider } from "react-intlayer/markdown";
148
156
 
149
157
  const AppContent = () => {
150
158
  const { myMarkdownContent } = useIntlayer("app");
159
+
151
160
  return <div>{myMarkdownContent}</div>;
152
161
  };
162
+
163
+ const App = () => (
164
+ <MarkdownProvider
165
+ components={{
166
+ h1: ({ children }) => <h1 style={{ color: "red" }}>{children}</h1>,
167
+ MyButton: (props) => <button {...props} />, // MDX घटक
168
+ }}
169
+ >
170
+ <AppContent />
171
+ </MarkdownProvider>
172
+ );
153
173
  ```
154
174
 
155
- आप `.use()` मेथड का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
175
+ > यदि `MarkdownProvider` मौजूद नहीं है, तो Intlayer डिफ़ॉल्ट Markdown से JSX पार्सर का उपयोग करके मार्कडाउन को रेंडर करेगा।
176
+
177
+ आप `.use()` विधि का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
156
178
 
157
179
  ```tsx
158
180
  {myMarkdownContent.use({
159
- h1: ({ children }) => <h1 className="text-3xl font-bold">{children}</h1>,
181
+ h1: ({ children }) => <h1 style={{ color: "red" }}>{children}</h1>,
160
182
  })}
161
183
  ```
162
184
 
185
+ आप Markdown को एक स्ट्रिंग के रूप में प्राप्त कर सकते हैं:
186
+
187
+ ```tsx
188
+ {myMarkdownContent.value}
189
+ {String(myMarkdownContent)}
190
+ {myMarkdownContent.toString()}
191
+ ```
192
+
193
+ और आप अपने मार्कडाउन मेटाडेटा तक इस प्रकार पहुँच सकते हैं:
194
+
195
+ ```tsx
196
+ {myMarkdownContent.metadata}
197
+ {myMarkdownContent.metadata.title}
198
+ ```
199
+
163
200
  </Tab>
164
201
  <Tab label="Vue" value="vue">
165
- Vue में, मार्कडाउन सामग्री को बिल्ट-इन `component` का उपयोग करके या सीधे नोड के रूप में रेंडर किया जा सकता है।
202
+ Vue में, Markdown सामग्री को अंतर्निहित `component` टैग का उपयोग करके या सीधे एक नोड के रूप में रेंडर किया जा सकता है।
166
203
 
167
204
  ```vue fileName="App.vue"
168
205
  <script setup>
@@ -175,48 +212,188 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
175
212
  </template>
176
213
  ```
177
214
 
215
+ `intlayerMarkdown` प्लगइन के माध्यम से विश्व स्तर पर कॉन्फ़िगर करें (MDX कस्टम घटकों का समर्थन करता है):
216
+
217
+ ```ts fileName="main.ts"
218
+ import { intlayerMarkdown } from "vue-intlayer/markdown";
219
+
220
+ app.use(intlayerMarkdown, {
221
+ components: {
222
+ h1: (props) => h('h1', { style: { color: 'green' } }, props.children),
223
+ MyButton: (props) => h('button', props), // MDX घटक
224
+ },
225
+ });
226
+ ```
227
+
228
+ > यदि `intlayerMarkdown` प्लगइन स्थापित नहीं है, तो Intlayer डिफ़ॉल्ट कंपाइलर का उपयोग करके रेंडर करेगा।
229
+
230
+ आप `.use()` विधि का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
231
+
232
+ ```vue
233
+ <component :is="myMarkdownContent.use({
234
+ h1: (props) => h('h1', { style: { color: 'red' } }, props.children),
235
+ })" />
236
+ ```
237
+
238
+ आप Markdown को एक स्ट्रिंग के रूप में प्राप्त कर सकते हैं:
239
+
240
+ ```vue
241
+ {{ myMarkdownContent.value }}
242
+ {{ String(myMarkdownContent) }}
243
+ {{ myMarkdownContent.toString() }}
244
+ ```
245
+
246
+ और आप अपने मार्कडाउन मेटाडेटा तक इस प्रकार पहुँच सकते हैं:
247
+
248
+ ```vue
249
+ <component :is="myMarkdownContent.metadata" />
250
+ <component :is="myMarkdownContent.metadata.title" />
251
+ ```
252
+
178
253
  </Tab>
179
254
  <Tab label="Svelte" value="svelte">
180
- Svelte डिफ़ॉल्ट रूप से मार्कडाउन को HTML स्ट्रिंग के रूप में रेंडर करता है। इसे रेंडर करने के लिए `{@html}` का उपयोग करें।
255
+ Svelte डिफ़ॉल्ट रूप से Markdown को एक HTML स्ट्रिंग के रूप में रेंडर करता है। इसे रेंडर करने के लिए `{@html}` का उपयोग करें।
181
256
 
182
- ```svelte
257
+ ```svelte fileName="App.svelte"
183
258
  <script lang="ts">
184
259
  import { useIntlayer } from "svelte-intlayer";
260
+ import { MarkdownProvider } from "svelte-intlayer/markdown";
261
+ import MyHeading from "./MyHeading.svelte";
262
+
185
263
  const content = useIntlayer("app");
186
264
  </script>
187
265
 
188
- {@html $content.myMarkdownContent}
266
+ <MarkdownProvider components={{ h1: MyHeading }}>
267
+ {@html $content.myMarkdownContent}
268
+ </MarkdownProvider>
269
+ ```
270
+
271
+ > यदि `MarkdownProvider` मौजूद नहीं है, तो Intlayer डिफ़ॉल्ट कंपाइलर का उपयोग करके मार्कडाउन को रेंडर करेगा।
272
+
273
+ आप `.use()` विधि का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
274
+
275
+ ```svelte
276
+ {@html $content.myMarkdownContent.use({ ... })}
277
+ ```
278
+
279
+ आप Markdown को एक स्ट्रिंग के रूप में प्राप्त कर सकते हैं:
280
+
281
+ ```svelte
282
+ {$content.myMarkdownContent.value}
283
+ {String($content.myMarkdownContent)}
284
+ {$content.myMarkdownContent.toString()}
285
+ ```
286
+
287
+ और आप अपने मार्कडाउन मेटाडेटा तक इस प्रकार पहुँच सकते हैं:
288
+
289
+ ```svelte
290
+ {$content.myMarkdownContent.metadata}
291
+ {$content.myMarkdownContent.metadata.title}
189
292
  ```
190
293
 
191
294
  </Tab>
192
295
  <Tab label="Preact" value="preact">
193
- Preact JSX में सीधे मार्कडाउन नोड्स का समर्थन करता है।
296
+ Preact, JSX में सीधे Markdown नोड्स का समर्थन करता है।
194
297
 
195
298
  ```tsx fileName="App.tsx"
196
299
  import { useIntlayer } from "preact-intlayer";
300
+ import { MarkdownProvider } from "preact-intlayer/markdown";
197
301
 
198
302
  const AppContent = () => {
199
303
  const { myMarkdownContent } = useIntlayer("app");
200
304
  return <div>{myMarkdownContent}</div>;
201
305
  };
306
+
307
+ const App = () => (
308
+ <MarkdownProvider
309
+ components={{
310
+ h1: ({ children }) => <h1 style={{ color: "red" }}>{children}</h1>,
311
+ MyButton: (props) => <button {...props} />, // MDX घटक
312
+ }}
313
+ >
314
+ <AppContent />
315
+ </MarkdownProvider>
316
+ );
317
+ ```
318
+
319
+ > यदि `MarkdownProvider` मौजूद नहीं है, तो Intlayer डिफ़ॉल्ट Markdown से JSX पार्सर का उपयोग करके मार्कडाउन को रेंडर करेगा।
320
+
321
+ आप `.use()` विधि का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
322
+
323
+ ```tsx
324
+ {myMarkdownContent.use({
325
+ h1: ({ children }) => <h1 style={{ color: "red" }}>{children}</h1>,
326
+ })}
327
+ ```
328
+
329
+ आप Markdown को एक स्ट्रिंग के रूप में प्राप्त कर सकते हैं:
330
+
331
+ ```tsx
332
+ {myMarkdownContent.value}
333
+ {String(myMarkdownContent)}
334
+ {myMarkdownContent.toString()}
335
+ ```
336
+
337
+ और आप अपने मार्कडाउन मेटाडेटा तक इस प्रकार पहुँच सकते हैं:
338
+
339
+ ```tsx
340
+ {myMarkdownContent.metadata}
341
+ {myMarkdownContent.metadata.title}
202
342
  ```
203
343
 
204
344
  </Tab>
205
345
  <Tab label="Solid" value="solid">
206
- Solid JSX में सीधे मार्कडाउन नोड्स का समर्थन करता है।
346
+ Solid, JSX में सीधे Markdown नोड्स का समर्थन करता है।
207
347
 
208
348
  ```tsx fileName="App.tsx"
209
349
  import { useIntlayer } from "solid-intlayer";
350
+ import { MarkdownProvider } from "solid-intlayer/markdown";
210
351
 
211
352
  const AppContent = () => {
212
353
  const { myMarkdownContent } = useIntlayer("app");
213
354
  return <div>{myMarkdownContent}</div>;
214
355
  };
356
+
357
+ const App = () => (
358
+ <MarkdownProvider
359
+ components={{
360
+ h1: (props) => <h1 style={{ color: "red" }}>{props.children}</h1>,
361
+ MyButton: (props) => <button {...props} />, // MDX घटक
362
+ }}
363
+ >
364
+ <AppContent />
365
+ </MarkdownProvider>
366
+ );
367
+ ```
368
+
369
+ > यदि `MarkdownProvider` मौजूद नहीं है, तो Intlayer डिफ़ॉल्ट Markdown से JSX पार्सर का उपयोग करके मार्कडाउन को रेंडर करेगा।
370
+
371
+ आप `.use()` विधि का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
372
+
373
+ ```tsx
374
+ {myMarkdownContent.use({
375
+ h1: (props) => <h1 style={{ color: "red" }}>{props.children}</h1>,
376
+ })}
377
+ ```
378
+
379
+ आप Markdown को एक स्ट्रिंग के रूप में प्राप्त कर सकते हैं:
380
+
381
+ ```tsx
382
+ {myMarkdownContent.value}
383
+ {String(myMarkdownContent)}
384
+ {myMarkdownContent.toString()}
385
+ ```
386
+
387
+ और आप अपने मार्कडाउन मेटाडेटा तक इस प्रकार पहुँच सकते हैं:
388
+
389
+ ```tsx
390
+ {myMarkdownContent.metadata}
391
+ {myMarkdownContent.metadata.title}
215
392
  ```
216
393
 
217
394
  </Tab>
218
395
  <Tab label="Angular" value="angular">
219
- Angular मार्कडाउन सामग्री को रेंडर करने के लिए `[innerHTML]` डायरेक्टिव का उपयोग करता है।
396
+ Angular, Markdown सामग्री को रेंडर करने के लिए `[innerHTML]` निर्देश का उपयोग करता है।
220
397
 
221
398
  ```typescript fileName="app.component.ts"
222
399
  import { Component } from "@angular/core";
@@ -231,7 +408,9 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
231
408
  }
232
409
  ```
233
410
 
234
- आप `.use()` मेथड का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
411
+ > यदि IntlayerMarkdown प्रदाता कॉन्फ़िगर नहीं किया गया है, तो Intlayer डिफ़ॉल्ट कंपाइलर का उपयोग करके रेंडर करेगा।
412
+
413
+ आप `.use()` विधि का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
235
414
 
236
415
  ```typescript
237
416
  content().myMarkdownContent.use({
@@ -239,19 +418,34 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
239
418
  })
240
419
  ```
241
420
 
421
+ आप Markdown को एक स्ट्रिंग के रूप में प्राप्त कर सकते हैं:
422
+
423
+ ```typescript
424
+ content().myMarkdownContent.value
425
+ String(content().myMarkdownContent)
426
+ content().myMarkdownContent.toString()
427
+ ```
428
+
429
+ और आप अपने मार्कडाउन मेटाडेटा तक इस प्रकार पहुँच सकते हैं:
430
+
431
+ ```typescript
432
+ content().myMarkdownContent.metadata
433
+ content().myMarkdownContent.metadata.title
434
+ ```
435
+
242
436
  </Tab>
243
437
  </Tabs>
244
438
 
245
- ### 2. मैन्युअल रेंडरिंग और उन्नत टूल्स
439
+ ### 2. हेल्पर यूटिलिटीज (केवल Markdown स्ट्रिंग्स)
246
440
 
247
- यदि आपको कच्ची मार्कडाउन स्ट्रिंग्स रेंडर करने की आवश्यकता है या रेंडरिंग प्रक्रिया पर अधिक नियंत्रण चाहिए, तो निम्नलिखित टूल्स का उपयोग करें।
441
+ ये यूटिलिटीज **केवल कच्चे Markdown स्ट्रिंग्स** को रेंडर करती हैं और `useIntlayer` से स्वतंत्र हैं। जब आपको अपने डिक्शनरी के अलावा अन्य स्रोतों से Markdown रेंडर करने की आवश्यकता हो, तो इनका उपयोग करें।
248
442
 
249
443
  <Tabs group="framework">
250
444
  <Tab label="React / Next.js" value="react">
251
445
 
252
446
  #### `<MarkdownRenderer />` घटक
253
447
 
254
- विशिष्ट विकल्पों के साथ मार्कडाउन स्ट्रिंग रेंडर करें।
448
+ विशिष्ट विकल्पों के साथ एक Markdown स्ट्रिंग रेंडर करता है।
255
449
 
256
450
  ```tsx
257
451
  import { MarkdownRenderer } from "react-intlayer/markdown";
@@ -263,7 +457,7 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
263
457
 
264
458
  #### `useMarkdownRenderer()` हुक
265
459
 
266
- एक पूर्व-कॉन्फ़िगर रेंडरर फ़ंक्शन प्राप्त करें।
460
+ पूर्व-कॉन्फ़िगर रेंडरर फ़ंक्शन प्राप्त करें।
267
461
 
268
462
  ```tsx
269
463
  import { useMarkdownRenderer } from "react-intlayer/markdown";
@@ -276,8 +470,8 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
276
470
  return renderMarkdown("# मेरा शीर्षक");
277
471
  ```
278
472
 
279
- #### `renderMarkdown()` यूटिलिटी
280
- घटकों के बाहर रेंडरिंग के लिए स्टैंडअलोन यूटिलिटी।
473
+ #### `renderMarkdown()` उपयोगिता
474
+ घटकों के बाहर रेंडरिंग के लिए स्टैंडअलोन उपयोगिता।
281
475
 
282
476
  ```tsx
283
477
  import { renderMarkdown } from "react-intlayer/markdown";
@@ -324,7 +518,7 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
324
518
  {@html render("# मेरा शीर्षक")}
325
519
  ```
326
520
 
327
- #### `renderMarkdown()` यूटिलिटी
521
+ #### `renderMarkdown()` उपयोगिता
328
522
 
329
523
  ```svelte
330
524
  <script lang="ts">
@@ -356,7 +550,7 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
356
550
  return <div>{render("# मेरा शीर्षक")}</div>;
357
551
  ```
358
552
 
359
- #### `renderMarkdown()` यूटिलिटी
553
+ #### `renderMarkdown()` उपयोगिता
360
554
 
361
555
  ```tsx
362
556
  import { renderMarkdown } from "preact-intlayer/markdown";
@@ -386,7 +580,7 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
386
580
  return <div>{render("# मेरा शीर्षक")}</div>;
387
581
  ```
388
582
 
389
- #### `renderMarkdown()` यूटिलिटी
583
+ #### `renderMarkdown()` उपयोगिता
390
584
 
391
585
  ```tsx
392
586
  import { renderMarkdown } from "solid-intlayer/markdown";
@@ -396,11 +590,11 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
396
590
 
397
591
  </Tab>
398
592
  <Tab label="Angular" value="angular">
399
- #### `IntlayerMarkdownService` सर्विस
400
- सेवा का उपयोग करके मार्कडाउन स्ट्रिंग रेंडर करें।
593
+ #### `IntlayerMarkdownService` सेवा
594
+ सेवा का उपयोग करके एक Markdown स्ट्रिंग रेंडर करता है।
401
595
 
402
596
  ```typescript
403
- import { IntlayerMarkdownService } from "angular-intlayer";
597
+ import { IntlayerMarkdownService } from "angular-intlayer/markdown";
404
598
 
405
599
  export class MyComponent {
406
600
  constructor(private markdownService: IntlayerMarkdownService) {}
@@ -416,9 +610,9 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
416
610
 
417
611
  ---
418
612
 
419
- ## `MarkdownProvider` के साथ वैश्विक कॉन्फ़िगरेशन
613
+ ## `MarkdownProvider` के साथ ग्लोबल कॉन्फ़िगरेशन
420
614
 
421
- आप अपने पूरे एप्लिकेशन के लिए मार्कडाउन रेंडरिंग को वैश्विक स्तर पर कॉन्फ़िगर कर सकते हैं। यह प्रत्येक रेंडरर को समान प्रॉप्स पास करने से बचाता है।
615
+ `MarkdownProvider` (या इसके फ्रेमवर्क समतुल्य) आपके संपूर्ण एप्लिकेशन के लिए Markdown रेंडरिंग पाइपलाइन को कॉन्फ़िगर करता है। यह स्वचालित `useIntlayer` रेंडरिंग और हेल्पर यूटिलिटीज दोनों पर लागू होता है। यहाँ सेट किए गए विकल्प डिफ़ॉल्ट हैं `.use()` उन्हें नोड स्तर पर ओवरराइड करता है।
422
616
 
423
617
  <Tabs group="framework">
424
618
  <Tab label="React / Next.js" value="react">
@@ -429,8 +623,29 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
429
623
  export const AppProvider = ({ children }) => (
430
624
  <MarkdownProvider
431
625
  components={{
432
- h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
433
- a: ({ href, children }) => <Link to={href}>{children}</Link>,
626
+ h1: (props) => <h1 style={{color: 'green'}} {...props} />,
627
+ a: ({ href, ...props }) => <a style={{color: 'red'}} {...props} />,
628
+ MyCustomJSXComponent: (props) => <span style={{color: 'red'}} {...props} />,
629
+ }}
630
+ >
631
+ {children}
632
+ </MarkdownProvider>
633
+ );
634
+ ```
635
+
636
+ > MDX समर्थित है — आपके Markdown के अंदर उपयोग किए गए किसी भी घटक नाम (उदा. `<MyCustomJSXComponent />`) को `components` मानचित्र के विरुद्ध हल किया जाता है।
637
+
638
+ आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
639
+
640
+ ```tsx fileName="AppProvider.tsx"
641
+ import { MarkdownProvider } from "react-intlayer/markdown";
642
+
643
+ export const AppProvider = ({ children }) => (
644
+ <MarkdownProvider
645
+ renderMarkdown={async (md) => {
646
+ // Use dynamic import to reduce the bundle size of your application
647
+ const { renderMarkdown } = await import('react-intlayer/markdown');
648
+ return renderMarkdown(md);
434
649
  }}
435
650
  >
436
651
  {children}
@@ -438,6 +653,8 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
438
653
  );
439
654
  ```
440
655
 
656
+ > अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
657
+
441
658
  </Tab>
442
659
  <Tab label="Vue" value="vue">
443
660
 
@@ -463,6 +680,29 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
463
680
  app.mount("#app");
464
681
  ```
465
682
 
683
+ आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
684
+
685
+ ```typescript fileName="main.ts"
686
+ import { createApp } from "vue";
687
+ import { intlayer } from "vue-intlayer";
688
+ import { intlayerMarkdown } from "vue-intlayer/markdown";
689
+ import App from "./App.vue";
690
+
691
+ const app = createApp(App);
692
+
693
+ app.use(intlayer);
694
+ app.use(intlayerMarkdown, {
695
+ renderMarkdown: async (md) => {
696
+ const { renderMarkdown } = await import('vue-intlayer/markdown');
697
+ return renderMarkdown(md);
698
+ },
699
+ });
700
+
701
+ app.mount("#app");
702
+ ```
703
+
704
+ > अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
705
+
466
706
  </Tab>
467
707
  <Tab label="Svelte" value="svelte">
468
708
 
@@ -481,6 +721,25 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
481
721
  </MarkdownProvider>
482
722
  ```
483
723
 
724
+ आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
725
+
726
+ ```svelte fileName="App.svelte"
727
+ <script lang="ts">
728
+ import { MarkdownProvider } from "svelte-intlayer/markdown";
729
+ </script>
730
+
731
+ <MarkdownProvider
732
+ renderMarkdown={async (md) => {
733
+ const { renderMarkdown } = await import('svelte-intlayer/markdown');
734
+ return renderMarkdown(md);
735
+ }}
736
+ >
737
+ <slot />
738
+ </MarkdownProvider>
739
+ ```
740
+
741
+ > अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
742
+
484
743
  </Tab>
485
744
  <Tab label="Preact" value="preact">
486
745
 
@@ -498,6 +757,25 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
498
757
  );
499
758
  ```
500
759
 
760
+ आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
761
+
762
+ ```tsx fileName="AppProvider.tsx"
763
+ import { MarkdownProvider } from "preact-intlayer/markdown";
764
+
765
+ export const AppProvider = ({ children }) => (
766
+ <MarkdownProvider
767
+ renderMarkdown={async (md) => {
768
+ const { renderMarkdown } = await import('preact-intlayer/markdown');
769
+ return renderMarkdown(md);
770
+ }}
771
+ >
772
+ {children}
773
+ </MarkdownProvider>
774
+ );
775
+ ```
776
+
777
+ > अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
778
+
501
779
  </Tab>
502
780
  <Tab label="Solid" value="solid">
503
781
 
@@ -515,38 +793,46 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
515
793
  );
516
794
  ```
517
795
 
518
- </Tab>
519
- <Tab label="Angular" value="angular">
796
+ आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
520
797
 
521
- ```typescript fileName="app.config.ts"
522
- import { createIntlayerMarkdownProvider } from "angular-intlayer/markdown";
798
+ ```tsx fileName="AppProvider.tsx"
799
+ import { MarkdownProvider } from "solid-intlayer/markdown";
523
800
 
524
- export const appConfig: ApplicationConfig = {
525
- providers: [
526
- createIntlayerMarkdownProvider({
527
- components: {
528
- h1: { class: "text-2xl font-bold" },
529
- },
530
- }),
531
- ],
532
- };
801
+ export const AppProvider = (props) => (
802
+ <MarkdownProvider
803
+ renderMarkdown={async (md) => {
804
+ const { renderMarkdown } = await import('solid-intlayer/markdown');
805
+ return renderMarkdown(md);
806
+ }}
807
+ >
808
+ {props.children}
809
+ </MarkdownProvider>
810
+ );
533
811
  ```
534
812
 
535
- </Tab>
536
- </Tabs>
813
+ > अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
537
814
 
538
- ---
815
+ </Tab>
816
+ <Tab label="Angular" value="angular">
539
817
 
540
- ## विकल्प संदर्भ
818
+ ```typescript fileName="app.module.ts"
819
+ import { NgModule } from '@angular/core';
820
+ import { IntlayerMarkdownModule } from 'angular-intlayer/markdown';
821
+
822
+ @NgModule({
823
+ imports: [
824
+ IntlayerMarkdownModule.forRoot({
825
+ renderMarkdown: async (md) => {
826
+ const { renderMarkdown } = await import('angular-intlayer/markdown');
827
+ return renderMarkdown(md);
828
+ }
829
+ })
830
+ ]
831
+ })
832
+ export class AppModule {}
833
+ ```
541
834
 
542
- इन विकल्पों को `MarkdownProvider`, `MarkdownRenderer`, `useMarkdownRenderer`, और `renderMarkdown` को पास किया जा सकता है।
835
+ > अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
543
836
 
544
- | विकल्प | प्रकार | डिफ़ॉल्ट | विवरण |
545
- | :-------------------- | :---------- | :------- | :---------------------------------------------------------------------------------------------- |
546
- | `forceBlock` | `boolean` | `false` | आउटपुट को ब्लॉक-लेवल एलिमेंट (जैसे, `<div>`) में लपेटने के लिए मजबूर करता है। |
547
- | `forceInline` | `boolean` | `false` | आउटपुट को इनलाइन एलिमेंट (जैसे, `<span>`) में लपेटने के लिए मजबूर करता है। |
548
- | `tagfilter` | `boolean` | `true` | खतरनाक HTML टैग्स को हटाकर सुरक्षा में सुधार के लिए GitHub टैग फ़िल्टर को सक्षम करता है। |
549
- | `preserveFrontmatter` | `boolean` | `false` | यदि `true` है, तो मार्कडाउन स्ट्रिंग की शुरुआत में फ्रंटमैटर (frontmatter) को नहीं हटाया जाएगा। |
550
- | `components` | `Overrides` | `{}` | HTML टैग्स का कस्टम घटकों के साथ मैपिंग (जैसे, `{ h1: MyHeading }`)। |
551
- | `wrapper` | `Component` | `null` | रेंडर किए गए मार्कडाउन को लपेटने के लिए एक कस्टम घटक। |
552
- | `renderMarkdown` | `Function` | `null` | डिफ़ॉल्ट मार्कडाउन कंपाइलर को पूरी तरह से बदलने के लिए एक कस्टम रेंडरिंग फ़ंक्शन। |
837
+ </Tab>
838
+ </Tabs>