
一款 Markdown 格式化工具,和 gofmt 比较类似,不过格式化的对象是 Markdown 文本

最近在频繁用 Markdown 写文档,内容一多就不好管理格式,经常看到一坨坨的 Markdown 内容挤在一起,导致有强迫症的我的眉头也经常挤在一起。
好在发现了强大的结构化的 Markdown 引擎 lute,它对中文语境的支持也很好,于是借助 lute 引擎开发了这款 Markdown 格式化命令行工具 mdfmt,欢迎大家试用
项目地址:elliotxx/mdfmt
Homebrew、go install 等方式一键安装 mdfmt从二进制安装,只需从 mdfmt 的 发布页面 下载对应平台的二进制文件,然后将二进制文件放在命令行能访问到的目录中即可。
elliotxx/tap 有 MacOS 和 GNU/Linux 的预编译二进制版本可用:
brew install elliotxx/tap/mdfmt 使用 Go 1.17+ 版本,你可以通过 go install 直接从源码安装 mdfmt:
go install github.com/elliotxx/mdfmt/cmd/mdfmt@latest 注意: 你将基于代码仓库最新的可用版本安装 mdfmt,尽管主分支的最新提交应该始终是一个稳定和可用的版本,但这不是安装和使用 mdfmt 的推荐方式。通过 go install 安装的 mdfmt 版本输出将显示默认版本号( default-version )。
Docker 用户可以用以下命令拉取 mdfmt 的镜像:
docker pull elliotxx/mdfmt 验证:
$ docker run --rm elliotxx/mdfmt:latest mdfmt -h ... $ docker run --rm elliotxx/mdfmt:latest mdfmt -V ... $ docker run -v $PWD:$PWD --rm elliotxx/mdfmt:latest mdfmt -d /Users/yym/workspace/mdfmt/pkg/md/testdata/hello-more.md diff -u /Users/yym/workspace/mdfmt/pkg/md/testdata/hello-more.md.orig /Users/yym/workspace/mdfmt/pkg/md/testdata/hello-more.md --- /Users/yym/workspace/mdfmt/pkg/md/testdata/hello-more.md.orig +++ /Users/yym/workspace/mdfmt/pkg/md/testdata/hello-more.md @@ -1,6 +1,7 @@ # hello + > hello -|name|age| -|--|--| -|Mike|18| +| name | age | +| ---- | --- | +| Mike | 18 | $ mdfmt -h A Markdown formatter that follow the CommonMark. Like gofmt, but for Markdown. Usage: mdfmt [flags] [path ...] Examples: # Format specified Markdown file, and write to stdout mdfmt README.md # Format and rewrite for specified Markdown file mdfmt -w README.md # Display diffs instead of rewriting Markdown files mdfmt -d README.md # List files whose formatting differs from mdfmt's mdfmt -l . # Format, rewrite, and display diffs for specified Markdown file mdfmt -d -w README.md # Format and rewrite all Markdown file in current directory mdfmt -w *.md # Recursive format and rewrite all Markdown file in current directory mdfmt -w . # Format and rewrite the specified Markdown file and directory mdfmt -w README.md testdir/ # Format stdin to stdout cat README.md | mdfmt # Show version info mdfmt -V Flags: -d, --diff display diffs instead of rewriting files -h, --help help for mdfmt -l, --list list files whose formatting differs from mdfmt's -V, --version show version info -w, --write write result to (source) file instead of stdout 1 MarkLazy 2022-02-25 09:17:24 +08:00 via Android 最近在用 md-padding 在格式化我的文档,下回试试你这个 |