@mgks/docmd 0.2.6 → 0.2.8

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.
@@ -0,0 +1,48 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our
6
+ community a harassment-free experience for everyone, regardless of age, body
7
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
8
+ identity and expression, level of experience, education, socio-economic status,
9
+ nationality, personal appearance, race, religion, or sexual identity
10
+ and orientation.
11
+
12
+ We pledge to act and interact in ways that contribute to an open, welcoming,
13
+ diverse, inclusive, and healthy community.
14
+
15
+ ## Our Standards
16
+
17
+ Examples of behavior that contributes to a positive environment for our
18
+ community include:
19
+
20
+ * Demonstrating empathy and kindness toward other people
21
+ * Being respectful of differing opinions, viewpoints, and experiences
22
+ * Giving and gracefully accepting constructive feedback
23
+ * Accepting responsibility and apologizing to those affected by our mistakes,
24
+ and learning from the experience
25
+ * Focusing on what is best not just for us as individuals, but for the
26
+ overall community
27
+
28
+ ## Enforcement Responsibilities
29
+
30
+ Community leaders are responsible for clarifying and enforcing our standards of
31
+ acceptable behavior and will take appropriate and fair corrective action in
32
+ response to any behavior that they deem inappropriate, threatening, offensive,
33
+ or harmful.
34
+
35
+ ## Enforcement
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported to the community leaders responsible for enforcement at hello@mgks.dev.
39
+ All complaints will be reviewed and investigated promptly and fairly.
40
+
41
+ ## Attribution
42
+
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
44
+ version 2.1, available at
45
+ [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
46
+
47
+ [homepage]: https://www.contributor-covenant.org
48
+ [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
@@ -0,0 +1,129 @@
1
+ # Contributing to docmd
2
+
3
+ First off, thank you for considering contributing to `docmd`! It's people like you that make the open-source community such an amazing place to learn, inspire, and create.
4
+
5
+ We welcome contributions of all kinds: bug fixes, new features, documentation improvements, or even just typo fixes.
6
+
7
+ ## ⚡ Quick Links
8
+
9
+ * [**Documentation**](https://docmd.mgks.dev) - Read the docs to understand how the tool works.
10
+ * [**GitHub Issues**](https://github.com/mgks/docmd/issues) - Browse existing bugs or feature requests.
11
+ * [**Discussions**](https://github.com/mgks/docmd/discussions) - Ask questions or share ideas.
12
+
13
+ ---
14
+
15
+ ## 🛠️ Development Setup
16
+
17
+ `docmd` is a Node.js CLI tool. Developing it locally requires a slightly different setup than a standard web app.
18
+
19
+ ### Prerequisites
20
+ * **Node.js**: Version 22.x or higher.
21
+ * **npm**: Version 10.x or higher.
22
+
23
+ ### 1. Fork and Clone
24
+ 1. Fork the repository to your GitHub account.
25
+ 2. Clone your fork locally:
26
+ ```bash
27
+ git clone https://github.com/YOUR_USERNAME/docmd.git
28
+ cd docmd
29
+ ```
30
+
31
+ ### 2. Install Dependencies
32
+ ```bash
33
+ npm install
34
+ ```
35
+
36
+ ### 3. Link for Local Development
37
+ To test the CLI command (`docmd`) globally on your machine while modifying the source code, use `npm link`.
38
+
39
+ ```bash
40
+ # inside the project root
41
+ npm link
42
+ ```
43
+
44
+ Now, when you run `docmd` in *any* terminal window, it will use the code from your local folder.
45
+
46
+ ### 4. Running the Dev Server
47
+ We have a built-in test site located in the `docs/` folder (this is the documentation for docmd itself).
48
+
49
+ To start the dev server and watch for changes:
50
+
51
+ ```bash
52
+ # Method 1: Using the npm script (Recommended)
53
+ npm start
54
+
55
+ # Method 2: If you have linked the package
56
+ docmd dev
57
+ ```
58
+
59
+ ### 5. Developer Mode (Important)
60
+ By default, `docmd` only watches the user's content files. To make `docmd` watch **its own internal source code** (templates, css, core logic) and trigger a rebuild when you edit them, set the environment variable:
61
+
62
+ ```bash
63
+ # Mac/Linux
64
+ export DOCMD_DEV=true
65
+ npm start
66
+
67
+ # Windows (PowerShell)
68
+ $env:DOCMD_DEV="true"
69
+ npm start
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 📂 Project Structure
75
+
76
+ Here is a map of the codebase to help you navigate:
77
+
78
+ ```text
79
+ bin/
80
+ └── docmd.js # The CLI entry point
81
+ src/
82
+ ├── commands/ # Logic for 'init', 'build', 'dev'
83
+ ├── core/
84
+ │ ├── config-loader.js # Loads docmd.config.js
85
+ │ ├── config-validator.js # Validates config structure
86
+ │ ├── file-processor.js # Orchestrates file reading
87
+ │ ├── html-generator.js # Injects content into EJS templates
88
+ │ └── markdown/ # The Core Parsing Engine
89
+ │ ├── containers.js # Callout/Card definitions
90
+ │ ├── rules.js # Complex logic (Tabs, Changelogs)
91
+ │ └── setup.js # MarkdownIt configuration
92
+ ├── plugins/ # Built-in plugins (SEO, Sitemap)
93
+ ├── templates/ # EJS HTML templates
94
+ └── assets/ # Internal CSS and JS (Themes)
95
+ docs/ # The documentation site content
96
+ site/ # The generated output folder (gitignored)
97
+ ```
98
+
99
+ ---
100
+
101
+ ## 🚀 Submitting a Pull Request
102
+
103
+ 1. **Create a Branch:** Always create a new branch for your changes.
104
+ * `feat/my-new-feature`
105
+ * `fix/bug-description`
106
+ * `docs/update-readme`
107
+ 2. **Make Changes:** Write clear, concise code.
108
+ 3. **Test:**
109
+ * Run `docmd build` to ensure the build process finishes without errors.
110
+ * Verify your changes visually by running `docmd dev`.
111
+ 4. **Commit:** We prefer [Conventional Commits](https://www.conventionalcommits.org/).
112
+ * `feat: add search bar`
113
+ * `fix: resolve css overflow in tables`
114
+ * `docs: fix typo in readme`
115
+ 5. **Push & Open PR:** Push your branch to your fork and open a Pull Request against the `main` branch of `mgks/docmd`.
116
+
117
+ ---
118
+
119
+ ## 🎨 Style Guidelines
120
+
121
+ * **Linting:** Please ensure your code follows the existing style. (We use standard ESLint/Prettier configurations).
122
+ * **No-Style:** If modifying `no-style` templates, ensure no external CSS is injected unless requested.
123
+ * **Compatibility:** `docmd` aims to be lightweight. Avoid adding heavy dependencies unless absolutely necessary.
124
+
125
+ ---
126
+
127
+ ## 🤝 Community
128
+
129
+ Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
@@ -0,0 +1,58 @@
1
+ name: 🐞 Bug Report
2
+ description: Create a report to help us improve docmd
3
+ title: "[Bug]: "
4
+ labels: ["bug", "triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for taking the time to fill out this bug report!
10
+ - type: input
11
+ id: version
12
+ attributes:
13
+ label: docmd version
14
+ description: What version of docmd are you using? (e.g. 0.2.6)
15
+ placeholder: 0.2.6
16
+ validations:
17
+ required: true
18
+ - type: input
19
+ id: node-version
20
+ attributes:
21
+ label: Node.js version
22
+ placeholder: v20.x
23
+ validations:
24
+ required: true
25
+ - type: dropdown
26
+ id: os
27
+ attributes:
28
+ label: OS
29
+ options:
30
+ - macOS
31
+ - Windows
32
+ - Linux
33
+ validations:
34
+ required: true
35
+ - type: textarea
36
+ id: description
37
+ attributes:
38
+ label: Description
39
+ description: A clear and concise description of what the bug is.
40
+ validations:
41
+ required: true
42
+ - type: textarea
43
+ id: reproduction
44
+ attributes:
45
+ label: Steps to Reproduce
46
+ description: Please provide the steps to reproduce the behavior.
47
+ placeholder: |
48
+ 1. Run 'docmd init'
49
+ 2. Add configuration...
50
+ 3. Run 'docmd build'
51
+ 4. See error...
52
+ validations:
53
+ required: true
54
+ - type: textarea
55
+ id: expected
56
+ attributes:
57
+ label: Expected Behavior
58
+ description: A clear and concise description of what you expected to happen.
@@ -0,0 +1,27 @@
1
+ name: 💡 Feature Request
2
+ description: Suggest an idea for this project
3
+ title: "[Feature]: "
4
+ labels: ["enhancement"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for suggesting a new feature!
10
+ - type: textarea
11
+ id: problem
12
+ attributes:
13
+ label: Is your feature request related to a problem?
14
+ description: A clear and concise description of what the problem is.
15
+ placeholder: I'm always frustrated when...
16
+ - type: textarea
17
+ id: solution
18
+ attributes:
19
+ label: Describe the solution you'd like
20
+ description: A clear and concise description of what you want to happen.
21
+ validations:
22
+ required: true
23
+ - type: textarea
24
+ id: alternatives
25
+ attributes:
26
+ label: Describe alternatives you've considered
27
+ description: A clear and concise description of any alternative solutions or features you've considered.
@@ -0,0 +1,16 @@
1
+ ## Description
2
+ <!-- Please include a summary of the change and which issue is fixed. -->
3
+
4
+ Fixes # (issue)
5
+
6
+ ## Type of change
7
+ - [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
8
+ - [ ] ✨ New feature (non-breaking change which adds functionality)
9
+ - [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
10
+ - [ ] 📝 Documentation update
11
+
12
+ ## Checklist:
13
+ - [ ] I have performed a self-review of my own code
14
+ - [ ] I have commented my code, particularly in hard-to-understand areas
15
+ - [ ] I have made corresponding changes to the documentation
16
+ - [ ] My changes generate no new warnings
@@ -0,0 +1,18 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ | Version | Supported |
6
+ | ------- | ------------------ |
7
+ | 0.2.x | :white_check_mark: |
8
+ | 0.1.x | :x: |
9
+
10
+ ## Reporting a Vulnerability
11
+
12
+ Use this section to tell people how to report a vulnerability.
13
+
14
+ Please do not report security vulnerabilities through public GitHub issues.
15
+
16
+ If you have discovered a security vulnerability in `docmd`, please email hello@mgks.dev.
17
+
18
+ We will do our best to respond within 48 hours.
@@ -2,83 +2,48 @@ name: Publish Package to NPM and GitHub Packages
2
2
 
3
3
  on:
4
4
  release:
5
- types: [created] # [created, published] Triggers when a new GitHub Release is created or published
6
- workflow_dispatch: # Allows manual triggering for testing
5
+ types: [published]
6
+ workflow_dispatch:
7
7
 
8
8
  jobs:
9
9
  publish:
10
10
  runs-on: ubuntu-latest
11
11
  permissions:
12
12
  contents: read
13
- packages: write # Required for GitHub Packages
13
+ packages: write
14
14
  steps:
15
15
  - name: Checkout repository
16
16
  uses: actions/checkout@v4
17
- # Your package.json in the workspace should now have name: "@mgks/docmd"
18
17
 
19
- - name: Set up Node.js (common for all steps)
18
+ - name: Set up Node.js v22
20
19
  uses: actions/setup-node@v4
21
20
  with:
22
21
  node-version: '22'
23
- cache: 'npm' # Cache npm dependencies
22
+ cache: 'npm'
24
23
 
25
24
  - name: Install dependencies
26
25
  run: npm ci
27
26
 
28
- # Optional: Run build script if you have one for the package itself
29
- # - name: Build package
30
- # run: npm run build
31
-
32
- # Optional: Run tests
33
- # - name: Test package
34
- # run: npm test
35
-
27
+ # ------------------------------------------
36
28
  # --- Publish to NPM Registry (npmjs.com) ---
37
- - name: Set up Node.js for npmjs.com
38
- uses: actions/setup-node@v4
39
- with:
40
- node-version: '22' # Redundant if already set, but harmless
41
- registry-url: 'https://registry.npmjs.org/'
42
- env:
43
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # Configures .npmrc for npmjs.com
29
+ # ------------------------------------------
30
+ - name: Configure NPM for public registry
31
+ run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
44
32
 
45
- # No need to change package.json name if it's already @mgks/docmd
46
- # Just ensure no GPR-specific publishConfig is present
47
- - name: Prepare package.json for npmjs.com
48
- run: |
49
- echo "package.json for npmjs.com publishing (should be @mgks/docmd):"
50
- cat package.json
51
- # Remove publishConfig if it exists, just in case
52
- if jq -e '.publishConfig' package.json > /dev/null; then
53
- echo "Removing publishConfig for npmjs.com publish"
54
- jq 'del(.publishConfig)' package.json > package_temp.json && mv package_temp.json package.json
55
- else
56
- echo "No publishConfig found, package.json is ready for npmjs.com."
57
- fi
58
- cat package.json
59
-
60
- - name: Publish to NPM Registry (npmjs.com)
61
- # For scoped packages on npmjs.com, --access=public is needed for the first publish
62
- # and if it's intended to be a public package.
33
+ - name: Publish to NPM Registry
63
34
  run: npm publish --access=public
64
-
65
- # --- Publish to GitHub Packages ---
66
- - name: Set up Node.js for GitHub Packages
67
- uses: actions/setup-node@v4
68
- with:
69
- node-version: '22' # Redundant if already set, but harmless
70
- registry-url: 'https://npm.pkg.github.com'
71
- # scope: '@mgks' # Not strictly needed here if package.json name is already @mgks/docmd
72
- # but good for ensuring .npmrc is correctly configured for the @mgks scope.
73
35
  env:
74
- NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Configures .npmrc for GPR
36
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
75
37
 
76
- # The package name is already @mgks/docmd from checkout (and npmjs.com step didn't change it).
77
- # No jq transformation of the name is needed.
78
- - name: Verify package.json for GitHub Packages
38
+ # ----------------------------------------
39
+ # --- Publish to GitHub Packages (GPR) ---
40
+ # ----------------------------------------
41
+ - name: Configure NPM for GitHub Packages registry
79
42
  run: |
80
- echo "package.json for GPR publishing (should be @mgks/docmd):"
81
- cat package.json
43
+ echo "@mgks:registry=https://npm.pkg.github.com" > ~/.npmrc
44
+ echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc
82
45
 
83
46
  - name: Publish to GitHub Packages
84
- run: npm publish
47
+ run: npm publish
48
+ env:
49
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
package/README.md CHANGED
@@ -1,108 +1,160 @@
1
1
  <p align="center">
2
- <img src="https://github.com/mgks/docmd/blob/main/src/assets/images/docmd-logo.png" alt="docmd logo" width="70" />
3
- <br />
4
- <img src="https://github.com/mgks/docmd/blob/main/src/assets/images/docmd-logo-light.png" alt="docmd dark logo" width="180" />
2
+ <br>
3
+ <a href="https://docmd.mgks.dev">
4
+ <img src="https://github.com/mgks/docmd/blob/main/src/assets/images/docmd-logo-light.png?raw=true" alt="docmd logo" width="200" />
5
+ </a>
5
6
  </p>
6
7
 
7
8
  <p align="center">
8
- <b>Generate beautiful, lightweight static documentation sites from Markdown files.</b>
9
- <br>Zero clutter, just content.
9
+ <b>The minimalist, zero-config documentation generator for Node.js developers.</b>
10
+ <br>
11
+ Turn Markdown into beautiful, blazing-fast websites in seconds.
12
+ <br>
10
13
  </p>
11
14
 
12
15
  <p align="center">
13
- <a href="https://www.npmjs.com/package/@mgks/docmd"><img src="https://img.shields.io/npm/v/@mgks/docmd.svg" alt="npm version"></a>
14
- <a href="https://www.npmjs.com/package/@mgks/docmd"><img src="https://img.shields.io/npm/d18m/@mgks/docmd.svg" alt="npm downloads"></a>
15
- <a href="https://github.com/mgks/docmd/blob/main/LICENSE"><img src="https://img.shields.io/github/license/mgks/docmd.svg" alt="license"></a>
16
+ <a href="https://www.npmjs.com/package/@mgks/docmd"><img src="https://img.shields.io/npm/v/@mgks/docmd.svg?style=flat-square&color=007acc" alt="npm version"></a>
17
+ <a href="https://www.npmjs.com/package/@mgks/docmd"><img src="https://img.shields.io/npm/dt/@mgks/docmd.svg?style=flat-square&color=success" alt="npm downloads"></a>
18
+ <a href="https://github.com/mgks/docmd/blob/main/LICENSE"><img src="https://img.shields.io/github/license/mgks/docmd.svg?style=flat-square&color=blue" alt="license"></a>
19
+ <a href="https://github.com/mgks/docmd/stargazers"><img src="https://img.shields.io/github/stars/mgks/docmd?style=flat-square&logo=github" alt="stars"></a>
16
20
  </p>
17
21
 
18
- Docmd is a Node.js command-line tool for generating fast, beautiful, and lightweight static documentation sites from standard Markdown files. It champions the philosophy of "zero clutter, just content," prioritizing a simple authoring experience and a clean, performant result for readers.
22
+ <p align="center">
23
+ <a href="https://docmd.mgks.dev"><b>View Live Demo</b></a> •
24
+ <a href="https://docmd.mgks.dev/getting-started/installation/"><b>Documentation</b></a> •
25
+ <a href="https://github.com/mgks/docmd/issues"><b>Report Bug</b></a>
26
+ </p>
27
+
28
+ <br>
29
+
30
+ <p align="center">
31
+ <img width="2856" height="1558" alt="519536477-8d948e18-8e2d-420d-8902-96e1aafab1ba-modified" src="https://github.com/user-attachments/assets/5b883c80-8357-46e8-9adb-84e38a0da64c" />
32
+ <sup><i>docmd noStyle page preview in dark mode</i></sup>
33
+ </p>
19
34
 
20
- **:rocket: [Live Preview](https://docmd.mgks.dev): Official documentation site powered by `docmd`.**
35
+ ## 🚀 Why docmd?
21
36
 
22
- ## Key Features
37
+ Most documentation tools today are too heavy (React hydration, massive bundles) or require ecosystems you don't use (Python/Ruby).
23
38
 
24
- - **Markdown First:** Write your content in standard Markdown with simple YAML frontmatter.
25
- - **Beautiful Themes:** Comes with multiple built-in themes (`sky`, `ruby`, `retro`) and automatic light/dark mode support.
26
- - **Fast & Lightweight:** Blazing fast static site generation with a minimal client-side footprint.
27
- - **Rich Content:** Go beyond basic Markdown with custom components like callouts, cards, steps, tabs, and Mermaid diagrams.
28
- - **Built-in Plugins:** SEO meta tags, sitemap, and analytics are all included out-of-the-box.
29
- - **No-Style Pages:** Create completely custom pages (like landing pages) with full control over the HTML.
30
- - **Customizable:** Easily extend or override styles with your own CSS and JavaScript.
31
- - **Simple CLI:** A straightforward workflow with three main commands: `init`, `dev`, and `build`.
32
- - **Deploy Anywhere:** The generated `site/` folder can be hosted on any static web host (GitHub Pages, Netlify, Vercel, etc.).
39
+ **docmd** fills the gap. It is a native Node.js tool that generates **pure, static HTML**.
33
40
 
34
- ## Installation
35
- **Prerequisites:** [Node.js](https://nodejs.org/) (version 22.x or higher)
41
+ * ⚡ **Blazing Fast:** No hydration delay. Instant page loads.
42
+ * 🛠 **Zero Config:** Works out of the box with sensible defaults.
43
+ * 🎨 **Theming:** Built-in light/dark modes and multiple themes (`sky`, `ruby`, `retro`).
44
+ * 📦 **Node.js Native:** No Python, no Gemfiles. Just `npm install`.
45
+ * 🧩 **Rich Content:** Built-in support for Callouts, Cards, Tabs, Steps, and Changelogs.
36
46
 
37
- ### Quick Start: Your First Site in 60 Seconds
47
+ ## 🏁 Quick Start
38
48
 
39
- No global installation is required. You can create and run your site in a new folder with one command.
49
+ You don't need to install anything globally to try it out.
40
50
 
41
51
  ```bash
42
- # Create a new project in 'my-docs' and navigate into it
43
- npx @mgks/docmd init my-docs && cd my-docs
52
+ # 1. Initialize a new project
53
+ npx @mgks/docmd init my-docs
54
+
55
+ # 2. Enter directory
56
+ cd my-docs
44
57
 
45
- # Start the development server
58
+ # 3. Start the dev server
46
59
  npm start
47
60
  ```
48
61
 
49
- Your new documentation site is now running at `http://localhost:3000` *(or, at your selected or available port)*.
62
+ **Dev server output:**
63
+
64
+ ```
65
+
66
+ _ _
67
+ _| |___ ___ _____ _| |
68
+ | . | . | _| | . |
69
+ |___|___|___|_|_|_|___|
70
+
71
+ v0.x.x
72
+
73
+
74
+ 🚀 Performing initial build for dev server...
75
+ ✅ Generated sitemap at ./site/sitemap.xml
76
+ ✅ Initial build complete.
77
+ 👀 Watching for changes in:
78
+ - Source: ./docs
79
+ - Config: ./docmd.config.js
80
+ - Assets: ./assets
81
+ - docmd Templates: ./src/templates (internal)
82
+ - docmd Assets: ./src/assets (internal)
83
+ 🎉 Dev server started at http://localhost:3000
84
+ Serving content from: ./site
85
+ Live reload is active. Browser will refresh automatically when files change.
86
+ ```
87
+
88
+ ## ✨ Features
89
+
90
+ | Feature | Description |
91
+ | :--- | :--- |
92
+ | **Markdown First** | Standard Markdown + Frontmatter. No proprietary syntax to learn. |
93
+ | **Smart CLI** | Intelligent config validation catches typos before they break your build. |
94
+ | **Custom Containers** | Use `::: callout`, `::: card`, `::: steps`, `::: tabs`, `::: collapsible`, `::: changelog`, and more to enrich content. |
95
+ | **Diagrams** | Create flowcharts, relationship diagrams, journey, piecharts, graphs, timelines and more with Mermaid. |
96
+ | **No-Style Pages** | Create custom landing pages (highly customizable custom HTML pages) without theme constraints. |
97
+ | **Auto Dark Mode** | Respects system preference and saves user choice. |
98
+ | **Plugins** | SEO, Sitemap, and Analytics support included out-of-the-box. |
99
+
100
+ ## 🆚 Comparison
101
+
102
+ How does `docmd` stack up against the giants?
103
+
104
+ | Feature | docmd | Docusaurus | MkDocs (Material) | Mintlify |
105
+ | :--- | :--- | :--- | :--- | :--- |
106
+ | **Language** | **Node.js** | React.js | Python | Proprietary |
107
+ | **Output** | **Static HTML** | React SPA | Static HTML | Hosted / Next.js |
108
+ | **JS Payload** | **Tiny (< 15kb)** | Heavy | Minimal | Medium |
109
+ | **Setup** | **~2 mins** | ~15 mins | ~10 mins | Instant (SaaS) |
110
+ | **Cost** | **100% Free OSS** | 100% Free OSS | 100% Free OSS | Freemium |
50
111
 
51
- ### Global Installation
112
+ 👉 *[Read the full comparison](https://docmd.mgks.dev/comparison/)*
52
113
 
53
- For frequent use, or if you prefer to have the command available system-wide, you can install `docmd` globally using npm.
114
+ ## 📦 Installation
115
+
116
+ For frequent use, install globally:
54
117
 
55
118
  ```bash
56
119
  npm install -g @mgks/docmd
57
120
  ```
58
- After installation, you can run the `docmd` commands from any directory.
59
-
60
- ### Basic Workflow
61
121
 
62
- 1. **Initialize a Project:**
63
- ```bash
64
- docmd init
65
- ```
66
- This creates a `docs/` directory, a `docmd.config.js` file, and a sample `index.md` to get you started.
122
+ ### Commands
67
123
 
68
- 2. **Start the Dev Server:**
69
- ```bash
70
- docmd dev
71
- ```
72
- This starts a live-reloading server to preview your site as you write.
124
+ * `docmd init` - Create a new documentation project.
125
+ * `docmd dev` - Start the live-reloading local server.
126
+ * `docmd build` - Generate static files to `site/` for deployment.
73
127
 
74
- 3. **Build for Production:**
75
- ```bash
76
- docmd build
77
- ```
78
- This generates the complete, optimized static site into the `site/` directory, ready for deployment.
128
+ ## 🎨 Themes
79
129
 
80
- ## Documentation
130
+ Switching themes is as easy as changing one line in your `docmd.config.js`.
81
131
 
82
- For a complete guide covering all features, including theming, custom containers, and plugin configuration, please visit the official documentation website: **[docmd.mgks.dev](https://docmd.mgks.dev)**.
132
+ ```javascript
133
+ module.exports = {
134
+ theme: {
135
+ name: 'sky', // Options: 'default', 'sky', 'ruby', 'retro'
136
+ defaultMode: 'dark'
137
+ }
138
+ }
139
+ ```
83
140
 
84
- ## Contributing
141
+ ## 🤝 Contributing
85
142
 
86
- We welcome contributions of all kinds! Whether it's reporting a bug, suggesting a feature, or submitting a pull request, your help is appreciated.
143
+ We welcome contributions! Please see our [Contribution Guidelines](.github/CONTRIBUTING.md) for details.
87
144
 
88
145
  1. Fork the repository.
89
- 2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/docmd.git`
90
- 3. Install dependencies: `npm install`
91
- 4. Make your changes and test them thoroughly.
92
- 5. Submit a pull request to the `main` branch.
93
-
94
- Please check our [contributing guidelines](https://docmd.mgks.dev/contributing/) for more detailed information.
95
-
96
- ## Support the Project
146
+ 2. Create your feature branch (`git checkout -b feature/AmazingFeature`).
147
+ 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).
148
+ 4. Push to the branch (`git push origin feature/AmazingFeature`).
149
+ 5. Open a Pull Request.
97
150
 
98
- If you find `docmd` useful, please consider:
151
+ ## ❤️ Support
99
152
 
100
- - Starring the repository on GitHub.
101
- - Sharing it with others who might benefit.
102
- - Reporting issues or submitting pull requests.
153
+ This project is open source and free to use. If you find it valuable, please consider:
103
154
 
104
- ❤️ **[GitHub Sponsors](https://github.com/sponsors/mgks): Become a sponsor to support the ongoing development of `docmd`.**
155
+ 1. ⭐️ **Starring the repo** on GitHub (it helps a lot!)
156
+ 2. ☕ **[Sponsoring the project](https://github.com/sponsors/mgks)** to support ongoing development.
105
157
 
106
- ## License
158
+ ## 📄 License
107
159
 
108
- Docmd is licensed under the [MIT License](https://github.com/mgks/docmd/blob/main/LICENSE).
160
+ Distributed under the MIT License. See `LICENSE` for more information.
package/config.js CHANGED
@@ -123,6 +123,8 @@ module.exports = {
123
123
  { title: 'Cards', path: '/content/containers/cards', icon: 'panel-top' },
124
124
  { title: 'Steps', path: '/content/containers/steps', icon: 'list-ordered' },
125
125
  { title: 'Tabs', path: '/content/containers/tabs', icon: 'columns-3' },
126
+ { title: 'Collapsible', path: '/content/containers/collapsible', icon: 'chevrons-down' },
127
+ { title: 'Changelogs', path: '/content/containers/changelogs', icon: 'logs' },
126
128
  { title: 'Buttons', path: '/content/containers/buttons', icon: 'mouse-pointer-click' },
127
129
  { title: 'Nested Containers', path: '/content/containers/nested-containers', icon: 'folder-tree' },
128
130
  ]
@@ -155,9 +157,21 @@ module.exports = {
155
157
  { title: 'Sitemap', path: '/plugins/sitemap', icon: 'map' },
156
158
  ],
157
159
  },
160
+ {
161
+ title: 'Recipes',
162
+ icon: 'chef-hat',
163
+ path: '/recipes/',
164
+ collapsible: true,
165
+ children: [
166
+ { title: 'Landing Page', path: '/recipes/landing-page', icon: 'panel-top' },
167
+ { title: 'Custom Fonts', path: '/recipes/custom-fonts', icon: 'type-outline' },
168
+ { title: 'Favicon', path: '/recipes/favicon', icon: 'circle-dashed' },
169
+ ],
170
+ },
158
171
  { title: 'CLI Commands', path: '/cli-commands', icon: 'terminal' },
159
172
  { title: 'Deployment', path: '/deployment', icon: 'upload-cloud' },
160
173
  { title: 'Contributing', path: '/contributing', icon: 'users-2' },
174
+ { title: 'Comparison', path: '/comparison', icon: 'shapes' },
161
175
 
162
176
  { title: 'GitHub', path: 'https://github.com/mgks/docmd', icon: 'github', external: true },
163
177
  { title: 'Discussions', path: 'https://github.com/mgks/docmd/discussions', icon: 'message-square', external: true },