$:.push File.expand_path("../lib", __FILE__)
require 'nokogiri'
# Maintain your gem's version:
require "patchfile/version"
app_path = File.expand_path(__dir__)
template_path = ENV['PWD'] + '/app/templates'
all_template = Dir.glob(template_path+'/*/')
#if !Dir.exist?("#{ENV['PWD']}"+"/app/assets/stylesheets/lib/jquery-ui-1.12.1/")
puts "copying jquery-ui"
begin
`cp -r "#{app_path}/updatefiles/accessibility/jquery-ui-1.12.1/." "#{ENV['PWD']}/app/assets/stylesheets/lib/jquery-ui-1.12.1/"`
rescue
puts "There is an error in coppying jquery-ui"
end
#end
@original_dir = Dir.pwd
`cd "#{ENV['PWD']}" && git add app/templates/ app/assets built_in_extensions.rb config/mongoid.yml bin/ && cd "#{@original_dir}"` #using git to add modified files and to avoid git pull not working
#Add patchfile to Admin area
@patchfile_li = File.read(app_path+"/patchfile_li.txt")
@patchfile_li_choices = File.read(app_path+"/patchfile_li_choices.txt")
@file_text = File.read(ENV['PWD']+'/app/views/shared/_side_bar.html.erb')
if !@file_text.include?('
')
@indert_index = @file_text.index('')
@file_text.insert(@indert_index , @patchfile_li_choices)
end
if !@file_text.include?('patchfile_li')
@indert_index = @file_text.index('
')
@file_text.insert(@indert_index , @patchfile_li)
end
f = File.open(ENV['PWD']+'/app/views/shared/_side_bar.html.erb','w')
f.write(@file_text)
f.close
puts "finish change patchfile in #{ENV['PWD']}/app/views/shared"
change_text = ' {{site_name}}'
all_template.each do |folder|
if !folder.include?('mobile')
begin
puts "changing header.html.erb in #{folder}/home/header.html.erb"
if folder.split('/')[-1] != 'mobile'
unity_text = File.read(folder+'home/header.html.erb') rescue ''
if unity_text.split(/\n/).join.strip.empty?
File.open(folder+'assets/stylesheets/template/base/_unity.scss', 'a') do |file|
file.puts "@charset \"utf-8\";\n\n@import \"variables\";\n\n// Title\n.unity-title {\n margin: 0.5em 0;\n line-height: 1.5;\n font-family: $main-font;\n font-size: $font-h1;\n\n .layout-footer & {\n margin-bottom: 10px;\n border-bottom: none;\n\n span {\n display: inline;\n margin-bottom: 0;\n border-bottom: none;\n }\n }\n}\n\n.status {\n font-family: $main-font;\n font-size: 0.75rem;\n}\n\n.status-top {\n background-color: $theme-color-second;\n}\n\n.status-hot {\n background-color: $theme-color-third;\n}\n\n.status-source {\n background-color: $theme-color-main;\n\n a {\n color: $theme-white;\n }\n}\n"
end
end
filename = folder+'home/header.html.erb'
texts = File.read(filename)
texts_html = Nokogiri::HTML.parse(texts)
if texts_html.css('.navbar-brand').length == 1
new_texts = texts.gsub(texts_html.css('.navbar-brand').to_s,change_text)
File.open(filename,'w') do |f|
f.write new_texts
end
end
end
rescue => e
puts "#{e.inspect}\nnot found #{folder}home/header.html.erb"
end
end
end
# Describe your gem and declare its dependencies:
Gem::Specification.new do |s|
s.name = "patchfile"
s.version = Patchfile::VERSION
s.authors = ["Ruling Digital"]
s.email = ["orbit@rulingcom.com"]
s.homepage = "http://www.rulingcom.com"
s.summary = "Patch_file for Orbit"
s.description = "Patch_file for Orbit"
s.license = "MIT"
s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"]
s.test_files = Dir["test/**/*"]
end