开源:hint - 中文 Markdown 格式检查,可以集成 Travis CI

ZanDykes 7年前
   <h2>hint</h2>    <p>A simple <strong>markdown</strong> lint / hint cli-tool , for markdown developer integrated with travis.</p>    <p>一个简单的 <strong>markdown</strong> 静态检查的控制台 cli 工具,可以方便 markdown 开发者轻松集成 travis 自动检测。</p>    <h2>一、安装</h2>    <p>pip install hint</p>    <p>然后在系统中会得到一个 hint 的命令 cli 工具。</p>    <h2>二、使用</h2>    <p>使用方法有两种:</p>    <p>2.1 一种是 命令行 cli 方式 ,简单使用方法如下:</p>    <p>hint markdown_file</p>    <p>或者</p>    <p>hint markdown_folder</p>    <p>或者使用 hint --help 查看帮助信息和具体详细的使用方法。</p>    <pre>  $ hint --help  Usage: hint-script.py [OPTIONS] FILE    Options:    -i, --ignore TEXT         The error codes which will be ignored.    -f, --format [text|json]  The output format of error information.    -m, --max-depth INTEGER   The max depth for traverse the path.    --help                    Show this message and exit.</pre>    <p>可以用于直接集成到各种 ci 系统中,例如 travis-ci。</p>    <p>2.2 另外一种是 代码 API 调用的方式 ,简单使用方法如下:</p>    <pre>  import hint    text='''  hint 是一个简单的 **markdown** 静态检查的控制台 `cli` 工具。  可以方便 markdown 开发者轻松集成 travis 自动检测。  '''  errors = hint.check(text, ignore='E201')    fn = 'README.md'  errors = hint.check_file(fn, format='text')</pre>    <p>可以方便的进行第三方扩展开发。</p>    <h2>三、错误码</h2>    <p>检查规则来源于 <a href="/misc/goto?guid=4959736792607047156" rel="nofollow,noindex">chinese-copywriting-guidelines</a> ,错误码命名方式参考于 flake8。目前支持的错误码如下所示:</p>    <table>     <thead>      <tr>       <th>错误码</th>       <th>检查类型</th>       <th>详细描述</th>       <th>完成</th>      </tr>     </thead>     <tbody>      <tr>       <td>E101</td>       <td>空格</td>       <td>中英文之间需要增加空格</td>       <td>done</td>      </tr>      <tr>       <td>E102</td>       <td>空格</td>       <td>中文与数字之间需要增加空格</td>       <td>done</td>      </tr>      <tr>       <td>E103</td>       <td>空格</td>       <td>全角标点与其他字符之间不加空格</td>       <td>done</td>      </tr>      <tr>       <td>E104</td>       <td>空格</td>       <td>除了%、℃、°、以及倍数单位(如 2x、3n)之外,数字与单位之间需要增加空格</td>       <td>done</td>      </tr>      <tr>       <td>E201</td>       <td>标点</td>       <td>不重复使用标点符号</td>       <td>done</td>      </tr>      <tr>       <td>E202</td>       <td>标点</td>       <td>只有中文或中英文混排中,一律使用中文全角标点</td>       <td>done</td>      </tr>      <tr>       <td>E203</td>       <td>标点</td>       <td>如果出现整句英文,则在这句英文中使用英文、半角标点</td>       <td>done</td>      </tr>      <tr>       <td>E204</td>       <td>标点</td>       <td>省略号请使用……标准用法</td>       <td>done</td>      </tr>      <tr>       <td>E205</td>       <td>标点</td>       <td>英文和后面的半角标点之间不需要空格</td>       <td>done</td>      </tr>      <tr>       <td>E301</td>       <td>数字</td>       <td>数字使用半角字符</td>       <td>done</td>      </tr>     </tbody>    </table>    <p>关于各种错误码的正确、错误范例,可以参考 <a href="/misc/goto?guid=4959736792694521468" rel="nofollow,noindex">tests/md</a> 。 目前有了大概的代码结构,欢迎 PR 更多的检查错误类型和检查方式 。</p>    <h2>LICENSE</h2>    <p>MIT @ <a href="/misc/goto?guid=4959736792780795191" rel="nofollow,noindex">hustcc</a> .</p>    <p> </p>    <p> </p>    <p> </p>