{"_id":"@1-/mdt","_rev":"6-edd00df78c1bd1b1fe10492887ec2247","name":"@1-/mdt","dist-tags":{"latest":"0.1.11"},"versions":{"0.1.6":{"name":"@1-/mdt","version":"0.1.6","keywords":["generator","markdown","render","template","toc"],"_id":"@1-/mdt@0.1.6","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"dist":{"shasum":"156a4d8902c6119efa8d42a9dfc928b7157a57cd","tarball":"https://registry.npmjs.org/@1-/mdt/-/mdt-0.1.6.tgz","fileCount":9,"integrity":"sha512-eT19B7+3MIwoyaFaHR8wcKE/E0cyho9V54CVR/GyDOUVeihPhF/3FBMySJUcYRJ265LrhUmTSihnUN91ok6YdQ==","signatures":[{"sig":"MEUCIQDepSDznQFT3D1yCju3fUFz3R7yfXf/6ifz6rS4qvRJFwIgWJ3003JgfT+uHLdtusYojcUefLmOr1Hk+2wJaXJyTM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10156},"type":"module","exports":{".":"./_.js","./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"_npmVersion":"11.13.0","description":"Render markdown template and generate hierarchical TOC / 渲染 Markdown 模板并生成有层级的 TOC 目录","directories":{},"_nodeVersion":"26.2.0","dependencies":{"@1-/md":"^0.1.2","@3-/log":"^0.1.9","@1-/read":"^0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdt_0.1.6_1781060371113_0.10534795791575147","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@1-/mdt","version":"0.1.7","keywords":["generator","markdown","render","template","toc"],"_id":"@1-/mdt@0.1.7","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"dist":{"shasum":"3204e729d3220f93979c1b238fbfadf3748f2c2a","tarball":"https://registry.npmjs.org/@1-/mdt/-/mdt-0.1.7.tgz","fileCount":9,"integrity":"sha512-f1PIiJrOy17i+EKNa1lfWza6X4vDxwsOY4yZjEHPkvSpxC3AbJEpsZ1xHqF3y3vbeJ6CZJbLbhGJ7CsDS/+LAA==","signatures":[{"sig":"MEQCIGDCBzWsew4bUYW+KepArAMrsQfEQYn6KEpJCHBY/dMmAiBfNMUk0jc3r2aiU05LxH3FneHLw5ZAn+vX0JMIJHcZXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10934},"type":"module","exports":{".":"./_.js","./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"_npmVersion":"11.13.0","description":"Render markdown template and generate hierarchical TOC / 渲染 Markdown 模板并生成有层级的 TOC 目录","directories":{},"_nodeVersion":"26.2.0","dependencies":{"@1-/md":"^0.1.2","@3-/log":"^0.1.9","@1-/read":"^0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdt_0.1.7_1781060483967_0.9936051484774635","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@1-/mdt","version":"0.1.8","keywords":["generator","markdown","render","template","toc"],"_id":"@1-/mdt@0.1.8","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"dist":{"shasum":"d6aa7b94939c4a472f9e90a56f8ced2cec7fd89b","tarball":"https://registry.npmjs.org/@1-/mdt/-/mdt-0.1.8.tgz","fileCount":9,"integrity":"sha512-xXs1v1SeM2hIYLdPn4Mrcy0llU/5myXXoCXTFuPJxfTIjXugSgsmS5VHZql+l8SSnJZU3iO/XJG6b7yTLL0efA==","signatures":[{"sig":"MEQCIHLKjhtp0fZf6HgjNwTcRcmG++8qLuM9wM2XqEBEhYpcAiA51MBtZdjYRx6mZ2GNl2hXga4bI1p7hBbtnn21ao4Dxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11969},"type":"module","exports":{".":"./_.js","./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"_npmVersion":"11.13.0","description":"Render markdown template and generate hierarchical TOC / 渲染 Markdown 模板并生成有层级的 TOC 目录","directories":{},"_nodeVersion":"26.2.0","dependencies":{"@1-/md":"^0.1.3","@3-/log":"^0.1.9","@1-/read":"^0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdt_0.1.8_1781061675201_0.9168957326392515","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@1-/mdt","version":"0.1.9","keywords":["generator","markdown","render","template","toc"],"_id":"@1-/mdt@0.1.9","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"bin":{"mdt":"mdt.js"},"dist":{"shasum":"4d0fc4df2f4193ce4763f6fc006f401e56e1cb12","tarball":"https://registry.npmjs.org/@1-/mdt/-/mdt-0.1.9.tgz","fileCount":10,"integrity":"sha512-WvhZWTEgu7WvFYvf9bEavPGkdRB7MjlSgCgzS1zr2cr80B5eaWUlHz0Q9Es/dkhAX6sMIA2M5J2lwq17B3zbHw==","signatures":[{"sig":"MEYCIQC6ob7Plvw+aDPfMk62Fm1PZo1Bllhc4Nk52gX7ompqBwIhAL8vUE9iNDgqs6gxgzB5JY8BLFvkaaCBF7eoYHgaNMYV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14962},"type":"module","exports":{".":"./_.js","./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"_npmVersion":"11.13.0","description":"Render markdown template and generate hierarchical TOC / 渲染 Markdown 模板并生成有层级的 TOC 目录","directories":{},"_nodeVersion":"26.2.0","dependencies":{"yargs":"^18.0.0","@1-/md":"^0.1.3","@3-/log":"^0.1.9","@1-/read":"^0.1.0","@1-/walk":"^0.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdt_0.1.9_1781062787736_0.9748297828714718","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@1-/mdt","version":"0.1.10","keywords":["generator","markdown","render","template","toc"],"_id":"@1-/mdt@0.1.10","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"bin":{"mdt":"mdt.js"},"dist":{"shasum":"92f64756d13bab6afba4792c3823ce03ca449b2c","tarball":"https://registry.npmjs.org/@1-/mdt/-/mdt-0.1.10.tgz","fileCount":10,"integrity":"sha512-5OCHWt9u6KPHlGUARqBl1oD9DPiG4riqzWiHzL27uv3iVEy7CTVAtoAdNIyFShPo0h5dBfFZITe24yIwar8lew==","signatures":[{"sig":"MEQCIH2ybTAhXvOF2D1U85R+R/CXjolzFsgL9j6t0Fie17IiAiA3QtmwFuNAAomMRcAzwxZuOml8hIAouXfTubPoNYHpUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC6ZTXZ7Ov7yeuLiDRZyRsLhO7P5dchnmdekGx8ajmqrwIgWk8a6rSXv1gAepZBDFwc1Mc7L1idATb8R1z8kvh/9sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14919},"type":"module","exports":{".":"./_.js","./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"_npmVersion":"11.19.0","description":"Render markdown template and generate hierarchical TOC / 渲染 Markdown 模板并生成有层级的 TOC 目录","directories":{},"_nodeVersion":"26.7.0","dependencies":{"yargs":"^18.0.0","@1-/md":"^0.1.5","@3-/log":"^0.1.9","@1-/read":"^0.1.1","@1-/walk":"^0.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mdt_0.1.10_1788322213859_0.9015119626593173","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"_id":"@1-/mdt@0.1.11","bin":{"mdt":"mdt.js"},"dist":{"shasum":"26c2e97521d881c01c22b6269b0d235b553df396","tarball":"https://registry.npmjs.org/@1-/mdt/-/mdt-0.1.11.tgz","fileCount":10,"integrity":"sha512-i3aDh0dmBf6YV/VDSWdxtAZuO9UO96nkwfXYFCo2+Q4s4OTDDbjQXUXzJsOtAJbOXO6WrPPUqY1rEzVXudmMGw==","signatures":[{"sig":"MEQCIDd1xx4uPiApcQ8KBPnw3aYBwxMu5t1VZoDZDjMSLbGAAiBlptBrDskr2dfuRrz1trx0ol5R1kO9DK0ketM/YYTSxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFjZLh91yD0OQ70xI9HbN89umO+Iodrf4ud7cVZl8Tg7AiAP3w5qbnIDbbn8akVNiMOH68URu+5ZxP7aIzQAEOI+6g=="}],"unpackedSize":14397},"name":"@1-/mdt","type":"module","exports":{".":"./_.js","./*":"./*"},"version":"0.1.11","_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"keywords":["generator","markdown","render","template","toc"],"_npmVersion":"11.19.0","description":"Render markdown template and generate hierarchical TOC / 渲染 Markdown 模板并生成有层级的 TOC 目录","directories":{},"maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"_nodeVersion":"26.7.0","dependencies":{"yargs":"^18.0.0","@1-/md":"^0.1.5","@3-/log":"^0.1.9","@1-/read":"^0.1.1","@1-/walk":"^0.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mdt_0.1.11_1788322871623_0.844850319056224"}}},"time":{"created":"2026-06-10T02:59:30.922Z","modified":"2026-09-02T04:21:11.970Z","0.1.6":"2026-06-10T02:59:31.380Z","0.1.7":"2026-06-10T03:01:24.121Z","0.1.8":"2026-06-10T03:21:15.331Z","0.1.9":"2026-06-10T03:39:47.888Z","0.1.10":"2026-09-02T04:10:13.962Z","0.1.11":"2026-09-02T04:21:11.719Z"},"keywords":["generator","markdown","render","template","toc"],"description":"Render markdown template and generate hierarchical TOC / 渲染 Markdown 模板并生成有层级的 TOC 目录","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"readme":"[English](#en) | [中文](#zh)\n\n---\n\n<a id=\"en\"></a>\n# @1-/mdt : Render Markdown templates and generate hierarchical TOC\n\n- [@1-/mdt : Render Markdown templates and generate hierarchical TOC](#1-mdt-render-markdown-templates-and-generate-hierarchical-toc)\n  - [1. Features](#1-features)\n  - [2. Usage Demonstration](#2-usage-demonstration)\n    - [API Usage](#api-usage)\n    - [CLI Tool](#cli-tool)\n    - [Template Example (README.mdt)](#template-example-readmemdt)\n  - [3. Design Idea](#3-design-idea)\n  - [4. Tech Stack](#4-tech-stack)\n  - [5. Code Structure](#5-code-structure)\n  - [6. History](#6-history)\n  - [About](#about)\n\n## 1. Features\n\n`mdt` parses Markdown template files with recursive assembly and automated TOC generation to solve multi-file documentation maintenance challenges.\n\n- **Recursive Assembly**: Imports external Markdown files using `<+ relative_path >` syntax with nested support; missing files generate warnings but processing continues\n- **Block Rendering**: Splits documents by `---` into independent blocks for isolated processing\n- **Hierarchical TOC**: Extracts headers level 2 and above within each block to build indented tables of contents, skipping headers inside all types of code blocks (including language-specific blocks)\n- **Automatic Injection**: Inserts generated TOC directly before the first level-2+ header of each block at optimal whitespace position\n- **Anchor Conversion**: Translates header text into standardized Markdown anchor links with full Unicode character support (Chinese, Japanese, etc.), using Unicode-aware regex processing\n\n## 2. Usage Demonstration\n\n### API Usage\n\nImport the main module and pass template path and package root directory:\n\n```javascript\nimport render from \"@1-/mdt\";\n\nconst result = await render(\"path/to/README.mdt\", \"path/to/package\");\nconsole.log(result);\n```\n\n### CLI Tool\n\nRun `mdt` to process `.mdt` template files and generate corresponding `.md` documents:\n\n```bash\n# Process all .mdt files in current directory\nbun run mdt\n\n# Process specified file (generates README.md)\nbun run mdt README.mdt\n\n# Process specified directory\nbun run mdt ./docs\n```\n\n### Template Example (README.mdt)\n\n```markdown\n# Module Name\n\n<+ ./docs/intro.md >\n\n---\n\n# Detailed Design\n\n<+ ./docs/design.md >\n```\n\n## 3. Design Idea\n\nThe system splits templates by `---` into independent blocks, processes each block through recursive expansion, header parsing, TOC generation, and injection, then joins the results.\n\n![](https://cdn.jsdmirror.com/gh/webc-fs/-@j6/MgOvzLJx4khHYD5_LwrA.svg)\n\n## 4. Tech Stack\n\n- Runtime: [Bun](https://bun.sh/)\n- Core Dependencies:\n  - `@1-/md`: Markdown line processing utility (includes code block detection)\n  - `@1-/read`: Asynchronous file reading\n  - `@1-/walk`: Directory traversal\n  - `@3-/log`: Logging utility\n  - `yargs`: Command-line argument parsing\n\n## 5. Code Structure\n\n```\nsrc/\n├── _.js            # Main entry point, splits blocks and coordinates rendering\n├── blockRender.js  # Block-level renderer coordinator\n├── linesRender.js  # Recursive resolver for `<+ path >` syntax (with missing file warnings)\n├── headerParse.js  # Header parser (uses regex matching, skips all code block types)\n├── tocGen.js       # Hierarchical TOC generator (level 2+ headers only)\n├── tocInject.js    # TOC injector (intelligent insertion positioning)\n├── anchor.js       # Header-to-anchor converter (Unicode support, uses \\p{L}\\p{N} regex)\n└── mdt.js          # CLI tool entry point\n```\n\n## 6. History\n\nIn 2004, John Gruber and Aaron Swartz designed Markdown to enable writing human-readable plain text documents that convert to HTML. As software engineering scaled, technical documentation evolved into complex cross-language, cross-module file trees.\n\nMonolithic Markdown files cause merge conflicts and retrieval difficulties; splitting documents into multiple files breaks table of contents navigation, anchor consistency, and relative links. `mdt` provides a lightweight solution, avoiding static site generator configuration overhead, with template assembly syntax and block-level TOC generation—enabling developers to focus on content while the tool handles anchor calculation, hierarchy generation, and template assembly.\n\n\n## About\n\nThis library is developed by [WebC.site](https://webc.site).\n\n[WebC.site](https://webc.site): A new paradigm of web development for AI\n\n\n---\n\n<a id=\"zh\"></a>\n# @1-/mdt : Render Markdown templates and generate hierarchical TOC\n\n- [@1-/mdt : Render Markdown templates and generate hierarchical TOC](#1-mdt-render-markdown-templates-and-generate-hierarchical-toc)\n  - [1. 功能介绍](#1-功能介绍)\n  - [2. 使用演示](#2-使用演示)\n    - [API 调用](#api-调用)\n    - [命令行工具](#命令行工具)\n    - [模板示例 (README.mdt)](#模板示例-readmemdt)\n  - [3. 设计思路](#3-设计思路)\n  - [4. 技术栈](#4-技术栈)\n  - [5. 代码结构](#5-代码结构)\n  - [6. 历史故事](#6-历史故事)\n  - [关于](#关于)\n\n## 1. 功能介绍\n\n`mdt` 解析 Markdown 模板文件，支持递归拼接与自动化目录生成，解决多文件文档维护痛点。\n\n- **递归拼接**：使用 `<+ 相对路径 >` 语法导入外部 Markdown 文件，支持多层嵌套，缺失文件时输出警告但继续处理\n- **分块渲染**：以 `---` 分割文档为独立块，各块独立解析与渲染\n- **层级目录**：提取各块内二级及以上标题生成缩进式 TOC，跳过代码块内标题（包括各种语言的代码块）\n- **自动注入**：将生成的 TOC 插入至各块首个二级及以上标题前的最优空白位置\n- **锚点转换**：标题文本自动转换为标准化 Markdown 锚点链接，支持 Unicode 字符（中文、日文等），使用 Unicode-aware regex 处理特殊字符\n\n## 2. 使用演示\n\n### API 调用\n\n导入主模块并传入模板路径与包根路径：\n\n```javascript\nimport render from \"@1-/mdt\";\n\nconst result = await render(\"path/to/README.mdt\", \"path/to/package\");\nconsole.log(result);\n```\n\n### 命令行工具\n\n运行 `mdt` 处理 `.mdt` 模板文件，生成对应 `.md` 文档：\n\n```bash\n# 处理当前目录所有 .mdt 文件\nbun run mdt\n\n# 处理指定文件（生成 README.md）\nbun run mdt README.mdt\n\n# 处理指定目录\nbun run mdt ./docs\n```\n\n### 模板示例 (README.mdt)\n\n```markdown\n# 模块名称\n\n<+ ./docs/intro.md >\n\n---\n\n# 详细设计\n\n<+ ./docs/design.md >\n```\n\n## 3. 设计思路\n\n系统按 `---` 分割模板为独立块，对每块执行递归展开、标题解析、TOC 生成与注入流程，最终拼接输出。\n\n![](https://cdn.jsdmirror.com/gh/webc-fs/-@iM/rJjUagcc6ACwCo2Ji8vg.svg)\n\n## 4. 技术栈\n\n- 运行时：[Bun](https://bun.sh/)\n- 核心依赖：\n  - `@1-/md`: Markdown 行处理工具（含代码 block 检测）\n  - `@1-/read`: 异步文件读取\n  - `@1-/walk`: 目录遍历\n  - `@3-/log`: 日志输出\n  - `yargs`: 命令行参数解析\n\n## 5. 代码结构\n\n```\nsrc/\n├── _.js            # 主入口，分割文档块并协调渲染\n├── blockRender.js  # 块级渲染协调器\n├── linesRender.js  # 递归处理 `<+ 路径 >` 引用（含缺失文件警告）\n├── headerParse.js  # 标题解析（使用正则匹配，跳过所有类型代码块）\n├── tocGen.js       # 层级 TOC 生成器（仅处理二级及以上标题）\n├── tocInject.js    # TOC 注入器（智能定位插入位置）\n├── anchor.js       # 标题到锚点转换（Unicode 支持，使用 \\p{L}\\p{N} 正则）\n└── mdt.js          # CLI 工具入口\n```\n\n## 6. 历史故事\n\n2004年 John Gruber 与 Aaron Swartz 设计 Markdown，以纯文本编写易读文档并转换为 HTML。随着软件工程规模扩张，技术文档演变为跨语言、跨模块的复杂文件树。\n\n单体 Markdown 文件导致协作冲突与检索困难；多文件拆分则破坏目录导航、锚点一致性与相对链接。`mdt` 提供轻量级解决方案，避免静态网站生成器配置开销，通过模板拼接语法与自动化块级 TOC 生成，使开发者专注文档内容，系统处理锚点计算、层级生成与模板组装。\n\n\n## 关于\n\n本库由 [WebC.site](https://webc.site) 开发。\n\n[WebC.site](https://webc.site) : 面向人工智能的网站开发新范式\n\n","readmeFilename":"README.md"}