@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
|
@@ -33,47 +33,12 @@ history:
|
|
|
33
33
|
|
|
34
34
|
Intlayer supporta contenuti HTML, permettendoti di incorporare contenuti ricchi e strutturati all'interno dei tuoi dizionari. Questi contenuti possono essere renderizzati con tag HTML standard o sostituiti con componenti personalizzati a runtime.
|
|
35
35
|
|
|
36
|
-
## Come funziona l'HTML
|
|
37
|
-
|
|
38
|
-
Intlayer v8 rileva in modo intelligente i tag HTML nelle tue stringhe di contenuto. Se una stringa è identificata come HTML (contiene tag), viene automaticamente trasformata in un nodo HTML.
|
|
39
|
-
|
|
40
|
-
<Columns>
|
|
41
|
-
<Column title="Comportamento v7 (Avvolgimento manuale)">
|
|
42
|
-
|
|
43
|
-
```typescript fileName="htmlDictionary.content.ts"
|
|
44
|
-
import { html } from "intlayer";
|
|
45
|
-
|
|
46
|
-
export default {
|
|
47
|
-
key: "app",
|
|
48
|
-
content: {
|
|
49
|
-
text: html("<p>Ciao <strong>Mondo</strong></p>"),
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
</Column>
|
|
55
|
-
<Column title="Comportamento v8 (Rilevamento automatico)">
|
|
56
|
-
|
|
57
|
-
```typescript fileName="htmlDictionary.content.ts"
|
|
58
|
-
export default {
|
|
59
|
-
key: "app",
|
|
60
|
-
content: {
|
|
61
|
-
text: "<p>Ciao <strong>Mondo</strong></p>",
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
</Column>
|
|
67
|
-
</Columns>
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
36
|
## Dichiarare contenuti HTML
|
|
72
37
|
|
|
73
38
|
Puoi dichiarare contenuti HTML usando la funzione `html` o semplicemente come stringa.
|
|
74
39
|
|
|
75
40
|
<Tabs>
|
|
76
|
-
<Tab label="Avvolgimento manuale">
|
|
41
|
+
<Tab label="Avvolgimento manuale" value="manual-wrapping">
|
|
77
42
|
Usa la funzione `html` per dichiarare esplicitamente contenuti HTML. Questo garantisce che i tag standard siano mappati correttamente anche se il rilevamento automatico è disabilitato.
|
|
78
43
|
|
|
79
44
|
```typescript fileName="htmlDictionary.content.ts"
|
|
@@ -90,7 +55,7 @@ Puoi dichiarare contenuti HTML usando la funzione `html` o semplicemente come st
|
|
|
90
55
|
```
|
|
91
56
|
|
|
92
57
|
</Tab>
|
|
93
|
-
<Tab label="Rilevamento automatico">
|
|
58
|
+
<Tab label="Rilevamento automatico" value="automatic-detection">
|
|
94
59
|
Se la stringa contiene tag HTML comuni (ad esempio, `<p>`, `<div>`, `<strong>`, ecc.), Intlayer la trasformerà automaticamente.
|
|
95
60
|
|
|
96
61
|
```typescript fileName="htmlDictionary.content.ts"
|
|
@@ -103,7 +68,7 @@ Puoi dichiarare contenuti HTML usando la funzione `html` o semplicemente come st
|
|
|
103
68
|
```
|
|
104
69
|
|
|
105
70
|
</Tab>
|
|
106
|
-
<Tab label="File esterni">
|
|
71
|
+
<Tab label="File esterni" value="external-files">
|
|
107
72
|
Importa contenuti HTML da file. Nota che attualmente la funzione `file()` restituisce una stringa, che verrà rilevata automaticamente come HTML se contiene tag.
|
|
108
73
|
|
|
109
74
|
```typescript fileName="htmlDictionary.content.ts"
|
|
@@ -124,6 +89,30 @@ Puoi dichiarare contenuti HTML usando la funzione `html` o semplicemente come st
|
|
|
124
89
|
</Tab>
|
|
125
90
|
</Tabs>
|
|
126
91
|
|
|
92
|
+
### Il nodo `html()`
|
|
93
|
+
|
|
94
|
+
La funzione `html()` è una nuova funzionalità di Intlayer v8 che consente di definire esplicitamente il contenuto HTML nei dizionari. Sebbene Intlayer sia spesso in grado di rilevare automaticamente il contenuto HTML, l'uso della funzione `html()` offre diversi vantaggi:
|
|
95
|
+
|
|
96
|
+
- **Sicurezza dei tipi**: La funzione `html()` consente di definire le prop attese per i componenti personalizzati, offrendo un migliore completamento automatico e controllo dei tipi nel proprio editor.
|
|
97
|
+
- **Dichiarazione esplicita**: Garantisce che una stringa venga sempre trattata come HTML, anche se non contiene tag HTML standard che attiverebbero il rilevamento automatico.
|
|
98
|
+
- **Definizione di componenti personalizzati**: È possibile passare un secondo argomento a `html()` per definire i componenti personalizzati e i tipi di prop attesi.
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
import { html } from "intlayer";
|
|
102
|
+
|
|
103
|
+
const myContent = html(
|
|
104
|
+
"<MyCustomComponent title='Ciao'>Mondo</MyCustomComponent>",
|
|
105
|
+
{
|
|
106
|
+
MyCustomComponent: {
|
|
107
|
+
title: "string",
|
|
108
|
+
children: "node",
|
|
109
|
+
},
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Quando si utilizza il metodo `.use()` su un nodo HTML, i componenti forniti verranno controllati rispetto alla definizione fornita nella funzione `html()` (se disponibile).
|
|
115
|
+
|
|
127
116
|
---
|
|
128
117
|
|
|
129
118
|
## Rendering dell'HTML
|
|
@@ -135,7 +124,7 @@ Il rendering può essere gestito automaticamente dal sistema di contenuti di Int
|
|
|
135
124
|
Quando accedi al contenuto tramite `useIntlayer`, i nodi HTML sono già pronti per il rendering.
|
|
136
125
|
|
|
137
126
|
<Tabs group="framework">
|
|
138
|
-
<Tab label="React / Next.js">
|
|
127
|
+
<Tab label="React / Next.js" value="react">
|
|
139
128
|
I nodi HTML possono essere renderizzati direttamente come JSX. I tag standard funzionano automaticamente.
|
|
140
129
|
|
|
141
130
|
```tsx fileName="App.tsx"
|
|
@@ -157,7 +146,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi HTML sono già pronti p
|
|
|
157
146
|
```
|
|
158
147
|
|
|
159
148
|
</Tab>
|
|
160
|
-
<Tab label="Vue">
|
|
149
|
+
<Tab label="Vue" value="vue">
|
|
161
150
|
In Vue, i contenuti HTML possono essere renderizzati usando il built-in `component`.
|
|
162
151
|
|
|
163
152
|
```vue fileName="App.vue"
|
|
@@ -177,7 +166,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi HTML sono già pronti p
|
|
|
177
166
|
```
|
|
178
167
|
|
|
179
168
|
</Tab>
|
|
180
|
-
<Tab label="Svelte">
|
|
169
|
+
<Tab label="Svelte" value="svelte">
|
|
181
170
|
Svelte rende i nodi HTML come stringhe. Usa `{@html}` per renderizzarli.
|
|
182
171
|
|
|
183
172
|
```svelte
|
|
@@ -190,7 +179,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi HTML sono già pronti p
|
|
|
190
179
|
```
|
|
191
180
|
|
|
192
181
|
</Tab>
|
|
193
|
-
<Tab label="Preact">
|
|
182
|
+
<Tab label="Preact" value="preact">
|
|
194
183
|
Preact supporta i nodi HTML direttamente nel JSX.
|
|
195
184
|
|
|
196
185
|
```tsx fileName="App.tsx"
|
|
@@ -203,7 +192,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi HTML sono già pronti p
|
|
|
203
192
|
```
|
|
204
193
|
|
|
205
194
|
</Tab>
|
|
206
|
-
<Tab label="Solid">
|
|
195
|
+
<Tab label="Solid" value="solid">
|
|
207
196
|
Solid supporta i nodi HTML direttamente nel JSX.
|
|
208
197
|
|
|
209
198
|
```tsx fileName="App.tsx"
|
|
@@ -216,7 +205,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi HTML sono già pronti p
|
|
|
216
205
|
```
|
|
217
206
|
|
|
218
207
|
</Tab>
|
|
219
|
-
<Tab label="Angular">
|
|
208
|
+
<Tab label="Angular" value="angular">
|
|
220
209
|
Angular utilizza la direttiva `[innerHTML]` per renderizzare contenuti HTML.
|
|
221
210
|
|
|
222
211
|
```typescript fileName="app.component.ts"
|
|
@@ -249,7 +238,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi HTML sono già pronti p
|
|
|
249
238
|
Puoi configurare il rendering HTML a livello globale per l'intera applicazione. Questo è ideale per definire componenti personalizzati che dovrebbero essere disponibili in tutti i contenuti HTML.
|
|
250
239
|
|
|
251
240
|
<Tabs group="framework">
|
|
252
|
-
<Tab label="React / Next.js">
|
|
241
|
+
<Tab label="React / Next.js" value="react">
|
|
253
242
|
|
|
254
243
|
```tsx fileName="AppProvider.tsx"
|
|
255
244
|
import { HTMLProvider } from "react-intlayer";
|
|
@@ -267,7 +256,7 @@ Puoi configurare il rendering HTML a livello globale per l'intera applicazione.
|
|
|
267
256
|
```
|
|
268
257
|
|
|
269
258
|
</Tab>
|
|
270
|
-
<Tab label="Vue">
|
|
259
|
+
<Tab label="Vue" value="vue">
|
|
271
260
|
|
|
272
261
|
```typescript fileName="main.ts"
|
|
273
262
|
import { createApp, h } from "vue";
|
|
@@ -288,7 +277,7 @@ Puoi configurare il rendering HTML a livello globale per l'intera applicazione.
|
|
|
288
277
|
```
|
|
289
278
|
|
|
290
279
|
</Tab>
|
|
291
|
-
<Tab label="Svelte">
|
|
280
|
+
<Tab label="Svelte" value="svelte">
|
|
292
281
|
|
|
293
282
|
```svelte fileName="App.svelte"
|
|
294
283
|
<script lang="ts">
|
|
@@ -306,7 +295,7 @@ Puoi configurare il rendering HTML a livello globale per l'intera applicazione.
|
|
|
306
295
|
```
|
|
307
296
|
|
|
308
297
|
</Tab>
|
|
309
|
-
<Tab label="Preact">
|
|
298
|
+
<Tab label="Preact" value="preact">
|
|
310
299
|
|
|
311
300
|
```tsx fileName="AppProvider.tsx"
|
|
312
301
|
import { HTMLProvider } from "preact-intlayer";
|
|
@@ -323,7 +312,7 @@ Puoi configurare il rendering HTML a livello globale per l'intera applicazione.
|
|
|
323
312
|
```
|
|
324
313
|
|
|
325
314
|
</Tab>
|
|
326
|
-
<Tab label="Solid">
|
|
315
|
+
<Tab label="Solid" value="solid">
|
|
327
316
|
|
|
328
317
|
```tsx fileName="AppProvider.tsx"
|
|
329
318
|
import { HTMLProvider } from "solid-intlayer";
|
|
@@ -340,7 +329,7 @@ Puoi configurare il rendering HTML a livello globale per l'intera applicazione.
|
|
|
340
329
|
```
|
|
341
330
|
|
|
342
331
|
</Tab>
|
|
343
|
-
<Tab label="Angular">
|
|
332
|
+
<Tab label="Angular" value="angular">
|
|
344
333
|
|
|
345
334
|
```typescript fileName="app.config.ts"
|
|
346
335
|
import { createIntlayerMarkdownProvider } from "angular-intlayer";
|
|
@@ -367,7 +356,7 @@ Puoi configurare il rendering HTML a livello globale per l'intera applicazione.
|
|
|
367
356
|
Se hai bisogno di renderizzare stringhe HTML grezze o di avere un controllo maggiore sulla mappatura dei componenti, usa i seguenti strumenti.
|
|
368
357
|
|
|
369
358
|
<Tabs group="framework">
|
|
370
|
-
<Tab label="React / Next.js">
|
|
359
|
+
<Tab label="React / Next.js" value="react">
|
|
371
360
|
#### Componente `<HTMLRenderer />`
|
|
372
361
|
Esegui il rendering di una stringa HTML con componenti specifici.
|
|
373
362
|
|
|
@@ -404,7 +393,7 @@ Se hai bisogno di renderizzare stringhe HTML grezze o di avere un controllo magg
|
|
|
404
393
|
```
|
|
405
394
|
|
|
406
395
|
</Tab>
|
|
407
|
-
<Tab label="Vue">
|
|
396
|
+
<Tab label="Vue" value="vue">
|
|
408
397
|
|
|
409
398
|
#### Componente `<HTMLRenderer />`
|
|
410
399
|
|
|
@@ -419,7 +408,7 @@ Se hai bisogno di renderizzare stringhe HTML grezze o di avere un controllo magg
|
|
|
419
408
|
```
|
|
420
409
|
|
|
421
410
|
</Tab>
|
|
422
|
-
<Tab label="Svelte">
|
|
411
|
+
<Tab label="Svelte" value="svelte">
|
|
423
412
|
|
|
424
413
|
#### Componente `<HTMLRenderer />`
|
|
425
414
|
|
|
@@ -453,7 +442,7 @@ Se hai bisogno di renderizzare stringhe HTML grezze o di avere un controllo magg
|
|
|
453
442
|
```
|
|
454
443
|
|
|
455
444
|
</Tab>
|
|
456
|
-
<Tab label="Preact">
|
|
445
|
+
<Tab label="Preact" value="preact">
|
|
457
446
|
|
|
458
447
|
#### Componente `<HTMLRenderer />`
|
|
459
448
|
|
|
@@ -484,7 +473,7 @@ Se hai bisogno di renderizzare stringhe HTML grezze o di avere un controllo magg
|
|
|
484
473
|
```
|
|
485
474
|
|
|
486
475
|
</Tab>
|
|
487
|
-
<Tab label="Solid">
|
|
476
|
+
<Tab label="Solid" value="solid">
|
|
488
477
|
|
|
489
478
|
#### Componente `<HTMLRenderer />`
|
|
490
479
|
|
|
@@ -515,7 +504,7 @@ Se hai bisogno di renderizzare stringhe HTML grezze o di avere un controllo magg
|
|
|
515
504
|
```
|
|
516
505
|
|
|
517
506
|
</Tab>
|
|
518
|
-
<Tab label="Angular">
|
|
507
|
+
<Tab label="Angular" value="angular">
|
|
519
508
|
#### Servizio `IntlayerMarkdownService`
|
|
520
509
|
Renderizza una stringa HTML utilizzando il servizio.
|
|
521
510
|
|
|
@@ -32,48 +32,12 @@ history:
|
|
|
32
32
|
|
|
33
33
|
Intlayer supporta contenuti rich text definiti utilizzando la sintassi Markdown. Questo ti consente di scrivere e mantenere facilmente contenuti con formattazione ricca, come blog, articoli e altro.
|
|
34
34
|
|
|
35
|
-
## Come funziona Markdown
|
|
36
|
-
|
|
37
|
-
Intlayer v8 rileva in modo intelligente la sintassi Markdown nelle tue stringhe di contenuto. Se una stringa viene identificata come Markdown, viene automaticamente trasformata in un nodo Markdown.
|
|
38
|
-
|
|
39
|
-
<Columns>
|
|
40
|
-
<Column title="Comportamento v7 (Avvolgimento manuale)">
|
|
41
|
-
|
|
42
|
-
```typescript fileName="markdownDictionary.content.ts"
|
|
43
|
-
import { md } from "intlayer";
|
|
44
|
-
|
|
45
|
-
export default {
|
|
46
|
-
key: "app",
|
|
47
|
-
content: {
|
|
48
|
-
text: md("## Il mio titolo \n\nLorem Ipsum"),
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
</Column>
|
|
54
|
-
<Column title="Comportamento v8 (Rilevamento automatico)">
|
|
55
|
-
|
|
56
|
-
```typescript fileName="markdownDictionary.content.ts"
|
|
57
|
-
export default {
|
|
58
|
-
key: "app",
|
|
59
|
-
contentAutoTransformation: true, // Abilita il rilevamento automatico del contenuto Markdown - Può essere impostato globalmente in intlayer.config.ts
|
|
60
|
-
content: {
|
|
61
|
-
text: "## Il mio titolo \n\nLorem Ipsum",
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
</Column>
|
|
67
|
-
</Columns>
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
35
|
## Parte 1: Dichiarare contenuti Markdown
|
|
72
36
|
|
|
73
37
|
Puoi dichiarare contenuti Markdown usando la funzione `md` o semplicemente come stringa (se contiene sintassi Markdown).
|
|
74
38
|
|
|
75
39
|
<Tabs>
|
|
76
|
-
<Tab label="Avvolgimento manuale">
|
|
40
|
+
<Tab label="Avvolgimento manuale" value="manual-wrapping">
|
|
77
41
|
Usa la funzione `md` per dichiarare esplicitamente contenuti Markdown. Questo è utile se vuoi assicurarti che una stringa sia trattata come Markdown anche se non contiene sintassi ovvia.
|
|
78
42
|
|
|
79
43
|
```typescript fileName="markdownDictionary.content.ts"
|
|
@@ -90,7 +54,7 @@ Puoi dichiarare contenuti Markdown usando la funzione `md` o semplicemente come
|
|
|
90
54
|
```
|
|
91
55
|
|
|
92
56
|
</Tab>
|
|
93
|
-
<Tab label="Rilevamento automatico">
|
|
57
|
+
<Tab label="Rilevamento automatico" value="automatic-detection">
|
|
94
58
|
Se la stringa contiene indicatori Markdown comuni (come intestazioni, elenchi, collegamenti, ecc.), Intlayer la trasformerà automaticamente.
|
|
95
59
|
|
|
96
60
|
```typescript fileName="markdownDictionary.content.ts"
|
|
@@ -104,7 +68,7 @@ Puoi dichiarare contenuti Markdown usando la funzione `md` o semplicemente come
|
|
|
104
68
|
```
|
|
105
69
|
|
|
106
70
|
</Tab>
|
|
107
|
-
<Tab label="File esterni">
|
|
71
|
+
<Tab label="File esterni" value="external-files">
|
|
108
72
|
Importa file `.md` direttamente usando la funzione `file`.
|
|
109
73
|
|
|
110
74
|
```typescript fileName="markdownDictionary.content.ts"
|
|
@@ -136,7 +100,7 @@ Il rendering può essere gestito automaticamente dal sistema di contenuti di Int
|
|
|
136
100
|
Quando accedi al contenuto tramite `useIntlayer`, i nodi Markdown sono già pronti per il rendering.
|
|
137
101
|
|
|
138
102
|
<Tabs group="framework">
|
|
139
|
-
<Tab label="React / Next.js">
|
|
103
|
+
<Tab label="React / Next.js" value="react">
|
|
140
104
|
I nodi Markdown possono essere renderizzati direttamente come JSX.
|
|
141
105
|
|
|
142
106
|
```tsx fileName="App.tsx"
|
|
@@ -157,7 +121,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi Markdown sono già pron
|
|
|
157
121
|
```
|
|
158
122
|
|
|
159
123
|
</Tab>
|
|
160
|
-
<Tab label="Vue">
|
|
124
|
+
<Tab label="Vue" value="vue">
|
|
161
125
|
In Vue, il contenuto Markdown può essere renderizzato utilizzando il built-in `component` o direttamente come nodo.
|
|
162
126
|
|
|
163
127
|
```vue fileName="App.vue"
|
|
@@ -172,7 +136,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi Markdown sono già pron
|
|
|
172
136
|
```
|
|
173
137
|
|
|
174
138
|
</Tab>
|
|
175
|
-
<Tab label="Svelte">
|
|
139
|
+
<Tab label="Svelte" value="svelte">
|
|
176
140
|
Svelte renderizza Markdown come una stringa HTML per impostazione predefinita. Usa `{@html}` per renderizzarlo.
|
|
177
141
|
|
|
178
142
|
```svelte
|
|
@@ -185,7 +149,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi Markdown sono già pron
|
|
|
185
149
|
```
|
|
186
150
|
|
|
187
151
|
</Tab>
|
|
188
|
-
<Tab label="Preact">
|
|
152
|
+
<Tab label="Preact" value="preact">
|
|
189
153
|
Preact supporta i nodi Markdown direttamente nel JSX.
|
|
190
154
|
|
|
191
155
|
```tsx fileName="App.tsx"
|
|
@@ -198,7 +162,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi Markdown sono già pron
|
|
|
198
162
|
```
|
|
199
163
|
|
|
200
164
|
</Tab>
|
|
201
|
-
<Tab label="Solid">
|
|
165
|
+
<Tab label="Solid" value="solid">
|
|
202
166
|
Solid supporta i nodi Markdown direttamente nel JSX.
|
|
203
167
|
|
|
204
168
|
```tsx fileName="App.tsx"
|
|
@@ -211,7 +175,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi Markdown sono già pron
|
|
|
211
175
|
```
|
|
212
176
|
|
|
213
177
|
</Tab>
|
|
214
|
-
<Tab label="Angular">
|
|
178
|
+
<Tab label="Angular" value="angular">
|
|
215
179
|
Angular utilizza la direttiva `[innerHTML]` per renderizzare il contenuto Markdown.
|
|
216
180
|
|
|
217
181
|
```typescript fileName="app.component.ts"
|
|
@@ -243,7 +207,7 @@ Quando accedi al contenuto tramite `useIntlayer`, i nodi Markdown sono già pron
|
|
|
243
207
|
Se hai bisogno di renderizzare stringhe Markdown grezze o di avere un maggiore controllo sul processo di rendering, usa i seguenti strumenti.
|
|
244
208
|
|
|
245
209
|
<Tabs group="framework">
|
|
246
|
-
<Tab label="React / Next.js">
|
|
210
|
+
<Tab label="React / Next.js" value="react">
|
|
247
211
|
|
|
248
212
|
#### Componente `<MarkdownRenderer />`
|
|
249
213
|
|
|
@@ -282,7 +246,7 @@ Se hai bisogno di renderizzare stringhe Markdown grezze o di avere un maggiore c
|
|
|
282
246
|
```
|
|
283
247
|
|
|
284
248
|
</Tab>
|
|
285
|
-
<Tab label="Vue">
|
|
249
|
+
<Tab label="Vue" value="vue">
|
|
286
250
|
|
|
287
251
|
#### Componente `<MarkdownRenderer />`
|
|
288
252
|
|
|
@@ -297,7 +261,7 @@ Se hai bisogno di renderizzare stringhe Markdown grezze o di avere un maggiore c
|
|
|
297
261
|
```
|
|
298
262
|
|
|
299
263
|
</Tab>
|
|
300
|
-
<Tab label="Svelte">
|
|
264
|
+
<Tab label="Svelte" value="svelte">
|
|
301
265
|
|
|
302
266
|
#### Componente `<MarkdownRenderer />`
|
|
303
267
|
|
|
@@ -331,7 +295,7 @@ Se hai bisogno di renderizzare stringhe Markdown grezze o di avere un maggiore c
|
|
|
331
295
|
```
|
|
332
296
|
|
|
333
297
|
</Tab>
|
|
334
|
-
<Tab label="Preact">
|
|
298
|
+
<Tab label="Preact" value="preact">
|
|
335
299
|
#### Componente `<MarkdownRenderer />`
|
|
336
300
|
|
|
337
301
|
```tsx
|
|
@@ -361,7 +325,7 @@ Se hai bisogno di renderizzare stringhe Markdown grezze o di avere un maggiore c
|
|
|
361
325
|
```
|
|
362
326
|
|
|
363
327
|
</Tab>
|
|
364
|
-
<Tab label="Solid">
|
|
328
|
+
<Tab label="Solid" value="solid">
|
|
365
329
|
#### Componente `<MarkdownRenderer />`
|
|
366
330
|
|
|
367
331
|
```tsx
|
|
@@ -391,7 +355,7 @@ Se hai bisogno di renderizzare stringhe Markdown grezze o di avere un maggiore c
|
|
|
391
355
|
```
|
|
392
356
|
|
|
393
357
|
</Tab>
|
|
394
|
-
<Tab label="Angular">
|
|
358
|
+
<Tab label="Angular" value="angular">
|
|
395
359
|
#### Servizio `IntlayerMarkdownService`
|
|
396
360
|
Renderizza una stringa Markdown utilizzando il servizio.
|
|
397
361
|
|
|
@@ -417,7 +381,7 @@ Se hai bisogno di renderizzare stringhe Markdown grezze o di avere un maggiore c
|
|
|
417
381
|
Puoi configurare il rendering Markdown a livello globale per l'intera applicazione. Questo evita di passare le stesse prop a ogni renderer.
|
|
418
382
|
|
|
419
383
|
<Tabs group="framework">
|
|
420
|
-
<Tab label="React / Next.js">
|
|
384
|
+
<Tab label="React / Next.js" value="react">
|
|
421
385
|
|
|
422
386
|
```tsx fileName="AppProvider.tsx"
|
|
423
387
|
import { MarkdownProvider } from "react-intlayer";
|
|
@@ -437,7 +401,7 @@ Puoi configurare il rendering Markdown a livello globale per l'intera applicazio
|
|
|
437
401
|
```
|
|
438
402
|
|
|
439
403
|
</Tab>
|
|
440
|
-
<Tab label="Vue">
|
|
404
|
+
<Tab label="Vue" value="vue">
|
|
441
405
|
|
|
442
406
|
```typescript fileName="main.ts"
|
|
443
407
|
import { createApp } from "vue";
|
|
@@ -462,7 +426,7 @@ Puoi configurare il rendering Markdown a livello globale per l'intera applicazio
|
|
|
462
426
|
```
|
|
463
427
|
|
|
464
428
|
</Tab>
|
|
465
|
-
<Tab label="Svelte">
|
|
429
|
+
<Tab label="Svelte" value="svelte">
|
|
466
430
|
|
|
467
431
|
```svelte fileName="App.svelte"
|
|
468
432
|
<script lang="ts">
|
|
@@ -482,7 +446,7 @@ Puoi configurare il rendering Markdown a livello globale per l'intera applicazio
|
|
|
482
446
|
```
|
|
483
447
|
|
|
484
448
|
</Tab>
|
|
485
|
-
<Tab label="Preact">
|
|
449
|
+
<Tab label="Preact" value="preact">
|
|
486
450
|
|
|
487
451
|
```tsx fileName="AppProvider.tsx"
|
|
488
452
|
import { MarkdownProvider } from "preact-intlayer";
|
|
@@ -501,7 +465,7 @@ Puoi configurare il rendering Markdown a livello globale per l'intera applicazio
|
|
|
501
465
|
```
|
|
502
466
|
|
|
503
467
|
</Tab>
|
|
504
|
-
<Tab label="Solid">
|
|
468
|
+
<Tab label="Solid" value="solid">
|
|
505
469
|
|
|
506
470
|
```tsx fileName="AppProvider.tsx"
|
|
507
471
|
import { MarkdownProvider } from "solid-intlayer";
|
|
@@ -520,7 +484,7 @@ Puoi configurare il rendering Markdown a livello globale per l'intera applicazio
|
|
|
520
484
|
```
|
|
521
485
|
|
|
522
486
|
</Tab>
|
|
523
|
-
<Tab label="Angular">
|
|
487
|
+
<Tab label="Angular" value="angular">
|
|
524
488
|
|
|
525
489
|
```typescript fileName="app.config.ts"
|
|
526
490
|
import { createIntlayerMarkdownProvider } from "angular-intlayer";
|
package/docs/it/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
|
Benvenuti in Intlayer v8! Questa release si concentra sul miglioramento della Developer Experience con il rilevamento automatico dei contenuti, sull'assicurare l'integrità dei dati tramite la validazione degli schemi e sul fornire un maggior controllo nella gestione dei dizionari.
|
|
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
|
## Indice
|
|
26
35
|
|
|
27
36
|
<TOC levels={[2]} maxDepth={1} />
|
|
@@ -1198,8 +1207,8 @@ Il contenuto Markdown e HTML in Svelte ora viene automaticamente convertito in H
|
|
|
1198
1207
|
|
|
1199
1208
|
### Modifiche alla configurazione
|
|
1200
1209
|
|
|
1201
|
-
- **Proprietà `live`**: La proprietà `live` nei dizionari è
|
|
1202
|
-
- **
|
|
1210
|
+
- **Proprietà `live`**: La proprietà `live` nei dizionari è stata rimossa. Usa `importMode: 'fetch'` al suo posto.
|
|
1211
|
+
- **importMode**: La proprietà `build.importMode` nella configurazione è stata deprecata. Usa `dictionary.importMode` al suo posto.
|
|
1203
1212
|
- **`contentDir` e `codeDir`**: `contentDir` è ora specificamente per i file di contenuto. È stata aggiunta una nuova proprietà `codeDir` per la trasformazione del codice. Se `codeDir` non è impostato, Intlayer farà fallback su `contentDir` e registrerà un warning.
|
|
1204
1213
|
- **Validazione dello schema**: Per usare la nuova funzionalità `schema`, assicurati di avere `zod` installato nel tuo progetto.
|
|
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: コンテンツファイル
|
|
5
5
|
description: コンテンツ宣言ファイルの拡張機能をカスタマイズする方法を学びます。このドキュメントに従って、プロジェクトで効率的に条件を実装しましょう。
|
|
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: `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.
|
|
@@ -81,6 +84,7 @@ interface Content {
|
|
|
81
84
|
quantityContent: string;
|
|
82
85
|
conditionalContent: string;
|
|
83
86
|
markdownContent: never;
|
|
87
|
+
htmlContent: never;
|
|
84
88
|
externalContent: string;
|
|
85
89
|
insertionContent: string;
|
|
86
90
|
nestedContent: string;
|
|
@@ -126,6 +130,7 @@ export default {
|
|
|
126
130
|
fileContent: file("./path/to/file.txt"),
|
|
127
131
|
externalContent: fetch("https://example.com").then((res) => res.json()),
|
|
128
132
|
markdownContent: md("# マークダウンの例"),
|
|
133
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
129
134
|
|
|
130
135
|
/*
|
|
131
136
|
* `react-intlayer` または `next-intlayer` を使用する場合のみ利用可能
|
|
@@ -176,6 +181,7 @@ export default {
|
|
|
176
181
|
"login.button" // [オプション] ネストするコンテンツのパス
|
|
177
182
|
),
|
|
178
183
|
markdownContent: md("# Markdownの例"),
|
|
184
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
179
185
|
fileContent: file("./path/to/file.txt"),
|
|
180
186
|
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
181
187
|
|
|
@@ -226,6 +232,7 @@ module.exports = {
|
|
|
226
232
|
"login.button" // [オプション] ネストするコンテンツのパス
|
|
227
233
|
),
|
|
228
234
|
markdownContent: md("# マークダウンの例"),
|
|
235
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
229
236
|
fileContent: file("./path/to/file.txt"),
|
|
230
237
|
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
231
238
|
|
|
@@ -287,6 +294,10 @@ module.exports = {
|
|
|
287
294
|
"nodeType": "markdown",
|
|
288
295
|
"markdown": "# マークダウンの例",
|
|
289
296
|
},
|
|
297
|
+
"htmlContent": {
|
|
298
|
+
"nodeType": "html",
|
|
299
|
+
"html": "<p>Hello <strong>World</strong></p>",
|
|
300
|
+
},
|
|
290
301
|
"fileContent": {
|
|
291
302
|
"nodeType": "file",
|
|
292
303
|
"file": "./path/to/file.txt",
|
|
@@ -321,6 +332,7 @@ Intlayerは型付きノードを通じて様々なコンテンツタイプをサ
|
|
|
321
332
|
- **列挙コンテンツ**: 列挙値に基づいて変化するコンテンツ [列挙コンテンツを参照](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/enumeration_content.md)
|
|
322
333
|
- **挿入コンテンツ**: 他のコンテンツに挿入可能なコンテンツ [挿入コンテンツを参照](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/insertion_content.md)
|
|
323
334
|
- **Markdown Content**: Markdown形式のリッチテキストコンテンツ [Markdown Contentを参照](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/markdown_content.md)
|
|
335
|
+
- **HTML Content**: オプションのカスタムコンポーネントを使用したリッチHTMLコンテンツ [HTML Contentを参照](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/html.md)
|
|
324
336
|
- **Nested Content**: 他の辞書への参照 [Nested Contentを参照](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/nested_content.md)
|
|
325
337
|
- **Gender Content**: 性別に応じて変わるコンテンツ [Gender Contentを参照](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/gender_content.md)
|
|
326
338
|
- **File Content**: 外部ファイルへの参照 [File Contentを参照](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/file_content.md)
|
|
@@ -693,6 +705,23 @@ markdownContent: md(
|
|
|
693
705
|
);
|
|
694
706
|
```
|
|
695
707
|
|
|
708
|
+
### HTMLコンテンツ (`html`)
|
|
709
|
+
|
|
710
|
+
標準タグまたはカスタムコンポーネントを使用できるリッチHTMLコンテンツ:
|
|
711
|
+
|
|
712
|
+
```typescript
|
|
713
|
+
import { html, file, t } from "intlayer";
|
|
714
|
+
|
|
715
|
+
// インラインHTML
|
|
716
|
+
htmlContent: html("<p>Hello <strong>World</strong></p>");
|
|
717
|
+
|
|
718
|
+
// 外部ファイルからのロケール別HTML
|
|
719
|
+
localizedHtmlContent: t({
|
|
720
|
+
en: html(file("./content.en.html")),
|
|
721
|
+
ja: html(file("./content.ja.html")),
|
|
722
|
+
});
|
|
723
|
+
```
|
|
724
|
+
|
|
696
725
|
### ジェンダーコンテンツ (`gender`)
|
|
697
726
|
|
|
698
727
|
ジェンダーに基づいて変化するコンテンツ:
|