We want the default theme to be Aubergine since that is the default that comes with Slack. However, we were actually relying on the first theme in alphabetical sorted order as the default theme, which ended up changing the default as themes got added. This patch always makes it the first entry in the themes.yml file
117 lines
2.7 KiB
Ruby
117 lines
2.7 KiB
Ruby
require 'lib/screenshot_generator'
|
|
require 'ostruct'
|
|
require 'dotenv'
|
|
Dotenv.load
|
|
|
|
###
|
|
# Compass
|
|
###
|
|
|
|
# Change Compass configuration
|
|
# compass_config do |config|
|
|
# config.output_style = :compact
|
|
# end
|
|
|
|
###
|
|
# Page options, layouts, aliases and proxies
|
|
###
|
|
|
|
# Per-page layout changes:
|
|
#
|
|
# With no layout
|
|
# page "/path/to/file.html", :layout => false
|
|
#
|
|
# With alternative layout
|
|
# page "/path/to/file.html", :layout => :otherlayout
|
|
#
|
|
# A path which all have the same layout
|
|
# with_layout :admin do
|
|
# page "/admin/*"
|
|
# end
|
|
|
|
# Proxy pages (https://middlemanapp.com/advanced/dynamic_pages/)
|
|
# proxy "/this-page-has-no-template.html", "/template-file.html", :locals => {
|
|
# :which_fake_page => "Rendering a fake page with a local variable" }
|
|
|
|
###
|
|
# Helpers
|
|
###
|
|
|
|
# Automatic image dimensions on image_tag helper
|
|
# activate :automatic_image_sizes
|
|
|
|
# Reload the browser automatically whenever files change
|
|
configure :development do
|
|
activate :livereload
|
|
end
|
|
|
|
# Methods defined in the helpers block are available in templates
|
|
# helpers do
|
|
# def some_helper
|
|
# "Helping"
|
|
# end
|
|
# end
|
|
|
|
set :css_dir, 'stylesheets'
|
|
|
|
set :js_dir, 'javascripts'
|
|
|
|
set :images_dir, 'images'
|
|
|
|
# Build-specific configuration
|
|
configure :build do
|
|
activate :screenshot_generator
|
|
|
|
# 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
|
|
|
|
activate :google_analytics do |ga|
|
|
# Property ID (default = nil)
|
|
ga.tracking_id = ENV['ANALYTICS_ID'] || 'TEST_GA_TRACKING_ID'
|
|
|
|
# Tracking in development environment (default = true)
|
|
ga.development = false
|
|
end
|
|
|
|
|
|
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 if ENV['ANALYTICS_ID']
|
|
|
|
helpers do
|
|
def themes
|
|
data.themes.sort_by { |theme| theme['name'].downcase }.map do |theme|
|
|
OpenStruct.new(theme.merge(
|
|
slug: theme['name'].parameterize.underscore,
|
|
digest: Digest::MD5.new.hexdigest(theme['colors'])
|
|
))
|
|
end
|
|
end
|
|
|
|
def default_theme
|
|
theme = data.themes.first
|
|
OpenStruct.new(theme.merge(
|
|
slug: theme['name'].parameterize.underscore,
|
|
digest: Digest::MD5.new.hexdigest(theme['colors'])
|
|
))
|
|
end
|
|
end
|