Add support for type-specific layouts

Adds support for custom layouts by archive type. Addresses #12.
What happens if this config doesn't exist and thus `@config` is null?