html5-starter 0.1.3b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. data/LICENSE +3 -0
  2. data/README.md +135 -0
  3. data/VERSION +1 -0
  4. data/lib/app/helpers/html5_boilerplate_helper.rb +47 -0
  5. data/lib/html5-boilerplate.rb +6 -0
  6. data/stylesheets/_html5-boilerplate.scss +15 -0
  7. data/stylesheets/html5-boilerplate/_fonts.scss +36 -0
  8. data/stylesheets/html5-boilerplate/_handheld.scss +8 -0
  9. data/stylesheets/html5-boilerplate/_helpers.scss +25 -0
  10. data/stylesheets/html5-boilerplate/_print.scss +20 -0
  11. data/stylesheets/html5-boilerplate/_reset.scss +50 -0
  12. data/stylesheets/html5-boilerplate/_styles.scss +100 -0
  13. data/templates/project/_flashes.html.haml +4 -0
  14. data/templates/project/_footer.html.haml +2 -0
  15. data/templates/project/_head.html.haml +32 -0
  16. data/templates/project/_header.html.haml +1 -0
  17. data/templates/project/_javascripts.html.haml +38 -0
  18. data/templates/project/_stylesheets.html.haml +8 -0
  19. data/templates/project/application.html.haml +15 -0
  20. data/templates/project/files/404.html +22 -0
  21. data/templates/project/files/apple-touch-icon.png +0 -0
  22. data/templates/project/files/build/build.xml +636 -0
  23. data/templates/project/files/build/buildinfo.properties +5 -0
  24. data/templates/project/files/build/config/build.properties +3 -0
  25. data/templates/project/files/build/config/default.properties +79 -0
  26. data/templates/project/files/build/config/project.properties +49 -0
  27. data/templates/project/files/build/createproject.sh +73 -0
  28. data/templates/project/files/build/tools/ant-contrib-1.0b3.jar +0 -0
  29. data/templates/project/files/build/tools/css-compressor/CSSCompression.php +465 -0
  30. data/templates/project/files/build/tools/css-compressor/changelog.txt +22 -0
  31. data/templates/project/files/build/tools/css-compressor/cli.php +101 -0
  32. data/templates/project/files/build/tools/css-compressor/helpers/hex2short-colors.json +39 -0
  33. data/templates/project/files/build/tools/css-compressor/helpers/hex2short-safe.json +16 -0
  34. data/templates/project/files/build/tools/css-compressor/helpers/long2hex-colors.json +127 -0
  35. data/templates/project/files/build/tools/css-compressor/lib/Cleanup.php +218 -0
  36. data/templates/project/files/build/tools/css-compressor/lib/Color.php +199 -0
  37. data/templates/project/files/build/tools/css-compressor/lib/Combine.php +191 -0
  38. data/templates/project/files/build/tools/css-compressor/lib/Combine/Aural.php +109 -0
  39. data/templates/project/files/build/tools/css-compressor/lib/Combine/Background.php +107 -0
  40. data/templates/project/files/build/tools/css-compressor/lib/Combine/Border.php +98 -0
  41. data/templates/project/files/build/tools/css-compressor/lib/Combine/BorderOutline.php +109 -0
  42. data/templates/project/files/build/tools/css-compressor/lib/Combine/BorderRadius.php +262 -0
  43. data/templates/project/files/build/tools/css-compressor/lib/Combine/Font.php +125 -0
  44. data/templates/project/files/build/tools/css-compressor/lib/Combine/List.php +104 -0
  45. data/templates/project/files/build/tools/css-compressor/lib/Combine/MarginPadding.php +190 -0
  46. data/templates/project/files/build/tools/css-compressor/lib/Compress.php +212 -0
  47. data/templates/project/files/build/tools/css-compressor/lib/Control.php +236 -0
  48. data/templates/project/files/build/tools/css-compressor/lib/Exception.php +32 -0
  49. data/templates/project/files/build/tools/css-compressor/lib/Format.php +187 -0
  50. data/templates/project/files/build/tools/css-compressor/lib/Individuals.php +307 -0
  51. data/templates/project/files/build/tools/css-compressor/lib/Numeric.php +103 -0
  52. data/templates/project/files/build/tools/css-compressor/lib/Option.php +133 -0
  53. data/templates/project/files/build/tools/css-compressor/lib/Organize.php +149 -0
  54. data/templates/project/files/build/tools/css-compressor/lib/Selectors.php +245 -0
  55. data/templates/project/files/build/tools/css-compressor/lib/Setup.php +292 -0
  56. data/templates/project/files/build/tools/css-compressor/lib/Trim.php +213 -0
  57. data/templates/project/files/build/tools/css-compressor/license.txt +21 -0
  58. data/templates/project/files/build/tools/htmlcompressor-0.9.8.jar +0 -0
  59. data/templates/project/files/build/tools/jpegtran.exe +0 -0
  60. data/templates/project/files/build/tools/optipng-0.6.4-exe/LICENSE.txt +21 -0
  61. data/templates/project/files/build/tools/optipng-0.6.4-exe/optipng.exe +0 -0
  62. data/templates/project/files/build/tools/yuicompressor-2.4.2.jar +0 -0
  63. data/templates/project/files/crossdomain.xml +25 -0
  64. data/templates/project/files/favicon.ico +0 -0
  65. data/templates/project/files/gitignore.txt +32 -0
  66. data/templates/project/files/gitignore_placeholder.txt +2 -0
  67. data/templates/project/files/google.yml +22 -0
  68. data/templates/project/files/htaccess +415 -0
  69. data/templates/project/files/humans.txt +43 -0
  70. data/templates/project/files/lighttpd.conf +149 -0
  71. data/templates/project/files/mime.types +80 -0
  72. data/templates/project/files/nginx.conf +108 -0
  73. data/templates/project/files/robots.txt +5 -0
  74. data/templates/project/files/web.config +207 -0
  75. data/templates/project/handheld.scss +8 -0
  76. data/templates/project/index.html +81 -0
  77. data/templates/project/javascripts/libs/dd_belatedpng.js +13 -0
  78. data/templates/project/javascripts/libs/jquery-1.4.4.js +7179 -0
  79. data/templates/project/javascripts/libs/jquery-1.4.4.min.js +167 -0
  80. data/templates/project/javascripts/libs/modernizr-1.6.min.js +30 -0
  81. data/templates/project/javascripts/plugins.js +13 -0
  82. data/templates/project/javascripts/rails.js +156 -0
  83. data/templates/project/javascripts/script.js +26 -0
  84. data/templates/project/manifest.rb +101 -0
  85. data/templates/project/partials/_base.scss +23 -0
  86. data/templates/project/style.scss +70 -0
  87. metadata +171 -0
@@ -0,0 +1,4 @@
1
+ #flash
2
+ - flash.each do |key, value|
3
+ %div{ :title => key.to_s.humanize, :class => key }
4
+ %p= value
@@ -0,0 +1,2 @@
1
+ %small.copyright
2
+ Copyright © #{Date.today.year}
@@ -0,0 +1,32 @@
1
+ %head
2
+ %meta{ :charset => "utf-8" }/
3
+
4
+ -#
5
+ Always force latest IE rendering engine (even in intranet) & Chrome Frame
6
+ Remove this if you use the .htaccess
7
+ %meta{ :content => "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible" }/
8
+
9
+ -# encoding must be specified within the first 512 bytes www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset
10
+
11
+ -# meta element for compatibility mode needs to be before all elements except title & meta msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx
12
+ -# Chrome Frame is only invoked if meta element for compatibility mode is within the first 1K bytes code.google.com/p/chromium/issues/detail?id=23003
13
+
14
+ %title
15
+ == #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
16
+
17
+ %meta{ :content => "", :name => "description" }/
18
+ %meta{ :content => "", :name => "author" }/
19
+
20
+ -# Mobile viewport optimized: j.mp/bplateviewport
21
+ %meta{ :content => "width=device-width, initial-scale=1.0", :name => "viewport" }/
22
+
23
+ -# Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references
24
+ -# %link{ :href => "/favicon.ico", :rel => "shortcut icon" }/
25
+ -# %link{ :href => "/apple-touch-icon.png", :rel => "apple-touch-icon" }/
26
+
27
+ = render :partial => 'layouts/stylesheets'
28
+
29
+ -# All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects
30
+ = javascript_include_tag 'modernizr-1.6.min'
31
+
32
+ = csrf_meta_tag
@@ -0,0 +1 @@
1
+ %h1 Header
@@ -0,0 +1,38 @@
1
+ -# Grab Google CDN's jQuery
2
+ -# Looks for google_api_key first in ENV['GOOGLE_API_KEY'] then in config/google.yml
3
+ - if !google_api_key.blank?
4
+ = javascript_include_tag "//www.google.com/jsapi?key=#{google_api_key}"
5
+ :javascript
6
+ google.load("jquery", "1.4.4");
7
+ - else
8
+ = javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"
9
+
10
+ -# fall back to local jQuery if necessary
11
+ :javascript
12
+ !window.jQuery && document.write(unescape('%3Cscript src="/javascripts/jquery-1.4.4.min.js"%3E%3C/script%3E'))
13
+
14
+ = javascript_include_tag 'rails', 'plugins', 'application'
15
+
16
+ /[if lt IE 7 ]
17
+ :javascript
18
+ $.getScript("/javascripts/dd_belatedpng.js",function(){ DD_belatedPNG.fix('img, .png_bg'); });
19
+
20
+ -# Append your own using content_for :javascripts
21
+ = yield :javascripts
22
+
23
+ -# yui profiler and profileviewer
24
+ - if Rails.env == 'development'
25
+ = javascript_include_tag 'profiling/yahoo-profiling.min', 'profiling/config'
26
+
27
+ -# asynchronous google analytics: mathiasbynens.be/notes/async-analytics-snippet
28
+ -# Looks for google_account_id first in ENV['GOOGLE_ACCOUNT_ID'] then in config/google.yml
29
+ - if !google_account_id.blank?
30
+ :javascript
31
+ var _gaq = [['_setAccount', '#{google_account_id}'], ['_trackPageview']];
32
+ (function(d, t) {
33
+ var g = d.createElement(t),
34
+ s = d.getElementsByTagName(t)[0];
35
+ g.async = true;
36
+ g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
37
+ s.parentNode.insertBefore(g, s);
38
+ })(document, 'script');
@@ -0,0 +1,8 @@
1
+ -# CSS : implied media="all"
2
+ = stylesheet_link_tag 'style', :media => 'all'
3
+
4
+ -# Uncomment if you are specifically targeting less enabled mobile browsers
5
+ -#= stylesheet_link_tag 'handheld', :media => 'handheld'
6
+
7
+ -# Append your own using content_for :stylesheets
8
+ = yield :stylesheets
@@ -0,0 +1,15 @@
1
+ !!! 5
2
+ -# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
3
+ -ie_html :lang => 'en', :class => 'no-js' do
4
+ = render :partial => 'layouts/head'
5
+ %body{ :class => "#{controller.controller_name}" }
6
+ #container
7
+ %header#header
8
+ = render :partial => 'layouts/header'
9
+ #main
10
+ = render :partial => 'layouts/flashes'
11
+ = yield
12
+ %footer#footer
13
+ = render :partial => 'layouts/footer'
14
+ -# Javascript at the bottom for fast page loading
15
+ = render :partial => 'layouts/javascripts'
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <title>not found</title>
3
+
4
+ <style>
5
+ body { text-align: center;}
6
+ h1 { font-size: 50px; }
7
+ body { font: 20px Constantia, 'Hoefler Text', "Adobe Caslon Pro", Baskerville, Georgia, Times, serif; color: #999; text-shadow: 2px 2px 2px rgba(200, 200, 200, 0.5); }
8
+ ::-moz-selection{ background:#FF5E99; color:#fff; }
9
+ ::selection { background:#FF5E99; color:#fff; }
10
+ details { display:block; }
11
+ a { color: rgb(36, 109, 56); text-decoration:none; }
12
+ a:hover { color: rgb(96, 73, 141) ; text-shadow: 2px 2px 2px rgba(36, 109, 56, 0.5); }
13
+ span[frown] { transform: rotate(90deg); display:inline-block; color: #bbb; }
14
+ </style>
15
+
16
+
17
+
18
+
19
+ <details>
20
+ <summary><h1>Not found</h1></summary>
21
+ <p><span frown>:(</span></p>
22
+ </details>
@@ -0,0 +1,636 @@
1
+ <?xml version="1.0"?>
2
+ <project name="Boilerplate Build" default="build" basedir="../"> <!-- one back since we're in build/ -->
3
+
4
+
5
+ <!-- Load in Ant-Contrib to give us access to some very useful tasks! -->
6
+ <!-- the .jar file is located in the tools directory -->
7
+ <taskdef resource="net/sf/antcontrib/antcontrib.properties">
8
+ <classpath>
9
+ <pathelement location="${basedir}/build/tools/ant-contrib-1.0b3.jar"/>
10
+ </classpath>
11
+ </taskdef>
12
+
13
+
14
+ <!-- load property files -->
15
+ <property file="build/config/project.properties"/>
16
+ <property file="build/config/default.properties"/>
17
+
18
+ <!-- merge the stylesheet properties -->
19
+ <var name="stylesheet-files" value="${file.stylesheets}, ${file.default.stylesheets}"/>
20
+
21
+ <!-- merge the pages properties -->
22
+ <var name="page-files" value="${file.pages}, ${file.pages.default.include}"/>
23
+
24
+
25
+
26
+ <!--
27
+ *************************************************
28
+ * BASE TARGETS *
29
+ *************************************************
30
+ -->
31
+ <target name="basics">
32
+ <if>
33
+ <equals arg1="${env}" arg2="dev"/>
34
+ <then>
35
+ <!-- Build a dev environment -->
36
+ <echo message="Building a Development Environment..."/>
37
+ <antcall target="-rev"/>
38
+ <antcall target="-clean"/>
39
+ <antcall target="-copy"/>
40
+ </then>
41
+
42
+ <elseif>
43
+ <equals arg1="${env}" arg2="test"/>
44
+ <then>
45
+ <!-- Build a test environment -->
46
+ <echo message="Building a Test Environment..."/>
47
+ <antcall target="-rev"/>
48
+ <antcall target="-clean"/>
49
+ <antcall target="-copy"/>
50
+ <antcall target="-usemin"/>
51
+ <antcall target="-js.all.minify"/>
52
+ <antcall target="-js.main.concat"/>
53
+ <antcall target="-js.mylibs.concat"/>
54
+ <antcall target="-js.scripts.concat"/>
55
+ <antcall target="-js.delete"/>
56
+ <antcall target="-css"/>
57
+ <antcall target="-html"/>
58
+ </then>
59
+ </elseif>
60
+
61
+ <else>
62
+ <!-- Build a production environment -->
63
+ <echo message="Building a Production Environment..."/>
64
+ <antcall target="-rev"/>
65
+ <antcall target="-clean"/>
66
+ <antcall target="-copy"/>
67
+ <antcall target="-usemin"/>
68
+ <antcall target="-js.all.minify"/>
69
+ <antcall target="-js.main.concat"/>
70
+ <antcall target="-js.mylibs.concat"/>
71
+ <antcall target="-js.scripts.concat"/>
72
+ <antcall target="-js.delete"/>
73
+ <antcall target="-strip-console.log"/>
74
+ <antcall target="-css"/>
75
+ <antcall target="-html"/>
76
+ </else>
77
+ </if>
78
+ </target>
79
+
80
+
81
+ <target name="text">
82
+ <if>
83
+ <equals arg1="${env}" arg2="dev"/>
84
+ <then>
85
+ <!-- Build a dev environment -->
86
+ <echo message="Building a Development Environment..."/>
87
+ <antcall target="-rev"/>
88
+ <antcall target="-clean"/>
89
+ <antcall target="-copy"/>
90
+ </then>
91
+
92
+ <elseif>
93
+ <equals arg1="${env}" arg2="test"/>
94
+ <then>
95
+ <!-- Build a test environment -->
96
+ <echo message="Building a Test Environment..."/>
97
+ <antcall target="-rev"/>
98
+ <antcall target="-clean"/>
99
+ <antcall target="-copy"/>
100
+ <antcall target="-usemin"/>
101
+ <antcall target="-js.all.minify"/>
102
+ <antcall target="-js.main.concat"/>
103
+ <antcall target="-js.mylibs.concat"/>
104
+ <antcall target="-js.scripts.concat"/>
105
+ <antcall target="-js.delete"/>
106
+ <antcall target="-css"/>
107
+ <antcall target="-html"/>
108
+ <antcall target="-htmlclean"/>
109
+ </then>
110
+ </elseif>
111
+
112
+ <else>
113
+ <!-- Build a production environment -->
114
+ <echo message="Building a Production Environment..."/>
115
+ <antcall target="-rev"/>
116
+ <antcall target="-clean"/>
117
+ <antcall target="-copy"/>
118
+ <antcall target="-usemin"/>
119
+ <antcall target="-js.all.minify"/>
120
+ <antcall target="-js.main.concat"/>
121
+ <antcall target="-js.mylibs.concat"/>
122
+ <antcall target="-js.scripts.concat"/>
123
+ <antcall target="-js.delete"/>
124
+ <antcall target="-strip-console.log"/>
125
+ <antcall target="-css"/>
126
+ <antcall target="-html"/>
127
+ <antcall target="-htmlclean"/>
128
+ </else>
129
+ </if>
130
+ </target>
131
+
132
+
133
+ <target name="buildkit">
134
+ <if>
135
+ <equals arg1="${env}" arg2="dev"/>
136
+ <then>
137
+ <!-- Build a dev environment -->
138
+ <echo message="Building a Development Environment..."/>
139
+ <antcall target="-rev"/>
140
+ <antcall target="-clean"/>
141
+ <antcall target="-copy"/>
142
+ <antcall target="-imagespng"/>
143
+ <antcall target="-imagesjpg"/>
144
+ </then>
145
+
146
+ <elseif>
147
+ <equals arg1="${env}" arg2="test"/>
148
+ <then>
149
+ <!-- Build a test environment -->
150
+ <echo message="Building a Test Environment..."/>
151
+ <antcall target="-rev"/>
152
+ <antcall target="-clean"/>
153
+ <antcall target="-copy"/>
154
+ <antcall target="-usemin"/>
155
+ <antcall target="-js.all.minify"/>
156
+ <antcall target="-js.main.concat"/>
157
+ <antcall target="-js.mylibs.concat"/>
158
+ <antcall target="-js.scripts.concat"/>
159
+ <antcall target="-js.delete"/>
160
+ <antcall target="-css"/>
161
+ <antcall target="-html"/>
162
+ <antcall target="-htmlbuildkit"/>
163
+ <antcall target="-imagespng"/>
164
+ <antcall target="-imagesjpg"/>
165
+ </then>
166
+ </elseif>
167
+
168
+ <else>
169
+ <!-- Build a production environment -->
170
+ <echo message="Building a Production Environment..."/>
171
+ <antcall target="-rev"/>
172
+ <antcall target="-clean"/>
173
+ <antcall target="-copy"/>
174
+ <antcall target="-usemin"/>
175
+ <antcall target="-js.all.minify"/>
176
+ <antcall target="-js.main.concat"/>
177
+ <antcall target="-js.mylibs.concat"/>
178
+ <antcall target="-js.scripts.concat"/>
179
+ <antcall target="-js.delete"/>
180
+ <antcall target="-strip-console.log"/>
181
+ <antcall target="-css"/>
182
+ <antcall target="-html"/>
183
+ <antcall target="-htmlbuildkit"/>
184
+ <antcall target="-imagespng"/>
185
+ <antcall target="-imagesjpg"/>
186
+ </else>
187
+ </if>
188
+ </target>
189
+
190
+
191
+ <target name="build">
192
+ <if>
193
+ <equals arg1="${env}" arg2="dev"/>
194
+ <then>
195
+ <!-- Build a dev environment -->
196
+ <echo message="Building a Development Environment..."/>
197
+ <antcall target="-rev"/>
198
+ <antcall target="-clean"/>
199
+ <antcall target="-copy"/>
200
+ <antcall target="-imagespng"/>
201
+ <antcall target="-imagesjpg"/>
202
+ </then>
203
+
204
+ <elseif>
205
+ <equals arg1="${env}" arg2="test"/>
206
+ <then>
207
+ <!-- Build a test environment -->
208
+ <echo message="Building a Test Environment..."/>
209
+ <antcall target="-rev"/>
210
+ <antcall target="-clean"/>
211
+ <antcall target="-copy"/>
212
+ <antcall target="-usemin"/>
213
+ <antcall target="-js.all.minify"/>
214
+ <antcall target="-js.main.concat"/>
215
+ <antcall target="-js.mylibs.concat"/>
216
+ <antcall target="-js.scripts.concat"/>
217
+ <antcall target="-js.delete"/>
218
+ <antcall target="-css"/>
219
+ <antcall target="-html"/>
220
+ <antcall target="-htmlclean"/>
221
+ <antcall target="-imagespng"/>
222
+ <antcall target="-imagesjpg"/>
223
+ </then>
224
+ </elseif>
225
+
226
+ <else>
227
+ <!-- Build a production environment -->
228
+ <echo message="Building a Production Environment..."/>
229
+ <antcall target="-rev"/>
230
+ <antcall target="-clean"/>
231
+ <antcall target="-copy"/>
232
+ <antcall target="-usemin"/>
233
+ <antcall target="-js.all.minify"/>
234
+ <antcall target="-js.main.concat"/>
235
+ <antcall target="-js.mylibs.concat"/>
236
+ <antcall target="-js.scripts.concat"/>
237
+ <antcall target="-js.delete"/>
238
+ <antcall target="-strip-console.log"/>
239
+ <antcall target="-css"/>
240
+ <antcall target="-html"/>
241
+ <antcall target="-htmlclean"/>
242
+ <antcall target="-imagespng"/>
243
+ <antcall target="-imagesjpg"/>
244
+ </else>
245
+ </if>
246
+ </target>
247
+
248
+
249
+ <target name="minify">
250
+ <if>
251
+ <equals arg1="${env}" arg2="dev"/>
252
+ <then>
253
+ <!-- Build a dev environment -->
254
+ <echo message="Building a Development Environment..."/>
255
+ <antcall target="-rev"/>
256
+ <antcall target="-clean"/>
257
+ <antcall target="-copy"/>
258
+ <antcall target="-imagespng"/>
259
+ <antcall target="-imagesjpg"/>
260
+ </then>
261
+
262
+ <elseif>
263
+ <equals arg1="${env}" arg2="test"/>
264
+ <then>
265
+ <!-- Build a test environment -->
266
+ <echo message="Building a Test Environment..."/>
267
+ <antcall target="-rev"/>
268
+ <antcall target="-clean"/>
269
+ <antcall target="-copy"/>
270
+ <antcall target="-usemin"/>
271
+ <antcall target="-js.all.minify"/>
272
+ <antcall target="-js.main.concat"/>
273
+ <antcall target="-js.mylibs.concat"/>
274
+ <antcall target="-js.scripts.concat"/>
275
+ <antcall target="-js.delete"/>
276
+ <antcall target="-css"/>
277
+ <antcall target="-html"/>
278
+ <antcall target="-htmlcompress"/>
279
+ <antcall target="-imagespng"/>
280
+ <antcall target="-imagesjpg"/>
281
+ </then>
282
+ </elseif>
283
+
284
+ <else>
285
+ <!-- Build a production environment -->
286
+ <echo message="Building a Production Environment..."/>
287
+ <antcall target="-rev"/>
288
+ <antcall target="-clean"/>
289
+ <antcall target="-copy"/>
290
+ <antcall target="-usemin"/>
291
+ <antcall target="-js.all.minify"/>
292
+ <antcall target="-js.main.concat"/>
293
+ <antcall target="-js.mylibs.concat"/>
294
+ <antcall target="-js.scripts.concat"/>
295
+ <antcall target="-js.delete"/>
296
+ <antcall target="-strip-console.log"/>
297
+ <antcall target="-css"/>
298
+ <antcall target="-html"/>
299
+ <antcall target="-htmlcompress"/>
300
+ <antcall target="-imagespng"/>
301
+ <antcall target="-imagesjpg"/>
302
+ </else>
303
+ </if>
304
+ </target>
305
+
306
+
307
+ <!--
308
+ *************************************************
309
+ * FUNCTION TARGETS *
310
+ *************************************************
311
+ -->
312
+ <target name="-load-build-info" description="(PRIVATE) Loads the build versioning information">
313
+ <property file="./${dir.build}/config/${build.version.info}"/>
314
+ </target>
315
+
316
+ <target name="-clean" description="(PRIVATE) Wipe the previous build (Deletes the dir.publish directory">
317
+ <!-- This is a private target -->
318
+
319
+ <echo message="Cleaning up previous build directory..."/>
320
+ <delete dir="./${dir.publish}/"/>
321
+ </target>
322
+
323
+
324
+ <target name="-rev" description="(PRIVATE) Increase the current build number by one and set build date">
325
+ <!-- This is a private target -->
326
+
327
+ <echo message="Increasing the build number..."/>
328
+ <propertyfile file="./${dir.build}/config/${build.version.info}" comment="Build Information File - DO NOT CHANGE">
329
+ <entry key="build.number" type="int" default="0000" operation="+" pattern="0000"/>
330
+ <entry key="build.date" type="date" value="now" pattern="dd.MM.yyyy HH:mm"/>
331
+ </propertyfile>
332
+ <property file="./${dir.build}/config/${build.version.info}"/>
333
+ <echo>Creating build ${build.number}</echo>
334
+ </target>
335
+
336
+
337
+ <target name="current-number" depends="-load-build-info" description="(PUBLIC) Returns the current build number">
338
+ <echo>Current build number: ${build.number}</echo>
339
+ </target>
340
+
341
+
342
+ <target name="-copy" depends="-load-build-info">
343
+ <!-- This is a private target -->
344
+
345
+ <echo message="Copying over new files..."/>
346
+ <!-- combine the 2 exclude properties -->
347
+ <var name="excluded-files" value="${file.default.exclude}, ${file.exclude}"/>
348
+
349
+ <copy todir="./${dir.publish}">
350
+ <fileset dir="./" excludes="${excluded-files}"/>
351
+ </copy>
352
+ </target>
353
+
354
+
355
+ <!-- JAVASCRIPT -->
356
+ <target name="-js.main.concat" depends="-load-build-info" description="(PRIVATE) Concatenates the JS files in dir.js">
357
+ <echo message="Concatenating Main JS scripts..."/>
358
+ <concat destfile="./${dir.publish}/${dir.js}/scripts-${build.number}.js">
359
+ <fileset dir="./${dir.publish}/">
360
+ <include name="**/${dir.js.main}/*.min.js"/>
361
+ <exclude name="**/${dir.js.mylibs}/*.js"/>
362
+ <exclude name="**/${dir.js.libs}/*.js"/>
363
+ </fileset>
364
+ </concat>
365
+ </target>
366
+
367
+
368
+ <target name="-js.mylibs.concat" depends="-load-build-info" description="(PRIVATE) Concatenates the JS files in dir.js.mylibs">
369
+ <echo message="Concatenating JS libraries"/>
370
+ <concat destfile="./${dir.publish}/${dir.js}/libs-${build.number}.js">
371
+ <fileset dir="./${dir.publish}/${dir.js.mylibs}/">
372
+ <include name="**/*.min.js"/>
373
+ </fileset>
374
+ </concat>
375
+ </target>
376
+
377
+
378
+ <target name="-js.scripts.concat" depends="-load-build-info" if="build.concat.scripts">
379
+ <echo message="Concatenating library file with main script file"/>
380
+ <concat destfile="./${dir.publish}/${dir.js}/scripts-${build.number}.min.js">
381
+ <fileset dir="./${dir.publish}/${dir.js}/">
382
+ <include name="libs-${build.number}.js"/>
383
+ <include name="scripts-${build.number}.js"/>
384
+ </fileset>
385
+ </concat>
386
+
387
+ <echo message="Concatenating library file with main debug script file"/>
388
+ <concat destfile="./${dir.publish}/${dir.js}/scripts-${build.number}-debug.min.js">
389
+ <fileset dir="./${dir.publish}/${dir.js}/">
390
+ <include name="libs-${build.number}.js"/>
391
+ <include name="scripts-${build.number}-debug.js"/>
392
+ </fileset>
393
+ </concat>
394
+ </target>
395
+
396
+
397
+ <target name="-js.all.minify" depends="-js.libs.minify" description="(PRIVATE) Minifies the scripts.js files created by js.scripts.concat">
398
+ <echo message="Minifying concatenated script- and library-file"/>
399
+ <apply executable="java" parallel="false">
400
+ <fileset dir="./${dir.publish}/${dir.js}">
401
+ <include name="**/*.js"/>
402
+ <exclude name="**/*.min.js"/>
403
+ <exclude name="**/${dir.js.libs}/*.js"/>
404
+ </fileset>
405
+ <arg line="-jar"/>
406
+ <arg path="./${dir.build.tools}/${tool.yuicompressor}"/>
407
+ <srcfile/>
408
+ <arg line="--line-break"/>
409
+ <arg line="4000"/>
410
+ <arg line="-o"/>
411
+ <mapper type="glob" from="*.js" to="../${dir.publish}/${dir.js}/*.min.js"/>
412
+ <targetfile/>
413
+ </apply>
414
+ </target>
415
+
416
+
417
+ <target name="-js.libs.minify" depends="-load-build-info" description="(PRIVATE) Minifies the helper files in dir.js.libs">
418
+ <echo message="Minifying helper JS files..."/>
419
+
420
+ <apply executable="java" parallel="false">
421
+ <fileset dir="./${dir.publish}/${dir.js.libs}/" includes="*.js" excludes="*.min.js"/>
422
+ <arg line="-jar"/>
423
+ <arg path="./${dir.build.tools}/${tool.yuicompressor}"/>
424
+ <srcfile/>
425
+ <arg line="-o"/>
426
+ <mapper type="glob" from="*.js" to="../${dir.publish}/${dir.js.libs}/*-${build.number}.min.js"/>
427
+ <targetfile/>
428
+ </apply>
429
+ </target>
430
+
431
+
432
+ <target name="-js.delete" depends="-load-build-info" description="(PRIVATE) Deletes the unoptimized js files from build if set">
433
+ <if>
434
+ <equals arg1="${build.delete.unoptimized}" arg2="true"/>
435
+ <then>
436
+ <echo message="Deleting unoptimized files..."/>
437
+ <delete file="./${dir.publish}/${dir.js}/scripts-${build.number}.js"/>
438
+ <delete file="./${dir.publish}/${dir.js}/scripts-${build.number}-debug.js"/>
439
+ <!--
440
+ <delete dir="./${dir.publish}/${dir.js.lib}/"/>
441
+ <delete file="./${dir.publish}/${dir.js}/libs-${build.number}.js"/>
442
+ this guy probably COULD be on but I think it's better if we keep him off for now. ^pi
443
+ <delete includeemptydirs="true">
444
+ <fileset dir="./${dir.publish}/${dir.js.libs}/" includes="*.js" excludes="*.min.js"/>
445
+ </delete>
446
+ -->
447
+ </then>
448
+ </if>
449
+
450
+ <if>
451
+ <and>
452
+ <equals arg1="${build.delete.unoptimized}" arg2="true"/>
453
+ <equals arg1="${build.concat.scripts}" arg2="true"/>
454
+ </and>
455
+ <then>
456
+ <delete file="./${dir.publish}/${dir.js}/libs-${build.number}.js"/>
457
+ <delete file="./${dir.publish}/${dir.js}/scripts-${build.number}.js"/>
458
+ </then>
459
+ </if>
460
+ </target>
461
+
462
+
463
+ <target name="-strip-console.log" description="(PRIVATE)Comments out any console.log statements">
464
+ <echo message="Commenting out console.log lines"/>
465
+
466
+
467
+ <replaceregexp match="(console.log\(.*\))" replace="/\*\1\*/" flags="g" >
468
+ <fileset dir="./${dir.publish}/${dir.js}/">
469
+ <include name="**/*.js"/>
470
+ <exclude name="**/*.min.js"/>
471
+ </fileset>
472
+ </replaceregexp>
473
+ </target>
474
+
475
+
476
+ <!-- HTML -->
477
+ <target name="-usemin" depends="-serverconfig" description="(PRIVATE) Replaces references to non-minified scripts">
478
+ <echo message="Switching to minified js files..."/>
479
+
480
+ <!-- switch from a regular jquery to minified -->
481
+ <replaceregexp match="jquery-(\d|\d(\.\d)+)\.js" replace="jquery-\1.min.js" flags="">
482
+ <fileset dir="./${dir.publish}" includes="${page-files}"/>
483
+ </replaceregexp>
484
+ <!-- switch any google CDN reference to minified -->
485
+ <replaceregexp match="(\d|\d(\.\d)+)\/jquery\.js" replace="\1/jquery.min.js" flags="">
486
+ <fileset dir="./${dir.publish}" includes="${page-files}"/>
487
+ </replaceregexp>
488
+
489
+ <echo>kill off those versioning flags: ?v=2</echo>
490
+ <replaceregexp match='\?v=\d+">' replace='">' flags="">
491
+ <fileset dir="./${dir.publish}" includes="${page-files}"/>
492
+ </replaceregexp>
493
+ </target>
494
+
495
+
496
+ <target name="-html" depends="-load-build-info" description="(PRIVATE) Very basic clean up of the HTML">
497
+ <echo message="Clean up the html..."/>
498
+ <!-- style.css replacement handled as a replacetoken above -->
499
+ <replaceregexp match="&lt;!-- scripts concatenated [\d\w\s\W]*?!-- end concatenated and minified scripts--&gt;" replace="&lt;script src='${dir.js}/scripts-${build.number}.min.js\'&gt;&lt;/script&gt;" flags="m">
500
+ <fileset dir="./${dir.publish}" includes="${page-files}"/>
501
+ </replaceregexp>
502
+ <!--[! use comments like this one to avoid having them get minified -->
503
+ </target>
504
+
505
+
506
+ <target name="-htmlclean">
507
+ <apply executable="java" parallel="false" force="true" dest="./${dir.publish}/" >
508
+ <fileset dir="./${dir.publish}/" includes="${page-files}"/>
509
+ <arg value="-jar"/>
510
+ <arg path="./${dir.build}/tools/${tool.htmlcompressor}"/>
511
+ <arg line="--type html"/>
512
+ <arg line="--preserve-multi-spaces"/>
513
+ <arg line="--remove-quotes"/>
514
+ <arg line="--compress-js"/>
515
+ <arg line="--compress-css"/>
516
+ <srcfile/>
517
+ <arg value="-o"/>
518
+ <mapper type="glob" from="*.html" to="../${dir.publish}/*.html"/>
519
+ <targetfile/>
520
+ </apply>
521
+ </target>
522
+
523
+
524
+ <target name="-htmlbuildkit">
525
+ <apply executable="java" parallel="false" force="true" dest="./${dir.publish}/" >
526
+ <fileset dir="./${dir.publish}/" includes="${page-files}"/>
527
+ <arg value="-jar"/>
528
+ <arg path="./${dir.build}/tools/${tool.htmlcompressor}"/>
529
+ <arg value="--preserve-comments"/>
530
+ <arg line="--preserve-multi-spaces"/>
531
+ <arg line="--type html"/>
532
+ <arg line="--compress-js"/>
533
+ <arg line="--compress-css"/>
534
+ <srcfile/>
535
+ <arg value="-o"/>
536
+ <mapper type="glob" from="*.html" to="../${dir.publish}/*.html"/>
537
+ <targetfile/>
538
+ </apply>
539
+ </target>
540
+
541
+
542
+ <target name="-htmlcompress">
543
+ <apply executable="java" parallel="false" force="true" dest="./${dir.publish}/" >
544
+ <fileset dir="./${dir.publish}/" includes="${page-files}"/>
545
+ <arg value="-jar"/>
546
+ <arg path="./${dir.build}/tools/${tool.htmlcompressor}"/>
547
+ <arg line="--type html"/>
548
+ <arg line="--remove-quotes"/>
549
+ <arg line="--compress-js"/>
550
+ <arg line="--compress-css"/>
551
+ <srcfile/>
552
+ <arg value="-o"/>
553
+ <mapper type="glob" from="*.html" to="../${dir.publish}/*.html"/>
554
+ <targetfile/>
555
+ </apply>
556
+ </target>
557
+
558
+
559
+ <target name="-serverconfig" description="(PRIVATE) Upgrades expires headers">
560
+ <echo message="Upgrading expires header timeouts for js/css"/>
561
+ <replace file="./${dir.publish}/${file.serverconfig}" token="access plus 2 months" value="access plus 1 year"/>
562
+ </target>
563
+
564
+
565
+ <!-- CSS -->
566
+ <target name="-css" description="Concatenates and Minifies any stylesheets listed in the file.stylesheets property">
567
+ <echo message="Minifying css..."/>
568
+
569
+ <concat destfile="./${dir.publish}/${dir.css}/style-${build.number}.css">
570
+ <filelist dir="./${dir.publish}/${dir.css}" files="${stylesheet-files}"/>
571
+ </concat>
572
+ <apply executable="php" parallel="false">
573
+ <fileset dir="./${dir.publish}/${dir.css}/" includes="style-${build.number}.css"/>
574
+ <arg line="-f"/>
575
+ <arg path="./${dir.build.tools}/${tool.csscompressor}"/>
576
+ <srcfile/>
577
+ <redirector>
578
+ <outputmapper type="glob" from="style-${build.number}.css" to="./${dir.publish}/${dir.css}/style-${build.number}.min.css"/>
579
+ </redirector>
580
+ </apply>
581
+ <replace token="style.css" value="style-${build.number}.min.css" dir="${dir.publish}" includes="${page-files}"/>
582
+ </target>
583
+
584
+
585
+ <!-- IMAGES -->
586
+ <target name="-imagespng" description="(PRIVATE) Optimizes .png images using optipng">
587
+ <echo message="Optimizing images"/>
588
+
589
+ <!-- osfamily=unix is actually true on OS X as well -->
590
+ <apply executable="optipng" osfamily="unix">
591
+ <arg value="-o7"/>
592
+ <fileset dir="./${dir.publish}/">
593
+ <include name="**/*.png"/>
594
+ </fileset>
595
+ </apply>
596
+ <apply executable="tools/optipng-0.6.4-exe/optipng.exe" osfamily="windows">
597
+ <arg value="-o7"/>
598
+ <fileset dir="./${dir.publish}/">
599
+ <include name="**/*.png"/>
600
+ </fileset>
601
+ </apply>
602
+ </target>
603
+
604
+
605
+ <target name="-imagesjpg" description="(PRIVATE) Optimizes .jpg images using jpegtan">
606
+ <echo message="Clean up those jpgs..."/>
607
+ <if>
608
+ <equals arg1="${images.strip.metadata}" arg2="true"/>
609
+ <then>
610
+ <var name="strip-meta-tags" value="none"/>
611
+ </then>
612
+ <else>
613
+ <var name="strip-meta-tags" value="all"/>
614
+ </else>
615
+ </if>
616
+ <apply executable="jpegtran" osfamily="unix">
617
+ <fileset dir="./${dir.publish}/${dir.images}/" includes="*.jpg"/>
618
+ <arg value="-copy"/>
619
+ <arg value="${strip-meta-tags}"/>
620
+ <srcfile/>
621
+ <targetfile/>
622
+ <!-- you may want to flag optimized images. If so, do it here. Otherwise change this to type="identity" -->
623
+ <mapper type="glob" from="*.jpg" to="../${dir.publish}/${dir.images}/*.jpg"/>
624
+ </apply>
625
+ <apply executable="tools/jpegtran.exe" osfamily="windows">
626
+ <fileset dir="./${dir.publish}/${dir.images}/" includes="*.jpg"/>
627
+ <arg value="-copy"/>
628
+ <arg value="${strip-meta-tags}"/>
629
+ <srcfile/>
630
+ <targetfile/>
631
+ <!-- you may want to flag optimized images. If so, do it here. Otherwise change this to type="identity" -->
632
+ <mapper type="glob" from="*.jpg" to="../${dir.publish}/${dir.images}/*.jpg"/>
633
+ </apply>
634
+ </target>
635
+
636
+ </project>