# File lib/review/book/compilable.rb, line 29 def basename return nil unless @path File.basename(@path) end
# File lib/review/book/compilable.rb, line 148 def bibpaper(id) bibpaper_index()[id] end
# File lib/review/book/compilable.rb, line 152 def bibpaper_index raise FileNotFound, "no such bib file: #{@book.bib_file}" unless @book.bib_exist? @bibpaper_index ||= BibpaperIndex.parse(@book.read_bib.lines.to_a) @bibpaper_index end
# File lib/review/book/compilable.rb, line 166 def column(id) column_index()[id] end
# File lib/review/book/compilable.rb, line 170 def column_index @column_index ||= ColumnIndex.parse(lines()) end
# File lib/review/book/compilable.rb, line 75 def content @content = File.read(path()) rescue @content end
# File lib/review/book/compilable.rb, line 24 def dirname return nil unless @path File.dirname(@path) end
# File lib/review/book/compilable.rb, line 20 def env @book end
# File lib/review/book/compilable.rb, line 104 def footnote(id) footnote_index()[id] end
# File lib/review/book/compilable.rb, line 108 def footnote_index @footnote_index ||= FootnoteIndex.parse(lines()) @footnote_index end
# File lib/review/book/compilable.rb, line 158 def headline(caption) headline_index()[caption] end
# File lib/review/book/compilable.rb, line 162 def headline_index @headline_index ||= HeadlineIndex.parse(lines(), self) end
# File lib/review/book/compilable.rb, line 134 def icon_index @icon_index ||= IconIndex.parse(lines(), id(), "#{book.basedir}/#{@book.image_dir}", @book.image_types, @book.config['builder']) @icon_index end
# File lib/review/book/compilable.rb, line 113 def image(id) return image_index()[id] if image_index().has_key?(id) return icon_index()[id] if icon_index().has_key?(id) return numberless_image_index()[id] if numberless_image_index().has_key?(id) indepimage_index()[id] end
# File lib/review/book/compilable.rb, line 127 def image_index @image_index ||= ImageIndex.parse(lines(), id(), "#{book.basedir}/#{@book.image_dir}", @book.image_types, @book.config['builder']) @image_index end
# File lib/review/book/compilable.rb, line 141 def indepimage_index @indepimage_index ||= IndepImageIndex.parse(lines(), id(), "#{book.basedir}/#{@book.image_dir}", @book.image_types, @book.config['builder']) end
# File lib/review/book/compilable.rb, line 81 def lines # FIXME: we cannot duplicate Enumerator on ruby 1.9 HEAD (@lines ||= content().lines.to_a).dup end
# File lib/review/book/compilable.rb, line 86 def list(id) list_index()[id] end
# File lib/review/book/compilable.rb, line 90 def list_index @list_index ||= ListIndex.parse(lines()) @list_index end
# File lib/review/book/compilable.rb, line 34 def name return nil unless @name File.basename(@name, '.*') end
# File lib/review/book/compilable.rb, line 174 def next_chapter book.next_chapter(self) end
# File lib/review/book/compilable.rb, line 120 def numberless_image_index @numberless_image_index ||= NumberlessImageIndex.parse(lines(), id(), "#{book.basedir}/#{@book.image_dir}", @book.image_types, @book.config['builder']) end
# File lib/review/book/compilable.rb, line 68 def open(&block) return (block_given?() ? yield(@io) : @io) if @io File.open(path(), &block) end
# File lib/review/book/compilable.rb, line 178 def prev_chapter book.prev_chapter(self) end
# File lib/review/book/compilable.rb, line 56 def size File.size(path()) end
# File lib/review/book/compilable.rb, line 95 def table(id) table_index()[id] end
# File lib/review/book/compilable.rb, line 99 def table_index @table_index ||= TableIndex.parse(lines()) @table_index end
# File lib/review/book/compilable.rb, line 41 def title return @title if @title @title = '' open {|f| f.each_line {|l| if l =~ /\A=+/ @title = l.sub(/\A=+(\[.+?\])?(\{.+?\})?/, '').strip break end } } @title end
# File lib/review/book/compilable.rb, line 60 def volume if !@volume @volume = Volume.count_file(path()) @volume.page_per_kbyte = @book.page_metric.page_per_kbyte end @volume end