mdmark

点検する

mdmark check で設定と索引を点検し、ずれを直す手順

書き出す前と、設定・索引・文書を書き換えた後に実行する。

前提

手順

点検する

check を呼ぶ

npx github:shuhei1101/mdmark#v{版} check [--config {設定ファイル}] [--base {git の ref}]

--config を省くと、今のフォルダから上のフォルダへ順に mdmark.config.yaml を探し、最初に見つかったものを使う。 --base は、直し忘れを検査するときだけ渡す(直し忘れを検査する)。 設定・索引・文書は書き換えない。

次を点検する。

ずれの一覧を読む

ずれ 1 つが 1 行で、最後に件数の行が出る。

docs/index.yaml:docs[1].path: missing_doc: `old.md` が見つかりません。文書を戻すか、索引の `docs[1]` を消してください。
mdmark.config.yaml:build: schema: `build.out` がありません。書き出す HTML のパスを書いてください。
ずれ 2 件

行は {ファイル}:{場所}: {種類}: {内容} で、場所が空のときは {ファイル}: {種類}: {内容}。 ファイルは設定ファイルのあるフォルダからの相対パス。 種類と意味は CLI。 内容に、何が合わないかと直し方が書いてある。

ずれを直して点検し直す

内容に従って設定・索引・文書を直し、check をもう一度呼ぶ。 avoided_term は、内容に書いた行のやめた言い方を、代わりに使う用語の語に書き直す。 やめた言い方を使い続けるときは、索引の用語の avoid か、用語集の表のやめた言い方の列から外す。 unregistered_tag は、内容に書いたタグを、索引の tags に語彙として足すか、近いタグに直す。 deprecated_tag は、文書のタグを、内容に書いた振り替え先のタグに直す。 duplicate_tag は、索引の tags の同じ name を 1 つにまとめる。 tag_alias_conflict は、内容に書いた重なった先のタグと重ならないよう、aliases を直す。 broken_tag_replacement は、deprecated を索引の tags にある name に直すか、振り替え先のタグを語彙に足す。 untyped_related は、文字列の関連を、to・type・when を持つオブジェクトに書き換える。 one_sided_change_together は、内容に書いた相手の文書にも、自分への change_together を記載する。 related_link_overlap は、本文でリンクしている相手を related から外すか、本文のリンクを外す。 broken_ref は、related の to を索引にある文書の id に直す。 unknown_mark は、内容に書いた行の印の名前を直す。 extensions の拡張を読み込めないと出たときは、拡張のモジュールが読み込みの時点で使うブラウザの API(HTMLElement・window など)を、load の中へ移す。 他のツールへの指示(<!-- prettier-ignore --> など)のように印として書いていないコメントは、設定の check.ignore に名前を足す(点検から外す名前)。 ずれ 0 件 になるまで繰り返す。

直し忘れを検査する

change_together の組のうち片方の文書だけを直したことを検査するときは、比べる基準の git の ref を --base に渡す。

npx github:shuhei1101/mdmark#v{版} check --base origin/develop

基準と HEAD の merge-base から作業ツリーまでに変わったファイルを引き、片方の文書だけが変わった組を missed_change_together で出す。 内容に書いた変わった側の文書の内容を確かめ、変わっていない側の文書も直す。 直さなくてよいときは、change_together の関連を見直す。 --base を省くと、直し忘れを検査しない。

CI で流すときは、基準の ref と HEAD の merge-base を引けるよう、checkout の fetch-depth を 0 にして履歴を全て取得する。

点検できないとき

設定ファイルが無いときは、探した場所と mdmark init で置けることを標準エラーに出す。 設定ファイルを YAML として読めないときは、ファイルと読めない行と直し方を標準エラーに出す。 --base の ref と HEAD の merge-base を引けないときは、渡した ref と引けない理由と、ref を直すか履歴を取得する直し方を標準エラーに出す。 どれも終了コード 1 で終わる。

反映

即時。check を呼ぶたびに、その場の設定・索引・文書を点検する。

確認

ずれが 0 件になっている

標準出力が ずれ 0 件 の 1 行になり、終了コードが 0 になる。 ずれがあるときの終了コードは 1。

元に戻す

check は何も書き換えないため、戻すものは無い。