Skip to content
This repository has been archived by the owner on Nov 9, 2022. It is now read-only.

Commit

Permalink
Fix #522 - Add font assets to compile process
Browse files Browse the repository at this point in the history
  • Loading branch information
ebollens committed Dec 16, 2013
1 parent 5c26afd commit 1e6b272
Show file tree
Hide file tree
Showing 10 changed files with 126 additions and 8 deletions.
9 changes: 9 additions & 0 deletions lib/Build/Core/Adapter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,19 @@ def link_css

def assemble

assemble_font
assemble_img
assemble_js

end

def assemble_font

log.task "Core: Adapter", "Copying fonts from core adapter" do
assemble_font_files_for src_core_adapter_dir
end

end

def assemble_img

Expand Down
18 changes: 17 additions & 1 deletion lib/Build/Core/Extensions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,27 @@ def link_css
end

def assemble


assemble_font
assemble_img
assemble_js

end

def assemble_font

return unless config[:src][:extensions]
extensions = config[:src][:extensions].respond_to?(:each) ? config[:src][:extensions] : [config[:src][:extensions]]

extensions.each do |extension|

log.task "Core: Extensions", "Copying fonts from extension #{extension}" do
assemble_font_files_for from_src_extensions_dir_to extension
end

end

end

def assemble_img

Expand Down
13 changes: 13 additions & 0 deletions lib/Build/Module.rb
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,19 @@ def link_sass_libs_for base_dir, additionally_to_ie = true
end

end

def assemble_font_files_for base_dir

get_files(base_dir, ['eot','ttf','otf','woff']).each do |file|

dst = "#{tmp_font_build_dir}/#{file.gsub /^#{base_dir}\//, ''}"
log.debug "#{tmp_font_build_dir.gsub /^#{root_dir}\//, ''} <- #{file.gsub /^#{root_dir}\//, ''}"
FileUtils.mkdir_p File.dirname(dst)
FileUtils.cp_r file, dst

end

end

def assemble_img_files_for base_dir

Expand Down
63 changes: 56 additions & 7 deletions lib/Build/WebBlocks.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def preprocess
log.task "WebBlocks", "Set up temporary build directory" do

preprocess_css
preprocess_font
preprocess_img
preprocess_js

Expand All @@ -41,7 +42,7 @@ def preprocess
def preprocess_css

log.task "WebBlocks", "Set up CSS temporary build region" do

FileUtils.mkdir_p tmp_build_dir
FileUtils.rm_rf tmp_css_build_dir
FileUtils.mkdir_p tmp_css_build_dir
Expand All @@ -66,16 +67,28 @@ def preprocess_css

end

def preprocess_img
def preprocess_font

log.task "WebBlocks", "Set up image temporary build region" do
log.task "WebBlocks", "Set up font temporary build region" do

FileUtils.mkdir_p tmp_build_dir
FileUtils.rm_rf tmp_font_build_dir
FileUtils.mkdir_p tmp_font_build_dir

end

end

def preprocess_img

log.task "WebBlocks", "Set up image temporary build region" do

FileUtils.mkdir_p tmp_build_dir
FileUtils.rm_rf tmp_img_build_dir
FileUtils.mkdir_p tmp_img_build_dir

end

end

def preprocess_js
Expand Down Expand Up @@ -157,6 +170,7 @@ def compile_css
def assemble

assemble_css
assemble_font
assemble_img
assemble_js

Expand Down Expand Up @@ -189,14 +203,32 @@ def assemble_css
end

end

def assemble_font

log.task "WebBlocks", "Assembling font sources into font directory" do

dir = src_font_dir

get_files(dir, ['eot','ttf','otf','woff']).each do |src|
relname = src.gsub /^#{dir}\//, ''
dst = "#{tmp_font_build_dir}/#{relname}"
log.debug "#{tmp_font_build_dir.gsub /^#{root_dir}\//, ''} <- #{src.gsub /^#{root_dir}\//, ''}"
FileUtils.mkdir_p File.dirname(dst)
FileUtils.cp src, dst
end

end

end

def assemble_img

log.task "WebBlocks", "Assembling image sources into JS files" do
log.task "WebBlocks", "Assembling image sources into image directory" do

dir = src_img_dir

get_files(dir, ['gif','jpg','jpeg','png','bmp']).each do |src|
get_files(dir, ['gif','jpg','jpeg','png','bmp','svg']).each do |src|
relname = src.gsub /^#{dir}\//, ''
dst = "#{tmp_img_build_dir}/#{relname}"
log.debug "#{tmp_img_build_dir.gsub /^#{root_dir}\//, ''} <- #{src.gsub /^#{root_dir}\//, ''}"
Expand Down Expand Up @@ -255,6 +287,7 @@ def package
log.task "WebBlocks", "Packaging build files" do

package_css
package_font
package_img
package_js

Expand Down Expand Up @@ -288,6 +321,22 @@ def package_css
end

end

def package_font

FileUtils.mkdir_p build_dir
FileUtils.mkdir_p font_build_dir

log.task "WebBlocks", "Packaging font build files" do

log.info "Copying #{tmp_font_build_dir} to #{font_build_dir}" do
FileUtils.rm_rf font_build_dir
FileUtils.cp_r tmp_font_build_dir, font_build_dir
end

end

end

def package_img

Expand Down
7 changes: 7 additions & 0 deletions lib/Config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ def config
:name_ie => 'blocks-ie.js',
:name_script_dir => 'script'
}

@config[:build][:font] = {
:dir => 'font'
}

@config[:build][:img] = {
:dir => 'img'
Expand Down Expand Up @@ -116,6 +120,9 @@ def config
:css => {
:dir => 'css'
},
:font => {
:dir => 'font'
},
:img => {
:dir => 'img'
},
Expand Down
4 changes: 4 additions & 0 deletions lib/Path/Build.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ def css_build_file_ie
def img_build_dir
from_build_dir_to config[:build][:img][:dir]
end

def font_build_dir
from_build_dir_to config[:build][:font][:dir]
end

def js_build_dir
from_build_dir_to config[:build][:js][:dir]
Expand Down
4 changes: 4 additions & 0 deletions lib/Path/Source.rb
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@ def src_sass_includes_dir
def src_css_dir
from_src_dir_to config[:src][:css][:dir]
end

def src_font_dir
from_src_dir_to config[:src][:font][:dir]
end

def src_img_dir
from_src_dir_to config[:src][:img][:dir]
Expand Down
4 changes: 4 additions & 0 deletions lib/Path/Temporary_Build.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ def tmp_css_build_file
def tmp_css_build_file_ie
from_tmp_build_dir_to 'css', 'blocks-ie.css'
end

def tmp_font_build_dir
from_tmp_build_dir_to 'font'
end

def tmp_img_build_dir
from_tmp_build_dir_to 'img'
Expand Down
12 changes: 12 additions & 0 deletions lib/Rake/Task/build_font.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
task :build_font => [:init] do

# see build.rb for documentation on execution steps

execute "preprocess_font"
execute "link_font"
execute "compile_font"
execute "assemble_font"
execute "package_font"
execute "postprocess_font"

end
Empty file added src/font/.gitignore
Empty file.

0 comments on commit 1e6b272

Please sign in to comment.