-
Notifications
You must be signed in to change notification settings - Fork 69
排版自动纠正及lint md校验
Fivezh edited this page Sep 9, 2019
·
13 revisions
本文主要目的:
- 排版自动纠正:中英文间加空格、自动修正术语名词大小写
- 本地执行lint-md校验markdown格式化
PS:也可以使用lint-md的自动纠正功能,详见后文
一、安装autocorrect autocorrect地址:autocorrect 安装过程:
// 下载autocorrect
> go get -v https://github.com/studygolang/autocorrect.git
// 安装autocorrect的cli命令
> cd $(GOPATH)/src/github.com/studygolang/autocorrect/cmd/autocorrect
> go build && go install
至此,autocorrect命令会安装在$(GOPATH)/bin/目录,确保此路径已加入$PATH,就可以全局执行autocorrect命令。
二、使用autocorrect自动纠正排版格式 先看下命令主要参数:
autocorrect
NAME:
autocorrect - 自动给中英文之间加入合理的空格并纠正专用名词大小写。支持处理某个目录下所有文件。
USAGE:
autocorrect [global options] command [command options] [arguments...]
VERSION:
1.0.0 (100)
AUTHOR:
Xu Xinhua <[email protected]>
COMMANDS:
space, s 给中英文之间加入合理的空格
correct, c 纠正专用名词大小写
convert, a 同时做 space 和 correct 的事情
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
COPYRIGHT:
(c) 2018 studygolang.com
主要功能:
命令:autocorrect s -w hello.md
命令解析:
-
s
:相当于space
参数,【给中英文之间加入合理的空格】 -
-w
:此参数在命令说明中未给出,作用是【修改直接覆盖源文件】
示例:
> autocorrect s -w hello.md
> git diff hello.md
diff --git a/hello.md b/hello.md
index 68c9959..4e513b3 100644
--- a/hello.md
+++ b/hello.md
@@ -1,3 +1,3 @@
#hell world
-这是一个test测试
-这里有数字1又有单词hello world,还有[链接](http://www.google.com/)会如何
+这是一个 test 测试
+这里有数字 1 又有单词 hello world,还有[Link](http://www.google.com/)会如何
目前此功能有一定误处理,建议书写时形成大小写规范,不直接此自动纠正功能。
diff --git a/hello.md b/hello.md
index ef1885d..29616c0 100644
--- a/hello.md
+++ b/hello.md
@@ -2,8 +2,8 @@
这是一个 test 测试
这里有数字 1 又有单次 hello world,还有[Link](http://www.google.com/)会如何
-这是 go 语言的翻译规范,请注意专有名词大小写规范
+这是 Go 语言的翻译规范,请注意专有名词大小写规范
这是代码:
-> go build
+> Go build
注意:上述示例中,
go build
命令也会被误替换为Go build
,存在误伤。
依赖:lint-md
命令:
Usage: lint-md <lint-md> <files...> [options]
lint your markdown files
Options:
-v, --version output the version number
-c, --config [configure-file] use the configure file, default .lintmdrc
-f, --fix fix the errors automatically
-h, --help output usage information
由于lint-md官方docker镜像最近存在问题,目前先使用 fivezh/lint-md:cli 封装的镜像
本地运行lint-md进行markdown格式校验:(这里通过docker方式,注意将命令中hello.md
替换为你的文件名)
命令:docker run --rm -it -v$(pwd)/hello.md:/docs fivezh/lint-md:cli /docs/
作用:通过lint-md校验当前目录下的hello.md
示例:
> docker run --rm -it -v$(pwd)/hello.md:/docs fivezh/lint-md:cli /docs/
//docs
1:17-1:18 space-round-alphabet No space between Chinese and alphabet. 'ld
这是一个test测'
1:21-1:22 space-round-alphabet No space between Chinese and alphabet. '是一个test测试
这里'
1:29-1:30 space-round-number No space between Chinese and number. '试
这里有数字1又有单次'
1:30-1:31 space-round-number No space between Chinese and number. '
这里有数字1又有单次 '
5:3-5:4 space-round-alphabet No space between Chinese and alphabet. '这是Go语言的翻译规范,'
5:5-5:6 space-round-alphabet No space between Chinese and alphabet. '这是Go语言的翻译规范,'
Lint total 1 files, 0 warnings 6 errors
命令:lint-md -f hello.md
示例:
diff --git a/hello.md b/hello.md
index 308e86f..b841743 100644
--- a/hello.md
+++ b/hello.md
@@ -1,7 +1,7 @@
-#标题1
+#标题 1
这是有问题的原文
-内容中包含英文单词hello,数字1等
+内容中包含英文单词 hello,数字 1 等
包含代码片段:
-```
+```plain
> go build
> autocorrect s -w hello.md // 中英文间添加空格
> autocorrect c -w hello.md // 英文术语大小写纠错,选用,有误处理case
> docker run --rm -it -v$(pwd)/hello.md:/docs fivezh/lint-md:cli /docs/ // 本地lint-md校验