-
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Rakefile
83 lines (70 loc) · 2.87 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Rake::FileUtilsExt.verbose(true)
require 'bundler'
require 'rake/clean'
require 'yaml'
require 'erb'
require_relative 'lib/emojistatic'
Bundler.require(:build)
##########################################################################
# Configuration
##########################################################################
DESIRED_SIZES = [64,32,24,20,16]
config_file = File.read('config.yml')
HOST = YAML.load(config_file)["host"]
##########################################################################
# Some helper methods
##########################################################################
def minify(target, source)
file target => source do
File.open(target,'w') do |f|
puts "Minifying #{source} to #{target}"
f.write( CSSMin.minify(File.read(source)) )
end
end
end
def gzipify(target, source)
file target => source do
sh "gzip -c #{source} > #{target}"
end
end
##########################################################################
# Emoji images
##########################################################################
require_relative 'rakelib/images'
##########################################################################
# build embedded css sheets with data-uri
##########################################################################
require_relative 'rakelib/css_sheets'
##########################################################################
# build cache manifests
##########################################################################
require_relative 'rakelib/cache_manifests'
##########################################################################
# build emoji font family css
##########################################################################
require_relative 'rakelib/emojifont'
##########################################################################
# build documentation for hosted version
##########################################################################
require_relative 'rakelib/documentation'
##########################################################################
# master task list
##########################################################################
CLOBBER.include('build/*')
namespace :build do
desc "build everything (default)"
task :all => [:images, :cache_manifests, :css_sheets, :emojifont, :documentation]
end
task :build => 'build:all'
task :default => :build
##########################################################################
# deployment stuff
##########################################################################
task :stage => [:build, 'ghpages:stage']
task :deploy => [:build, 'ghpages:deploy']
#TODO: deal with the below for real
directory 'build/libs/js-emoji'
JSEMOJI_SRC = FileList['sources/js-emoji/emoji.{css,js}']
JSEMOJI_DST = JSEMOJI_SRC.pathmap('build/libs/js-emoji/%f')
# JSEMOJI_MIN = JSEMOJI_DST.pathmap('%X.min%x'')
CLOBBER.include('build/libs/js-emoji')