@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는 HTML 콘텐츠를 지원하여 사전(dictionary) 내에 풍부하고 구조화된 콘텐츠를 포함할 수 있습니다. 이 콘텐츠는 표준 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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
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"
@@ -121,6 +86,30 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
121
86
  </Tab>
122
87
  </Tabs>
123
88
 
89
+ ### `html()` 노드
90
+
91
+ `html()` 함수는 Intlayer v8의 새로운 기능으로, 사전에서 HTML 콘텐츠를 명시적으로 정의할 수 있게 해줍니다. Intlayer는 종종 HTML 콘텐츠를 자동으로 감지할 수 있지만, `html()` 함수를 사용하면 다음과 같은 몇 가지 장점이 있습니다:
92
+
93
+ - **타입 안전성**: `html()` 함수를 사용하면 커스텀 컴포넌트에 필요한 props를 정의할 수 있어, 에디터에서 더 나은 자동 완성 및 타입 체크를 제공합니다.
94
+ - **명시적 선언**: 자동 감지를 트리거하는 표준 HTML 태그가 포함되어 있지 않더라도 문자열이 항상 HTML로 처리되도록 보장합니다.
95
+ - **커스텀 컴포넌트 정의**: `html()`의 두 번째 인자로 커스텀 컴포넌트와 예상되는 prop 타입을 정의하여 전달할 수 있습니다.
96
+
97
+ ```typescript
98
+ import { html } from "intlayer";
99
+
100
+ const myContent = html(
101
+ "<MyCustomComponent title='안녕하세요'>세계</MyCustomComponent>",
102
+ {
103
+ MyCustomComponent: {
104
+ title: "string",
105
+ children: "node",
106
+ },
107
+ }
108
+ );
109
+ ```
110
+
111
+ HTML 노드에서 `.use()` 메서드를 사용할 때, 제공하는 컴포넌트는 `html()` 함수에 제공된 정의(사용 가능한 경우)에 따라 확인됩니다.
112
+
124
113
  ---
125
114
 
126
115
  ## HTML 렌더링
@@ -132,7 +121,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
132
121
  `useIntlayer`로 콘텐츠에 접근하면 HTML 노드는 이미 렌더링 준비가 되어 있습니다.
133
122
 
134
123
  <Tabs group="framework">
135
- <Tab label="React / Next.js">
124
+ <Tab label="React / Next.js" value="react">
136
125
  HTML 노드는 JSX로 직접 렌더링할 수 있습니다. 표준 태그는 자동으로 작동합니다.
137
126
 
138
127
  ```tsx fileName="App.tsx"
@@ -154,7 +143,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
154
143
  ```
155
144
 
156
145
  </Tab>
157
- <Tab label="Vue">
146
+ <Tab label="Vue" value="vue">
158
147
  Vue에서는 HTML 콘텐츠를 내장된 `component`를 사용하여 렌더링할 수 있습니다.
159
148
 
160
149
  ```vue fileName="App.vue"
@@ -174,7 +163,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
174
163
  ```
175
164
 
176
165
  </Tab>
177
- <Tab label="Svelte">
166
+ <Tab label="Svelte" value="svelte">
178
167
  Svelte는 HTML 노드를 문자열로 렌더링합니다. 이를 렌더링하려면 `{@html}`을 사용하세요.
179
168
 
180
169
  ```svelte
@@ -187,7 +176,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
187
176
  ```
188
177
 
189
178
  </Tab>
190
- <Tab label="Preact">
179
+ <Tab label="Preact" value="preact">
191
180
  Preact는 JSX에서 HTML 노드를 직접 지원합니다.
192
181
 
193
182
  ```tsx fileName="App.tsx"
@@ -200,7 +189,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
200
189
  ```
201
190
 
202
191
  </Tab>
203
- <Tab label="Solid">
192
+ <Tab label="Solid" value="solid">
204
193
  Solid는 JSX에서 HTML 노드를 직접 지원합니다.
205
194
 
206
195
  ```tsx fileName="App.tsx"
@@ -213,7 +202,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
213
202
  ```
214
203
 
215
204
  </Tab>
216
- <Tab label="Angular">
205
+ <Tab label="Angular" value="angular">
217
206
  Angular는 HTML 콘텐츠를 렌더링하기 위해 `[innerHTML]` 디렉티브를 사용합니다.
218
207
 
219
208
  ```typescript fileName="app.component.ts"
@@ -246,7 +235,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
246
235
  애플리케이션 전체에 대해 HTML 렌더링을 전역으로 구성할 수 있습니다. 이는 모든 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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
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 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
364
353
  원시 HTML 문자열을 렌더링하거나 컴포넌트 매핑을 더 세밀하게 제어해야 하는 경우, 다음 도구들을 사용하세요.
365
354
 
366
355
  <Tabs group="framework">
367
- <Tab label="React / Next.js">
356
+ <Tab label="React / Next.js" value="react">
368
357
  #### `<HTMLRenderer />` 컴포넌트
369
358
  특정 컴포넌트로 HTML 문자열을 렌더링합니다.
370
359
 
@@ -401,7 +390,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
401
390
  ```
402
391
 
403
392
  </Tab>
404
- <Tab label="Vue">
393
+ <Tab label="Vue" value="vue">
405
394
 
406
395
  #### `<HTMLRenderer />` 컴포넌트
407
396
 
@@ -416,7 +405,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
416
405
  ```
417
406
 
418
407
  </Tab>
419
- <Tab label="Svelte">
408
+ <Tab label="Svelte" value="svelte">
420
409
 
421
410
  #### `<HTMLRenderer />` 컴포넌트
422
411
 
@@ -450,7 +439,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
450
439
  ```
451
440
 
452
441
  </Tab>
453
- <Tab label="Preact">
442
+ <Tab label="Preact" value="preact">
454
443
 
455
444
  #### `<HTMLRenderer />` 컴포넌트
456
445
 
@@ -481,7 +470,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
481
470
  ```
482
471
 
483
472
  </Tab>
484
- <Tab label="Solid">
473
+ <Tab label="Solid" value="solid">
485
474
 
486
475
  #### `<HTMLRenderer />` 컴포넌트
487
476
 
@@ -512,7 +501,7 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
512
501
  ```
513
502
 
514
503
  </Tab>
515
- <Tab label="Angular">
504
+ <Tab label="Angular" value="angular">
516
505
  #### `IntlayerMarkdownService` 서비스
517
506
  서비스를 사용하여 HTML 문자열을 렌더링합니다.
518
507
 
@@ -32,48 +32,12 @@ history:
32
32
 
33
33
  Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘텐츠를 지원합니다. 이를 통해 블로그, 기사 등과 같은 리치 포맷의 콘텐츠를 쉽게 작성하고 관리할 수 있습니다.
34
34
 
35
- ## 마크다운 작동 방식
36
-
37
- Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로 감지합니다. 문자열이 마크다운으로 식별되면 자동으로 마크다운 노드로 변환됩니다.
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("## My title \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, // 마크다운 콘텐츠 자동 감지 활성화 - 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
  ## 파트 1: 마크다운 콘텐츠 선언
72
36
 
73
37
  마크다운 콘텐츠는 `md` 함수를 사용하거나 (마크다운 문법을 포함하는 경우) 단순히 문자열로 선언할 수 있습니다.
74
38
 
75
39
  <Tabs>
76
- <Tab label="수동 래핑">
40
+ <Tab label="수동 래핑" value="manual-wrapping">
77
41
  마크다운 콘텐츠를 명시적으로 선언하려면 `md` 함수를 사용하세요. 명백한 문법이 포함되어 있지 않더라도 문자열이 마크다운으로 처리되도록 보장하고 싶을 때 유용합니다.
78
42
 
79
43
  ```typescript fileName="markdownDictionary.content.ts"
@@ -90,7 +54,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
90
54
  ```
91
55
 
92
56
  </Tab>
93
- <Tab label="자동 감지">
57
+ <Tab label="자동 감지" value="automatic-detection">
94
58
  문자열에 일반적인 마크다운 표시(예: 헤더, 리스트, 링크 등)가 포함되어 있으면 Intlayer가 자동으로 변환합니다.
95
59
 
96
60
  ```typescript fileName="markdownDictionary.content.ts"
@@ -104,7 +68,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
104
68
  ```
105
69
 
106
70
  </Tab>
107
- <Tab label="외부 파일">
71
+ <Tab label="외부 파일" value="external-files">
108
72
  `file` 함수를 사용하여 `.md` 파일을 직접 가져옵니다.
109
73
 
110
74
  ```typescript fileName="markdownDictionary.content.ts"
@@ -135,7 +99,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
135
99
  `useIntlayer`로 콘텐츠에 접근하면 마크다운 노드는 이미 렌더링 준비가 되어 있습니다.
136
100
 
137
101
  <Tabs group="framework">
138
- <Tab label="React / Next.js">
102
+ <Tab label="React / Next.js" value="react">
139
103
  마크다운 노드는 JSX로 직접 렌더링할 수 있습니다.
140
104
 
141
105
  ```tsx fileName="App.tsx"
@@ -156,7 +120,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
156
120
  ```
157
121
 
158
122
  </Tab>
159
- <Tab label="Vue">
123
+ <Tab label="Vue" value="vue">
160
124
  Vue에서는 마크다운 콘텐츠를 내장된 `component`를 사용하거나 직접 노드로 렌더링할 수 있습니다.
161
125
 
162
126
  ```vue fileName="App.vue"
@@ -171,7 +135,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
171
135
  ```
172
136
 
173
137
  </Tab>
174
- <Tab label="Svelte">
138
+ <Tab label="Svelte" value="svelte">
175
139
  Svelte는 기본적으로 마크다운을 HTML 문자열로 렌더링합니다. 이를 렌더링하려면 `{@html}`을 사용하세요.
176
140
 
177
141
  ```svelte
@@ -184,7 +148,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
184
148
  ```
185
149
 
186
150
  </Tab>
187
- <Tab label="Preact">
151
+ <Tab label="Preact" value="preact">
188
152
  Preact는 JSX에서 마크다운 노드를 직접 지원합니다.
189
153
 
190
154
  ```tsx fileName="App.tsx"
@@ -197,7 +161,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
197
161
  ```
198
162
 
199
163
  </Tab>
200
- <Tab label="Solid">
164
+ <Tab label="Solid" value="solid">
201
165
  Solid는 JSX에서 마크다운 노드를 직접 지원합니다.
202
166
 
203
167
  ```tsx fileName="App.tsx"
@@ -210,7 +174,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
210
174
  ```
211
175
 
212
176
  </Tab>
213
- <Tab label="Angular">
177
+ <Tab label="Angular" value="angular">
214
178
  Angular는 마크다운 콘텐츠를 렌더링하기 위해 `[innerHTML]` 디렉티브를 사용합니다.
215
179
 
216
180
  ```typescript fileName="app.component.ts"
@@ -242,7 +206,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
242
206
  원시 마크다운 문자열을 렌더링하거나 렌더링 프로세스를 더 세밀하게 제어해야 하는 경우, 다음 도구들을 사용하세요.
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
  #### `<MarkdownRenderer />` 컴포넌트
248
212
 
@@ -281,7 +245,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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
@@ -360,7 +324,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
360
324
  ```
361
325
 
362
326
  </Tab>
363
- <Tab label="Solid">
327
+ <Tab label="Solid" value="solid">
364
328
  #### `<MarkdownRenderer />` 컴포넌트
365
329
 
366
330
  ```tsx
@@ -390,7 +354,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
390
354
  ```
391
355
 
392
356
  </Tab>
393
- <Tab label="Angular">
357
+ <Tab label="Angular" value="angular">
394
358
  #### `IntlayerMarkdownService` 서비스
395
359
  서비스를 사용하여 마크다운 문자열을 렌더링합니다.
396
360
 
@@ -416,7 +380,7 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
416
380
  애플리케이션 전체에 대해 마크다운 렌더링을 전역으로 구성할 수 있습니다. 이를 통해 모든 렌더러에 동일한 프롭을 전달하는 번거로움을 피할 수 있습니다.
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 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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 @@ Intlayer v8는 콘텐츠 문자열에서 마크다운 문법을 지능적으로
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
  Intlayer v8에 오신 것을 환영합니다! 이번 릴리스는 자동 콘텐츠 감지를 통한 developer experience 향상, schema validation으로 데이터 무결성 보장, 그리고 dictionary management에 대한 더 많은 제어 제공에 중점을 둡니다.
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 @@ Svelte에서의 Markdown 및 HTML 콘텐츠는 이제 문자열화될 때 자동
1198
1207
 
1199
1208
  ### 구성 변경사항
1200
1209
 
1201
- - **`live` 속성**: 딕셔너리에서의 `live` 속성은 이상 권장되지 않습니다. 대신 `importMode: 'fetch'`를 사용하세요.
1202
- - **통합 리치 콘텐츠 API**: 새로운 `.use()` 메서드는 이제 Markdown HTML 오버라이드 모두에 사용되어 모든 리치 콘텐츠 유형에서 일관된 API를 제공합니다.
1210
+ - **`live` 속성**: 딕셔너리에서의 `live` 속성은 제거되었습니다. 대신 `importMode: 'fetch'`를 사용하세요.
1211
+ - **importMode**: 설정에서 `build.importMode` 속성은 이상 권장되지 않습니다. 대신 `dictionary.importMode`를 사용하세요.
1203
1212
  - **`contentDir` and `codeDir`**: `contentDir`는 이제 콘텐츠 파일 전용입니다. 코드 변환을 위한 새로운 `codeDir` 속성이 추가되었습니다. `codeDir`가 설정되어 있지 않으면 Intlayer는 `contentDir`로 폴백(fallback)하고 경고를 기록합니다.
1204
1213
  - **스키마 검증**: 새로운 `schema` 기능을 사용하려면 프로젝트에 `zod`가 설치되어 있는지 확인하세요.
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: Plik z Treścią
5
5
  description: Dowiedz się, jak dostosować rozszerzenia dla plików deklaracji treści. Postępuj zgodnie z tą dokumentacją, aby efektywnie wdrażać warunki w swoim projekcie.
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: Dodano typ węzła zawartości `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.
@@ -84,6 +87,7 @@ interface Content {
84
87
  quantityContent: string;
85
88
  conditionalContent: string;
86
89
  markdownContent: never;
90
+ htmlContent: never;
87
91
  externalContent: string;
88
92
  insertionContent: string;
89
93
  nestedContent: string;
@@ -128,6 +132,7 @@ export default {
128
132
  fileContent: file("./path/to/file.txt"),
129
133
  externalContent: fetch("https://example.com").then((res) => res.json()),
130
134
  markdownContent: md("# Przykład Markdown"),
135
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
131
136
 
132
137
  /*
133
138
  * Dostępne tylko przy użyciu `react-intlayer` lub `next-intlayer`
@@ -177,6 +182,7 @@ export default {
177
182
  "login.button" // [Opcjonalnie] Ścieżka do zawartości do zagnieżdżenia
178
183
  ),
179
184
  markdownContent: md("# Przykład Markdown"),
185
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
180
186
  fileContent: file("./path/to/file.txt"),
181
187
  externalContent: fetch("https://example.com").then((res) => res.json())
182
188
 
@@ -226,6 +232,7 @@ module.exports = {
226
232
  "login.button" // [Opcjonalne] Ścieżka do zawartości do zagnieżdżenia
227
233
  ),
228
234
  markdownContent: md("# Przykład Markdown"),
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": "# Przykład 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 obsługuje różne typy zawartości poprzez węzły typowane:
321
332
  - **Zawartość enumeracji**: Zawartość zmieniająca się w zależności od wartości enumerowanych [zobacz Zawartość enumeracji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/enumeration_content.md)
322
333
  - **Zawartość wstawiania**: Zawartość, którą można wstawić do innej zawartości [zobacz Zawartość wstawiania](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/insertion_content.md)
323
334
  - **Zawartość Markdown**: Zawartość tekstu sformatowanego w formacie Markdown [zobacz Zawartość Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/markdown_content.md)
335
+ - **Zawartość HTML**: Zawartość HTML z opcjonalnymi niestandardowymi komponentami [zobacz Zawartość HTML](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/html.md)
324
336
  - **Zagnieżdżona zawartość**: Odwołania do innych słowników [zobacz Zagnieżdżoną zawartość](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/nested_content.md)
325
337
  - **Zawartość zależna od płci**: Zawartość zmieniająca się w zależności od płci [zobacz Zawartość zależną od płci](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/gender_content.md)
326
338
  - **Zawartość plikowa**: Odwołania do plików zewnętrznych [zobacz Zawartość plikową](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/file_content.md)
@@ -698,6 +710,23 @@ markdownContent: md(
698
710
  );
699
711
  ```
700
712
 
713
+ ### Zawartość HTML (`html`)
714
+
715
+ Zawartość HTML, która może używać standardowych tagów lub niestandardowych komponentów:
716
+
717
+ ```typescript
718
+ import { html, file, t } from "intlayer";
719
+
720
+ // HTML w linii
721
+ htmlContent: html("<p>Hello <strong>World</strong></p>");
722
+
723
+ // HTML według lokalizacji z plików zewnętrznych
724
+ localizedHtmlContent: t({
725
+ en: html(file("./content.en.html")),
726
+ pl: html(file("./content.pl.html")),
727
+ });
728
+ ```
729
+
701
730
  ### Zawartość według płci (`gender`)
702
731
 
703
732
  Treść zmieniająca się w zależności od płci: