@mgks/docmd 0.1.4 → 0.2.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 (43) hide show
  1. package/README.md +2 -4
  2. package/assets/css/welcome.css +62 -374
  3. package/assets/images/preview-dark-1.webp +0 -0
  4. package/assets/images/preview-dark-2.webp +0 -0
  5. package/assets/images/preview-dark-3.webp +0 -0
  6. package/assets/images/preview-light-1.webp +0 -0
  7. package/assets/images/preview-light-2.webp +0 -0
  8. package/assets/images/preview-light-3.webp +0 -0
  9. package/config.js +31 -2
  10. package/docs/configuration.md +72 -3
  11. package/docs/content/containers/buttons.md +88 -0
  12. package/docs/content/containers/callouts.md +154 -0
  13. package/docs/content/containers/cards.md +93 -0
  14. package/docs/content/containers/index.md +35 -0
  15. package/docs/content/containers/nested-containers.md +329 -0
  16. package/docs/content/containers/steps.md +175 -0
  17. package/docs/content/containers/tabs.md +228 -0
  18. package/docs/content/frontmatter.md +2 -2
  19. package/docs/index.md +6 -9
  20. package/docs/plugins/seo.md +2 -0
  21. package/docs/theming/available-themes.md +17 -2
  22. package/docs/theming/light-dark-mode.md +12 -3
  23. package/package.json +9 -3
  24. package/src/assets/css/docmd-main.css +934 -573
  25. package/src/assets/css/docmd-theme-retro.css +812 -0
  26. package/src/assets/css/docmd-theme-ruby.css +26 -13
  27. package/src/assets/css/docmd-theme-sky.css +606 -605
  28. package/src/assets/js/docmd-image-lightbox.js +1 -3
  29. package/src/assets/js/docmd-main.js +97 -0
  30. package/src/commands/build.js +1 -1
  31. package/src/commands/init.js +19 -1
  32. package/src/core/file-processor.js +626 -363
  33. package/src/core/html-generator.js +20 -30
  34. package/src/plugins/seo.js +4 -0
  35. package/src/templates/layout.ejs +33 -7
  36. package/assets/images/preview-dark-1.png +0 -0
  37. package/assets/images/preview-dark-2.png +0 -0
  38. package/assets/images/preview-dark-3.png +0 -0
  39. package/assets/images/preview-light-1.png +0 -0
  40. package/assets/images/preview-light-2.png +0 -0
  41. package/assets/images/preview-light-3.png +0 -0
  42. package/docs/content/custom-containers.md +0 -129
  43. package/src/assets/js/docmd-theme-toggle.js +0 -59
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: "Container: Buttons"
3
+ description: "How to create stylish, clickable buttons within your documentation for calls to action."
4
+ ---
5
+
6
+ # Buttons
7
+
8
+ The `button` container allows you to easily create a stylish, clickable button. It's perfect for calls to action, such as linking to a download page, an external resource, or another section of your documentation.
9
+
10
+ ## Usage
11
+
12
+ The button container is a self-contained component. You provide its text, URL, and an optional color as arguments.
13
+
14
+ ::: callout info Important Notes
15
+ - Container blocks (like `::: button`) should be preceded by a blank line to ensure proper parsing by the markdown processor.
16
+ :::
17
+
18
+ **Syntax:**
19
+ ```markdown
20
+ ::: button Button_Text /path/to/link [color:#hexcode]
21
+ ::: button Button_Text external:/external-url [color:#hexcode]
22
+ ```
23
+
24
+ - **`Button_Text`**: The text to display on the button. Use underscores (`_`) for spaces.
25
+ - **`/path/to/link`**: The URL the button should link to. For internal links, use relative paths.
26
+ - **`external:/external-url`**: For external links that should open in a new tab, prefix the URL with `external:`.
27
+ - **`[color:#hexcode]`**: (Optional) A custom background color for the button. If omitted, it will use the theme's default link color.
28
+
29
+ ---
30
+
31
+ ## Examples
32
+
33
+ ### Standard Internal Button
34
+
35
+ This button will use the default theme color and link to a section on the current page.
36
+
37
+ **Code:**
38
+ ```markdown
39
+ ::: button View_Examples #examples
40
+ ```
41
+
42
+ **Rendered Preview:**
43
+ ::: button View_Examples #examples
44
+
45
+ ### External Link Button
46
+
47
+ External links open in a new tab for better user experience.
48
+
49
+ **Code:**
50
+ ```markdown
51
+ ::: button GitHub_Repository external:https://github.com/mgks/docmd
52
+ ```
53
+
54
+ **Rendered Preview:**
55
+ ::: button GitHub_Repository external:https://github.com/mgks/docmd
56
+
57
+ ### Button with Custom Color
58
+
59
+ You can easily override the color for emphasis.
60
+
61
+ **Code:**
62
+ ```markdown
63
+ ::: button Getting_Started #getting-started color:#28a745
64
+ ```
65
+
66
+ **Rendered Preview:**
67
+ ::: button Getting_Started #getting-started color:#28a745
68
+
69
+ ### Buttons Inside Other Containers
70
+
71
+ Buttons are flexible and can be placed inside other containers, like cards or callouts, to create powerful components. This nesting is now reliable.
72
+
73
+ **Code:**
74
+
75
+ ```markdown
76
+ ::: card Feature Announcement
77
+ Our latest feature is now available! Read the full documentation to learn more about how it works.
78
+ ::: button Read_More /path/to/feature/docs/
79
+ :::
80
+ ```
81
+
82
+ **Rendered Preview:**
83
+
84
+ ::: card Feature Announcement
85
+ Our latest feature is now available! Read the full documentation to learn more about how it works.
86
+
87
+ ::: button Learn_More #customization
88
+ :::
@@ -0,0 +1,154 @@
1
+ ---
2
+ title: "Container: Callouts"
3
+ description: "How to use callouts to highlight important information, warnings, tips, or notes in your documentation."
4
+ ---
5
+
6
+ # Callouts
7
+
8
+ Callouts are perfect for drawing the user's attention to a specific piece of information. They are visually distinct from the regular text and are ideal for tips, warnings, and important notes.
9
+
10
+ ## Usage
11
+
12
+ The basic syntax uses the `callout` container name, followed by the callout type.
13
+
14
+ ::: callout info
15
+ Container blocks (like `::: callout`) should be preceded by a blank line to ensure proper parsing by the markdown processor.
16
+ :::
17
+
18
+ **Syntax:**
19
+ ```markdown
20
+ ::: callout type
21
+ The main content of the callout.
22
+ :::
23
+ ```
24
+
25
+ **With Custom Title:**
26
+ ```markdown
27
+ ::: callout type Custom Title Here
28
+ The main content of the callout.
29
+ :::
30
+ ```
31
+
32
+ **Parameters:**
33
+ * `type`: The type determines the color and styling of the callout. Available types are: `info`, `tip`, `warning`, `danger`, `success`.
34
+ * `Custom Title Here` (optional): Any text following the type becomes the callout title.
35
+
36
+ ::: callout info Auto Emojis
37
+ Some themes (like Sky) automatically add emojis to callout titles: ℹ️ for info, ⚠️ for warning, 💡 for tip, 🚨 for danger, and ✅ for success.
38
+ :::
39
+
40
+ ---
41
+
42
+ ## Examples
43
+
44
+ ### Info
45
+
46
+ Use the `info` type for general notes or neutral supplementary details.
47
+
48
+ **Code:**
49
+ ```markdown
50
+ ::: callout info
51
+ This is an informational message. It's great for providing context or background information that is helpful but not critical.
52
+ :::
53
+ ```
54
+
55
+ **Rendered Preview:**
56
+ ::: callout info
57
+ This is an informational message. It's great for providing context or background information that is helpful but not critical.
58
+ :::
59
+
60
+ **With Custom Title:**
61
+ ```markdown
62
+ ::: callout info Quick Reference
63
+ This callout has a custom title that appears prominently at the top.
64
+ :::
65
+ ```
66
+
67
+ **Rendered Preview:**
68
+ ::: callout info Quick Reference
69
+ This callout has a custom title that appears prominently at the top.
70
+ :::
71
+
72
+ ### Tip
73
+
74
+ Use the `tip` type for helpful tips, best practices, or suggestions.
75
+
76
+ **Code:**
77
+ ```markdown
78
+ ::: callout tip
79
+ Here's a helpful tip to improve your workflow. Using this shortcut can save you a lot of time!
80
+ :::
81
+ ```
82
+
83
+ **Rendered Preview:**
84
+ ::: callout tip
85
+ Here's a helpful tip to improve your workflow. Using this shortcut can save you a lot of time!
86
+ :::
87
+
88
+ **With Custom Title:**
89
+ ```markdown
90
+ ::: callout tip Pro Tip
91
+ Custom titles help organize your callouts and make them more scannable for readers.
92
+ :::
93
+ ```
94
+
95
+ **Rendered Preview:**
96
+ ::: callout tip Pro Tip
97
+ Custom titles help organize your callouts and make them more scannable for readers.
98
+ :::
99
+
100
+ ### Warning
101
+
102
+ Use the `warning` type to indicate something that requires caution or might lead to unexpected results.
103
+
104
+ **Code:**
105
+ ```markdown
106
+ ::: callout warning
107
+ **Heads up!** Changing this setting can have unintended side effects. Please make sure you understand the consequences before proceeding.
108
+ :::
109
+ ```
110
+
111
+ **Rendered Preview:**
112
+ ::: callout warning
113
+ **Heads up!** Changing this setting can have unintended side effects. Please make sure you understand the consequences before proceeding.
114
+ :::
115
+
116
+ ### Danger
117
+
118
+ Use the `danger` type for critical information, destructive actions, or security warnings.
119
+
120
+ **Code:**
121
+ ```markdown
122
+ ::: callout danger
123
+ **Critical!** This action is irreversible and will result in permanent data loss. Do not proceed unless you have a backup.
124
+ :::
125
+ ```
126
+
127
+ **Rendered Preview:**
128
+ ::: callout danger
129
+ **Critical!** This action is irreversible and will result in permanent data loss. Do not proceed unless you have a backup.
130
+ :::
131
+
132
+ ## All Callout Types with Titles
133
+
134
+ Here's a quick reference showing all available callout types with custom titles:
135
+
136
+ ::: callout info Documentation Note
137
+ Use info callouts for neutral supplementary information.
138
+ :::
139
+
140
+ ::: callout tip Best Practice
141
+ Use tip callouts for helpful suggestions and best practices.
142
+ :::
143
+
144
+ ::: callout warning Important
145
+ Use warning callouts for actions that require caution.
146
+ :::
147
+
148
+ ::: callout danger Critical Alert
149
+ Use danger callouts for destructive actions or critical warnings.
150
+ :::
151
+
152
+ ::: callout success Task Complete
153
+ Use success callouts to indicate completed tasks or positive outcomes.
154
+ :::
@@ -0,0 +1,93 @@
1
+ ---
2
+ title: "Container: Cards"
3
+ description: "How to use cards to group related content into visually distinct blocks with an optional title."
4
+ ---
5
+
6
+ # Cards
7
+
8
+ Cards provide a visually distinct block for grouping related content. They are a versatile component that can be used for feature overviews, summaries, or linking to other sections.
9
+
10
+ ## Usage
11
+
12
+ The `card` container can be used with or without a title.
13
+
14
+ ::: callout info
15
+ Container blocks (like `::: card`) should be preceded by a blank line to ensure proper parsing by the markdown processor.
16
+ :::
17
+
18
+ **Syntax:**
19
+ ```markdown
20
+ ::: card Optional Card Title
21
+ The main body content of the card.
22
+ Supports **Markdown** formatting.
23
+ :::
24
+ ```
25
+ - `Optional Card Title`: If you provide text after `card`, it becomes the title of the card.
26
+
27
+ ---
28
+
29
+ ## Examples
30
+
31
+ ### Card with a Title
32
+
33
+ This is the most common use case, where the card has a clear heading.
34
+
35
+ **Code:**
36
+ ```markdown
37
+ ::: card My Feature Overview
38
+ This card describes an amazing feature.
39
+ * It's easy to use.
40
+ * It solves a common problem.
41
+
42
+ Learn more by reading the full guide.
43
+ :::
44
+ ```
45
+
46
+ **Rendered Preview:**
47
+ ::: card My Feature Overview
48
+ This card describes an amazing feature.
49
+ * It's easy to use.
50
+ * It solves a common problem.
51
+
52
+ Learn more by reading the full guide.
53
+ :::
54
+
55
+ ### Card without a Title
56
+
57
+ If you omit the title, the content starts directly. This is ideal for small, self-contained snippets or quotes.
58
+
59
+ **Code:**
60
+ ```markdown
61
+ ::: card
62
+ This is a card without an explicit title. The content starts directly, which is great for simple, focused information.
63
+ :::
64
+ ```
65
+
66
+ **Rendered Preview:**
67
+ ::: card
68
+ This is a card without an explicit title. The content starts directly, which is great for simple, focused information.
69
+ :::
70
+
71
+ ### Nesting Content in Cards
72
+
73
+ Cards are great for composition. You can easily place other elements, like buttons, inside a card to create a call to action.
74
+
75
+ **Code:**
76
+ ```markdown
77
+ ::: card Download the App
78
+ Get the latest version for your platform and start building today.
79
+
80
+ ::: button Learn_More #customization
81
+ ::: button View_GitHub external:https://github.com/mgks/docmd color:#5865f2
82
+ :::
83
+ ```
84
+
85
+ **Rendered Preview:**
86
+
87
+ ::: card Download the App
88
+ Get the latest version for your platform and start building today.
89
+
90
+ ::: button Learn_More #customization
91
+ ::: button View_GitHub external:https://github.com/mgks/docmd color:#5865f2
92
+
93
+ :::
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: "Custom Containers"
3
+ description: "Enhance your documentation with special components like callouts, cards, steps, and tabs using docmd's custom container syntax."
4
+ ---
5
+
6
+ `docmd` provides a simple syntax for adding richer, pre-styled components to your Markdown content. These are powered by the `markdown-it-container` plugin.
7
+
8
+ The general syntax for simple containers like `callout` and `card` is:
9
+
10
+ ```markdown
11
+ ::: containerName [optionalTitleOrType]
12
+ Content for the container goes here.
13
+ :::
14
+ ```
15
+
16
+ For more complex components like `steps` and `tabs`, we use a more robust and intuitive syntax that relies on standard Markdown, preventing common nesting issues.
17
+
18
+ ## Advanced Nested Container System
19
+
20
+ With docmd v0.2.0, all containers support **seamless nesting** - you can nest any container within any other container to create complex, interactive documentation layouts.
21
+
22
+ **New in v0.2.0:** [Learn about nested containers →](./nested-containers)
23
+
24
+ ## Available Containers
25
+
26
+ Select a container type from the list below or from the sidebar to see detailed usage instructions and examples.
27
+
28
+ - [**Callouts**](./callouts/) - For highlighting important information like notes, tips, and warnings.
29
+ - [**Cards**](./cards/) - For grouping related content into visually distinct blocks.
30
+ - [**Steps**](./steps/) - For presenting a sequence of instructions in a numbered format.
31
+ - [**Tabs**](./tabs/) - For organizing content in a switchable, tabbed interface.
32
+ - [**Buttons**](./buttons/) - For creating stylish, clickable calls to action.
33
+ - [**Nested Containers**](./nested-containers/) - For creating complex, interactive layouts with container nesting.
34
+
35
+ These custom containers allow you to create more engaging and structured documentation without needing to write custom HTML or CSS.
@@ -0,0 +1,329 @@
1
+ ---
2
+ title: "Nested Containers"
3
+ description: "Learn how to use the advanced nested container system to create complex, interactive documentation layouts with seamless container nesting."
4
+ ---
5
+
6
+ # Nested Containers
7
+
8
+ The advanced nested container system in docmd allows you to create complex, interactive documentation layouts by nesting containers within each other. This powerful feature enables you to build rich, structured content that was previously impossible.
9
+
10
+ ## Overview
11
+
12
+ With docmd v0.2.0, you can nest containers seamlessly:
13
+
14
+ - **Cards within Tabs** - Organize content into structured sections within tabs
15
+ - **Callouts within Cards** - Add informational content within structured cards
16
+ - **Buttons within Any Container** - Place action buttons in any context
17
+ - **Multiple Levels of Nesting** - Support for complex nested structures up to 7+ levels
18
+ - **Steps for Simple Sequences** - Use steps containers for straightforward, sequential instructions
19
+
20
+ ## Container Nesting Rules
21
+
22
+ ### Supported Nesting Combinations
23
+
24
+ | Container | Can Nest Inside | Can Contain |
25
+ |-----------|----------------|-------------|
26
+ | **Callouts** | Any container | Any container |
27
+ | **Cards** | Any container | Any container |
28
+ | **Buttons** | Any container | None (self-closing) |
29
+ | **Steps** | Any container (except tabs) | Any container (except tabs) |
30
+ | **Tabs** | Any container (except steps) | Any container (except tabs, steps) |
31
+
32
+ ### Nesting Best Practices
33
+
34
+ 1. **Logical Structure** - Nest containers in a way that makes logical sense
35
+ 2. **Readability** - Don't nest too deeply (3-4 levels maximum for readability)
36
+ 3. **Performance** - Complex nesting is supported but keep it reasonable
37
+ 4. **Content Organization** - Use nesting to organize related content
38
+ 5. **Use the Right Tool** - Use steps for simple sequences, cards/tabs for complex content
39
+
40
+ ### Nesting Limitations
41
+
42
+ ::: callout error Known Issues
43
+ **Steps ↔ Tabs Incompatibility:** Steps and tabs containers cannot be nested within each other due to parsing complexity. Use them as separate sections instead.
44
+ :::
45
+
46
+ - **Tabs cannot contain tabs** - This prevents infinite recursion
47
+ - **Tabs cannot contain steps** - Due to parsing conflicts with markdown processing
48
+ - **Steps cannot contain tabs** - Due to parsing complexity
49
+ - **Steps cannot be inside tabs** - Due to container recognition issues
50
+ - **Maximum depth** - While technically unlimited, keep it under 7 levels for readability
51
+ - **Performance** - Very deep nesting may impact rendering performance
52
+
53
+ ## Basic Nesting Examples
54
+
55
+ ### Cards with Nested Content
56
+
57
+ ```bash
58
+ ::: card Installation Guide
59
+
60
+ Here's how to install the application:
61
+
62
+ ::: callout tip Pro Tip
63
+ Make sure to download the correct version for your platform.
64
+ :::
65
+
66
+ ::: button Download_Now /downloads
67
+
68
+ :::
69
+ ```
70
+
71
+ ::: card Installation Guide
72
+
73
+ Here's how to install the application:
74
+
75
+ ::: callout tip Pro Tip
76
+ Make sure to download the correct version for your platform.
77
+ :::
78
+
79
+ ::: button Download_Now /downloads
80
+
81
+ :::
82
+
83
+ ### Tabs with Nested Content
84
+
85
+ ```bash
86
+ ::: tabs
87
+
88
+ == tab "Windows"
89
+ Download the Windows installer (.exe) file.
90
+
91
+ ::: callout tip
92
+ Make sure to run as administrator for best results.
93
+ :::
94
+
95
+ ::: button Download_Windows /downloads/windows
96
+
97
+ == tab "macOS"
98
+ Download the macOS package (.pkg) file.
99
+
100
+ ::: callout warning
101
+ You may need to allow the app in Security & Privacy settings.
102
+ :::
103
+
104
+ ::: button Download_macOS /downloads/macos
105
+
106
+ == tab "Linux"
107
+ Download the Linux tarball (.tar.gz) file.
108
+
109
+ ::: button Download_Linux /downloads/linux
110
+
111
+ :::
112
+ ```
113
+
114
+ ::: tabs
115
+
116
+ == tab "Windows"
117
+ Download the Windows installer (.exe) file.
118
+
119
+ ::: callout tip
120
+ Make sure to run as administrator for best results.
121
+ :::
122
+
123
+ ::: button Download_Windows /downloads/windows
124
+
125
+ == tab "macOS"
126
+ Download the macOS package (.pkg) file.
127
+
128
+ ::: callout warning
129
+ You may need to allow the app in Security & Privacy settings.
130
+ :::
131
+
132
+ ::: button Download_macOS /downloads/macos
133
+
134
+ == tab "Linux"
135
+ Download the Linux tarball (.tar.gz) file.
136
+
137
+ ::: button Download_Linux /downloads/linux
138
+
139
+ :::
140
+
141
+ ## Advanced Nesting Patterns
142
+
143
+ ### Complex Nested Structure
144
+
145
+ ````bash
146
+ ::: card Installation Guide
147
+
148
+ **Download**
149
+ Get the latest version for your platform.
150
+
151
+ ::: button Download_Now /downloads
152
+
153
+ **Install**
154
+ Run the installer and follow the prompts.
155
+
156
+ ```bash
157
+ install docmd
158
+ ```
159
+
160
+ **Configure**
161
+ Set up your preferences.
162
+
163
+ ::: callout warning Important
164
+ Don't forget to configure your settings!
165
+ :::
166
+
167
+ :::
168
+ ````
169
+
170
+ ::: card Installation Guide
171
+
172
+ **Download**
173
+ Get the latest version for your platform.
174
+
175
+ ::: button Download_Now /downloads
176
+
177
+ **Install**
178
+ Run the installer and follow the prompts.
179
+
180
+ ```bash
181
+ install docmd
182
+ ```
183
+
184
+ **Configure**
185
+ Set up your preferences.
186
+
187
+ ::: callout warning Important
188
+ Don't forget to configure your settings!
189
+ :::
190
+
191
+ :::
192
+
193
+ ### Cards with Multiple Nested Elements
194
+
195
+ ```markdown
196
+ ::: card API Reference
197
+
198
+ ::: callout info API Key Required
199
+ All API requests require a valid API key.
200
+ :::
201
+
202
+ **Setup Steps**
203
+
204
+ 1. Get your API key from the dashboard
205
+ 2. Include it in your request headers
206
+ 3. Test your connection
207
+
208
+ ::: button Test_API /api/test
209
+
210
+ :::
211
+ ```
212
+
213
+ ::: card API Reference
214
+
215
+ ::: callout info API Key Required
216
+ All API requests require a valid API key.
217
+ :::
218
+
219
+ **Setup Steps**
220
+
221
+ 1. Get your API key from the dashboard
222
+ 2. Include it in your request headers
223
+ 3. Test your connection
224
+
225
+ ::: button Test_API /api/test
226
+
227
+ :::
228
+
229
+ ## Steps Container
230
+
231
+ Steps containers are designed for simple, sequential instructions and work well with other containers:
232
+
233
+ ```bash
234
+ ::: steps
235
+
236
+ 1. **Download the Application**
237
+ Get the latest version from our download page.
238
+
239
+ ::: button Download_Now /downloads
240
+
241
+ 2. **Install the Application**
242
+ Run the installer and follow the setup wizard.
243
+
244
+ ::: callout tip Pro Tip
245
+ Check our system requirements page for detailed information.
246
+ :::
247
+
248
+ 3. **Configure Settings**
249
+ Set up your preferences and start using the app.
250
+
251
+ ::: card Configuration
252
+ - Choose your theme
253
+ - Set up notifications
254
+ - Configure integrations
255
+ :::
256
+
257
+ :::
258
+ ```
259
+
260
+ ::: steps
261
+
262
+ 1. **Download the Application**
263
+ Get the latest version from our download page.
264
+
265
+ ::: button Download_Now /downloads
266
+
267
+ 2. **Install the Application**
268
+ Run the installer and follow the setup wizard.
269
+
270
+ ::: callout tip Pro Tip
271
+ Check our system requirements page for detailed information.
272
+ :::
273
+
274
+ 3. **Configure Settings**
275
+ Set up your preferences and start using the app.
276
+
277
+ ::: card Configuration
278
+ - Choose your theme
279
+ - Set up notifications
280
+ - Configure integrations
281
+ :::
282
+
283
+ :::
284
+
285
+ ## Troubleshooting
286
+
287
+ ### Common Issues
288
+
289
+ 1. **Container not rendering** - Ensure proper spacing and syntax
290
+ 2. **Nested content not showing** - Check for proper closing tags
291
+ 3. **Performance issues** - Reduce nesting depth if experiencing slowdowns
292
+
293
+ ### Debugging Tips
294
+
295
+ - **Check syntax** - Ensure all containers have proper opening and closing tags
296
+ - **Verify nesting** - Make sure containers are properly nested
297
+ - **Test incrementally** - Build complex structures step by step
298
+ - **Use browser dev tools** - Inspect the generated HTML for issues
299
+ - **Use the right container** - Steps for simple sequences, cards/tabs for complex content
300
+
301
+ ## Migration from v0.1.x
302
+
303
+ ### Breaking Changes
304
+
305
+ - **Container parsing** - The internal parsing system has been optimized for reliability
306
+ - **Nesting behavior** - Most containers support seamless nesting
307
+
308
+ ### What's New
309
+
310
+ - **Enhanced nesting** - Cards, tabs, callouts, and buttons support seamless nesting
311
+ - **Better performance** - Improved parsing performance for complex structures
312
+ - **Clear limitations** - Well-defined boundaries for what each container can do
313
+
314
+ ### Backward Compatibility
315
+
316
+ - **Existing syntax** - All existing container syntax remains the same
317
+ - **Enhanced functionality** - New nesting capabilities are additive for supported containers
318
+
319
+ ## Future Container Types
320
+
321
+ The nested container system is designed to be easily extensible. Future container types that could be added include:
322
+
323
+ - **Timeline containers** - For chronological content
324
+ - **Changelog containers** - For version history
325
+ - **FAQ containers** - For question-answer content
326
+ - **Gallery containers** - For image collections
327
+ - **Code playground containers** - For interactive code examples
328
+
329
+ The architecture supports adding new containers by simply defining them in the containers object and implementing their render functions.