#!/usr/bin/env ruby # A few helpful tips about the Rules file: # # * The order of rules is important: for each item, only the first matching # rule is applied. preprocess do add_created_at_attribute add_kind_attribute create_individual_blog_pages generate_redirects(config[:redirects]) @items.each do |item| ConrefFS.apply_attributes(@config, item, :default) end end passthrough '/CNAME' compile '/changes.atom' do filter :erb end compile '/integrations-directory/*' do filter :'conref-fs-filter' filter :erb filter :html_pipeline, @config[:pipeline_config] layout item[:layout] || '/integrations-directory.*' end compile '/v3{.*,/**/*}' do filter :'conref-fs-filter' filter :erb filter :html_pipeline, @config[:pipeline_config] layout(item[:layout] ? "/#{item[:layout]}.*" : '/api.*') end compile "/changes/20*" do filter :'conref-fs-filter' filter :erb filter :html_pipeline, @config[:pipeline_config] layout '/changes.*' layout(item[:layout] ? "/#{item[:layout]}.*" : '/blog.*') end compile '/guides/**/*' do filter :'conref-fs-filter' filter :html_pipeline, @config[:pipeline_config] filter :erb layout(item[:layout] ? "/#{item[:layout]}.*" : '/guides.*') end compile '/webhooks/**/*' do filter :'conref-fs-filter' filter :erb filter :html_pipeline, @config[:pipeline_config] layout(item[:layout] ? "/#{item[:layout]}.*" : '/webhooks.*') end compile '/search/search-index.json' do filter :erb end compile '/**/*' do filter :'conref-fs-filter' filter :erb filter :html_pipeline, @config[:pipeline_config] layout(item[:layout] ? "/#{item[:layout]}.*" : '/default.*') end route '/changes.atom' do '/changes.atom' end route '/search/search-index.json' do item.identifier.to_s end route '/**/index.*' do item.identifier.without_ext + '.html' end route '/404.html' do '/404.html' end route '/**/*' do item.identifier.without_ext + '/index.html' end layout '/**/*', :erb