################### # Page options, layouts, aliases and proxies ###################
# With alternative layout page ‘/**’, :layout => ‘glyptotheque’ # With no layout page “*.component”, :layout => false page “/glyptotheque/*”, :layout => false, directory_index: false page ‘*.css’, :layout => false page ‘*.js’, :layout => false page ‘*.json’, :layout => false
# Meta redirects # redirect ‘index.html’, to: ‘prototypes/sample’
# A path which all have the same layout # with_layout :admin do # page “/admin/*” # end
ready do
# Create mappings for standalone (implementation) pages (iframe embeddable) resources_for('/', exclude_indexes: true, allow_hidden: true).each do |r| proxy "#{r.path.sub(r.ext, '')}-standalone.html", r.path, layout: 'standalone' end resources_for('/', allow_hidden: true).each do |r| proxy "#{r.path.sub(r.ext, '')}/standalone", r.path, layout: 'standalone' end
end
################### # Helpers ###################
# helpers do # end
<% if options -%> set :css_dir, ‘<%= options -%>’ <% else -%> # Change the CSS directory # set :css_dir, “alternative_css_directory” <% end -%> <% if options -%> set :js_dir, ‘<%= options -%>’ <% else -%> # Change the JS directory # set :js_dir, “alternative_js_directory” <% end -%> <% if options -%> set :images_dir, ‘<%= options -%>’ <% else -%> # Change the images directory # set :images_dir, “alternative_image_directory” <% end -%>
set :relative_links, true
bowerrc_dir = JSON.parse(IO.read(“#{root}/.bowerrc”))
# Compass configuration compass_config do |config|
import_paths = %w(normalize.css) import_paths.each do |path| full_path = File.join(root, bowerrc_dir, path) config.add_import_path(full_path) config.add_import_path(Sass::CssImporter::Importer.new(full_path)) end config.sass_options = { quiet: true } # For Style Guide CSS sources # config.output_style = :expanded
end
# Sprockets ready do
sprockets.append_path(File.join(root, bowerrc_dir))
end
activate :model activate :data_loaders activate :resource_helpers activate :outliner activate :syntax, css_class: ‘codehilite’
Slim::Engine.disable_option_validator! Slim::Engine.set_default_options :pretty => true Slim::Engine.set_default_options :attr_list_delims => { ‘(’ => ‘)’, ‘[’ => ‘]’ }
# Development-secific configuration configure :development do
activate :livereload, animate: true
end
# Build-specific configuration configure :build do
compass_config do |config| config.sass_options = { :line_comments => false } end # For example, change the Compass output style for deployment # activate :minify_css # Minify Javascript on build # activate :minify_javascript # Enable cache buster # activate :asset_hash # Use relative URLs activate :relative_assets # Or use a different image path # set :http_prefix, "/Content/images/"
end
################### # Additional tasks ###################
# Simple launcher for local evaluation build # Double click ‘build/launch.command` (Mac) after_build do |builder|
file = "#{build_dir}/launch.command" open(file, 'w') do |f| f << "#!/bin/bash\n" f << 'cd `dirname $0` && open "http://localhost:8000" && python -m SimpleHTTPServer' end File.chmod(0555, file)
end
# Middleman
Deploy activate :deploy do |deploy|
deploy.method = :git # Optional Settings # deploy.remote = 'custom-remote' # remote name or git url, default: origin # deploy.branch = 'custom-branch' # default: gh-pages # deploy.strategy = :submodule # commit strategy: can be :force_push or :submodule, default: :force_push # deploy.commit_message = 'custom-message' # commit message (can be empty), default: Automated commit at `timestamp` by middleman-deploy `version`
end