@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.
- package/README.md +2 -4
- package/assets/css/welcome.css +62 -374
- package/assets/images/preview-dark-1.webp +0 -0
- package/assets/images/preview-dark-2.webp +0 -0
- package/assets/images/preview-dark-3.webp +0 -0
- package/assets/images/preview-light-1.webp +0 -0
- package/assets/images/preview-light-2.webp +0 -0
- package/assets/images/preview-light-3.webp +0 -0
- package/config.js +31 -2
- package/docs/configuration.md +72 -3
- package/docs/content/containers/buttons.md +88 -0
- package/docs/content/containers/callouts.md +154 -0
- package/docs/content/containers/cards.md +93 -0
- package/docs/content/containers/index.md +35 -0
- package/docs/content/containers/nested-containers.md +329 -0
- package/docs/content/containers/steps.md +175 -0
- package/docs/content/containers/tabs.md +228 -0
- package/docs/content/frontmatter.md +2 -2
- package/docs/index.md +6 -9
- package/docs/plugins/seo.md +2 -0
- package/docs/theming/available-themes.md +17 -2
- package/docs/theming/light-dark-mode.md +12 -3
- package/package.json +9 -3
- package/src/assets/css/docmd-main.css +934 -573
- package/src/assets/css/docmd-theme-retro.css +812 -0
- package/src/assets/css/docmd-theme-ruby.css +26 -13
- package/src/assets/css/docmd-theme-sky.css +606 -605
- package/src/assets/js/docmd-image-lightbox.js +1 -3
- package/src/assets/js/docmd-main.js +97 -0
- package/src/commands/build.js +1 -1
- package/src/commands/init.js +19 -1
- package/src/core/file-processor.js +626 -363
- package/src/core/html-generator.js +20 -30
- package/src/plugins/seo.js +4 -0
- package/src/templates/layout.ejs +33 -7
- package/assets/images/preview-dark-1.png +0 -0
- package/assets/images/preview-dark-2.png +0 -0
- package/assets/images/preview-dark-3.png +0 -0
- package/assets/images/preview-light-1.png +0 -0
- package/assets/images/preview-light-2.png +0 -0
- package/assets/images/preview-light-3.png +0 -0
- package/docs/content/custom-containers.md +0 -129
- 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.
|