Refactor theme handling so that it is unified via a helper method

This commit is contained in:
Ufuk Kayserilioglu committed 2015-03-16 21:43:31 +02:00
1 parent 2d62bd0147
commit 1ff838b5fe
4 files changed
+20 -12

No files matched your search

+12
View File
@@ -1,4 +1,5 @@
require 'lib/screenshot_generator'
require 'ostruct'
###
# Compass
###
@@ -91,3 +92,14 @@ activate :deploy do |deploy|
# 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
helpers do
def themes
data.themes.sort_by { |theme| theme[:name] }.map do |theme|
OpenStruct.new(theme.merge(
slug: theme[:name].parameterize.underscore,
digest: Digest::MD5.new.hexdigest(theme[:colors])
))
end
end
end
+1 -4
View File
@@ -20,10 +20,7 @@ class Screenshot
end
def initialize(theme)
@theme = OpenStruct.new(theme.merge(
slug: theme[:name].parameterize.underscore,
digest: Digest::MD5.new.hexdigest(theme[:colors])
))
@theme = theme
end
def generate_theme_image
+3 -2
View File
@@ -7,10 +7,11 @@ class ScreenshotGenerator < ::Middleman::Extension
super
app.before_build do |builder|
Screenshot.prepare
data = YAML.load_file('data/themes.yml')
data.each do |theme|
themes.each do |theme|
Screenshot.new(theme).generate_theme_image
end
puts "Hello World"
# builder.run './my_deploy_script.sh'
end
+4 -6
View File
@@ -2,11 +2,9 @@
title: Slack Themes
---
<% data.themes.each do |theme| %>
<% theme_slug = theme[:name].parameterize.underscore %>
<% digest = Digest::MD5.new.hexdigest(theme[:colors]) %>
<label class="radio theme_label theme_<%= theme[:name].parameterize.underscore %>">
<img src="/images/theme/<%= theme_slug %>-<%= digest %>.png" class="theme_thumb"><br>
<input name="sidebar_theme_rd" type="radio" value="<%= theme[:colors] %>" ng-model="theme" ng-change="setTheme()"> <%= theme[:name] %>
<% themes.each do |theme| %>
<label class="radio theme_label theme_<%= theme.slug %>">
<img src="/images/theme/<%= theme.slug %>-<%= theme.digest %>.png" class="theme_thumb"><br>
<input name="sidebar_theme_rd" type="radio" value="<%= theme.colors %>" ng-model="theme" ng-change="setTheme()"> <%= theme.name %>
</label>
<% end %>