@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.
Files changed (73) hide show
  1. package/docs/ar/dictionary/content_file.md +30 -1
  2. package/docs/ar/dictionary/html.md +45 -56
  3. package/docs/ar/dictionary/markdown.md +21 -57
  4. package/docs/ar/releases/v8.md +11 -2
  5. package/docs/de/dictionary/content_file.md +30 -1
  6. package/docs/de/dictionary/html.md +45 -56
  7. package/docs/de/dictionary/markdown.md +21 -57
  8. package/docs/de/releases/v8.md +11 -2
  9. package/docs/en/dictionary/content_file.md +35 -1
  10. package/docs/en/dictionary/html.md +45 -56
  11. package/docs/en/dictionary/markdown.md +22 -58
  12. package/docs/en/releases/v8.md +11 -2
  13. package/docs/en-GB/dictionary/content_file.md +31 -2
  14. package/docs/en-GB/dictionary/html.md +45 -56
  15. package/docs/en-GB/dictionary/markdown.md +17 -53
  16. package/docs/en-GB/releases/v8.md +11 -2
  17. package/docs/es/dictionary/content_file.md +30 -2
  18. package/docs/es/dictionary/html.md +45 -56
  19. package/docs/es/dictionary/markdown.md +21 -57
  20. package/docs/es/releases/v8.md +11 -2
  21. package/docs/fr/dictionary/content_file.md +30 -1
  22. package/docs/fr/dictionary/html.md +45 -56
  23. package/docs/fr/dictionary/markdown.md +21 -57
  24. package/docs/fr/releases/v8.md +11 -2
  25. package/docs/hi/dictionary/content_file.md +33 -3
  26. package/docs/hi/dictionary/html.md +45 -56
  27. package/docs/hi/dictionary/markdown.md +21 -57
  28. package/docs/hi/releases/v8.md +10 -1
  29. package/docs/id/dictionary/content_file.md +30 -1
  30. package/docs/id/dictionary/html.md +45 -56
  31. package/docs/id/dictionary/markdown.md +21 -57
  32. package/docs/id/releases/v8.md +11 -2
  33. package/docs/it/dictionary/content_file.md +30 -1
  34. package/docs/it/dictionary/html.md +45 -56
  35. package/docs/it/dictionary/markdown.md +21 -57
  36. package/docs/it/releases/v8.md +11 -2
  37. package/docs/ja/dictionary/content_file.md +30 -1
  38. package/docs/ja/dictionary/html.md +45 -56
  39. package/docs/ja/dictionary/markdown.md +21 -57
  40. package/docs/ja/releases/v8.md +11 -2
  41. package/docs/ko/dictionary/content_file.md +30 -1
  42. package/docs/ko/dictionary/html.md +45 -56
  43. package/docs/ko/dictionary/markdown.md +21 -57
  44. package/docs/ko/releases/v8.md +11 -2
  45. package/docs/pl/dictionary/content_file.md +30 -1
  46. package/docs/pl/dictionary/html.md +45 -56
  47. package/docs/pl/dictionary/markdown.md +18 -54
  48. package/docs/pl/releases/v8.md +11 -2
  49. package/docs/pt/dictionary/content_file.md +30 -1
  50. package/docs/pt/dictionary/html.md +45 -56
  51. package/docs/pt/dictionary/markdown.md +21 -57
  52. package/docs/pt/releases/v8.md +11 -2
  53. package/docs/ru/dictionary/content_file.md +30 -1
  54. package/docs/ru/dictionary/html.md +45 -56
  55. package/docs/ru/dictionary/markdown.md +21 -57
  56. package/docs/ru/releases/v8.md +11 -2
  57. package/docs/tr/dictionary/content_file.md +30 -1
  58. package/docs/tr/dictionary/html.md +45 -56
  59. package/docs/tr/dictionary/markdown.md +17 -53
  60. package/docs/tr/releases/v8.md +11 -2
  61. package/docs/uk/dictionary/content_file.md +32 -3
  62. package/docs/uk/dictionary/html.md +45 -56
  63. package/docs/uk/dictionary/markdown.md +14 -50
  64. package/docs/uk/releases/v8.md +11 -2
  65. package/docs/vi/dictionary/content_file.md +30 -1
  66. package/docs/vi/dictionary/html.md +45 -56
  67. package/docs/vi/dictionary/markdown.md +19 -55
  68. package/docs/vi/releases/v8.md +11 -2
  69. package/docs/zh/dictionary/content_file.md +28 -2
  70. package/docs/zh/dictionary/html.md +45 -56
  71. package/docs/zh/dictionary/markdown.md +20 -56
  72. package/docs/zh/releases/v8.md +11 -2
  73. package/package.json +7 -7
@@ -31,47 +31,12 @@ history:
31
31
 
32
32
  Intlayer admite contenido HTML, lo que permite incrustar contenido enriquecido y estructurado dentro de los diccionarios. Este contenido se puede renderizar con etiquetas HTML estándar o reemplazarse por componentes personalizados en tiempo de ejecución.
33
33
 
34
- ## Cómo funciona el HTML
35
-
36
- Intlayer v8 detecta inteligentemente las etiquetas HTML en las cadenas de contenido. Si una cadena se identifica como HTML (contiene etiquetas), se transforma automáticamente en un nodo HTML.
37
-
38
- <Columns>
39
- <Column title="Comportamiento v7 (Envoltura manual)">
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="Comportamiento v8 (Detección automática)">
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
  ## Declarar contenido HTML
70
35
 
71
36
  Puedes declarar contenido HTML mediante la función `html` o simplemente como una cadena de texto.
72
37
 
73
38
  <Tabs>
74
- <Tab label="Envoltura Manual">
39
+ <Tab label="Envoltura Manual" value="manual-wrapping">
75
40
  Utiliza la función `html` para declarar explícitamente contenido HTML. Esto garantiza que las etiquetas estándar se mapeen correctamente incluso si la detección automática está desactivada.
76
41
 
77
42
  ```typescript fileName="htmlDictionary.content.ts"
@@ -88,7 +53,7 @@ Puedes declarar contenido HTML mediante la función `html` o simplemente como un
88
53
  ```
89
54
 
90
55
  </Tab>
91
- <Tab label="Detección Automática">
56
+ <Tab label="Detección Automática" value="automatic-detection">
92
57
  Si la cadena contiene etiquetas HTML comunes (por ejemplo, `<p>`, `<div>`, `<strong>`, etc.), Intlayer la transformará automáticamente.
93
58
 
94
59
  ```typescript fileName="htmlDictionary.content.ts"
@@ -101,7 +66,7 @@ Puedes declarar contenido HTML mediante la función `html` o simplemente como un
101
66
  ```
102
67
 
103
68
  </Tab>
104
- <Tab label="Archivos Externos">
69
+ <Tab label="Archivos Externos" value="external-files">
105
70
  Importa contenido HTML desde archivos. Ten en cuenta que actualmente la función `file()` devuelve una cadena, que se detectará automáticamente como HTML si contiene etiquetas.
106
71
 
107
72
  ```typescript fileName="htmlDictionary.content.ts"
@@ -121,6 +86,30 @@ Puedes declarar contenido HTML mediante la función `html` o simplemente como un
121
86
  </Tab>
122
87
  </Tabs>
123
88
 
89
+ ### El nodo `html()`
90
+
91
+ La función `html()` es una nueva característica en Intlayer v8 que le permite definir explícitamente contenido HTML en sus diccionarios. Aunque Intlayer a menudo puede detectar automáticamente el contenido HTML, el uso de la función `html()` ofrece varias ventajas:
92
+
93
+ - **Seguridad de Tipos**: La función `html()` le permite definir las props esperadas para los componentes personalizados, lo que proporciona un mejor autocompletado y comprobación de tipos en su editor.
94
+ - **Declaración Explícita**: Garantiza que una cadena siempre se trate como HTML, incluso si no contiene etiquetas HTML estándar que activarían la detección automática.
95
+ - **Definición de Componentes Personalizados**: Puede pasar un segundo argumento a `html()` para definir los componentes personalizados y sus tipos de props esperados.
96
+
97
+ ```typescript
98
+ import { html } from "intlayer";
99
+
100
+ const myContent = html(
101
+ "<MyCustomComponent title='Hola'>Mundo</MyCustomComponent>",
102
+ {
103
+ MyCustomComponent: {
104
+ title: "string",
105
+ children: "node",
106
+ },
107
+ }
108
+ );
109
+ ```
110
+
111
+ Al utilizar el método `.use()` en un nodo HTML, los componentes que proporcione se cotejarán con la definición proporcionada en la función `html()` (si está disponible).
112
+
124
113
  ---
125
114
 
126
115
  ## Renderizado de HTML
@@ -132,7 +121,7 @@ El renderizado puede ser gestionado automáticamente por el sistema de contenido
132
121
  Cuando accedes al contenido a través de `useIntlayer`, los nodos HTML ya están preparados para el renderizado.
133
122
 
134
123
  <Tabs group="framework">
135
- <Tab label="React / Next.js">
124
+ <Tab label="React / Next.js" value="react">
136
125
  Los nodos HTML se pueden renderizar directamente como JSX. Las etiquetas estándar funcionan automáticamente.
137
126
 
138
127
  ```tsx fileName="App.tsx"
@@ -154,7 +143,7 @@ Cuando accedes al contenido a través de `useIntlayer`, los nodos HTML ya están
154
143
  ```
155
144
 
156
145
  </Tab>
157
- <Tab label="Vue">
146
+ <Tab label="Vue" value="vue">
158
147
  En Vue, el contenido HTML se puede renderizar mediante el componente integrado `component`.
159
148
 
160
149
  ```vue fileName="App.vue"
@@ -174,7 +163,7 @@ Cuando accedes al contenido a través de `useIntlayer`, los nodos HTML ya están
174
163
  ```
175
164
 
176
165
  </Tab>
177
- <Tab label="Svelte">
166
+ <Tab label="Svelte" value="svelte">
178
167
  Svelte renderiza los nodos HTML como cadenas de texto. Utiliza `{@html}` para renderizarlo.
179
168
 
180
169
  ```svelte
@@ -187,7 +176,7 @@ Cuando accedes al contenido a través de `useIntlayer`, los nodos HTML ya están
187
176
  ```
188
177
 
189
178
  </Tab>
190
- <Tab label="Preact">
179
+ <Tab label="Preact" value="preact">
191
180
  Preact admite nodos HTML directamente en el JSX.
192
181
 
193
182
  ```tsx fileName="App.tsx"
@@ -200,7 +189,7 @@ Cuando accedes al contenido a través de `useIntlayer`, los nodos HTML ya están
200
189
  ```
201
190
 
202
191
  </Tab>
203
- <Tab label="Solid">
192
+ <Tab label="Solid" value="solid">
204
193
  Solid admite nodos HTML directamente en el JSX.
205
194
 
206
195
  ```tsx fileName="App.tsx"
@@ -213,7 +202,7 @@ Cuando accedes al contenido a través de `useIntlayer`, los nodos HTML ya están
213
202
  ```
214
203
 
215
204
  </Tab>
216
- <Tab label="Angular">
205
+ <Tab label="Angular" value="angular">
217
206
  Angular utiliza la directiva `[innerHTML]` para renderizar contenido HTML.
218
207
 
219
208
  ```typescript fileName="app.component.ts"
@@ -246,7 +235,7 @@ Cuando accedes al contenido a través de `useIntlayer`, los nodos HTML ya están
246
235
  Puedes configurar el renderizado de HTML de forma global para toda tu aplicación. Esto es ideal para definir componentes personalizados que deben estar disponibles en todo el contenido HTML.
247
236
 
248
237
  <Tabs group="framework">
249
- <Tab label="React / Next.js">
238
+ <Tab label="React / Next.js" value="react">
250
239
 
251
240
  ```tsx fileName="AppProvider.tsx"
252
241
  import { HTMLProvider } from "react-intlayer";
@@ -264,7 +253,7 @@ Puedes configurar el renderizado de HTML de forma global para toda tu aplicació
264
253
  ```
265
254
 
266
255
  </Tab>
267
- <Tab label="Vue">
256
+ <Tab label="Vue" value="vue">
268
257
 
269
258
  ```typescript fileName="main.ts"
270
259
  import { createApp, h } from "vue";
@@ -285,7 +274,7 @@ Puedes configurar el renderizado de HTML de forma global para toda tu aplicació
285
274
  ```
286
275
 
287
276
  </Tab>
288
- <Tab label="Svelte">
277
+ <Tab label="Svelte" value="svelte">
289
278
 
290
279
  ```svelte fileName="App.svelte"
291
280
  <script lang="ts">
@@ -303,7 +292,7 @@ Puedes configurar el renderizado de HTML de forma global para toda tu aplicació
303
292
  ```
304
293
 
305
294
  </Tab>
306
- <Tab label="Preact">
295
+ <Tab label="Preact" value="preact">
307
296
 
308
297
  ```tsx fileName="AppProvider.tsx"
309
298
  import { HTMLProvider } from "preact-intlayer";
@@ -320,7 +309,7 @@ Puedes configurar el renderizado de HTML de forma global para toda tu aplicació
320
309
  ```
321
310
 
322
311
  </Tab>
323
- <Tab label="Solid">
312
+ <Tab label="Solid" value="solid">
324
313
 
325
314
  ```tsx fileName="AppProvider.tsx"
326
315
  import { HTMLProvider } from "solid-intlayer";
@@ -337,7 +326,7 @@ Puedes configurar el renderizado de HTML de forma global para toda tu aplicació
337
326
  ```
338
327
 
339
328
  </Tab>
340
- <Tab label="Angular">
329
+ <Tab label="Angular" value="angular">
341
330
 
342
331
  ```typescript fileName="app.config.ts"
343
332
  import { createIntlayerMarkdownProvider } from "angular-intlayer";
@@ -364,7 +353,7 @@ Puedes configurar el renderizado de HTML de forma global para toda tu aplicació
364
353
  Si necesitas renderizar cadenas de HTML sin procesar o tener más control sobre el mapeo de componentes, utiliza las siguientes herramientas.
365
354
 
366
355
  <Tabs group="framework">
367
- <Tab label="React / Next.js">
356
+ <Tab label="React / Next.js" value="react">
368
357
  #### Componente `<HTMLRenderer />`
369
358
  Renderiza una cadena HTML con componentes específicos.
370
359
 
@@ -401,7 +390,7 @@ Si necesitas renderizar cadenas de HTML sin procesar o tener más control sobre
401
390
  ```
402
391
 
403
392
  </Tab>
404
- <Tab label="Vue">
393
+ <Tab label="Vue" value="vue">
405
394
 
406
395
  #### Componente `<HTMLRenderer />`
407
396
 
@@ -416,7 +405,7 @@ Si necesitas renderizar cadenas de HTML sin procesar o tener más control sobre
416
405
  ```
417
406
 
418
407
  </Tab>
419
- <Tab label="Svelte">
408
+ <Tab label="Svelte" value="svelte">
420
409
 
421
410
  #### Componente `<HTMLRenderer />`
422
411
 
@@ -450,7 +439,7 @@ Si necesitas renderizar cadenas de HTML sin procesar o tener más control sobre
450
439
  ```
451
440
 
452
441
  </Tab>
453
- <Tab label="Preact">
442
+ <Tab label="Preact" value="preact">
454
443
 
455
444
  #### Componente `<HTMLRenderer />`
456
445
 
@@ -481,7 +470,7 @@ Si necesitas renderizar cadenas de HTML sin procesar o tener más control sobre
481
470
  ```
482
471
 
483
472
  </Tab>
484
- <Tab label="Solid">
473
+ <Tab label="Solid" value="solid">
485
474
 
486
475
  #### Componente `<HTMLRenderer />`
487
476
 
@@ -512,7 +501,7 @@ Si necesitas renderizar cadenas de HTML sin procesar o tener más control sobre
512
501
  ```
513
502
 
514
503
  </Tab>
515
- <Tab label="Angular">
504
+ <Tab label="Angular" value="angular">
516
505
  #### Servicio `IntlayerMarkdownService`
517
506
  Renderiza una cadena HTML utilizando el servicio.
518
507
 
@@ -32,48 +32,12 @@ history:
32
32
 
33
33
  Intlayer admite contenido de texto enriquecido definido mediante la sintaxis Markdown. Esto le permite escribir y mantener fácilmente contenido con un formato enriquecido, como blogs, artículos y más.
34
34
 
35
- ## Cómo funciona Markdown
36
-
37
- Intlayer v8 detecta inteligentemente la sintaxis Markdown en sus cadenas de contenido. Si una cadena se identifica como Markdown, se transforma automáticamente en un nodo Markdown.
38
-
39
- <Columns>
40
- <Column title="Comportamiento en v7 (Envoltura manual)">
41
-
42
- ```typescript fileName="markdownDictionary.content.ts"
43
- import { md } from "intlayer";
44
-
45
- export default {
46
- key: "app",
47
- content: {
48
- text: md("## My title \n\nLorem Ipsum"),
49
- },
50
- };
51
- ```
52
-
53
- </Column>
54
- <Column title="Comportamiento en v8 (Detección automática)">
55
-
56
- ```typescript fileName="markdownDictionary.content.ts"
57
- export default {
58
- key: "app",
59
- contentAutoTransformation: true, // Habilitar la detección automática de contenido Markdown - Se puede configurar globalmente en intlayer.config.ts
60
- content: {
61
- text: "## My title \n\nLorem Ipsum",
62
- },
63
- };
64
- ```
65
-
66
- </Column>
67
- </Columns>
68
-
69
- ---
70
-
71
35
  ## Parte 1: Declarar Contenido Markdown
72
36
 
73
37
  Puede declarar contenido Markdown mediante la función `md` o simplemente como una cadena (si contiene sintaxis Markdown).
74
38
 
75
39
  <Tabs>
76
- <Tab label="Envoltura Manual">
40
+ <Tab label="Envoltura Manual" value="manual-wrapping">
77
41
  Utilice la función `md` para declarar explícitamente contenido Markdown. Esto es útil si desea asegurarse de que una cadena se trate como Markdown incluso si no contiene una sintaxis obvia.
78
42
 
79
43
  ```typescript fileName="markdownDictionary.content.ts"
@@ -90,7 +54,7 @@ Puede declarar contenido Markdown mediante la función `md` o simplemente como u
90
54
  ```
91
55
 
92
56
  </Tab>
93
- <Tab label="Detección Automática">
57
+ <Tab label="Detección Automática" value="automatic-detection">
94
58
  Si la cadena contiene indicadores comunes de Markdown (como encabezados, listas, enlaces, etc.), Intlayer la transformará automáticamente.
95
59
 
96
60
  ```typescript fileName="markdownDictionary.content.ts"
@@ -104,7 +68,7 @@ Puede declarar contenido Markdown mediante la función `md` o simplemente como u
104
68
  ```
105
69
 
106
70
  </Tab>
107
- <Tab label="Archivos Externos">
71
+ <Tab label="Archivos Externos" value="external-files">
108
72
  Importe archivos `.md` directamente mediante la función `file`.
109
73
 
110
74
  ```typescript fileName="markdownDictionary.content.ts"
@@ -135,7 +99,7 @@ El renderizado puede ser gestionado automáticamente por el sistema de contenido
135
99
  Cuando accede al contenido a través de `useIntlayer`, los nodos Markdown ya están preparados para el renderizado.
136
100
 
137
101
  <Tabs group="framework">
138
- <Tab label="React / Next.js">
102
+ <Tab label="React / Next.js" value="react">
139
103
  Los nodos Markdown se pueden renderizar directamente como JSX.
140
104
 
141
105
  ```tsx fileName="App.tsx"
@@ -156,7 +120,7 @@ Cuando accede al contenido a través de `useIntlayer`, los nodos Markdown ya est
156
120
  ```
157
121
 
158
122
  </Tab>
159
- <Tab label="Vue">
123
+ <Tab label="Vue" value="vue">
160
124
  En Vue, el contenido Markdown se puede renderizar mediante el componente integrado `component` o directamente como un nodo.
161
125
 
162
126
  ```vue fileName="App.vue"
@@ -171,7 +135,7 @@ Cuando accede al contenido a través de `useIntlayer`, los nodos Markdown ya est
171
135
  ```
172
136
 
173
137
  </Tab>
174
- <Tab label="Svelte">
138
+ <Tab label="Svelte" value="svelte">
175
139
  Svelte renderiza Markdown como una cadena HTML por defecto. Utilice `{@html}` para renderizarlo.
176
140
 
177
141
  ```svelte
@@ -184,7 +148,7 @@ Cuando accede al contenido a través de `useIntlayer`, los nodos Markdown ya est
184
148
  ```
185
149
 
186
150
  </Tab>
187
- <Tab label="Preact">
151
+ <Tab label="Preact" value="preact">
188
152
  Preact admite nodos Markdown directamente en el JSX.
189
153
 
190
154
  ```tsx fileName="App.tsx"
@@ -197,7 +161,7 @@ Cuando accede al contenido a través de `useIntlayer`, los nodos Markdown ya est
197
161
  ```
198
162
 
199
163
  </Tab>
200
- <Tab label="Solid">
164
+ <Tab label="Solid" value="solid">
201
165
  Solid admite nodos Markdown directamente en el JSX.
202
166
 
203
167
  ```tsx fileName="App.tsx"
@@ -210,7 +174,7 @@ Cuando accede al contenido a través de `useIntlayer`, los nodos Markdown ya est
210
174
  ```
211
175
 
212
176
  </Tab>
213
- <Tab label="Angular">
177
+ <Tab label="Angular" value="angular">
214
178
  Angular utiliza la directiva `[innerHTML]` para renderizar contenido Markdown.
215
179
 
216
180
  ```typescript fileName="app.component.ts"
@@ -242,7 +206,7 @@ Cuando accede al contenido a través de `useIntlayer`, los nodos Markdown ya est
242
206
  Si necesita renderizar cadenas de Markdown sin procesar o tener más control sobre el proceso de renderizado, utilice las siguientes herramientas.
243
207
 
244
208
  <Tabs group="framework">
245
- <Tab label="React / Next.js">
209
+ <Tab label="React / Next.js" value="react">
246
210
 
247
211
  #### Componente `<MarkdownRenderer />`
248
212
 
@@ -281,7 +245,7 @@ Si necesita renderizar cadenas de Markdown sin procesar o tener más control sob
281
245
  ```
282
246
 
283
247
  </Tab>
284
- <Tab label="Vue">
248
+ <Tab label="Vue" value="vue">
285
249
 
286
250
  #### Componente `<MarkdownRenderer />`
287
251
 
@@ -296,7 +260,7 @@ Si necesita renderizar cadenas de Markdown sin procesar o tener más control sob
296
260
  ```
297
261
 
298
262
  </Tab>
299
- <Tab label="Svelte">
263
+ <Tab label="Svelte" value="svelte">
300
264
 
301
265
  #### Componente `<MarkdownRenderer />`
302
266
 
@@ -330,7 +294,7 @@ Si necesita renderizar cadenas de Markdown sin procesar o tener más control sob
330
294
  ```
331
295
 
332
296
  </Tab>
333
- <Tab label="Preact">
297
+ <Tab label="Preact" value="preact">
334
298
  #### Componente `<MarkdownRenderer />`
335
299
 
336
300
  ```tsx
@@ -360,7 +324,7 @@ Si necesita renderizar cadenas de Markdown sin procesar o tener más control sob
360
324
  ```
361
325
 
362
326
  </Tab>
363
- <Tab label="Solid">
327
+ <Tab label="Solid" value="solid">
364
328
  #### Componente `<MarkdownRenderer />`
365
329
 
366
330
  ```tsx
@@ -390,7 +354,7 @@ Si necesita renderizar cadenas de Markdown sin procesar o tener más control sob
390
354
  ```
391
355
 
392
356
  </Tab>
393
- <Tab label="Angular">
357
+ <Tab label="Angular" value="angular">
394
358
  #### Servicio `IntlayerMarkdownService`
395
359
  Renderiza una cadena Markdown mediante el servicio.
396
360
 
@@ -416,7 +380,7 @@ Si necesita renderizar cadenas de Markdown sin procesar o tener más control sob
416
380
  Puede configurar el renderizado de Markdown de forma global para toda su aplicación. Esto evita pasar las mismas props a cada renderizador.
417
381
 
418
382
  <Tabs group="framework">
419
- <Tab label="React / Next.js">
383
+ <Tab label="React / Next.js" value="react">
420
384
 
421
385
  ```tsx fileName="AppProvider.tsx"
422
386
  import { MarkdownProvider } from "react-intlayer";
@@ -436,7 +400,7 @@ Puede configurar el renderizado de Markdown de forma global para toda su aplicac
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 @@ Puede configurar el renderizado de Markdown de forma global para toda su aplicac
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 @@ Puede configurar el renderizado de Markdown de forma global para toda su aplicac
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";
@@ -500,7 +464,7 @@ Puede configurar el renderizado de Markdown de forma global para toda su aplicac
500
464
  ```
501
465
 
502
466
  </Tab>
503
- <Tab label="Solid">
467
+ <Tab label="Solid" value="solid">
504
468
 
505
469
  ```tsx fileName="AppProvider.tsx"
506
470
  import { MarkdownProvider } from "solid-intlayer";
@@ -519,7 +483,7 @@ Puede configurar el renderizado de Markdown de forma global para toda su aplicac
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";
@@ -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
  ¡Bienvenido a Intlayer v8! Esta versión se centra en mejorar la experiencia del desarrollador con la detección automática de contenido, garantizar la integridad de los datos con la validación de esquemas y proporcionar más control sobre la gestión de diccionarios.
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
  ## Tabla de contenidos
26
35
 
27
36
  <TOC levels={[2]} maxDepth={1} />
@@ -1198,8 +1207,8 @@ El contenido Markdown y HTML en Svelte ahora se analiza automáticamente a HTML
1198
1207
 
1199
1208
  ### Cambios en la configuración
1200
1209
 
1201
- - **Propiedad `live`**: La propiedad `live` en los diccionarios está obsoleta. Use `importMode: 'fetch'` en su lugar.
1202
- - **API unificada de contenido enriquecido**: El nuevo método `.use()` se utiliza ahora tanto para las sobreescrituras de Markdown como de HTML, proporcionando una API consistente a través de todos los tipos de contenido enriquecido.
1210
+ - **Propiedad `live`**: La propiedad `live` en los diccionarios ha sido eliminada. Use `importMode: 'fetch'` en su lugar.
1211
+ - **importMode**: La propiedad `build.importMode` en la configuración ha sido obsoleta. Use `dictionary.importMode` en su lugar.
1203
1212
  - **`contentDir` y `codeDir`**: `contentDir` ahora es específicamente para archivos de contenido. Se ha añadido una nueva propiedad `codeDir` para la transformación del código. Si `codeDir` no está configurado, Intlayer recurrirá a `contentDir` y registrará una advertencia.
1204
1213
  - **Validación del esquema**: Para utilizar la nueva función `schema`, asegúrese de tener `zod` instalado en su proyecto.
1205
1214
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-02-07
3
- updatedAt: 2026-01-24
3
+ updatedAt: 2026-01-28
4
4
  title: Fichier de Contenu
5
5
  description: Apprenez à personnaliser les extensions pour vos fichiers de déclaration de contenu. Suivez cette documentation pour implémenter efficacement des conditions dans votre projet.
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: Ajout du type de nœud de contenu `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;
@@ -125,6 +129,7 @@ export default {
125
129
  fileContent: file("./path/to/file.txt"),
126
130
  externalContent: fetch("https://example.com").then((res) => res.json()),
127
131
  markdownContent: md("# Exemple Markdown"),
132
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
128
133
 
129
134
  /*
130
135
  * Disponible uniquement avec `react-intlayer` ou `next-intlayer`
@@ -174,6 +179,7 @@ export default {
174
179
  "login.button" // [Optionnel] Le chemin vers le contenu à imbriquer
175
180
  ),
176
181
  markdownContent: md("# Exemple Markdown"),
182
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
177
183
  fileContent: file("./path/to/file.txt"),
178
184
  externalContent: fetch("https://example.com").then((res) => res.json())
179
185
 
@@ -223,6 +229,7 @@ module.exports = {
223
229
  "login.button" // [Optionnel] Le chemin vers le contenu à imbriquer
224
230
  ),
225
231
  markdownContent: md("# Exemple Markdown"),
232
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
226
233
  fileContent: file("./path/to/file.txt"),
227
234
  externalContent: fetch("https://example.com").then((res) => res.json())
228
235
 
@@ -284,6 +291,10 @@ module.exports = {
284
291
  "nodeType": "markdown",
285
292
  "markdown": "# Exemple de Markdown",
286
293
  },
294
+ "htmlContent": {
295
+ "nodeType": "html",
296
+ "html": "<p>Hello <strong>World</strong></p>",
297
+ },
287
298
  "fileContent": {
288
299
  "nodeType": "file",
289
300
  "file": "./path/to/file.txt",
@@ -318,6 +329,7 @@ Intlayer prend en charge divers types de contenu via des nœuds typés :
318
329
  - **Contenu d'énumération** : Contenu qui varie en fonction de valeurs énumérées [voir Contenu d'énumération](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/enumeration_content.md)
319
330
  - **Contenu d'insertion** : Contenu pouvant être inséré dans un autre contenu [voir Contenu d'insertion](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/insertion_content.md)
320
331
  - **Contenu Markdown** : Contenu en texte enrichi au format Markdown [voir Contenu Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/markdown_content.md)
332
+ - **Contenu HTML** : Contenu HTML riche avec des composants personnalisés optionnels [voir Contenu HTML](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/html.md)
321
333
  - **Contenu Imbriqué** : Références à d’autres dictionnaires [voir Contenu Imbriqué](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/nested_content.md)
322
334
  - **Contenu Genré** : Contenu qui varie selon le genre [voir Contenu Genré](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/gender_content.md)
323
335
  - **Contenu Fichier** : Références à des fichiers externes [voir Contenu Fichier](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dictionary/file_content.md)
@@ -683,6 +695,23 @@ markdownContent: md(
683
695
  );
684
696
  ```
685
697
 
698
+ ### Contenu HTML (`html`)
699
+
700
+ Contenu HTML riche pouvant utiliser des balises standard ou des composants personnalisés :
701
+
702
+ ```typescript
703
+ import { html, file, t } from "intlayer";
704
+
705
+ // HTML en ligne
706
+ htmlContent: html("<p>Hello <strong>World</strong></p>");
707
+
708
+ // HTML par locale à partir de fichiers externes
709
+ localizedHtmlContent: t({
710
+ en: html(file("./content.en.html")),
711
+ fr: html(file("./content.fr.html")),
712
+ });
713
+ ```
714
+
686
715
  ### Contenu selon le genre (`gender`)
687
716
 
688
717
  Contenu qui varie selon le genre :