@_meta_data = ::Webby.site.page_defaults.merge(@_meta_data)
With this:
defaults = ::Webby.site.page_defaults
::Webby.site.dir_defaults.each_pair do |dir, dir_defaults|
defaults = defaults.merge(dir_defaults) if @dir.match(dir)
end
@_meta_data = defaults.merge(@_meta_data)
Now in your sitefile you can specify defaults for all pages that match a given directory pattern.
SITE.dir_defaults['blog'] = {
'layout' => 'post',
'filter' => ['erb', 'interlink', 'markdown']
}
These will be merged with page_defaults and just like page_defaults the settings can be overridden on a per-page basis. If you'd like to see the actual commits they're in my fork at https://github.com/mattstevens/webby.
Matt