harttle / md-padding

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

能否给与参数不处理英文之间的符号问题,或者不对特定英文标点进行处理 #37

Closed ykla closed 6 months ago

ykla commented 6 months ago

例如:

* –––, 2023, “Practicing *ubuntu*,” *The Philosophical Forum*, 54: 143–159. doi:10.1111/phil.12338

会自动在 doi:10.1111 的冒号后加空格,这是 doi 引用规范,不能更改。

对于英文的 Markdown 处理也存在一些问题。会在 *: 符号前后加空格,造成 Markdown 语法识别错误或者影响引用规范。

比如某些数学公式存在比值 ::,例如 4:2::2:11:2

ykla commented 6 months ago

对于人名中的间隔号能否忽略处理?

比如 约翰·洛克 处理后会变成 约翰 · 洛克

比如 《庄子·天下篇》——>《庄子 · 天下篇》

这个 · 用输入法输入 dian 打出来就是这样的。一般也都是这么用的。我至今没见过其他的点。

ykla commented 6 months ago

另请参考 https://github.com/taophilosophy/SEP-CN/pull/7/files

harttle commented 6 months ago

1.5.1 中,

另外 1::1 还是会有空格的,这种情况可以设置 ignoreWords = ["::"] 来避免加空格。参考 https://github.com/harttle/md-padding/issues/21 不太清楚你提到的星号加空格是什么场景。如果以上不能解决,可以开新的 issue。

ykla commented 6 months ago

你好,请问如果使用命令行的话,应该如何定义参数 mdpadding.ignoreWords ?能否通过指定一个配置文件来操作?

harttle commented 6 months ago

最新版添加了 --ignore-words 参数,例子:

npx md-padding --ignore-words '=' '>' -f file.txt

注意由于 --ignore-words 是个列表,这个列表和文件列表之间要用 -f 分隔。

ykla commented 6 months ago

最新版添加了 --ignore-words 参数,例子:

npx md-padding --ignore-words '=' '>' -f file.txt

注意由于 --ignore-words 是个列表,这个列表和文件列表之间要用 -f 分隔。

你好,我的用法是:

find "$(pwd)" -type f -name "*.md" | npx md-padding --ignore-words '-' ':' -f  --read-files -i

输出结果:https://github.com/taophilosophy/SEP-CN/pull/7

同时 action 输出 md-padding 使用版本为 1.7.0,为当前最新版。

使用以上命令指定参数后,仍会处理上面提到的 doi 的英文冒号。

测试用例:

* Diogenes Laertius, *Lives of the Eminent Philosophers*, Tiziano Dorandi (ed.), Cambridge: Cambridge University Press, 2013. doi:10.1017/CBO9780511843440