@intlayer/docs 8.10.0-canary.0 → 8.10.0-canary.1
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.
- package/docs/ar/dictionary/markdown.md +402 -82
- package/docs/de/dictionary/markdown.md +269 -98
- package/docs/en/dictionary/markdown.md +221 -25
- package/docs/en-GB/dictionary/markdown.md +351 -67
- package/docs/es/dictionary/markdown.md +286 -115
- package/docs/fr/dictionary/markdown.md +292 -121
- package/docs/hi/dictionary/markdown.md +366 -81
- package/docs/id/dictionary/markdown.md +368 -83
- package/docs/it/dictionary/markdown.md +288 -122
- package/docs/ko/dictionary/markdown.md +297 -126
- package/docs/pl/dictionary/markdown.md +276 -106
- package/docs/pt/dictionary/markdown.md +276 -106
- package/docs/ru/dictionary/markdown.md +70 -505
- package/docs/tr/dictionary/markdown.md +291 -122
- package/docs/uk/dictionary/markdown.md +377 -92
- package/docs/vi/dictionary/markdown.md +377 -92
- package/docs/zh/dictionary/markdown.md +284 -117
- package/package.json +7 -7
- package/docs/ja/dictionary/markdown.md +0 -666
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
3
|
updatedAt: 2026-05-19
|
|
4
|
-
title: Markdown
|
|
5
|
-
description: Intlayer के साथ
|
|
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: "
|
|
25
|
+
changes: "`intlayerMarkdown` प्लगइन ऑब्जेक्ट जोड़ा गया; `app.use(installIntlayerMarkdown)` के बजाय `app.use(intlayerMarkdown)` का उपयोग करें"
|
|
26
26
|
- version: 8.5.0
|
|
27
27
|
date: 2026-03-24
|
|
28
|
-
changes: "
|
|
28
|
+
changes: "आयात को `{{framework}}-intlayer` से `{{framework}}-intlayer/markdown` में ले जाया गया"
|
|
29
29
|
- version: 8.0.0
|
|
30
30
|
date: 2026-01-22
|
|
31
|
-
changes: "MarkdownRenderer / useMarkdownRenderer / renderMarkdown
|
|
31
|
+
changes: "MarkdownRenderer / useMarkdownRenderer / renderMarkdown उपयोगिता और forceInline विकल्प जोड़ा गया"
|
|
32
32
|
- version: 8.0.0
|
|
33
33
|
date: 2026-01-18
|
|
34
|
-
changes: "मार्कडाउन
|
|
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` फ़ाइलों में
|
|
50
|
+
संस्करण `8.10.0` से, आप सीधे `.content.md` फ़ाइलों में Markdown सामग्री घोषित कर सकते हैं। Intlayer स्वचालित रूप से Markdown सामग्री का पता लगाएगा और उसे पार्स करेगा।
|
|
51
51
|
|
|
52
|
-
```md fileName="markdown-file.
|
|
52
|
+
```md fileName="markdown-file.en.content.md"
|
|
53
53
|
---
|
|
54
54
|
key: my-markdown-content
|
|
55
55
|
description: मेरी सामग्री
|
|
56
|
-
locale:
|
|
56
|
+
locale: en
|
|
57
57
|
---
|
|
58
58
|
|
|
59
59
|
# मेरी सामग्री
|
|
60
60
|
|
|
61
|
-
यहाँ मार्कडाउन सामग्री
|
|
61
|
+
यहाँ एक मार्कडाउन सामग्री उदाहरण है
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
`locale`
|
|
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
|
-
|
|
82
|
+
Markdown सामग्री को स्पष्ट रूप से घोषित करने के लिए `md` फ़ंक्शन का उपयोग करें। यह तब उपयोगी होता है जब आप यह सुनिश्चित करना चाहते हैं कि किसी स्ट्रिंग को Markdown के रूप में माना जाए, भले ही उसमें स्पष्ट सिंटैक्स न हो।
|
|
83
83
|
|
|
84
84
|
```typescript fileName="markdownDictionary.content.ts"
|
|
85
85
|
import { md, type Dictionary } from "intlayer";
|
|
@@ -96,12 +96,12 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
96
96
|
|
|
97
97
|
</Tab>
|
|
98
98
|
<Tab label="स्वचालित पहचान" value="automatic-detection">
|
|
99
|
-
यदि स्ट्रिंग में सामान्य
|
|
99
|
+
यदि स्ट्रिंग में सामान्य Markdown संकेतक (जैसे हेडिंग, लिस्ट, लिंक आदि) हैं, तो Intlayer स्वचालित रूप से इसे बदल देगा।
|
|
100
100
|
|
|
101
101
|
```typescript fileName="markdownDictionary.content.ts"
|
|
102
102
|
export default {
|
|
103
103
|
key: "app",
|
|
104
|
-
contentAutoTransformation: true, //
|
|
104
|
+
contentAutoTransformation: true, // Markdown सामग्री की स्वचालित पहचान सक्षम करें - intlayer.config.ts में विश्व स्तर पर सेट किया जा सकता है
|
|
105
105
|
content: {
|
|
106
106
|
myMarkdownContent: "## मेरा शीर्षक \n\nLorem Ipsum",
|
|
107
107
|
},
|
|
@@ -109,6 +109,7 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
</Tab>
|
|
112
|
+
|
|
112
113
|
<Tab label="बाहरी फ़ाइलें" value="external-files">
|
|
113
114
|
`file` फ़ंक्शन का उपयोग करके सीधे `.md` फ़ाइलें आयात करें।
|
|
114
115
|
|
|
@@ -120,7 +121,7 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
120
121
|
content: {
|
|
121
122
|
content: t({
|
|
122
123
|
en: md(file("./myMarkdown.en.md")),
|
|
123
|
-
|
|
124
|
+
hi: md(file("./myMarkdown.hi.md")),
|
|
124
125
|
}),
|
|
125
126
|
},
|
|
126
127
|
};
|
|
@@ -131,38 +132,74 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
131
132
|
|
|
132
133
|
---
|
|
133
134
|
|
|
134
|
-
##
|
|
135
|
+
## Markdown रेंडरिंग
|
|
136
|
+
|
|
137
|
+
Intlayer Markdown रेंडर करने के दो स्वतंत्र तरीके प्रदान करता है:
|
|
135
138
|
|
|
136
|
-
|
|
139
|
+
1. **`useIntlayer` के माध्यम से**
|
|
140
|
+
— Intlayer स्वचालित रूप से `md` नोड को फ्रेमवर्क के मूल आउटपुट (JSX, VNode, HTML स्ट्रिंग) में बदल देता है।
|
|
141
|
+
- फ्रंटमैटर को पार्स किया जाता है और `.metadata` के रूप में उजागर किया जाता है। आप रेंडरिंग को दो स्तरों पर ओवरराइड कर सकते हैं — विश्व स्तर पर `MarkdownProvider` (या फ्रेमवर्क समतुल्य) के साथ और स्थानीय स्तर पर प्रति नोड `.use()` के साथ। दोनों को जोड़ा जा सकता है; `.use()`, `MarkdownProvider` पर पूर्वता लेता है, जो डिफ़ॉल्ट पर पूर्वता लेता है।
|
|
137
142
|
|
|
138
|
-
|
|
143
|
+
2. **हेल्पर यूटिलिटीज** — `<MarkdownRenderer />`, `useMarkdownRenderer()`, और `renderMarkdown()` स्टैंडअलोन टूल हैं जो **केवल कच्चे Markdown स्ट्रिंग्स** को स्वीकार करते हैं। वे `useIntlayer` से स्वतंत्र हैं और इसके द्वारा लौटाए गए सजाए गए नोड्स के साथ काम नहीं करते हैं।
|
|
139
144
|
|
|
140
|
-
|
|
145
|
+
Markdown रेंडरिंग **MDX** का समर्थन करता है — अपने Markdown के अंदर सीधे नाम से किसी भी JSX/फ्रेमवर्क घटक का उपयोग करें।
|
|
146
|
+
|
|
147
|
+
### 1. स्वचालित रेंडरिंग (`useIntlayer` के माध्यम से)
|
|
141
148
|
|
|
142
149
|
<Tabs group="framework">
|
|
143
150
|
<Tab label="React / Next.js" value="react">
|
|
144
|
-
|
|
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
|
-
|
|
175
|
+
> यदि `MarkdownProvider` मौजूद नहीं है, तो Intlayer डिफ़ॉल्ट Markdown से JSX पार्सर का उपयोग करके मार्कडाउन को रेंडर करेगा।
|
|
176
|
+
|
|
177
|
+
आप `.use()` विधि का उपयोग करके विशिष्ट नोड्स के लिए स्थानीय ओवरराइड भी प्रदान कर सकते हैं:
|
|
156
178
|
|
|
157
179
|
```tsx
|
|
158
180
|
{myMarkdownContent.use({
|
|
159
|
-
h1: ({ 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 में,
|
|
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 डिफ़ॉल्ट रूप से
|
|
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
|
-
{
|
|
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
|
|
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
|
-
|
|
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,28 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
429
623
|
export const AppProvider = ({ children }) => (
|
|
430
624
|
<MarkdownProvider
|
|
431
625
|
components={{
|
|
432
|
-
h1: (
|
|
433
|
-
a: ({ href,
|
|
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
|
+
const { renderMarkdown } = await import('react-intlayer/markdown');
|
|
647
|
+
return renderMarkdown(md);
|
|
434
648
|
}}
|
|
435
649
|
>
|
|
436
650
|
{children}
|
|
@@ -438,6 +652,8 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
438
652
|
);
|
|
439
653
|
```
|
|
440
654
|
|
|
655
|
+
> अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
|
|
656
|
+
|
|
441
657
|
</Tab>
|
|
442
658
|
<Tab label="Vue" value="vue">
|
|
443
659
|
|
|
@@ -463,6 +679,29 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
463
679
|
app.mount("#app");
|
|
464
680
|
```
|
|
465
681
|
|
|
682
|
+
आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
|
|
683
|
+
|
|
684
|
+
```typescript fileName="main.ts"
|
|
685
|
+
import { createApp } from "vue";
|
|
686
|
+
import { intlayer } from "vue-intlayer";
|
|
687
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
688
|
+
import App from "./App.vue";
|
|
689
|
+
|
|
690
|
+
const app = createApp(App);
|
|
691
|
+
|
|
692
|
+
app.use(intlayer);
|
|
693
|
+
app.use(intlayerMarkdown, {
|
|
694
|
+
renderMarkdown: async (md) => {
|
|
695
|
+
const { renderMarkdown } = await import('vue-intlayer/markdown');
|
|
696
|
+
return renderMarkdown(md);
|
|
697
|
+
},
|
|
698
|
+
});
|
|
699
|
+
|
|
700
|
+
app.mount("#app");
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
> अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
|
|
704
|
+
|
|
466
705
|
</Tab>
|
|
467
706
|
<Tab label="Svelte" value="svelte">
|
|
468
707
|
|
|
@@ -481,6 +720,25 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
481
720
|
</MarkdownProvider>
|
|
482
721
|
```
|
|
483
722
|
|
|
723
|
+
आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
|
|
724
|
+
|
|
725
|
+
```svelte fileName="App.svelte"
|
|
726
|
+
<script lang="ts">
|
|
727
|
+
import { MarkdownProvider } from "svelte-intlayer/markdown";
|
|
728
|
+
</script>
|
|
729
|
+
|
|
730
|
+
<MarkdownProvider
|
|
731
|
+
renderMarkdown={async (md) => {
|
|
732
|
+
const { renderMarkdown } = await import('svelte-intlayer/markdown');
|
|
733
|
+
return renderMarkdown(md);
|
|
734
|
+
}}
|
|
735
|
+
>
|
|
736
|
+
<slot />
|
|
737
|
+
</MarkdownProvider>
|
|
738
|
+
```
|
|
739
|
+
|
|
740
|
+
> अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
|
|
741
|
+
|
|
484
742
|
</Tab>
|
|
485
743
|
<Tab label="Preact" value="preact">
|
|
486
744
|
|
|
@@ -498,6 +756,25 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
498
756
|
);
|
|
499
757
|
```
|
|
500
758
|
|
|
759
|
+
आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
|
|
760
|
+
|
|
761
|
+
```tsx fileName="AppProvider.tsx"
|
|
762
|
+
import { MarkdownProvider } from "preact-intlayer/markdown";
|
|
763
|
+
|
|
764
|
+
export const AppProvider = ({ children }) => (
|
|
765
|
+
<MarkdownProvider
|
|
766
|
+
renderMarkdown={async (md) => {
|
|
767
|
+
const { renderMarkdown } = await import('preact-intlayer/markdown');
|
|
768
|
+
return renderMarkdown(md);
|
|
769
|
+
}}
|
|
770
|
+
>
|
|
771
|
+
{children}
|
|
772
|
+
</MarkdownProvider>
|
|
773
|
+
);
|
|
774
|
+
```
|
|
775
|
+
|
|
776
|
+
> अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
|
|
777
|
+
|
|
501
778
|
</Tab>
|
|
502
779
|
<Tab label="Solid" value="solid">
|
|
503
780
|
|
|
@@ -515,38 +792,46 @@ Intlayer मार्कडाउन सिंटैक्स का उपय
|
|
|
515
792
|
);
|
|
516
793
|
```
|
|
517
794
|
|
|
518
|
-
|
|
519
|
-
<Tab label="Angular" value="angular">
|
|
795
|
+
आप अपने स्वयं के मार्कडाउन रेंडरर का भी उपयोग कर सकते हैं:
|
|
520
796
|
|
|
521
|
-
```
|
|
522
|
-
import {
|
|
797
|
+
```tsx fileName="AppProvider.tsx"
|
|
798
|
+
import { MarkdownProvider } from "solid-intlayer/markdown";
|
|
523
799
|
|
|
524
|
-
export const
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
800
|
+
export const AppProvider = (props) => (
|
|
801
|
+
<MarkdownProvider
|
|
802
|
+
renderMarkdown={async (md) => {
|
|
803
|
+
const { renderMarkdown } = await import('solid-intlayer/markdown');
|
|
804
|
+
return renderMarkdown(md);
|
|
805
|
+
}}
|
|
806
|
+
>
|
|
807
|
+
{props.children}
|
|
808
|
+
</MarkdownProvider>
|
|
809
|
+
);
|
|
533
810
|
```
|
|
534
811
|
|
|
535
|
-
|
|
536
|
-
</Tabs>
|
|
812
|
+
> अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
|
|
537
813
|
|
|
538
|
-
|
|
814
|
+
</Tab>
|
|
815
|
+
<Tab label="Angular" value="angular">
|
|
539
816
|
|
|
540
|
-
|
|
817
|
+
```typescript fileName="app.module.ts"
|
|
818
|
+
import { NgModule } from '@angular/core';
|
|
819
|
+
import { IntlayerMarkdownModule } from 'angular-intlayer/markdown';
|
|
820
|
+
|
|
821
|
+
@NgModule({
|
|
822
|
+
imports: [
|
|
823
|
+
IntlayerMarkdownModule.forRoot({
|
|
824
|
+
renderMarkdown: async (md) => {
|
|
825
|
+
const { renderMarkdown } = await import('angular-intlayer/markdown');
|
|
826
|
+
return renderMarkdown(md);
|
|
827
|
+
}
|
|
828
|
+
})
|
|
829
|
+
]
|
|
830
|
+
})
|
|
831
|
+
export class AppModule {}
|
|
832
|
+
```
|
|
541
833
|
|
|
542
|
-
|
|
834
|
+
> अपने Markdown रेंडरर को गतिशील रूप से आयात करना आपके एप्लिकेशन के बंडल आकार को कम करने का एक शानदार तरीका है।
|
|
543
835
|
|
|
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` | डिफ़ॉल्ट मार्कडाउन कंपाइलर को पूरी तरह से बदलने के लिए एक कस्टम रेंडरिंग फ़ंक्शन। |
|
|
836
|
+
</Tab>
|
|
837
|
+
</Tabs>
|