{"id":30229657,"url":"https://github.com/unhappychoice/mdts","last_synced_at":"2026-05-06T22:01:56.512Z","repository":{"id":304489282,"uuid":"1018903054","full_name":"unhappychoice/mdts","owner":"unhappychoice","description":"A local markdown preview server. npx mdts — and you're done.","archived":false,"fork":false,"pushed_at":"2026-05-06T15:48:44.000Z","size":9569,"stargazers_count":180,"open_issues_count":8,"forks_count":14,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-06T16:40:57.438Z","etag":null,"topics":["cli","filesystem","frontmatter","live-reload","markdown","markdown-renderer","mermaid","preview","server","webui","zero-setup","zero-setup-tools"],"latest_commit_sha":null,"homepage":"https://mdts.unhappychoice.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unhappychoice.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-13T09:59:58.000Z","updated_at":"2026-05-06T15:47:19.000Z","dependencies_parsed_at":"2025-07-13T13:20:51.860Z","dependency_job_id":"645be43b-1288-4b22-83b4-69f61b7998cd","html_url":"https://github.com/unhappychoice/mdts","commit_stats":null,"previous_names":["unhappychoice/mdts"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/unhappychoice/mdts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unhappychoice%2Fmdts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unhappychoice%2Fmdts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unhappychoice%2Fmdts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unhappychoice%2Fmdts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unhappychoice","download_url":"https://codeload.github.com/unhappychoice/mdts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unhappychoice%2Fmdts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32713820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","filesystem","frontmatter","live-reload","markdown","markdown-renderer","mermaid","preview","server","webui","zero-setup","zero-setup-tools"],"created_at":"2025-08-14T21:48:33.184Z","updated_at":"2026-05-06T22:01:56.506Z","avatar_url":"https://github.com/unhappychoice.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"docs/images/logo.svg\" alt=\"mdts\" width=\"400\"\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/mdts\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/mdts.svg?style=flat-square\u0026color=1e3a8a\" alt=\"npm\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/unhappychoice/mdts/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/unhappychoice/mdts?style=flat-square\u0026color=0f172a\u0026label=release\" alt=\"release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/unhappychoice/mdts/actions/workflows/test.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/unhappychoice/mdts/test.yml?branch=main\u0026style=flat-square\u0026label=CI\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/unhappychoice/mdts\"\u003e\u003cimg src=\"https://img.shields.io/codecov/c/github/unhappychoice/mdts?style=flat-square\" alt=\"codecov\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/unhappychoice/mdts/blob/main/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/npm/l/mdts.svg?style=flat-square\" alt=\"license\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  (\u003cstrong\u003eM\u003c/strong\u003e)ark(\u003cstrong\u003ed\u003c/strong\u003e)own (\u003cstrong\u003eT\u003c/strong\u003e)ree (\u003cstrong\u003eS\u003c/strong\u003e)erver\n  \u003cbr\u003e\n  A zero-config CLI tool to preview your local Markdown files in a browser.\n  \u003cbr\u003e\n  \u003cstrong\u003enpx mdts\u003c/strong\u003e — and you're done.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://mdts-unhappychoice.netlify.app\" target=\"_blank\"\u003e\n    \u003cstrong\u003e🔗 Try the Live Demo\u003c/strong\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/screen_animation.gif\" width=\"640\" alt=\"mdts demo\"\u003e\n\u003c/p\u003e\n\n## 🔧 Features\n\n- ⚡ **Instant Markdown Preview** – Run and view in seconds  \n- 🌐 **Web UI** – Clean, tree-based browser interface with three-panel layout\n- 🔄 **Live Reload** – Automatically refreshes on file changes  \n- 🧘 **Zero Setup** – No config, no install, no nonsense\n- 🎨 **Custom Themes** – 20+ beautiful application themes and syntax highlighting options\n\n\n## 🚀 Quick Start\n\n```bash\nnpx mdts\n```\n\nThis starts a local server at http://localhost:8521 and opens your browser.\nYour current directory becomes a browsable Markdown tree.\n\n## 💡 Use Cases\n\n- Reviewing AI-generated docs  \n- Quickly checking README or note folders  \n- Lightweight local Markdown wiki  \n\nSee [detailed use cases](docs/usecases.md) for more examples and workflows.  \n\n## 📦 Requirements\n\n- Node.js\n- No installation needed – uses `npx`\n\n## 🛠 Options\n\n```bash\nnpx mdts [directory] [options]\n```\n\n| Option              | Description                                          | Example                        |\n| ------------------- | ---------------------------------------------------- | ------------------------------ |\n| `[directory]`       | Directory to serve (default `.`)                     | `./docs`                       |\n| `--glob`, `-g`      | Glob patterns to filter markdown files               | `-g 'docs/*.md' 'specs/*.md'` |\n| `--host`, `-H`      | Host to listen on (default `localhost`)              | `0.0.0.0`                      |\n| `--port`, `-p`      | Port to serve on (default `8521`)                    | `8000`                         |\n| `--silent`, `-s`    | Suppress server logs (default `false`)               |                                |\n| `--no-open`         | Do not open the browser automatically                |                                |\n| `--version`, `-V`   | Output version number                                |                                |\n| `--help`, `-h`      | Display help for command                             |                                |\n\n### Examples\n\n```bash\n# Serve current directory (all markdown files)\nnpx mdts\n\n# Serve a specific directory\nnpx mdts ./docs\n\n# Filter with glob patterns (only matching files are shown)\nnpx mdts ./project -g 'docs/**/*.md' 'README.md'\n\n# Combine options\nnpx mdts ./monorepo -g 'packages/*/README.md' --port 3000 --no-open\n```\n\n## 📚 Documentation\n\n### 🔗 [Live Demo](https://mdts-unhappychoice.netlify.app)\nExperience mdts in action with real examples and interactive features.\n\n### 📖 Documentation\n- [Use Cases](docs/usecases.md)\n- [Markdown Features](docs/markdown_features.md)  \n- [Frontend Features](docs/frontend_features.md)\n- [Advanced Configuration](docs/configuration.md)\n- [API Reference](docs/api.md)\n- [Troubleshooting](docs/troubleshooting.md)\n- [Comparison with other tools](docs/comparison.md)\n- [FAQ](docs/faq.md)\n\n## Contributing\n\nFound a bug? Have an idea? Want to send a PR?  \nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for details — we'd love to have your help!\n\n## Author\n\n[@unhappychoice](https://unhappychoice.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funhappychoice%2Fmdts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funhappychoice%2Fmdts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funhappychoice%2Fmdts/lists"}