Module: ReVIEW::Book::Compilable
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from TextUtils
#add_space?, #defer_math_image, #detab, #join_lines_to_paragraph, #split_paragraph
Instance Attribute Details
Returns the value of attribute book.
15
16
17
|
# File 'lib/review/book/compilable.rb', line 15
def book
@book
end
|
Returns the value of attribute content.
17
18
19
|
# File 'lib/review/book/compilable.rb', line 17
def content
@content
end
|
Returns the value of attribute path.
16
17
18
|
# File 'lib/review/book/compilable.rb', line 16
def path
@path
end
|
Instance Method Details
24
25
26
27
|
# File 'lib/review/book/compilable.rb', line 24
def basename
return nil unless @path
File.basename(@path)
end
|
#bibpaper(id) ⇒ Object
134
135
136
|
# File 'lib/review/book/compilable.rb', line 134
def bibpaper(id)
bibpaper_index[id]
end
|
#bibpaper_index ⇒ Object
138
139
140
141
142
|
# File 'lib/review/book/compilable.rb', line 138
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
|
#column(id) ⇒ Object
152
153
154
|
# File 'lib/review/book/compilable.rb', line 152
def column(id)
column_index[id]
end
|
#column_index ⇒ Object
156
157
158
|
# File 'lib/review/book/compilable.rb', line 156
def column_index
@column_index ||= ColumnIndex.parse(lines)
end
|
19
20
21
22
|
# File 'lib/review/book/compilable.rb', line 19
def dirname
return nil unless @path
File.dirname(@path)
end
|
#equation(id) ⇒ Object
81
82
83
|
# File 'lib/review/book/compilable.rb', line 81
def equation(id)
equation_index[id]
end
|
#equation_index ⇒ Object
85
86
87
88
|
# File 'lib/review/book/compilable.rb', line 85
def equation_index
@equation_index ||= EquationIndex.parse(lines)
@equation_index
end
|
90
91
92
|
# File 'lib/review/book/compilable.rb', line 90
def (id)
[id]
end
|
94
95
96
97
|
# File 'lib/review/book/compilable.rb', line 94
def
||= .parse(lines)
end
|
#headline(caption) ⇒ Object
144
145
146
|
# File 'lib/review/book/compilable.rb', line 144
def headline(caption)
headline_index[caption]
end
|
#headline_index ⇒ Object
148
149
150
|
# File 'lib/review/book/compilable.rb', line 148
def headline_index
@headline_index ||= HeadlineIndex.parse(lines, self)
end
|
#icon_index ⇒ Object
120
121
122
123
124
125
|
# File 'lib/review/book/compilable.rb', line 120
def icon_index
@icon_index ||= IconIndex.parse(lines, id,
@book.imagedir,
@book.image_types, @book.config['builder'])
@icon_index
end
|
#image(id) ⇒ Object
99
100
101
102
103
104
|
# File 'lib/review/book/compilable.rb', line 99
def image(id)
return image_index[id] if image_index.key?(id)
return icon_index[id] if icon_index.key?(id)
return numberless_image_index[id] if numberless_image_index.key?(id)
indepimage_index[id]
end
|
#image_bound?(item_id) ⇒ Boolean
168
169
170
171
|
# File 'lib/review/book/compilable.rb', line 168
def image_bound?(item_id)
item = self.image(item_id)
item.path
end
|
#image_index ⇒ Object
113
114
115
116
117
118
|
# File 'lib/review/book/compilable.rb', line 113
def image_index
@image_index ||= ImageIndex.parse(lines, id,
@book.imagedir,
@book.image_types, @book.config['builder'])
@image_index
end
|
#indepimage_index ⇒ Object
127
128
129
130
131
132
|
# File 'lib/review/book/compilable.rb', line 127
def indepimage_index
@indepimage_index ||=
IndepImageIndex.parse(lines, id,
@book.imagedir,
@book.image_types, @book.config['builder'])
end
|
58
59
60
61
|
# File 'lib/review/book/compilable.rb', line 58
def lines
(@lines ||= content.lines.to_a).dup
end
|
63
64
65
|
# File 'lib/review/book/compilable.rb', line 63
def list(id)
list_index[id]
end
|
#list_index ⇒ Object
67
68
69
70
|
# File 'lib/review/book/compilable.rb', line 67
def list_index
@list_index ||= ListIndex.parse(lines)
@list_index
end
|
#name ⇒ Object
Also known as:
id
29
30
31
32
|
# File 'lib/review/book/compilable.rb', line 29
def name
return nil unless @name
File.basename(@name, '.*')
end
|
#next_chapter ⇒ Object
160
161
162
|
# File 'lib/review/book/compilable.rb', line 160
def next_chapter
book.next_chapter(self)
end
|
#numberless_image_index ⇒ Object
106
107
108
109
110
111
|
# File 'lib/review/book/compilable.rb', line 106
def numberless_image_index
@numberless_image_index ||=
NumberlessImageIndex.parse(lines, id,
@book.imagedir,
@book.image_types, @book.config['builder'])
end
|
#prev_chapter ⇒ Object
164
165
166
|
# File 'lib/review/book/compilable.rb', line 164
def prev_chapter
book.prev_chapter(self)
end
|
50
51
52
|
# File 'lib/review/book/compilable.rb', line 50
def size
content.size
end
|
#table(id) ⇒ Object
72
73
74
|
# File 'lib/review/book/compilable.rb', line 72
def table(id)
table_index[id]
end
|
#table_index ⇒ Object
76
77
78
79
|
# File 'lib/review/book/compilable.rb', line 76
def table_index
@table_index ||= TableIndex.parse(lines)
@table_index
end
|
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/review/book/compilable.rb', line 36
def title
return @title if @title
@title = ''
return @title unless content
content.each_line do |line|
if line =~ /\A=+/
@title = line.sub(/\A=+(\[.+?\])?(\{.+?\})?/, '').strip
break
end
end
@title
end
|
54
55
56
|
# File 'lib/review/book/compilable.rb', line 54
def volume
@volume ||= Volume.count_file(path)
end
|