@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,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Steps Container"
|
|
3
|
+
description: "Create step-by-step instructions and tutorials with the steps container."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Steps Container
|
|
7
|
+
|
|
8
|
+
The steps container allows you to create clear, sequential instructions and tutorials. It automatically numbers your steps and provides a clean, organized layout.
|
|
9
|
+
|
|
10
|
+
## Basic Usage
|
|
11
|
+
|
|
12
|
+
**Code:**
|
|
13
|
+
|
|
14
|
+
```markdown
|
|
15
|
+
::: steps
|
|
16
|
+
|
|
17
|
+
1. **Create a new project**
|
|
18
|
+
Initialize your project with the necessary configuration files.
|
|
19
|
+
|
|
20
|
+
2. **Install dependencies**
|
|
21
|
+
Run the package manager to install required libraries.
|
|
22
|
+
|
|
23
|
+
3. **Start development**
|
|
24
|
+
Begin coding your application with the setup complete.
|
|
25
|
+
|
|
26
|
+
::: button Learn_More #customization color:green
|
|
27
|
+
|
|
28
|
+
:::
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Rendered Preview:**
|
|
32
|
+
|
|
33
|
+
::: steps
|
|
34
|
+
|
|
35
|
+
1. **Create a new project**
|
|
36
|
+
Initialize your project with the necessary configuration files.
|
|
37
|
+
|
|
38
|
+
2. **Install dependencies**
|
|
39
|
+
Run the package manager to install required libraries.
|
|
40
|
+
|
|
41
|
+
3. **Start development**
|
|
42
|
+
Begin coding your application with the setup complete.
|
|
43
|
+
|
|
44
|
+
::: button Learn_More #customization color:green
|
|
45
|
+
|
|
46
|
+
:::
|
|
47
|
+
|
|
48
|
+
## Steps with Nested Containers
|
|
49
|
+
|
|
50
|
+
You can include cards, callouts, and buttons inside steps for richer content:
|
|
51
|
+
|
|
52
|
+
**Code:**
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
::: steps
|
|
56
|
+
|
|
57
|
+
1. **Plan Your Project**
|
|
58
|
+
Define the scope and requirements for your application.
|
|
59
|
+
|
|
60
|
+
::: callout info Planning Tip
|
|
61
|
+
Consider creating user stories to better understand your requirements.
|
|
62
|
+
:::
|
|
63
|
+
|
|
64
|
+
2. **Setup Development Environment**
|
|
65
|
+
Configure your local development tools and workspace.
|
|
66
|
+
|
|
67
|
+
::: card Environment Checklist
|
|
68
|
+
- Install code editor (VS Code recommended)
|
|
69
|
+
- Setup version control (Git)
|
|
70
|
+
- Install Node.js and npm
|
|
71
|
+
- Configure linting and formatting tools
|
|
72
|
+
:::
|
|
73
|
+
|
|
74
|
+
3. **Initialize Project**
|
|
75
|
+
Create the project structure and configuration files.
|
|
76
|
+
|
|
77
|
+
::: button Create_Project external:https://github.com/new color:blue
|
|
78
|
+
|
|
79
|
+
4. **Start Coding**
|
|
80
|
+
Begin implementing your application features.
|
|
81
|
+
|
|
82
|
+
::: callout success Ready to Code
|
|
83
|
+
Your development environment is now ready! Happy coding!
|
|
84
|
+
:::
|
|
85
|
+
|
|
86
|
+
:::
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Rendered Preview:**
|
|
90
|
+
|
|
91
|
+
::: steps
|
|
92
|
+
|
|
93
|
+
1. **Plan Your Project**
|
|
94
|
+
Define the scope and requirements for your application.
|
|
95
|
+
|
|
96
|
+
::: callout info Planning Tip
|
|
97
|
+
Consider creating user stories to better understand your requirements.
|
|
98
|
+
:::
|
|
99
|
+
|
|
100
|
+
2. **Setup Development Environment**
|
|
101
|
+
Configure your local development tools and workspace.
|
|
102
|
+
|
|
103
|
+
::: card Environment Checklist
|
|
104
|
+
- Install code editor (VS Code recommended)
|
|
105
|
+
- Setup version control (Git)
|
|
106
|
+
- Install Node.js and npm
|
|
107
|
+
- Configure linting and formatting tools
|
|
108
|
+
:::
|
|
109
|
+
|
|
110
|
+
3. **Initialize Project**
|
|
111
|
+
Create the project structure and configuration files.
|
|
112
|
+
|
|
113
|
+
::: button Create_Project external:https://github.com/new color:blue
|
|
114
|
+
|
|
115
|
+
4. **Start Coding**
|
|
116
|
+
Begin implementing your application features.
|
|
117
|
+
|
|
118
|
+
::: callout success Ready to Code
|
|
119
|
+
Your development environment is now ready! Happy coding!
|
|
120
|
+
:::
|
|
121
|
+
|
|
122
|
+
:::
|
|
123
|
+
|
|
124
|
+
## Steps and Tabs Compatibility
|
|
125
|
+
|
|
126
|
+
::: callout error Important Limitation
|
|
127
|
+
**Steps and tabs containers are incompatible** - they cannot be nested within each other due to markdown parsing conflicts. Use them as separate sections instead.
|
|
128
|
+
|
|
129
|
+
**Supported in steps:** Cards, callouts, buttons
|
|
130
|
+
**Not supported:** Tabs containers
|
|
131
|
+
:::
|
|
132
|
+
|
|
133
|
+
**Code:**
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
## Installation Steps
|
|
137
|
+
|
|
138
|
+
::: steps
|
|
139
|
+
|
|
140
|
+
1. **Choose Your Platform**
|
|
141
|
+
Select the appropriate installation method for your operating system.
|
|
142
|
+
|
|
143
|
+
2. **Download the Installer**
|
|
144
|
+
Get the latest version from the downloads section.
|
|
145
|
+
|
|
146
|
+
3. **Run Installation**
|
|
147
|
+
Follow the setup wizard to complete installation.
|
|
148
|
+
|
|
149
|
+
:::
|
|
150
|
+
|
|
151
|
+
## Platform-Specific Instructions
|
|
152
|
+
|
|
153
|
+
::: tabs
|
|
154
|
+
== tab "Windows"
|
|
155
|
+
Download the `.exe` installer and run as administrator.
|
|
156
|
+
|
|
157
|
+
::: button Learn_More #customization
|
|
158
|
+
|
|
159
|
+
== tab "macOS"
|
|
160
|
+
Download the `.dmg` file and drag to Applications folder.
|
|
161
|
+
|
|
162
|
+
::: button Learn_More #customization
|
|
163
|
+
|
|
164
|
+
:::
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Customization
|
|
168
|
+
|
|
169
|
+
Steps containers automatically apply consistent styling and numbering. The container handles:
|
|
170
|
+
|
|
171
|
+
- **Automatic numbering** - Steps are numbered sequentially
|
|
172
|
+
- **Consistent spacing** - Proper spacing between steps
|
|
173
|
+
- **Responsive design** - Works on all screen sizes
|
|
174
|
+
- **Theme integration** - Matches your site's theme
|
|
175
|
+
- **Smart list handling** - Only step items get special styling, nested lists remain normal
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Tabs Container"
|
|
3
|
+
description: "Create tabbed content sections with the tabs container for organizing related information."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tabs Container
|
|
7
|
+
|
|
8
|
+
The tabs container allows you to organize content into multiple tabbed sections, making it easy to present related information in a clean, organized way.
|
|
9
|
+
|
|
10
|
+
## Basic Usage
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
::: tabs
|
|
14
|
+
|
|
15
|
+
== tab "First Tab"
|
|
16
|
+
Content for the first tab goes here.
|
|
17
|
+
|
|
18
|
+
== tab "Second Tab"
|
|
19
|
+
Content for the second tab goes here.
|
|
20
|
+
|
|
21
|
+
== tab "Third Tab"
|
|
22
|
+
Content for the third tab goes here.
|
|
23
|
+
|
|
24
|
+
:::
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
::: tabs
|
|
28
|
+
|
|
29
|
+
== tab "First Tab"
|
|
30
|
+
Content for the first tab goes here.
|
|
31
|
+
|
|
32
|
+
== tab "Second Tab"
|
|
33
|
+
Content for the second tab goes here.
|
|
34
|
+
|
|
35
|
+
== tab "Third Tab"
|
|
36
|
+
Content for the third tab goes here.
|
|
37
|
+
|
|
38
|
+
:::
|
|
39
|
+
|
|
40
|
+
## Tabs with Nested Content
|
|
41
|
+
|
|
42
|
+
### Tabs with Buttons
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
::: tabs
|
|
46
|
+
|
|
47
|
+
== tab "Download"
|
|
48
|
+
Get the latest version of our application.
|
|
49
|
+
|
|
50
|
+
::: button Download_Here external:https://github.com/mgks/docmd/releases
|
|
51
|
+
::: button Learn_More #advanced-tabs
|
|
52
|
+
::: button NPM_Package external:https://www.npmjs.com/package/@mgks/docmd
|
|
53
|
+
|
|
54
|
+
== tab "Documentation"
|
|
55
|
+
Read our comprehensive documentation.
|
|
56
|
+
|
|
57
|
+
::: button View_Getting_Started #basic-usage
|
|
58
|
+
::: button API_Reference external:https://github.com/mgks/docmd/wiki
|
|
59
|
+
::: button View_Examples #advanced-tabs
|
|
60
|
+
|
|
61
|
+
:::
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
::: tabs
|
|
65
|
+
|
|
66
|
+
== tab "Download"
|
|
67
|
+
Get the latest version of our application.
|
|
68
|
+
|
|
69
|
+
::: button Download_Here external:https://github.com/mgks/docmd/releases
|
|
70
|
+
::: button Learn_More #advanced-tabs
|
|
71
|
+
::: button NPM_Package external:https://www.npmjs.com/package/@mgks/docmd
|
|
72
|
+
|
|
73
|
+
== tab "Documentation"
|
|
74
|
+
Read our comprehensive documentation.
|
|
75
|
+
|
|
76
|
+
::: button View_Getting_Started #basic-usage
|
|
77
|
+
::: button API_Reference external:https://github.com/mgks/docmd/wiki
|
|
78
|
+
::: button View_Examples #advanced-tabs
|
|
79
|
+
|
|
80
|
+
:::
|
|
81
|
+
|
|
82
|
+
### Tabs with Callouts
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
::: tabs
|
|
86
|
+
|
|
87
|
+
== tab "Getting Started"
|
|
88
|
+
Welcome to our platform!
|
|
89
|
+
|
|
90
|
+
::: callout info Welcome
|
|
91
|
+
This is your first time here. Let's get you started!
|
|
92
|
+
:::
|
|
93
|
+
|
|
94
|
+
::: callout tip Pro Tip
|
|
95
|
+
Check out our quick start guide for the fastest setup.
|
|
96
|
+
:::
|
|
97
|
+
|
|
98
|
+
== tab "Advanced Features"
|
|
99
|
+
Explore advanced functionality.
|
|
100
|
+
|
|
101
|
+
::: callout warning Important
|
|
102
|
+
Some features require additional configuration.
|
|
103
|
+
:::
|
|
104
|
+
|
|
105
|
+
::: callout success Ready
|
|
106
|
+
You're all set to explore advanced features!
|
|
107
|
+
:::
|
|
108
|
+
|
|
109
|
+
:::
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
::: tabs
|
|
113
|
+
|
|
114
|
+
== tab "Getting Started"
|
|
115
|
+
Welcome to our platform!
|
|
116
|
+
|
|
117
|
+
::: callout info Welcome
|
|
118
|
+
This is your first time here. Let's get you started!
|
|
119
|
+
:::
|
|
120
|
+
|
|
121
|
+
::: callout tip Pro Tip
|
|
122
|
+
Check out our quick start guide for the fastest setup.
|
|
123
|
+
:::
|
|
124
|
+
|
|
125
|
+
== tab "Advanced Features"
|
|
126
|
+
Explore advanced functionality.
|
|
127
|
+
|
|
128
|
+
::: callout warning Important
|
|
129
|
+
Some features require additional configuration.
|
|
130
|
+
:::
|
|
131
|
+
|
|
132
|
+
::: callout success Ready
|
|
133
|
+
You're all set to explore advanced features!
|
|
134
|
+
:::
|
|
135
|
+
|
|
136
|
+
:::
|
|
137
|
+
|
|
138
|
+
## Complex Nested Structure
|
|
139
|
+
|
|
140
|
+
````bash
|
|
141
|
+
::: tabs
|
|
142
|
+
|
|
143
|
+
== tab "Nested Card Example"
|
|
144
|
+
::: card Installation Guide
|
|
145
|
+
|
|
146
|
+
**Download**
|
|
147
|
+
Get the latest version for your platform.
|
|
148
|
+
|
|
149
|
+
::: button Get_Latest external:https://github.com/mgks/docmd/releases
|
|
150
|
+
|
|
151
|
+
**Install**
|
|
152
|
+
Run the installer and follow the prompts.
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
install docmd
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
:::
|
|
159
|
+
|
|
160
|
+
== tab "Callout Example"
|
|
161
|
+
|
|
162
|
+
**Configure**
|
|
163
|
+
Set up your preferences.
|
|
164
|
+
|
|
165
|
+
::: callout warning Configuration
|
|
166
|
+
Don't forget to configure your settings!
|
|
167
|
+
:::
|
|
168
|
+
|
|
169
|
+
:::
|
|
170
|
+
````
|
|
171
|
+
|
|
172
|
+
::: tabs
|
|
173
|
+
|
|
174
|
+
== tab "Nested Card Example"
|
|
175
|
+
::: card Installation Guide
|
|
176
|
+
|
|
177
|
+
**Download**
|
|
178
|
+
Get the latest version for your platform.
|
|
179
|
+
|
|
180
|
+
::: button Get_Latest external:https://github.com/mgks/docmd/releases
|
|
181
|
+
|
|
182
|
+
**Install**
|
|
183
|
+
Run the installer and follow the prompts.
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
install docmd
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
:::
|
|
190
|
+
|
|
191
|
+
== tab "Callout Example"
|
|
192
|
+
|
|
193
|
+
**Configure**
|
|
194
|
+
Set up your preferences.
|
|
195
|
+
|
|
196
|
+
::: callout warning Configuration
|
|
197
|
+
Don't forget to configure your settings!
|
|
198
|
+
:::
|
|
199
|
+
|
|
200
|
+
:::
|
|
201
|
+
|
|
202
|
+
## Customization
|
|
203
|
+
|
|
204
|
+
Tabs containers automatically handle:
|
|
205
|
+
|
|
206
|
+
- **Responsive design** - Works on all screen sizes
|
|
207
|
+
- **Theme integration** - Matches your site's theme
|
|
208
|
+
- **Accessibility** - Proper ARIA labels and keyboard navigation
|
|
209
|
+
- **Smooth transitions** - Elegant tab switching animations
|
|
210
|
+
|
|
211
|
+
## Best Practices
|
|
212
|
+
|
|
213
|
+
1. **Clear Labels** - Use descriptive tab names
|
|
214
|
+
2. **Consistent Content** - Keep similar content types in each tab
|
|
215
|
+
3. **Logical Order** - Arrange tabs in a logical sequence
|
|
216
|
+
4. **Not Too Many** - Limit to 5-7 tabs for best usability
|
|
217
|
+
5. **Mobile Friendly** - Consider mobile users when organizing content
|
|
218
|
+
|
|
219
|
+
## Nesting Limitations
|
|
220
|
+
|
|
221
|
+
::: callout error Important Limitation
|
|
222
|
+
**Steps containers cannot be used inside tabs** due to parsing conflicts. If you need step-by-step instructions within tabs, use regular numbered lists or consider restructuring your content.
|
|
223
|
+
:::
|
|
224
|
+
|
|
225
|
+
- **Tabs cannot contain tabs** - This prevents infinite recursion
|
|
226
|
+
- **Steps inside tabs not supported** - Use regular ordered lists instead
|
|
227
|
+
- **Maximum depth** - While technically unlimited, keep it under 7 levels for readability
|
|
228
|
+
- **Performance** - Very deep nesting may impact rendering performance
|
|
@@ -50,6 +50,7 @@ Examples of custom fields you *might* add (these are not built-in features):
|
|
|
50
50
|
* `order`: 2 (For custom sorting of pages within a section, if you implement logic for it)
|
|
51
51
|
* `draft`: true (To mark a page as a draft, if you implement logic to exclude drafts from builds)
|
|
52
52
|
* `tags`: ["tag1", "tag2"]
|
|
53
|
+
* `permalink`: "https://example.com/your-canonical-url/" (Sets the canonical URL for SEO purposes)
|
|
53
54
|
|
|
54
55
|
## Example Usage
|
|
55
56
|
|
|
@@ -72,5 +73,4 @@ In this example:
|
|
|
72
73
|
* The `<meta name="description">` will be set.
|
|
73
74
|
* The `order: 1` field is available if you later want to sort "guides" pages by this value.
|
|
74
75
|
|
|
75
|
-
Using frontmatter consistently ensures your pages are well-defined, SEO-friendly, and integrate smoothly with `docmd`'s navigation and theming systems.
|
|
76
|
-
```
|
|
76
|
+
Using frontmatter consistently ensures your pages are well-defined, SEO-friendly, and integrate smoothly with `docmd`'s navigation and theming systems.
|
package/docs/index.md
CHANGED
|
@@ -10,9 +10,6 @@ components:
|
|
|
10
10
|
scripts: false
|
|
11
11
|
customHead: |
|
|
12
12
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
13
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
14
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
15
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=PT+Mono:wght@700&display=swap" rel="stylesheet">
|
|
16
13
|
<link rel="stylesheet" href="/assets/css/welcome.css">
|
|
17
14
|
<script>
|
|
18
15
|
// Initialize theme from localStorage or system preference
|
|
@@ -124,16 +121,16 @@ customHead: |
|
|
|
124
121
|
<div class="preview-side">
|
|
125
122
|
<div class="preview-stack">
|
|
126
123
|
<div class="preview-image top">
|
|
127
|
-
<img src="/assets/images/preview-light-1.
|
|
128
|
-
<img src="/assets/images/preview-dark-1.
|
|
124
|
+
<img src="/assets/images/preview-light-1.webp" alt="docmd documentation preview" class="light-img" loading="lazy">
|
|
125
|
+
<img src="/assets/images/preview-dark-1.webp" alt="docmd documentation preview" class="dark-img" loading="lazy">
|
|
129
126
|
</div>
|
|
130
127
|
<div class="preview-image middle">
|
|
131
|
-
<img src="/assets/images/preview-light-2.
|
|
132
|
-
<img src="/assets/images/preview-dark-2.
|
|
128
|
+
<img src="/assets/images/preview-light-2.webp" alt="docmd documentation preview" class="light-img" loading="lazy">
|
|
129
|
+
<img src="/assets/images/preview-dark-2.webp" alt="docmd documentation preview" class="dark-img" loading="lazy">
|
|
133
130
|
</div>
|
|
134
131
|
<div class="preview-image bottom">
|
|
135
|
-
<img src="/assets/images/preview-light-3.
|
|
136
|
-
<img src="/assets/images/preview-dark-3.
|
|
132
|
+
<img src="/assets/images/preview-light-3.webp" alt="docmd documentation preview" class="light-img" loading="lazy">
|
|
133
|
+
<img src="/assets/images/preview-dark-3.webp" alt="docmd documentation preview" class="dark-img" loading="lazy">
|
|
137
134
|
</div>
|
|
138
135
|
</div>
|
|
139
136
|
</div>
|
package/docs/plugins/seo.md
CHANGED
|
@@ -62,6 +62,7 @@ image: "/assets/images/widgets/super-widget-social.jpg" # Used for og:image and
|
|
|
62
62
|
ogType: "article" # Specify Open Graph type, e.g., article, website
|
|
63
63
|
twitterCreator: "@widgetMaster"
|
|
64
64
|
keywords: "widget, configuration, advanced, performance, security" # Optional, some argue keywords meta tag is less relevant now
|
|
65
|
+
permalink: "https://example.com/docs/widgets/advanced-configuration" # Canonical URL
|
|
65
66
|
---
|
|
66
67
|
|
|
67
68
|
# Advanced Widget Configuration
|
|
@@ -75,5 +76,6 @@ Supported frontmatter fields that the `seo` plugin may look for:
|
|
|
75
76
|
* `twitterCard` (Overrides `config.seo.twitter.cardType` for this page)
|
|
76
77
|
* `twitterCreator` (Overrides `config.seo.twitter.creatorUsername` for this page)
|
|
77
78
|
* `noindex` (Boolean): If `true`, adds `<meta name="robots" content="noindex">` to discourage search engines from indexing this specific page.
|
|
79
|
+
* `permalink` (String): If provided, sets a canonical URL for the page. This is useful when you have duplicate content across different URLs and want to indicate the preferred version. If not specified, the page's URL will be used as the canonical URL. (Note: `canonicalUrl` is also supported for backward compatibility)
|
|
78
80
|
|
|
79
81
|
By configuring the `seo` plugin and utilizing frontmatter effectively, you can significantly improve how your documentation is presented and discovered online.
|
|
@@ -12,8 +12,8 @@ description: "An overview of the built-in themes provided by docmd."
|
|
|
12
12
|
module.exports = {
|
|
13
13
|
// ...
|
|
14
14
|
theme: {
|
|
15
|
-
name: 'theme-name', // Options: 'default', 'sky', 'ruby'
|
|
16
|
-
defaultMode: 'light', // or 'dark'
|
|
15
|
+
name: 'theme-name', // Options: 'default', 'sky', 'ruby', 'retro'
|
|
16
|
+
defaultMode: 'light', // or 'dark' to set as landing mode
|
|
17
17
|
// ...
|
|
18
18
|
},
|
|
19
19
|
// ...
|
|
@@ -52,6 +52,20 @@ module.exports = {
|
|
|
52
52
|
* Luxurious dark mode with deep, rich backgrounds and vibrant accent colors
|
|
53
53
|
* **When to use:** When you want your documentation to have a distinctive, premium feel with rich colors and elegant typography.
|
|
54
54
|
|
|
55
|
+
## 4. `retro` Theme
|
|
56
|
+
|
|
57
|
+
* **`theme.name: 'retro'`**
|
|
58
|
+
* **Description:** A nostalgic theme inspired by 1980s-90s computing aesthetics. It features:
|
|
59
|
+
* Terminal-style black backgrounds with phosphor green text in dark mode
|
|
60
|
+
* Light mode with dark green text on light gray backgrounds
|
|
61
|
+
* Monospace typography (Fira Code) for authentic retro feel
|
|
62
|
+
* Neon accent colors (cyan, pink, amber) with glow effects
|
|
63
|
+
* Animated scanlines and CRT flicker effects
|
|
64
|
+
* Terminal-style code blocks with `[TERMINAL]` labels
|
|
65
|
+
* Retro-styled containers with pixel-art inspired elements
|
|
66
|
+
* Blinking cursor effects on links and active elements
|
|
67
|
+
* **When to use:** Perfect for developer tools, gaming documentation, tech blogs with vintage computing focus, or anyone wanting a unique, eye-catching retro aesthetic.
|
|
68
|
+
|
|
55
69
|
## How Themes Work
|
|
56
70
|
|
|
57
71
|
Each theme consists of CSS files located within `docmd`'s internal assets. When you select a theme name, `docmd` links the corresponding stylesheet in your site's HTML:
|
|
@@ -59,5 +73,6 @@ Each theme consists of CSS files located within `docmd`'s internal assets. When
|
|
|
59
73
|
- `default` theme uses the base CSS with no additional theme stylesheet
|
|
60
74
|
- `sky` theme loads `docmd-theme-sky.css` with its custom styling on top of the default CSS
|
|
61
75
|
- `ruby` theme loads `docmd-theme-ruby.css` with its custom styling on top of the default CSS
|
|
76
|
+
- `retro` theme loads `docmd-theme-retro.css` with its custom styling on top of the default CSS
|
|
62
77
|
|
|
63
78
|
You can further customize any chosen theme using the `theme.customCss` option in your `config.js` to add your own overrides or additional styles. See [Custom CSS & JS](/theming/custom-css-js/) for details.
|
|
@@ -16,9 +16,10 @@ You can set the default theme for your site in the `config.js` file:
|
|
|
16
16
|
module.exports = {
|
|
17
17
|
// ... other config ...
|
|
18
18
|
theme: {
|
|
19
|
-
name: 'default', // or 'sky'
|
|
19
|
+
name: 'default', // or 'sky', 'ruby', 'retro'
|
|
20
20
|
defaultMode: 'dark', // Can be 'light' or 'dark'
|
|
21
21
|
enableModeToggle: true, // Enable the toggle button in the UI
|
|
22
|
+
positionMode: 'bottom', // 'top' or 'bottom' - where to show the toggle
|
|
22
23
|
},
|
|
23
24
|
// ...
|
|
24
25
|
};
|
|
@@ -26,7 +27,9 @@ module.exports = {
|
|
|
26
27
|
|
|
27
28
|
* `defaultMode: 'light'`: The site will initially render with the light color scheme.
|
|
28
29
|
* `defaultMode: 'dark'`: The site will initially render with the dark color scheme.
|
|
29
|
-
* `enableModeToggle: true`: Shows a toggle button
|
|
30
|
+
* `enableModeToggle: true`: Shows a toggle button for users to switch modes.
|
|
31
|
+
* `positionMode: 'bottom'`: Places the toggle button at the bottom of the sidebar (default).
|
|
32
|
+
* `positionMode: 'top'`: Places the toggle button in the page header (top right).
|
|
30
33
|
|
|
31
34
|
If `defaultMode` is not specified, it defaults to `'light'`.
|
|
32
35
|
|
|
@@ -62,16 +65,22 @@ body {
|
|
|
62
65
|
|
|
63
66
|
## User Preference Toggle
|
|
64
67
|
|
|
65
|
-
When `enableModeToggle` is set to `true`, a toggle button appears
|
|
68
|
+
When `enableModeToggle` is set to `true`, a toggle button appears that allows users to switch between light and dark modes. The position of this button is controlled by the `positionMode` setting:
|
|
66
69
|
|
|
67
70
|
```javascript
|
|
68
71
|
// config.js
|
|
69
72
|
theme: {
|
|
70
73
|
defaultMode: 'light',
|
|
71
74
|
enableModeToggle: true, // Shows the toggle button
|
|
75
|
+
positionMode: 'bottom', // 'bottom' (sidebar) or 'top' (header)
|
|
72
76
|
},
|
|
73
77
|
```
|
|
74
78
|
|
|
79
|
+
### Toggle Button Positions
|
|
80
|
+
|
|
81
|
+
- **`positionMode: 'bottom'`** (default): The toggle button appears at the bottom of the sidebar
|
|
82
|
+
- **`positionMode: 'top'`**: The toggle button appears in the page header (top right corner)
|
|
83
|
+
|
|
75
84
|
The toggle button uses Lucide icons (`sun` and `moon`) to indicate the current mode and what will happen when clicked.
|
|
76
85
|
|
|
77
86
|
### User Preference Persistence
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mgks/docmd",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Generate beautiful, lightweight static documentation sites directly from your Markdown files. Zero clutter, just content.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"docmd": "
|
|
7
|
+
"docmd": "bin/docmd.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"start": "node ./bin/docmd.js dev",
|
|
@@ -43,9 +43,12 @@
|
|
|
43
43
|
"gray-matter": "^4.0.3",
|
|
44
44
|
"highlight.js": "^11.11.1",
|
|
45
45
|
"lucide-static": "^0.508.0",
|
|
46
|
-
"markdown-it": "^
|
|
46
|
+
"markdown-it-abbr": "^2.0.0",
|
|
47
47
|
"markdown-it-attrs": "^4.3.1",
|
|
48
48
|
"markdown-it-container": "^4.0.0",
|
|
49
|
+
"markdown-it-deflist": "^3.0.0",
|
|
50
|
+
"markdown-it-footnote": "^4.0.0",
|
|
51
|
+
"markdown-it-task-lists": "^2.1.1",
|
|
49
52
|
"ws": "^8.17.0"
|
|
50
53
|
},
|
|
51
54
|
"devDependencies": {
|
|
@@ -53,5 +56,8 @@
|
|
|
53
56
|
"eslint-config-prettier": "^9.1.0",
|
|
54
57
|
"eslint-plugin-node": "^11.1.0",
|
|
55
58
|
"prettier": "^3.2.5"
|
|
59
|
+
},
|
|
60
|
+
"directories": {
|
|
61
|
+
"doc": "docs"
|
|
56
62
|
}
|
|
57
63
|
}
|