Plombir::Assets::Pipeline
Fingerprinted-asset emission. Pure walk → hash → copy → manifest; HTML rewriting that consumes the manifest arrives next (item 2).
result = Plombir::Assets::Pipeline.run("/sites/blog", "/sites/blog/dist")
result.files # => {"style.css" => "assets/style.a1b2c3d4.css"}
Class methods
Fingerprints every file under <root>/assets/ into
<output_dir>/assets/ and writes the manifest. A missing
assets/ directory is fine (empty result, no manifest), so
asset-less sites build exactly as before. Dotfiles (.gitkeep)
are skipped: they are git artifacts, never site assets.