Class: VivlioStarter::CLI::Guards::ImageFilenameCheck

Inherits:
BaseCheck
  • Object
show all
Defined in:
lib/vivlio_starter/cli/guards/image_filename_check.rb

Overview

著者が配置した画像のファイル名に、ビルド/EPUB を壊す文字が含まれていないかを ビルド前に検出して警告する(epub-kindle-webp-transcode-spec.md §4)。

きっかけ: アポストロフィ ' を含む画像が Kindle で解決できず W14010 になった。 ' 限定ではなく「確実に壊れる文字」一般を、改名案と出現箇所を添えて警告する。 重大度は警告のみ(非ブロッキング)。検出は images/・covers/・stylesheets/images/ の 3 ディレクトリすべてに対して行い、出現箇所の行番号報告は本文画像(contents/*.md 参照)にのみ付ける(表紙・扉絵は config/CSS 経由のため固定文言の軽い案内)。

Constant Summary collapse

IMAGE_EXTENSIONS =

検出対象とする画像拡張子。

%w[.png .jpg .jpeg .webp .gif .svg].freeze

Instance Method Summary collapse

Instance Method Details

#validateArray<Violation>

Returns 警告の配列(合格なら空配列).

Returns:

  • (Array<Violation>)

    警告の配列(合格なら空配列)



21
22
23
# File 'lib/vivlio_starter/cli/guards/image_filename_check.rb', line 21

def validate
  scan_targets.flat_map { |dir, usage| scan_directory(dir, usage) }
end