75 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
$:.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?('<div class="patchfile sub-nav-block icons-megaphone">')
 | 
						|
	@indert_index = @file_text.index('</nav>')
 | 
						|
	@file_text.insert(@indert_index , @patchfile_li_choices)
 | 
						|
end
 | 
						|
if !@file_text.include?('patchfile_li')
 | 
						|
	@indert_index = @file_text.index('<li title="<%= t(\'site_info\') %>">')
 | 
						|
	@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 = '<a title="{{site_title_1}}" class="navbar-brand" href="{{home_link_1}}"><img class="site-logo" src="{{logo_url_1}}" alt="Site Logo"></a><script>$(document).ready(function(){var url =$(\'.site-logo\').eq(0).attr(\'src\');if(url == "/assets/default-site-logo.png"){$(\'.navbar-brand\').eq(0).remove();};if($(\'.navbar-brand\').length == 2){$(\'.site-logo\').css(\'height\',\'auto\')};$(\'.site-logo\').eq(0).css(\'margin-right\',0);$(\'.navbar-brand\').css(\'padding-right\',0)})</script><a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="Site Logo"> {{site_name}}</a>'
 | 
						|
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
 |