Class: ReVIEW::WEBTOCPrinter
Constant Summary
Constants included
from HTMLUtils
HTMLUtils::ESC
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from HTMLUtils
#escape, #escape_comment, #highlight, #highlight?, #highlight_pygments, #highlight_rouge, #normalize_id, #strip_html, #unescape
Methods inherited from TOCPrinter
default_upper_level, #initialize, #print?
Class Method Details
.book_to_string(book) ⇒ Object
8
9
10
11
12
13
|
# File 'lib/review/webtocprinter.rb', line 8
def self.book_to_string(book)
io = StringIO.new
ReVIEW::WEBTOCPrinter.new(1, {}, io).print_book(book)
io.seek(0)
io.read
end
|
Instance Method Details
#print_book(book) ⇒ Object
15
16
17
18
19
20
21
22
|
# File 'lib/review/webtocprinter.rb', line 15
def print_book(book)
@out.puts '<ul class="book-toc">'
@out.puts %Q(<li><a href="index.html">TOP</a></li>\n)
book.each_part do |part|
print_part(part)
end
@out.puts '</ul>'
end
|
#print_chapter(chap) ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/review/webtocprinter.rb', line 42
def print_chapter(chap)
chap_node = TOCParser.chapter_node(chap)
ext = chap.book.config['htmlext'] || 'html'
path = File.basename(chap.path.sub(/\.re/, '.' + ext))
label = if chap_node.number && chap.on_chaps?
"#{I18n.t('chapter_short', chap.number)} #{chap.title}"
else
chap.title
end
@out.puts %Q(<li><a href="#{path}">#{h(label)}</a></li>\n)
end
|
#print_part(part) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/review/webtocprinter.rb', line 24
def print_part(part)
if part.number
if part.file?
ext = part.book.config['htmlext'] || 'html'
path = File.basename(part.path.sub(/\.re/, '.' + ext))
@out.puts %Q(<li><a href="#{path}">#{h(I18n.t('part_short', part.number) + ' ' + part.title)}</a>\n<ul>\n)
else
@out.puts %Q(<li>#{h(I18n.t('part_short', part.number) + ' ' + part.title)}\n<ul>\n)
end
end
part.each_chapter do |chap|
print_chapter(chap)
end
if part.number
@out.puts "</ul>\n</li>\n"
end
end
|