公開前に Markdown の構造を確認

Markdown を貼り付けて「Markdown をチェック」を押すと、見出しの構成と構造上の問題をブラウザ内で確認できます。表示やアップロード、リンク先の取得は行いません。

ブラウザ内でローカルに実行
このツールの処理はすべてブラウザ内で行われます。KivTools が入力内容をアップロード・保存したり、外部 API に送信したりすることはありません。
Markdown ソースレンダリング、アップロード、リンクのオープンなしで構造上の問題をチェックします。

公開前に Markdown をチェックする手順

貼り付けた Markdown をテキストとして読み、見出しのアウトライン、見出し・リンク・コードフェンスの件数、そして原文から確かめられる構造上の問題を返します。レンダリングもアップロードもリンクの取得も行わないため、まだ共有したくない下書きでもそのまま確認できます。

処理はすべてページ内で完結します。計測したセッションでブラウザ外に出た通信はサイト自身のアクセス解析だけで、下書き・リンク・アウトラインはタブ内に留まりました。ネットワークを切っても動作するのはそのためです。

  1. README、ガイド、ドキュメントの下書きを「Markdown ソース」に貼り付けるか、「サンプルを読み込む」で見出しの重複と空のリンクを含む例から始めます。
  2. 「Markdown をチェック」を押します。アウトラインには各見出しと生成されるアンカー、行番号が並び、レポートには各ルールの検出結果、メトリクスには見出し・リンク・コードフェンスの件数が出ます。
  3. 検出結果を上から確認します。見出しレベルの飛び、見出しアンカーの重複、閉じられていないコードフェンス、テキストが空かリンク先のないリンク、定義のない参照リンク、2 スペースの改行に当てはまらない行末の空白、# の後に空白がない見出し記号、レベル1の見出しがない文書です。
  4. 「コピー」でテキストのレポートを取り出すか、「ダウンロード」で markdown-report.txt としてソースファイルの隣に保存します。
  5. 「クリア」で両方の欄を空にしてから次の文書に進みます。

チェッカーが読み取る範囲と、読み取らない範囲

リンクとして数えるもの

インラインリンクは、[テキスト](https://example.com "タイトル") のようなタイトル付きや、リンク先に 1 段階のかっこを含む形(Wikipedia 風の URL に必要)も数えます。参照リンクは、文書内のどこかでラベルが定義されていれば数えます。完全形 [テキスト][ref]、短縮形 [テキスト][]、省略形 [ref] のいずれも、[ref]: https://example.com のような定義行(タイトルの有無を問いません)に対応します。自動リンク <https://example.com> と <mailto:docs@example.com> も数えます。

リンクに見えるものでも、意図的に数えないものが三つあります。![alt](image.png) の画像、インラインコード内の `[テキスト](url)`、そして <a href="https://example.com"> のような HTML タグです。タグは自動リンクではなくマークアップです。なお、定義のない参照リンクは数えずに警告します。

見出し・コードフェンス・front matter の扱い

見出しは ATX(# から ######、字下げは最大 3 スペース、末尾の # は任意)と setext(段落行の下に ==== でレベル1、---- でレベル2)の両方を認識します。アンカーは静的サイトジェネレーターと同じ方式で作り、小文字化し、記号を除き、空白をハイフンに変えます。そのため「Install now!」と「Install now?」はどちらも #install-now になり、2 つ目がアンカーの重複として報告されます。

``` または ~~~ で開いたコードフェンスの中身は他のルールの対象外です。閉じるフェンスは開いたものと同じ長さ以上が必要で、閉じられていない場合は開いた行で報告します。文書が --- の行で始まる場合は、次の --- または ... の行までを YAML front matter として扱い、メタデータのコロン・括弧・行末の空白を本文として報告しません。

このチェッカーが行わないこと

Markdown をレンダリングしないため、ページの見た目は分かりません。リンク先を取得しないため、到達できない URL も報告しません。調べるのはここに挙げたルールだけで、行の長さ、箇条書きの記号、ブロック前後の空行、表の桁揃えなど、完全なリンターのスタイル規則は対象外です。半角スペース 4 つで字下げしたコードブロックも、コードではなく通常のテキストとして読みます。

4000 行・リンク 4000 件の文書はデスクトップのブラウザで約 0.6 秒で解析できました。処理は入力中ではなくボタンを押したときに走ります。ルールを固定してリポジトリ全体を検査するならコマンドラインのリンターが適しています。このページは 1 つの下書きを、アップロードせずに確認するためのものです。

最近使ったツール: