@intlayer/docs 8.0.0-canary.6 → 8.0.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.
- package/docs/ar/dictionary/content_file.md +30 -1
- package/docs/ar/dictionary/html.md +45 -56
- package/docs/ar/dictionary/markdown.md +21 -57
- package/docs/ar/releases/v8.md +11 -2
- package/docs/de/dictionary/content_file.md +30 -1
- package/docs/de/dictionary/html.md +45 -56
- package/docs/de/dictionary/markdown.md +21 -57
- package/docs/de/releases/v8.md +11 -2
- package/docs/en/dictionary/content_file.md +35 -1
- package/docs/en/dictionary/html.md +45 -56
- package/docs/en/dictionary/markdown.md +22 -58
- package/docs/en/releases/v8.md +11 -2
- package/docs/en-GB/dictionary/content_file.md +31 -2
- package/docs/en-GB/dictionary/html.md +45 -56
- package/docs/en-GB/dictionary/markdown.md +17 -53
- package/docs/en-GB/releases/v8.md +11 -2
- package/docs/es/dictionary/content_file.md +30 -2
- package/docs/es/dictionary/html.md +45 -56
- package/docs/es/dictionary/markdown.md +21 -57
- package/docs/es/releases/v8.md +11 -2
- package/docs/fr/dictionary/content_file.md +30 -1
- package/docs/fr/dictionary/html.md +45 -56
- package/docs/fr/dictionary/markdown.md +21 -57
- package/docs/fr/releases/v8.md +11 -2
- package/docs/hi/dictionary/content_file.md +33 -3
- package/docs/hi/dictionary/html.md +45 -56
- package/docs/hi/dictionary/markdown.md +21 -57
- package/docs/hi/releases/v8.md +10 -1
- package/docs/id/dictionary/content_file.md +30 -1
- package/docs/id/dictionary/html.md +45 -56
- package/docs/id/dictionary/markdown.md +21 -57
- package/docs/id/releases/v8.md +11 -2
- package/docs/it/dictionary/content_file.md +30 -1
- package/docs/it/dictionary/html.md +45 -56
- package/docs/it/dictionary/markdown.md +21 -57
- package/docs/it/releases/v8.md +11 -2
- package/docs/ja/dictionary/content_file.md +30 -1
- package/docs/ja/dictionary/html.md +45 -56
- package/docs/ja/dictionary/markdown.md +21 -57
- package/docs/ja/releases/v8.md +11 -2
- package/docs/ko/dictionary/content_file.md +30 -1
- package/docs/ko/dictionary/html.md +45 -56
- package/docs/ko/dictionary/markdown.md +21 -57
- package/docs/ko/releases/v8.md +11 -2
- package/docs/pl/dictionary/content_file.md +30 -1
- package/docs/pl/dictionary/html.md +45 -56
- package/docs/pl/dictionary/markdown.md +18 -54
- package/docs/pl/releases/v8.md +11 -2
- package/docs/pt/dictionary/content_file.md +30 -1
- package/docs/pt/dictionary/html.md +45 -56
- package/docs/pt/dictionary/markdown.md +21 -57
- package/docs/pt/releases/v8.md +11 -2
- package/docs/ru/dictionary/content_file.md +30 -1
- package/docs/ru/dictionary/html.md +45 -56
- package/docs/ru/dictionary/markdown.md +21 -57
- package/docs/ru/releases/v8.md +11 -2
- package/docs/tr/dictionary/content_file.md +30 -1
- package/docs/tr/dictionary/html.md +45 -56
- package/docs/tr/dictionary/markdown.md +17 -53
- package/docs/tr/releases/v8.md +11 -2
- package/docs/uk/dictionary/content_file.md +32 -3
- package/docs/uk/dictionary/html.md +45 -56
- package/docs/uk/dictionary/markdown.md +14 -50
- package/docs/uk/releases/v8.md +11 -2
- package/docs/vi/dictionary/content_file.md +30 -1
- package/docs/vi/dictionary/html.md +45 -56
- package/docs/vi/dictionary/markdown.md +19 -55
- package/docs/vi/releases/v8.md +11 -2
- package/docs/zh/dictionary/content_file.md +28 -2
- package/docs/zh/dictionary/html.md +45 -56
- package/docs/zh/dictionary/markdown.md +20 -56
- package/docs/zh/releases/v8.md +11 -2
- package/package.json +7 -7
|
@@ -31,47 +31,12 @@ history:
|
|
|
31
31
|
|
|
32
32
|
Intlayer підтримує HTML-контент, що дозволяє вбудовувати насичений, структурований вміст у ваші словники. Цей вміст може відображатися за допомогою стандартних HTML-тегів або замінюватися на користувацькі компоненти під час виконання.
|
|
33
33
|
|
|
34
|
-
## Як працює HTML
|
|
35
|
-
|
|
36
|
-
Intlayer v8 інтелектуально виявляє HTML-теги у ваших рядках вмісту. Якщо рядок ідентифіковано як HTML (містить теги), він автоматично перетворюється на HTML-вузол.
|
|
37
|
-
|
|
38
|
-
<Columns>
|
|
39
|
-
<Column title="Поведінка v7 (ручне обгортання)">
|
|
40
|
-
|
|
41
|
-
```typescript fileName="htmlDictionary.content.ts"
|
|
42
|
-
import { html } from "intlayer";
|
|
43
|
-
|
|
44
|
-
export default {
|
|
45
|
-
key: "app",
|
|
46
|
-
content: {
|
|
47
|
-
text: html("<p>Hello <strong>World</strong></p>"),
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
</Column>
|
|
53
|
-
<Column title="Поведінка v8 (автоматичне виявлення)">
|
|
54
|
-
|
|
55
|
-
```typescript fileName="htmlDictionary.content.ts"
|
|
56
|
-
export default {
|
|
57
|
-
key: "app",
|
|
58
|
-
content: {
|
|
59
|
-
text: "<p>Hello <strong>World</strong></p>",
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
</Column>
|
|
65
|
-
</Columns>
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
34
|
## Оголошення HTML-контенту
|
|
70
35
|
|
|
71
36
|
Ви можете оголосити HTML-контент за допомогою функції `html` або просто як рядок.
|
|
72
37
|
|
|
73
38
|
<Tabs>
|
|
74
|
-
<Tab label="Ручне обгортання">
|
|
39
|
+
<Tab label="Ручне обгортання" value="manual-wrapping">
|
|
75
40
|
Використовуйте функцію `html` для явного оголошення HTML-контенту. Це гарантує правильне відображення стандартних тегів, навіть якщо автоматичне виявлення вимкнено.
|
|
76
41
|
|
|
77
42
|
```typescript fileName="htmlDictionary.content.ts"
|
|
@@ -88,7 +53,7 @@ export default {
|
|
|
88
53
|
```
|
|
89
54
|
|
|
90
55
|
</Tab>
|
|
91
|
-
<Tab label="Автоматичне виявлення">
|
|
56
|
+
<Tab label="Автоматичне виявлення" value="automatic-detection">
|
|
92
57
|
Якщо рядок містить звичайні HTML-теги (наприклад, `<p>`, `<div>`, `<strong>` тощо), Intlayer автоматично перетворить його.
|
|
93
58
|
|
|
94
59
|
```typescript fileName="htmlDictionary.content.ts"
|
|
@@ -101,7 +66,7 @@ export default {
|
|
|
101
66
|
```
|
|
102
67
|
|
|
103
68
|
</Tab>
|
|
104
|
-
<Tab label="Зовнішні файли">
|
|
69
|
+
<Tab label="Зовнішні файли" value="external-files">
|
|
105
70
|
Імпортуйте HTML-контент з файлів. Зауважте, що наразі функція `file()` повертає рядок, який буде автоматично визначено як HTML, якщо він містить теги.
|
|
106
71
|
|
|
107
72
|
```typescript fileName="htmlDictionary.content.ts"
|
|
@@ -122,6 +87,30 @@ export default {
|
|
|
122
87
|
</Tab>
|
|
123
88
|
</Tabs>
|
|
124
89
|
|
|
90
|
+
### Вузол `html()`
|
|
91
|
+
|
|
92
|
+
Функція `html()` — це нова можливість в Intlayer v8, яка дозволяє явно визначати HTML-контент у ваших словниках. Хоча Intlayer часто може автоматично визначати HTML-контент, використання функції `html()` має кілька переваг:
|
|
93
|
+
|
|
94
|
+
- **Типобезпека**: Функція `html()` дозволяє визначати очікувані пропси для користувацьких компонентів, забезпечуючи краще автодоповнення та перевірку типів у вашому редакторі.
|
|
95
|
+
- **Явне оголошення**: Це гарантує, що рядок завжди буде розглядатися як HTML, навіть якщо він не містить стандартних HTML-тегів, які могли б активувати автоматичне визначення.
|
|
96
|
+
- **Визначення користувацьких компонентів**: Ви можете передати другий аргумент у `html()`, щоб визначити користувацькі компоненти та очікувані типи їхніх пропсів.
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
import { html } from "intlayer";
|
|
100
|
+
|
|
101
|
+
const myContent = html(
|
|
102
|
+
"<MyCustomComponent title='Привіт'>Світ</MyCustomComponent>",
|
|
103
|
+
{
|
|
104
|
+
MyCustomComponent: {
|
|
105
|
+
title: "string",
|
|
106
|
+
children: "node",
|
|
107
|
+
},
|
|
108
|
+
}
|
|
109
|
+
);
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
При використанні методу `.use()` для HTML-вузла надані вами компоненти будуть перевірятися на відповідність визначенню, вказаному у функції `html()` (якщо воно доступне).
|
|
113
|
+
|
|
125
114
|
---
|
|
126
115
|
|
|
127
116
|
## Відтворення HTML
|
|
@@ -133,7 +122,7 @@ export default {
|
|
|
133
122
|
Коли ви отримуєте доступ до контенту через `useIntlayer`, HTML-вузли вже підготовлені до відтворення.
|
|
134
123
|
|
|
135
124
|
<Tabs group="framework">
|
|
136
|
-
<Tab label="React / Next.js">
|
|
125
|
+
<Tab label="React / Next.js" value="react">
|
|
137
126
|
HTML-вузли можна відтворювати безпосередньо як JSX. Стандартні теги працюють автоматично.
|
|
138
127
|
|
|
139
128
|
```tsx fileName="App.tsx"
|
|
@@ -155,7 +144,7 @@ export default {
|
|
|
155
144
|
```
|
|
156
145
|
|
|
157
146
|
</Tab>
|
|
158
|
-
<Tab label="Vue">
|
|
147
|
+
<Tab label="Vue" value="vue">
|
|
159
148
|
У Vue HTML-контент можна відтворити за допомогою вбудованого компонента `component`.
|
|
160
149
|
|
|
161
150
|
```vue fileName="App.vue"
|
|
@@ -175,7 +164,7 @@ export default {
|
|
|
175
164
|
```
|
|
176
165
|
|
|
177
166
|
</Tab>
|
|
178
|
-
<Tab label="Svelte">
|
|
167
|
+
<Tab label="Svelte" value="svelte">
|
|
179
168
|
Svelte відтворює HTML-вузли як рядки. Використовуйте `{@html}` для їх відображення.
|
|
180
169
|
|
|
181
170
|
```svelte
|
|
@@ -188,7 +177,7 @@ export default {
|
|
|
188
177
|
```
|
|
189
178
|
|
|
190
179
|
</Tab>
|
|
191
|
-
<Tab label="Preact">
|
|
180
|
+
<Tab label="Preact" value="preact">
|
|
192
181
|
Preact підтримує HTML-вузли безпосередньо в JSX.
|
|
193
182
|
|
|
194
183
|
```tsx fileName="App.tsx"
|
|
@@ -201,7 +190,7 @@ export default {
|
|
|
201
190
|
```
|
|
202
191
|
|
|
203
192
|
</Tab>
|
|
204
|
-
<Tab label="Solid">
|
|
193
|
+
<Tab label="Solid" value="solid">
|
|
205
194
|
Solid підтримує HTML-вузли безпосередньо в JSX.
|
|
206
195
|
|
|
207
196
|
```tsx fileName="App.tsx"
|
|
@@ -214,7 +203,7 @@ export default {
|
|
|
214
203
|
```
|
|
215
204
|
|
|
216
205
|
</Tab>
|
|
217
|
-
<Tab label="Angular">
|
|
206
|
+
<Tab label="Angular" value="angular">
|
|
218
207
|
Angular використовує директиву `[innerHTML]` для відтворення HTML-контенту.
|
|
219
208
|
|
|
220
209
|
```typescript fileName="app.component.ts"
|
|
@@ -247,7 +236,7 @@ export default {
|
|
|
247
236
|
Ви можете налаштувати відтворення HTML глобально для всього застосунку. Це ідеально підходить для визначення користувацьких компонентів, які мають бути доступні в усьому HTML-контенті.
|
|
248
237
|
|
|
249
238
|
<Tabs group="framework">
|
|
250
|
-
<Tab label="React / Next.js">
|
|
239
|
+
<Tab label="React / Next.js" value="react">
|
|
251
240
|
|
|
252
241
|
```tsx fileName="AppProvider.tsx"
|
|
253
242
|
import { HTMLProvider } from "react-intlayer";
|
|
@@ -265,7 +254,7 @@ export default {
|
|
|
265
254
|
```
|
|
266
255
|
|
|
267
256
|
</Tab>
|
|
268
|
-
<Tab label="Vue">
|
|
257
|
+
<Tab label="Vue" value="vue">
|
|
269
258
|
|
|
270
259
|
```typescript fileName="main.ts"
|
|
271
260
|
import { createApp, h } from "vue";
|
|
@@ -286,7 +275,7 @@ export default {
|
|
|
286
275
|
```
|
|
287
276
|
|
|
288
277
|
</Tab>
|
|
289
|
-
<Tab label="Svelte">
|
|
278
|
+
<Tab label="Svelte" value="svelte">
|
|
290
279
|
|
|
291
280
|
```svelte fileName="App.svelte"
|
|
292
281
|
<script lang="ts">
|
|
@@ -304,7 +293,7 @@ export default {
|
|
|
304
293
|
```
|
|
305
294
|
|
|
306
295
|
</Tab>
|
|
307
|
-
<Tab label="Preact">
|
|
296
|
+
<Tab label="Preact" value="preact">
|
|
308
297
|
|
|
309
298
|
```tsx fileName="AppProvider.tsx"
|
|
310
299
|
import { HTMLProvider } from "preact-intlayer";
|
|
@@ -321,7 +310,7 @@ export default {
|
|
|
321
310
|
```
|
|
322
311
|
|
|
323
312
|
</Tab>
|
|
324
|
-
<Tab label="Solid">
|
|
313
|
+
<Tab label="Solid" value="solid">
|
|
325
314
|
|
|
326
315
|
```tsx fileName="AppProvider.tsx"
|
|
327
316
|
import { HTMLProvider } from "solid-intlayer";
|
|
@@ -338,7 +327,7 @@ export default {
|
|
|
338
327
|
```
|
|
339
328
|
|
|
340
329
|
</Tab>
|
|
341
|
-
<Tab label="Angular">
|
|
330
|
+
<Tab label="Angular" value="angular">
|
|
342
331
|
|
|
343
332
|
```typescript fileName="app.config.ts"
|
|
344
333
|
import { createIntlayerMarkdownProvider } from "angular-intlayer";
|
|
@@ -365,7 +354,7 @@ export default {
|
|
|
365
354
|
Якщо вам потрібно відтворити сирі HTML-рядки або ви хочете більше контролю над мапуванням компонентів, використовуйте наступні інструменти.
|
|
366
355
|
|
|
367
356
|
<Tabs group="framework">
|
|
368
|
-
<Tab label="React / Next.js">
|
|
357
|
+
<Tab label="React / Next.js" value="react">
|
|
369
358
|
#### Компонент `<HTMLRenderer />`
|
|
370
359
|
Відтворіть HTML-рядок із конкретними компонентами.
|
|
371
360
|
|
|
@@ -402,7 +391,7 @@ export default {
|
|
|
402
391
|
```
|
|
403
392
|
|
|
404
393
|
</Tab>
|
|
405
|
-
<Tab label="Vue">
|
|
394
|
+
<Tab label="Vue" value="vue">
|
|
406
395
|
|
|
407
396
|
#### Компонент `<HTMLRenderer />`
|
|
408
397
|
|
|
@@ -417,7 +406,7 @@ export default {
|
|
|
417
406
|
```
|
|
418
407
|
|
|
419
408
|
</Tab>
|
|
420
|
-
<Tab label="Svelte">
|
|
409
|
+
<Tab label="Svelte" value="svelte">
|
|
421
410
|
|
|
422
411
|
#### Компонент `<HTMLRenderer />`
|
|
423
412
|
|
|
@@ -451,7 +440,7 @@ export default {
|
|
|
451
440
|
```
|
|
452
441
|
|
|
453
442
|
</Tab>
|
|
454
|
-
<Tab label="Preact">
|
|
443
|
+
<Tab label="Preact" value="preact">
|
|
455
444
|
|
|
456
445
|
#### Компонент `<HTMLRenderer />`
|
|
457
446
|
|
|
@@ -482,7 +471,7 @@ export default {
|
|
|
482
471
|
```
|
|
483
472
|
|
|
484
473
|
</Tab>
|
|
485
|
-
<Tab label="Solid">
|
|
474
|
+
<Tab label="Solid" value="solid">
|
|
486
475
|
|
|
487
476
|
#### Компонент `<HTMLRenderer />`
|
|
488
477
|
|
|
@@ -513,7 +502,7 @@ export default {
|
|
|
513
502
|
```
|
|
514
503
|
|
|
515
504
|
</Tab>
|
|
516
|
-
<Tab label="Angular">
|
|
505
|
+
<Tab label="Angular" value="angular">
|
|
517
506
|
#### Сервіс `IntlayerMarkdownService`
|
|
518
507
|
Відтворіть HTML-рядок за допомогою сервісу.
|
|
519
508
|
|
|
@@ -32,48 +32,12 @@ history:
|
|
|
32
32
|
|
|
33
33
|
Intlayer підтримує контент rich text, визначений за допомогою синтаксису Markdown. Це дозволяє легко писати та підтримувати контент із багатим форматуванням, таким як блоги, статті та інше.
|
|
34
34
|
|
|
35
|
-
## Як працює Markdown
|
|
36
|
-
|
|
37
|
-
Intlayer v8 інтелектуально виявляє синтаксис Markdown у ваших рядках контенту. Якщо рядок ідентифіковано як Markdown, він автоматично перетворюється на вузол Markdown.
|
|
38
|
-
|
|
39
|
-
<Columns>
|
|
40
|
-
<Column title="Поведінка v7 (ручне обгортання)">
|
|
41
|
-
|
|
42
|
-
```typescript fileName="markdownDictionary.content.ts"
|
|
43
|
-
import { md } from "intlayer";
|
|
44
|
-
|
|
45
|
-
export default {
|
|
46
|
-
key: "app",
|
|
47
|
-
content: {
|
|
48
|
-
text: md("## Мій заголовок \n\nLorem Ipsum"),
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
</Column>
|
|
54
|
-
<Column title="Поведінка v8 (автоматичне виявлення)">
|
|
55
|
-
|
|
56
|
-
```typescript fileName="markdownDictionary.content.ts"
|
|
57
|
-
export default {
|
|
58
|
-
key: "app",
|
|
59
|
-
contentAutoTransformation: true, // Увімкнути автоматичне виявлення контенту Markdown - Можна встановити глобально в intlayer.config.ts
|
|
60
|
-
content: {
|
|
61
|
-
text: "## Мій заголовок \n\nLorem Ipsum",
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
</Column>
|
|
67
|
-
</Columns>
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
35
|
## Частина 1: Оголошення контенту Markdown
|
|
72
36
|
|
|
73
37
|
Ви можете оголосити контент Markdown за допомогою функції `md` або просто як рядок (якщо він містить синтаксис Markdown).
|
|
74
38
|
|
|
75
39
|
<Tabs>
|
|
76
|
-
<Tab label="Ручне обгортання">
|
|
40
|
+
<Tab label="Ручне обгортання" value="manual-wrapping">
|
|
77
41
|
Використовуйте функцію `md` для явного оголошення контенту Markdown. Це корисно, якщо ви хочете переконатися, що рядок розглядається як Markdown, навіть якщо він не містить очевидного синтаксису.
|
|
78
42
|
|
|
79
43
|
```typescript fileName="markdownDictionary.content.ts"
|
|
@@ -104,7 +68,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
104
68
|
```
|
|
105
69
|
|
|
106
70
|
</Tab>
|
|
107
|
-
<Tab label="Зовнішні файли">
|
|
71
|
+
<Tab label="Зовнішні файли" value="external-files">
|
|
108
72
|
Імпортуйте файли `.md` безпосередньо за допомогою функції `file`.
|
|
109
73
|
|
|
110
74
|
```typescript fileName="markdownDictionary.content.ts"
|
|
@@ -156,7 +120,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
156
120
|
```
|
|
157
121
|
|
|
158
122
|
</Tab>
|
|
159
|
-
<Tab label="Vue">
|
|
123
|
+
<Tab label="Vue" value="vue">
|
|
160
124
|
У Vue контент Markdown можна відтворити за допомогою вбудованого компонента `component` або безпосередньо як вузол.
|
|
161
125
|
|
|
162
126
|
```vue fileName="App.vue"
|
|
@@ -171,7 +135,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
171
135
|
```
|
|
172
136
|
|
|
173
137
|
</Tab>
|
|
174
|
-
<Tab label="Svelte">
|
|
138
|
+
<Tab label="Svelte" value="svelte">
|
|
175
139
|
Svelte відтворює Markdown як рядок HTML за замовчуванням. Використовуйте `{@html}` для його відображення.
|
|
176
140
|
|
|
177
141
|
```svelte
|
|
@@ -184,7 +148,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
184
148
|
```
|
|
185
149
|
|
|
186
150
|
</Tab>
|
|
187
|
-
<Tab label="Preact">
|
|
151
|
+
<Tab label="Preact" value="preact">
|
|
188
152
|
Preact підтримує вузли Markdown безпосередньо в JSX.
|
|
189
153
|
|
|
190
154
|
```tsx fileName="App.tsx"
|
|
@@ -210,7 +174,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
210
174
|
```
|
|
211
175
|
|
|
212
176
|
</Tab>
|
|
213
|
-
<Tab label="Angular">
|
|
177
|
+
<Tab label="Angular" value="angular">
|
|
214
178
|
Angular використовує директиву `[innerHTML]` для відтворення контенту Markdown.
|
|
215
179
|
|
|
216
180
|
```typescript fileName="app.component.ts"
|
|
@@ -281,7 +245,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
281
245
|
```
|
|
282
246
|
|
|
283
247
|
</Tab>
|
|
284
|
-
<Tab label="Vue">
|
|
248
|
+
<Tab label="Vue" value="vue">
|
|
285
249
|
|
|
286
250
|
#### Компонент `<MarkdownRenderer />`
|
|
287
251
|
|
|
@@ -296,7 +260,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
296
260
|
```
|
|
297
261
|
|
|
298
262
|
</Tab>
|
|
299
|
-
<Tab label="Svelte">
|
|
263
|
+
<Tab label="Svelte" value="svelte">
|
|
300
264
|
|
|
301
265
|
#### Компонент `<MarkdownRenderer />`
|
|
302
266
|
|
|
@@ -330,7 +294,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
330
294
|
```
|
|
331
295
|
|
|
332
296
|
</Tab>
|
|
333
|
-
<Tab label="Preact">
|
|
297
|
+
<Tab label="Preact" value="preact">
|
|
334
298
|
#### Компонент `<MarkdownRenderer />`
|
|
335
299
|
|
|
336
300
|
```tsx
|
|
@@ -390,7 +354,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
390
354
|
```
|
|
391
355
|
|
|
392
356
|
</Tab>
|
|
393
|
-
<Tab label="Angular">
|
|
357
|
+
<Tab label="Angular" value="angular">
|
|
394
358
|
#### Сервіс `IntlayerMarkdownService`
|
|
395
359
|
Відтворіть рядок Markdown за допомогою сервісу.
|
|
396
360
|
|
|
@@ -436,7 +400,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
436
400
|
```
|
|
437
401
|
|
|
438
402
|
</Tab>
|
|
439
|
-
<Tab label="Vue">
|
|
403
|
+
<Tab label="Vue" value="vue">
|
|
440
404
|
|
|
441
405
|
```typescript fileName="main.ts"
|
|
442
406
|
import { createApp } from "vue";
|
|
@@ -461,7 +425,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
461
425
|
```
|
|
462
426
|
|
|
463
427
|
</Tab>
|
|
464
|
-
<Tab label="Svelte">
|
|
428
|
+
<Tab label="Svelte" value="svelte">
|
|
465
429
|
|
|
466
430
|
```svelte fileName="App.svelte"
|
|
467
431
|
<script lang="ts">
|
|
@@ -481,7 +445,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
481
445
|
```
|
|
482
446
|
|
|
483
447
|
</Tab>
|
|
484
|
-
<Tab label="Preact">
|
|
448
|
+
<Tab label="Preact" value="preact">
|
|
485
449
|
|
|
486
450
|
```tsx fileName="AppProvider.tsx"
|
|
487
451
|
import { MarkdownProvider } from "preact-intlayer";
|
|
@@ -519,7 +483,7 @@ Intlayer v8 інтелектуально виявляє синтаксис Markd
|
|
|
519
483
|
```
|
|
520
484
|
|
|
521
485
|
</Tab>
|
|
522
|
-
<Tab label="Angular">
|
|
486
|
+
<Tab label="Angular" value="angular">
|
|
523
487
|
|
|
524
488
|
```typescript fileName="app.config.ts"
|
|
525
489
|
import { createIntlayerMarkdownProvider } from "angular-intlayer";
|
package/docs/uk/releases/v8.md
CHANGED
|
@@ -12,6 +12,7 @@ keywords:
|
|
|
12
12
|
- Next.js
|
|
13
13
|
- JavaScript
|
|
14
14
|
- TypeScript
|
|
15
|
+
youtubeVideo: https://www.youtube.com/watch?v=ia6JmVf-kkU
|
|
15
16
|
slugs:
|
|
16
17
|
- doc
|
|
17
18
|
- releases
|
|
@@ -22,6 +23,14 @@ slugs:
|
|
|
22
23
|
|
|
23
24
|
Ласкаво просимо до Intlayer v8! У цьому випуску основна увага приділена покращенню досвіду розробника за допомогою автоматичного виявлення контенту, забезпеченню цілісності даних через валідацію схем і наданню більшого контролю над управлінням словниками.
|
|
24
25
|
|
|
26
|
+
<iframe
|
|
27
|
+
src="https://www.youtube.com/embed/ia6JmVf-kkU"
|
|
28
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
29
|
+
title="Demo Video - New Intlayer v8 - What's new?"
|
|
30
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
31
|
+
loading="lazy"
|
|
32
|
+
/>
|
|
33
|
+
|
|
25
34
|
## Зміст
|
|
26
35
|
|
|
27
36
|
<TOC levels={[2]} maxDepth={1} />
|
|
@@ -1198,8 +1207,8 @@ export default {
|
|
|
1198
1207
|
|
|
1199
1208
|
### Зміни в конфігурації
|
|
1200
1209
|
|
|
1201
|
-
- **Властивість `live`**: Властивість `live` у словниках
|
|
1202
|
-
-
|
|
1210
|
+
- **Властивість `live`**: Властивість `live` у словниках видалена. Використовуйте `importMode: 'fetch'` замість неї.
|
|
1211
|
+
- **importMode**: Властивість `build.importMode` у конфігурації застаріла. Використовуйте `dictionary.importMode` замість неї.
|
|
1203
1212
|
- **`contentDir` та `codeDir`**: `contentDir` тепер призначений саме для файлів контенту. Додано нову властивість `codeDir` для трансформації коду. Якщо `codeDir` не встановлено, Intlayer повернеться до `contentDir` та виведе попередження.
|
|
1204
1213
|
- **Валідація схеми**: Щоб використовувати нову функцію `schema`, переконайтеся, що у вашому проєкті встановлено `zod`.
|
|
1205
1214
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2026-01-
|
|
3
|
+
updatedAt: 2026-01-28
|
|
4
4
|
title: Tệp Nội Dung
|
|
5
5
|
description: Tìm hiểu cách tùy chỉnh các phần mở rộng cho các tệp khai báo nội dung của bạn. Theo dõi tài liệu này để triển khai các điều kiện một cách hiệu quả trong dự án của bạn.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,9 @@ slugs:
|
|
|
12
12
|
- concept
|
|
13
13
|
- content
|
|
14
14
|
history:
|
|
15
|
+
- version: 8.0.0
|
|
16
|
+
date: 2026-01-28
|
|
17
|
+
changes: Thêm kiểu nút nội dung `html`
|
|
15
18
|
- version: 8.0.0
|
|
16
19
|
date: 2026-01-24
|
|
17
20
|
changes: Rename `live` import mode to `fetch` to better describe the underlying mechanism.
|
|
@@ -87,6 +90,7 @@ interface Content {
|
|
|
87
90
|
quantityContent: string;
|
|
88
91
|
conditionalContent: string;
|
|
89
92
|
markdownContent: never;
|
|
93
|
+
htmlContent: never;
|
|
90
94
|
externalContent: string;
|
|
91
95
|
insertionContent: string;
|
|
92
96
|
nestedContent: string;
|
|
@@ -131,6 +135,7 @@ export default {
|
|
|
131
135
|
fileContent: file("./path/to/file.txt"),
|
|
132
136
|
externalContent: fetch("https://example.com").then((res) => res.json()),
|
|
133
137
|
markdownContent: md("# Ví dụ Markdown"),
|
|
138
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
134
139
|
|
|
135
140
|
/*
|
|
136
141
|
* Chỉ có sẵn khi sử dụng `react-intlayer` hoặc `next-intlayer`
|
|
@@ -180,6 +185,7 @@ export default {
|
|
|
180
185
|
"login.button" // [Tùy chọn] Đường dẫn đến nội dung để lồng vào
|
|
181
186
|
),
|
|
182
187
|
markdownContent: md("# Ví dụ Markdown"),
|
|
188
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
183
189
|
fileContent: file("./path/to/file.txt"),
|
|
184
190
|
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
185
191
|
|
|
@@ -229,6 +235,7 @@ module.exports = {
|
|
|
229
235
|
"login.button" // [Tùy chọn] Đường dẫn đến nội dung để lồng vào
|
|
230
236
|
),
|
|
231
237
|
markdownContent: md("# Ví dụ Markdown"),
|
|
238
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
232
239
|
fileContent: file("./path/to/file.txt"),
|
|
233
240
|
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
234
241
|
|
|
@@ -290,6 +297,10 @@ module.exports = {
|
|
|
290
297
|
"nodeType": "markdown",
|
|
291
298
|
"markdown": "# Ví dụ Markdown",
|
|
292
299
|
},
|
|
300
|
+
"htmlContent": {
|
|
301
|
+
"nodeType": "html",
|
|
302
|
+
"html": "<p>Hello <strong>World</strong></p>",
|
|
303
|
+
},
|
|
293
304
|
"fileContent": {
|
|
294
305
|
"nodeType": "file",
|
|
295
306
|
"file": "./path/to/file.txt",
|
|
@@ -324,6 +335,7 @@ Intlayer hỗ trợ nhiều loại nội dung thông qua các node kiểu:
|
|
|
324
335
|
- **Nội dung Liệt kê**: Nội dung thay đổi dựa trên các giá trị được liệt kê [xem Nội dung Liệt kê](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/enumeration_content.md)
|
|
325
336
|
- **Nội dung Chèn**: Nội dung có thể được chèn vào các nội dung khác [xem Nội dung Chèn](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/insertion_content.md)
|
|
326
337
|
- **Nội dung Markdown**: Nội dung văn bản phong phú ở định dạng Markdown [xem Nội dung Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/markdown_content.md)
|
|
338
|
+
- **Nội dung HTML**: Nội dung HTML phong phú với các component tùy chỉnh tùy chọn [xem Nội dung HTML](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/html.md)
|
|
327
339
|
- **Nội dung Lồng nhau**: Tham chiếu đến các từ điển khác [xem Nội dung Lồng nhau](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/nested_content.md)
|
|
328
340
|
- **Nội dung Giới tính**: Nội dung thay đổi dựa trên giới tính [xem Nội dung Giới tính](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/gender_content.md)
|
|
329
341
|
- **Nội dung Tệp**: Tham chiếu đến các tệp bên ngoài [xem Nội dung Tệp](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/file_content.md)
|
|
@@ -701,6 +713,23 @@ markdownContent: md(
|
|
|
701
713
|
);
|
|
702
714
|
```
|
|
703
715
|
|
|
716
|
+
### Nội dung HTML (`html`)
|
|
717
|
+
|
|
718
|
+
Nội dung HTML phong phú có thể sử dụng thẻ chuẩn hoặc component tùy chỉnh:
|
|
719
|
+
|
|
720
|
+
```typescript
|
|
721
|
+
import { html, file, t } from "intlayer";
|
|
722
|
+
|
|
723
|
+
// HTML nội tuyến
|
|
724
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>");
|
|
725
|
+
|
|
726
|
+
// HTML theo từng ngôn ngữ từ các tệp bên ngoài
|
|
727
|
+
localizedHtmlContent: t({
|
|
728
|
+
en: html(file("./content.en.html")),
|
|
729
|
+
vi: html(file("./content.vi.html")),
|
|
730
|
+
});
|
|
731
|
+
```
|
|
732
|
+
|
|
704
733
|
### Nội dung theo giới tính (`gender`)
|
|
705
734
|
|
|
706
735
|
Nội dung thay đổi dựa trên giới tính:
|