
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
あなたの校正を手伝ってくれるライブラリ。
今まで、校正作業は主に編集のフェーズの作業でした。 これからは校正情報を編集者が作り、著者が執筆しながら自分で校正を行うようになります。
自分のライブラリに組み込んで使う場合。
$ npm install --save prh
コマンドラインツールとして使う場合。
$ npm install -g prh
テキストファイルであれば、どのようなファイルであっても処理対象にすることができます。
$ prh --help
Usage: prh [options] [command] [--] [files...]
Options:
--rules-json emit rule set in json format
--rules-yaml emit rule set in yaml format
--rules <path> path to rule yaml file
--verify checking file validity
--stdout print replaced content to stdout
--diff show unified diff
-r, --replace replace input files
Commands:
init generate prh.yml
実際に利用した場合の出力例。 校正ルールは無指定の場合、pwdのprh.ymlを参照しようとします。
# 校正前のファイル例
$ cat sample.md
# サンプルですよ
cookieとjqueryという表記は正しいだろうか?
# チェックにひっかかる箇所の表示
$ prh sample.md
sample.md(3,1): cookie → Cookie
sample.md(3,8): jquery → jQuery
基本的な書き方についてはmisc/prh.ymlを参照してください。
実用するための設定ファイルはprh/rulesのmedia/techbooster.ymlがおすすめです。
その他、prh/rulesに各種設定を取り揃えてあるので、好きに組み合わせてご利用ください。
init
サブコマンドでbasicな設定ファイルを作成できます(実用には不向き)。
$ prh init
create prh.yml
see prh/rules collection https://github.com/prh/rules
実用上は git submodule add https://github.com/prh/rules.git prh-rules
して好きなルールを使います。
これを参照するprh.ymlは次のように書きます。
version: 1
imports:
- ./prh-rules/media/techbooster.yml
--diff
オプションunified diff形式で変更点を出力します。 colordiffと組み合わせると標準のレポートより見やすくなるかもしれません。
$ prh --diff sample.md
Index: sample.md
===================================================================
--- sample.md before
+++ sample.md replaced
@@ -1,4 +1,4 @@
# サンプルですよ
-cookieとjqueryという表記は正しいだろうか?
+CookieとjQueryという表記は正しいだろうか?
--stdout
オプション校正を適用した結果をstdoutに出力します。
$ prh --stdout sample.md
# サンプルですよ
CookieとjQueryという表記は正しいだろうか?
v3.x系まではこのオプションがデフォルトの振る舞いでした。
--verify
オプションチェック結果をexit codeとして出力します。 文章のテストやCIなどに組み込む際に便利です。
$ prh --verify sample.md
Error: sample.md failed proofreading
....
$ echo $?
1
-r, --replace
オプション指定したファイルの校正結果を直接ファイルに上書きします。
$ prh --replace sample.md
replaced sample.md
$ cat sample.md
# サンプルですよ
CookieとjQueryという表記は正しいだろうか?
prh単体の利用ではMarkdownやRe:VIEWなどのファイルの構造は考慮できません。 そのため、URLの一部が変換されてしまったりします。 他にも意図的に指摘内容を無視したい場合があります。
そんな時、 prh:disable
プラグマを使うことができます。
prhは文章を段落毎に処理し、段落にプラグマが含まれる場合大本のルールよりそちらの支持を優先します。
具体例を見ていきましょう。
#@# prh:disable
ここの段落は全く校正されない。
#@# prh:disable:web
web→Webの校正ルールがある場合。
ここの段落はwebというワードが含まれていても無視するよう指定されているので警告されない。
#@# prh:disable:web|jquery|[abc]
無視ルールは正規表現として解釈されるため複雑な条件も記述できる。
ルールは後置することもできる。
#@# prh:disable
こんな塩梅です。
この例はRe:VIEWのコメント記法を使っていますが、お使いのフォーマットでコメントと解釈される任意の構造を使うことができます。
Markdownであれば <!-- prh:disable -->
とすることができます。
このため、無視するルールの記述に半角スペースを利用することができなくなっています。
代わりに \s
などを使ってください。
Atomのプラグインであるlanguage-reviewに組み込まれています。 エディタ上で執筆を行うと自動的に校正候補が表示され、その結果を原稿に反映していくことができます。
VSCodeの拡張もあります。 これもエディタ上で執筆を行うと自動的に校正候補が表示され、QuickFixか全修正をさせることもできます。
azuさんが作成しているtextlintのプラグインとしてtextlint-rule-prhが作成されています。
4.0.0 (2017-08-15)
コマンドラインからの利用がしやすいように色々と手を加えました。 v3系から破壊的変更もあるので気をつけてください。 API上の破壊的変更はありません。
--json
オプションを --rules-json
オプションに変更--yaml
オプションを --rules-yaml
オプションに変更--stdout
オプションを導入(v3でのデフォルトの挙動だったもの)--diff
オプションを導入--verify
オプションを導入詳しくはREADME.mdを参照してください。
<a name="3.1.1"></a>
FAQs
proofreading helper
The npm package prh receives a total of 37,182 weekly downloads. As such, prh popularity was classified as popular.
We found that prh demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.