lib/softcover/builder.rb in softcover-0.7.11 vs lib/softcover/builder.rb in softcover-0.8.0
- old
+ new
@@ -6,10 +6,11 @@
def initialize
@manifest = Softcover::BookManifest.new(verify_paths: true,
source: source)
@built_files = []
+ ensure_style_file_locations
write_polytexnic_commands_file
end
def build!(options={})
setup
@@ -22,11 +23,36 @@
private
def setup; end
def verify; end
+ # Ensures the style files are in the right location.
+ # This is for backwards compatibility.
+ def ensure_style_file_locations
+ styles_dir = Softcover::Directories::STYLES
+ mkdir styles_dir
+ fix_custom_include
+ files = Dir.glob('*.sty')
+ FileUtils.mv(files, styles_dir)
+ end
+
+ # Fixes the custom include.
+ # The template includes the custom style file as an example
+ # of file inclusion. Unfortunately, the location of 'custom.sty', has
+ # changed, which will result in older templates spontaneously breaking.
+ def fix_custom_include
+ first_chapter = File.join('chapters', 'a_chapter.tex')
+ if File.exist?(first_chapter)
+ text = File.read(first_chapter)
+ text.gsub!('<<(custom.sty',
+ "<<(#{Softcover::Directories::STYLES}/custom.sty" )
+ File.write(first_chapter, text)
+ end
+ end
+
# Writes out the PolyTeXnic commands from polytexnic.
def write_polytexnic_commands_file
- Polytexnic.write_polytexnic_style_file(Dir.pwd)
+ styles_dir = File.join(Dir.pwd, Softcover::Directories::STYLES)
+ Polytexnic.write_polytexnic_style_file(styles_dir)
end
end
end
\ No newline at end of file