harttle / md-padding

修复 Markdown 中的混排空格:中英文、数字、链接等。
https://harttle.land/md-padding/
57 stars 5 forks source link
fixer markdown padding typeset

Markdown Padding

npm version downloads Check Release Coveralls semantic-release GitHub issues DUB license Commitizen friendly

排版中只有空格不能忍,修复你 Markdown 中缺少的空格:

这里 有个例子:

raw.md 和 formated.md 之间的 Diff

使用说明

在命令行使用

可以 npm i -g md-padding 后使用,也可以用 npx md-padding

# 输出 README.md 格式化后的内容
npx md-padding README.md

还可以接受标准输入(用在管道中),也可以原址(in-place)更改文件。详见 md-padding --help

> npx md-padding --help
md-padding [OPTION]... <FILE>

Options:
  --help, -h      Show help                  [boolean]
  --version       Show version number        [boolean]
  --in-place, -i  edit file in place         [boolean]
  --ignore-words, -I  ignore padding within/before/after these words  [string]
  --ignore-patterns, -P  ignore by a list of regexp  [string]
  --read-files, -r    read a file list containing one file per line, use empty value to read from STDIN  [string]

Examples:
  stdout    md-padding README.md
  in-place  md-padding -i README.md
  pipe      cat README.md | md-padding
  ignore-words  cat README.md | md-padding -I '=' '::'
  ignore-patterns  cat README.md | md-padding -P '=' ':+'
  batch format  cat list.txt | md-padding -r -i
  equivalent w/ md-padding -r list.txt -i

在 Vim 中使用

可以绑定一个快捷键 F6 来修复当前文件:

" 绑一个 Vim Filter
noremap <buffer> <F6> <Esc>:%!npx md-padding<CR>

在 VS Code 中使用

从 Marketplace 安装 Markdown Padding。 打开一个 Markdown 文件后,支持这些操作:

参数 类型 描述
mdpadding.ignoreWords Array<string> 这些字词内部和前后禁止加空格
mdpadding.ignorePatterns Array<string> 这些正则内部和前后禁止加空格

功能说明

中英混排

中英混排的正文内容,会确保中英之间的空格。

标点符号

需要空格的标点(比如半角逗号),会在适当的位置追加空格。

代码注释

代码格式化不是本仓库的功能之一,请使用对应语言的 prettifier。但代码中的注释会被当做 Markdown 正文来格式化,目前支持这些语言的注释:

忽略片段

有些片段希望保持原状,这时可以用 md-padding-ignore 来包裹起来。

下面是一段不需要格式化的文本
<!--md-padding-ignore-begin-->
a*b=c, b>1 => a<c
<!--md-padding-ignore-end-->
现在开始又可以格式化了。