{"_id":"@ayushshanker/mdo","_rev":"6-84325009548e49ffd3e0ecc2a083c561","name":"@ayushshanker/mdo","dist-tags":{"latest":"0.5.1"},"versions":{"0.1.0":{"name":"@ayushshanker/mdo","version":"0.1.0","keywords":["markdown","cli","preview","browser"],"license":"MIT","_id":"@ayushshanker/mdo@0.1.0","maintainers":[{"name":"ayushshanker","email":"shankerayush@gmail.com"}],"bin":{"mdo":"bin/mdo.js"},"dist":{"shasum":"8594832cb82144f7c8311ec5ef0da3d81b899d65","tarball":"https://registry.npmjs.org/@ayushshanker/mdo/-/mdo-0.1.0.tgz","fileCount":9,"integrity":"sha512-LFFIbPi9FcXZ0Q806UCeiCNXbPAa6vEhpqsULrMOQSUMcsAWzvpvrO0y7C08JejH575B/2XwaCEtPqQnnBZ+uw==","signatures":[{"sig":"MEUCIGK/p9chAbvlSbtpJsz0W37GVKMOs3G1WFZZDxTjeo56AiEAgu5yBkFSU9wAyg4HDZg/YKk5Q/juS7OZi2JHM7D2FFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26559},"type":"commonjs","engines":{"node":">=20"},"scripts":{"test":"node --test","start":"node bin/mdo.js"},"_npmUser":{"name":"ayushshanker","email":"shankerayush@gmail.com"},"_npmVersion":"11.11.1","description":"Preview Markdown files and folders in the browser","directories":{},"_nodeVersion":"25.8.1","dependencies":{"open":"^10.2.0","commander":"^14.0.1","markdown-it":"^14.1.0","highlight.js":"^11.11.1","markdown-it-anchor":"^9.2.0","github-markdown-css":"^5.8.1","markdown-it-task-lists":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdo_0.1.0_1773765974452_0.07787297591261977","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ayushshanker/mdo","version":"0.2.0","keywords":["markdown","cli","preview","browser"],"license":"MIT","_id":"@ayushshanker/mdo@0.2.0","maintainers":[{"name":"ayushshanker","email":"shankerayush@gmail.com"}],"bin":{"mdo":"bin/mdo.js"},"dist":{"shasum":"9bba1f87bb80de8dd5c4f45a641ff3a372f8a963","tarball":"https://registry.npmjs.org/@ayushshanker/mdo/-/mdo-0.2.0.tgz","fileCount":9,"integrity":"sha512-ARve7us+x1XLjeYsY8ORGaMPrrGTMHRpgtaX0xRmrSD3Bv1ACXVmGUP95ztQ87qAg7NPLJKUosdX+Jet8cjCeg==","signatures":[{"sig":"MEUCIQDSzHA6dr3mEvT+UyfPxAA6begqWAjm+c/I+0qBTIodBgIgTjyk6K1M/CSouoDtRkx9fOqy7lNmiGzeobo+kJKm3hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26504},"type":"commonjs","engines":{"node":">=20"},"gitHead":"698cfdf552f8b67cb154ee59a19e3a64a65f27ab","scripts":{"test":"node --test","start":"node bin/mdo.js"},"_npmUser":{"name":"ayushshanker","email":"shankerayush@gmail.com"},"_npmVersion":"11.11.1","description":"Preview Markdown files and folders in the browser","directories":{},"_nodeVersion":"25.8.1","dependencies":{"open":"^10.2.0","commander":"^14.0.1","markdown-it":"^14.1.0","highlight.js":"^11.11.1","markdown-it-anchor":"^9.2.0","github-markdown-css":"^5.8.1","markdown-it-task-lists":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdo_0.2.0_1773766262528_0.9392733296971909","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ayushshanker/mdo","version":"0.3.0","keywords":["markdown","cli","preview","browser"],"license":"MIT","_id":"@ayushshanker/mdo@0.3.0","maintainers":[{"name":"ayushshanker","email":"shankerayush@gmail.com"}],"bin":{"mdo":"bin/mdo.js"},"dist":{"shasum":"eee5c9470556e4a1d7a81d4ae54b1380e67c1e3b","tarball":"https://registry.npmjs.org/@ayushshanker/mdo/-/mdo-0.3.0.tgz","fileCount":10,"integrity":"sha512-JYk9NF6sZuXXkZX3mXfapEHQQT7uX6ovcgUb2D/dvw35VCwz90ifXsRq6kBFusv6t31pr3tlaeEMGhzFBpwmfA==","signatures":[{"sig":"MEUCIDgkFlB9iIjUfwvlTCKitqxamDm3m1cFTxuQICMCal/GAiEA8whf3tArnap9n6FBR11QjeLYmuDeajzMlQqj4Wumb0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27704},"type":"commonjs","engines":{"node":">=20"},"gitHead":"8b3c6d54b92024624605beb7a29688e87b7a41a4","scripts":{"test":"node --test","start":"node bin/mdo.js"},"_npmUser":{"name":"ayushshanker","email":"shankerayush@gmail.com"},"_npmVersion":"11.11.1","description":"Preview Markdown files and folders in the browser","directories":{},"_nodeVersion":"25.8.1","dependencies":{"open":"^10.2.0","commander":"^14.0.1","markdown-it":"^14.1.0","highlight.js":"^11.11.1","markdown-it-anchor":"^9.2.0","github-markdown-css":"^5.8.1","markdown-it-task-lists":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdo_0.3.0_1773767133033_0.04617939846632213","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ayushshanker/mdo","version":"0.4.0","keywords":["markdown","cli","preview","browser"],"license":"MIT","_id":"@ayushshanker/mdo@0.4.0","maintainers":[{"name":"ayushshanker","email":"shankerayush@gmail.com"}],"bin":{"mdo":"bin/mdo.js"},"dist":{"shasum":"b550a47f5161b5e25402d8ccf668b36ba3b4f300","tarball":"https://registry.npmjs.org/@ayushshanker/mdo/-/mdo-0.4.0.tgz","fileCount":10,"integrity":"sha512-R4+sxSaHpUz3VhxSYaJ65eV4ju4RJtVF2nj6Eu1+eBxTYJA5k1IqRkdGAu0mF001dMNblLY8jpOKmVPrdaCgeQ==","signatures":[{"sig":"MEQCIE57D8xOUA4jFT4fuky++A1S1bxKCksBKdrk1t6J4xRwAiBO/8S4wZypRkL7ycQyEVgDlto+xwla2BQpBBZdVEe/+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28235},"type":"commonjs","engines":{"node":">=20"},"gitHead":"cc4f1ee71f357552ae5719502a83ba3d71aee002","scripts":{"test":"node --test","start":"node bin/mdo.js"},"_npmUser":{"name":"ayushshanker","email":"shankerayush@gmail.com"},"_npmVersion":"11.11.1","description":"Preview Markdown files and folders in the browser","directories":{},"_nodeVersion":"25.8.1","dependencies":{"open":"^10.2.0","commander":"^14.0.1","markdown-it":"^14.1.0","highlight.js":"^11.11.1","markdown-it-anchor":"^9.2.0","github-markdown-css":"^5.8.1","markdown-it-task-lists":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdo_0.4.0_1773767955050_0.18681995115821692","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@ayushshanker/mdo","version":"0.5.0","keywords":["markdown","cli","preview","browser"],"license":"MIT","_id":"@ayushshanker/mdo@0.5.0","maintainers":[{"name":"ayushshanker","email":"shankerayush@gmail.com"}],"bin":{"mdo":"bin/mdo.js"},"dist":{"shasum":"f41d025172cc7ce9dfc4c52020bf173239974833","tarball":"https://registry.npmjs.org/@ayushshanker/mdo/-/mdo-0.5.0.tgz","fileCount":11,"integrity":"sha512-g5puDuJw2snOywI9Fol0jrywxCgbMu6a+52ET4rzTO4fkNgyUIfnkHn3nbLp63rwnMBs2xR0qrtz6qKI0yXsMQ==","signatures":[{"sig":"MEUCIApLgrZZV0C1YAe9nHDenTu9JVs8MS3MfRTxercGJNTnAiEAinVhkTW0rEjqktHKopI/KWqMr+3soUEwH+WLycldq7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34694},"type":"commonjs","engines":{"node":">=20"},"gitHead":"cc4f1ee71f357552ae5719502a83ba3d71aee002","scripts":{"test":"node --test","start":"node bin/mdo.js"},"_npmUser":{"name":"ayushshanker","email":"shankerayush@gmail.com"},"_npmVersion":"11.12.0","description":"Preview Markdown files and folders in the browser","directories":{},"_nodeVersion":"25.8.1","dependencies":{"open":"^10.2.0","commander":"^14.0.1","mathxyjax3":"^0.8.3","markdown-it":"^14.1.0","highlight.js":"^11.11.1","markdown-it-anchor":"^9.2.0","github-markdown-css":"^5.8.1","markdown-it-task-lists":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdo_0.5.0_1774290231273_0.23226459580301184","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@ayushshanker/mdo","version":"0.5.1","description":"Preview Markdown files and folders in the browser","bin":{"mdo":"bin/mdo.js"},"type":"commonjs","engines":{"node":">=20"},"publishConfig":{"access":"public"},"scripts":{"start":"node bin/mdo.js","test":"node --test"},"keywords":["markdown","cli","preview","browser"],"license":"MIT","dependencies":{"commander":"^14.0.1","github-markdown-css":"^5.8.1","highlight.js":"^11.11.1","markdown-it":"^14.1.0","markdown-it-anchor":"^9.2.0","markdown-it-task-lists":"^2.1.1","mathxyjax3":"^0.8.3","open":"^10.2.0"},"gitHead":"265cb0a7f84eecc920ce65d0c4a4d694d38f4465","_id":"@ayushshanker/mdo@0.5.1","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-TIq3FDWFGNnh3mqkzEif1fJ+LuIDtf35tRqXSbkYEbBBsB/GPmhWac72AOtcS7zJPYMUCXNVlPD8TUS0ikumew==","shasum":"5ca594602e854d28ca4a3c72b7f573ad23ed597f","tarball":"https://registry.npmjs.org/@ayushshanker/mdo/-/mdo-0.5.1.tgz","fileCount":11,"unpackedSize":37099,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQClZw3gGlxVoe8du0KBO/EUuGJoCxVsA+FuA3HFn746NgIgb7lQzrVJydVg2DeAHEUA6HmenpP5PX9Lsri/HTrnb60="}]},"_npmUser":{"name":"ayushshanker","email":"shankerayush@gmail.com"},"directories":{},"maintainers":[{"name":"ayushshanker","email":"shankerayush@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mdo_0.5.1_1775414437273_0.7436501120700283"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-17T16:46:14.357Z","modified":"2026-04-05T18:40:37.515Z","0.1.0":"2026-03-17T16:46:14.598Z","0.2.0":"2026-03-17T16:51:02.684Z","0.3.0":"2026-03-17T17:05:33.173Z","0.4.0":"2026-03-17T17:19:15.213Z","0.5.0":"2026-03-23T18:23:51.441Z","0.5.1":"2026-04-05T18:40:37.418Z"},"license":"MIT","keywords":["markdown","cli","preview","browser"],"description":"Preview Markdown files and folders in the browser","maintainers":[{"name":"ayushshanker","email":"shankerayush@gmail.com"}],"readme":"# mdo\n\nContains `mdo` CLI for previewing Markdown files and folders in your browser.\n\n## Install\n\nGlobal install:\n\n```bash\nnpm install -g @ayushshanker/mdo\n```\n\nOne-off usage without installing:\n\n```bash\nnpx @ayushshanker/mdo README.md\npnpm dlx @ayushshanker/mdo README.md\nyarn dlx @ayushshanker/mdo README.md\n```\n\n## Command Name\n\nThe package is published as `@ayushshanker/mdo`, but the executable command is:\n\n```bash\nmdo\n```\n\n## Usage\n\nOpen the current directory in folder mode:\n\n```bash\nmdo\n```\n\nOpen a specific Markdown file:\n\n```bash\nmdo README.md\n```\n\nOpen a folder on a fixed port:\n\n```bash\nmdo docs --port 3000\n```\n\nExport a Markdown file to HTML instead of opening the browser:\n\n```bash\nmdo README.md --output README.html\n```\n\nUse a theme:\n\n```bash\nmdo README.md --theme earthsong\nmdo README.md --theme print\nmdo README.md --dark\n```\n\nRender math:\n\n```markdown\nInline: $a_b$ or \\(a_b\\)\n\n\\[\n\\frac{1}{2}\n\\]\n```\n\n## Modes\n\n### File Mode\n\nWhen you pass a Markdown file, `mdo` renders it to HTML.\n\nExamples:\n\n```bash\nmdo README.md\nmdo docs/intro.markdown\nmdo README.md --output README.html\n```\n\n### Folder Mode\n\nWhen you pass a directory, `mdo` starts a local preview server and opens a directory listing in your browser.\n\nExamples:\n\n```bash\nmdo .\nmdo docs\nmdo docs --port 3000\n```\n\n## Flags\n\n- `--dark` uses the GitHub dark theme\n- `--theme <name>` selects `github-light`, `github-dark`, `belafonte-day`, `belafonte-night`, `earth`, `earthsong`, `dracula`, or `print`\n- `--output <file>` writes HTML to disk instead of opening the browser; file mode only\n- `--port <port>` uses a fixed port for folder mode\n- `--help` prints usage information\n- `--version` prints the package version\n\n## Notes\n\n- `mdo` with no path is the same as `mdo .`\n- `--output` only works for file mode\n- Folder mode binds to loopback only and is intended for local preview\n- Math is rendered server-side with MathJax-compatible TeX syntax\n- Inline math supports `$...$` and `\\(...\\)`; display math supports `$$...$$` and `\\[...\\]`\n","readmeFilename":"README.md"}