Class: VivlioStarter::CLI::Guards::ContainerFenceCheck
- Defined in:
- lib/vivlio_starter/cli/guards/container_fence_check.rb
Overview
contents/*.md の ::: コンテナ記法の開始・終了が揃っているかを検出して停止する。
なぜエラー(停止)なのか:
`:::{.class}` は最終的に `<div class="class">` へ、残る `:::` は一律 `</div>` へ
置換される(組み込み置換ルール ReplacementRules)。数が合わなければ `<div>` が閉じず、
以降の本文がまるごと枠の中へ飲み込まれる。CodeFenceCheck(``` の数)と同じ性質の
破綻であり、ビルド前に止めるのが親切である。
判定: 開始(:::{…})で深さ +1、終了(::: のみ)で −1。
深さが負になれば「対応する開始がない終了」、走査後に正なら「閉じ忘れ」。
入れ子(:::{.column} の中の :::{.note})は正しく均衡と判定される。
Instance Method Summary collapse
-
#validate ⇒ Array<Violation>
エラーの配列(合格なら空配列).
Instance Method Details
#validate ⇒ Array<Violation>
Returns エラーの配列(合格なら空配列).
21 22 23 |
# File 'lib/vivlio_starter/cli/guards/container_fence_check.rb', line 21 def validate markdown_files.filter_map { check_file(it) } end |