1 unstable release
0.1.0 | Dec 30, 2024 |
---|
#404 in Command line utilities
124 downloads per month
11KB
119 lines
code2md
A simple CLI tool that recursively collects files (excluding hidden & certain folders/files, skipping binary files) and outputs them into a single Markdown file.
(中文版请向下滚动查看)
Features
• Ignore hidden files/folders (names starting with .)
• Skip certain build/output directories by default (e.g. node_modules, target, dist, build)
• Skip common lock files (e.g. package-lock.json, pnpm-lock.yaml, yarn.lock)
• Automatically detect and skip binary files (contains \0 bytes)
• Output each file’s content in a code block, with syntax highlighting based on the file extension (Rust, JS, TS, etc.)
Installation
1. Ensure you have Rust installed.
2. Clone this repository or download the source code.
3. In the project root, run:
cargo install --path .
This installs the code2md binary into your local Cargo bin (usually ~/.cargo/bin).
Usage
From your terminal:
code2md [output_file]
• <directory>: The path you want to scan (e.g. . for current directory).
• [output_file]: (Optional) The Markdown file to create/overwrite. Default is all_files.md.
Example
code2md . my_project_files.md
After running, you’ll get a my_project_files.md containing all relevant text-based files from the current directory (and subdirectories), organized by file path and enclosed in appropriate code fences.
License
Licensed under the MIT License.
中文说明
这是一个简单的命令行工具,可递归遍历指定目录,把所有(排除隐藏文件、部分编译/中间产物文件、常见锁文件、并且自动跳过二进制文件)的文本文件内容,合并输出到一个 Markdown 文件中。
特性
• 忽略隐藏文件/文件夹(名称以 . 开头)
• 跳过常见的构建/输出目录(如 node_modules, target, dist, build 等)
• 跳过常见的锁文件(如 package-lock.json, pnpm-lock.yaml, yarn.lock)
• 自动识别并跳过二进制文件(检测到 \0 字节)
• 将文本文件内容按 Markdown 代码块输出,并根据扩展名作简单的语法高亮(Rust, JS, TS 等)
安装
1. 确保已安装 Rust。
2. 下载或克隆本项目到本地。
3. 在项目根目录下执行:
cargo install --path .
这样会将可执行文件 code2md 安装到本地 Cargo bin 目录(通常是 ~/.cargo/bin)。
使用方法
在终端中执行:
code2md <目录路径> [输出文件]
• <目录路径>:要扫描的目标路径,例如当前目录可使用 .。
• [输出文件]:可选参数,默认为 all_files.md。如果指定了文件名,会将结果写到这个文件中。
示例
code2md . my_project_files.md
运行结束后,会在当前目录下生成一个 my_project_files.md 文件,里面包含扫描到的所有文本文件,按照文件路径顺序排版,并使用合适的代码块标记高亮。
许可证
使用 MIT License 许可证开源。根据许可证,你可以自由使用、复制、修改和分发本项目的代码,但需保留许可证信息。
Dependencies
~0.1–6.5MB
~34K SLoC