Upgrade to Pro — share decks privately, control downloads, hide ads and more …

textlintを使った表記揺れチェック ことはじめ

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for piyo piyo
September 12, 2024

textlintを使った表記揺れチェック ことはじめ

Avatar for piyo

piyo

September 12, 2024
Tweet

Other Decks in Programming

Transcript

  1. 2 / 52 テクニカルライターの悩みごと ドキュメントの一貫性を保つのは難しい 表記揺れをしてしまう 2要素認証 or 二要素認証 or

    2段階認証 スタイルガイドに沿って書かれていない 「〜することができる」など、冗長な表現を避ける 本質的な内容をレビューしてほしいけど、その手前のことを指摘されてしまう textlintを使うことで、これらの悩みを解決できる 2
  2. 17 / 52 textlintの本体をインストールする 1. 作業ディレクトリを作成する(例:「playground-textlint」 ) 2. 作業ディレクトリにcd コマンドで移動する

    # 「playground-textlint」ディレクトリに移動 cd playground-textlint 3. textlint本体をインストールするコマンドを入力し、Enterキーを押す # textlintの本体をインストール npm install textlint 実行に必要なファイルが生成される 17
  3. 22 / 52 textlintを実行する ターミナルソフトでnpx textlint ファイル名 を実行する ルールに違反している文があると、実行結果にエラーが表示される npx

    textlint sample.txt # 実行結果 /Users/chick-p/Desktop/playground-textlint/sample.txt 1:11 ✓ error Disallow to use 半角カタカナ: "ヘッダ" no-hankaku-kana ✖ 1 problem (1 error, 0 warnings) ✓ 1 fixable problem. Try to run: $ textlint --fix [file] 22
  4. 23 / 52 エラーを自動修正する ✓がついているエラーは、textlintを実行するときに--fix オプションをつける と自動で修正できる ファイルの中身を確認すると、全角カタカナに修正されている --fix オプションに対応しているかは、ルールによって異なる

    # --fixオプションをつけると、自動で修正できる npx textlint sample.txt --fix # 実行結果 /Users/chick-p/Desktop/playground-textlint/sample.txt 1:11 ✓ error Disallow to use 半角カタカナ: "ヘッダ" no-hankaku-kana ✔ Fixed 1 problem 23
  5. 29 / 52 追加したルールを実行する npx textlint ファイル名 でtextlintを実行する 自動修正の機能に対応しているため、--fix オプションで自動修正できる

    npx textlint sample.txt # 実行結果 /Users/chick-p/Desktop/playground-textlint/sample.txt 1:27 ✓ error 【dict2】 "することができます"は冗長な表現です。"することが"を省き簡 解説: https://github.com/textlint-ja/textlint-rule-ja-no-redundant-expressio # 自動修正する npx textlint sample.txt --fix 29
  6. 32 / 52 ルールプリセットの例 日本翻訳連盟の日本語標準スタイルガイドを反映したルールプリセット - textlint-rule-preset-jtf-style 技術ドキュメント向けのルールプリセット - textlint-rule-preset-ja-

    technical-writing ルールプリセットを公開している企業もある ics.mediaさん - textlint-rule-preset-icmedia SmartHRさん - textlint-rule-preset-smarthr 弁護士ドットコムさん - textlint-rule-preset-bengo4 32
  7. 38 / 52 辞書ファイル(prh.yml)を作る 1. テキストエディタで、次の内容を入力する version: 1 rules: -

    pattern: expected: 2. textlintをインストールしたディレクトリの下に、「prh.yml」というファイル 名で保存する YAMLというフォーマットはインデントが重要 行頭のスペースの数に注意
  8. 40 / 52 例1:「二要素認証」をチェックする(2/2) npx textlint ファイル名 でtextlintを実行する 自動修正の機能に対応しているため、--fix オプションで自動修正できる

    npx textlint sample.txt # 実行結果 /Users/chick-p/Desktop/playground-textlint/sample.txt 1:16 ✓ error 二要素認証 => 2要素認証 prh ✖ 1 problem (1 error, 0 warnings) ✓ 1 fixable problem. Try to run: $ textlint --fix [file] # 自動修正する npx textlint sample.txt --fix 40
  9. 43 / 52 例2:「ヘッダ」をチェックする(正) 「直後に長音がない」をチェックする場合は、否定先読み(?! )を使う ?! は「"?! の直後に指定した表現"がないとき」を示す 「直後に長音がないとき」は、?!ー

    で表現する ヘッダ(?!ー) とすると、「"ヘッダー"ではない"ヘッダ"」を表現できる prh.yml version: 1 rules: - pattern: 二要素認証 expected: 2要素認証 - pattern: /ヘッダ(?!ー)/ expected: ヘッダー 43
  10. 44 / 52 例3:「二要素認証」 「2段階認証」 「2段階認証」 をチェックする 「二要素認証」 「2段階認証」 「2段階認証」の表記揺れをチェックする

    「AAまたはBBまたはCC」は、正規表現でAA|BB|CC と表す prh.yml チェック内容が重複するため、最初に書いた定義を削除している version: 1 rules: - pattern: /二要素認証|2要素認証|2段階認証/ expected: 2要素認証 - pattern: /ヘッダ(?!ー)/ expected: ヘッダー 44
  11. 49 / 52 ドキュメントで無効にする部分を明示する 無効にしたい部分を、<!-- textlint-disable ルール名 --> と<!-- textlint-enable

    ルール名 --> で囲む 例として、「textlint-rule-prh」を無効にする sample.txt npx textlint ファイル名 でtextlintを実行する <!-- textlint-disable prh --> 認証に使われる要素には、 「知識要素」 「所有要素」 「生体要素」の3つの要素があります。 2要素認証は、このうち2つの異なる要素を組み合わせて本人確認を行う方法です。 2段階認証は、2つの段階を経て本人確認を行う方法で、同じ要素を組み合わせることもあります。 <!-- textlint-enable prh --> 49