ContentScanner
Class methods
scan_all(features : Array(NamedTuple(name: String, globs: Array(String), create_file: Hash(String, String), Path -> Markdown::File | Nil))) : Hash(String, Array(Markdown::File))
Single scan phase: assign content to features in priority order First feature to match a file claims it
Features is an array of tuples:
- name: Feature name for results hash
- globs: Array of glob patterns to scan
- create_file: Block that creates a Markdown::File from sources and base path