index_href(slide_number)
click to toggle source
def index_href(slide_number)
with_outputting_index(true) do
href(slide_number)
end
end
index_image_title(slide_number)
click to toggle source
def index_image_title(slide_number)
@canvas.with_index_mode(true) do
with_outputting_index(true) do
image_title(slide_number)
end
end
end
number_of_places(num)
click to toggle source
def number_of_places(num)
n = 1
target = num
while target >= 10
target /= 10
n += 1
end
n
end
output_html?()
click to toggle source
def output_html?
@output_html
end
output_index_html?()
click to toggle source
def output_index_html?
@output_index_html
end
output_slide_html?()
click to toggle source
def output_slide_html?
output_html? and !@index_mode
end
outputting_index?()
click to toggle source
def outputting_index?
@outputting_index
end
save()
click to toggle source
def save
save_environment do
@outputting_index = false
@canvas.each_slide_pixbuf do |slide, pixbuf, slide_number|
message = _("Creating a image for the %dth page") % slide_number
@canvas.logger.info(message)
save_slide(slide, pixbuf, slide_number)
true
end
if output_index_html?
@canvas.with_index_mode(true) do
@canvas.slides.each_with_index do |slide, slide_number|
save_index(slide, slide_number)
end
end
end
unless save_rss
@canvas.logger.warn(_("can't generate RSS"))
end
end
end
save_pixbuf(pixbuf, optional=nil)
click to toggle source
def save_pixbuf(pixbuf, optional=nil)
pixbuf.save(pixbuf_filename(@slide_number, optional),
normalized_image_type)
image_src(@slide_number, optional)
end
slide_href(slide_number)
click to toggle source
def slide_href(slide_number)
with_outputting_index(false) do
href(slide_number)
end
end
slide_image_title(slide_number)
click to toggle source
def slide_image_title(slide_number)
@canvas.with_index_mode(false) do
with_outputting_index(false) do
image_title(slide_number)
end
end
end
with_outputting_index(index) { || ... }
click to toggle source
def with_outputting_index(index)
_index = @outputting_index
@outputting_index = index
yield
ensure
@outputting_index = _index
end
a_link(slide_number, label, label_only)
click to toggle source
def a_link(slide_number, label, label_only)
_href = href(slide_number)
HTML.a_link("<a href=\"#{_href}\">", label, label_only)
end
first_href(slide_number=@slide_number)
click to toggle source
def first_href(slide_number=@slide_number)
href(first_index(slide_number))
end
first_index(slide_number=@slide_number)
click to toggle source
def first_index(slide_number=@slide_number)
0
end
first_link(slide_number=@slide_number)
click to toggle source
def first_link(slide_number=@slide_number)
a_link(first_index(slide_number),
h("<<"), first_slide?(slide_number))
end
first_slide?(slide_number=@slide_number)
click to toggle source
def first_slide?(slide_number=@slide_number)
slide_number.zero?
end
href(slide_number)
click to toggle source
def href(slide_number)
name = slide_filename(slide_number)
u(File.basename(name))
end
image_filename(slide_number=@slide_number, optional=nil)
click to toggle source
def image_filename(slide_number=@slide_number, optional=nil)
make_filename(slide_number, @image_type, optional)
end
image_src(slide_number=@slide_number, optional=nil)
click to toggle source
def image_src(slide_number=@slide_number, optional=nil)
u(File.basename(image_filename(slide_number, optional)))
end
image_title(slide_number=@slide_number)
click to toggle source
def image_title(slide_number=@slide_number)
title = h(slide_title(slide_number))
title << "(#{slide_number}/#{@canvas.slide_size - 1})"
title
end
last_href(slide_number=@slide_number)
click to toggle source
def last_href(slide_number=@slide_number)
href(last_index(slide_number))
end
last_index(slide_number=@slide_number)
click to toggle source
def last_index(slide_number=@slide_number)
@canvas.slide_size - 1
end
last_link(slide_number=@slide_number)
click to toggle source
def last_link(slide_number=@slide_number)
a_link(last_index(slide_number),
h(">>"), last_slide?(slide_number))
end
last_slide?(slide_number=@slide_number)
click to toggle source
def last_slide?(slide_number=@slide_number)
@canvas.slide_size.zero? or slide_number == @canvas.slide_size - 1
end
make_filename(slide_number, suffix, optional=nil, convert=true)
click to toggle source
def make_filename(slide_number, suffix, optional=nil, convert=true)
optional = "-#{optional}" if optional
name = filename_format % [slide_number, optional || '', suffix]
if convert
to_filename_encoding(name)
else
name
end
end
navi()
click to toggle source
def navi
result = ''
args = [first_index]
if outputting_index?
args.concat([h(_("Slide")), !output_html?])
else
args.concat([h(_("Index")), !output_index_html?])
end
with_outputting_index(!outputting_index?) do
result << a_link(*args)
end
if @pdf_filename
result << HTML.a_link("<a href=\"#{h(@pdf_filename)}\">",
h(_("PDF")), false)
end
if @source_filename
result << HTML.a_link("<a href=\"#{h(@source_filename)}\">",
h(_("Source")), false)
end
unless result.empty?
result = "<div class=\"navi\">\n#{result}\n</div>"
end
result
end
next_href(slide_number=@slide_number)
click to toggle source
def next_href(slide_number=@slide_number)
href(next_index(slide_number))
end
next_index(slide_number=@slide_number)
click to toggle source
def next_index(slide_number=@slide_number)
slide_number + 1
end
next_link(slide_number=@slide_number)
click to toggle source
def next_link(slide_number=@slide_number)
a_link(next_index(slide_number),
h(">"), last_slide?(slide_number))
end
normalize_html_reference(html, base_uri)
click to toggle source
def normalize_html_reference(html, base_uri)
html.gsub(/(href|src)=(["'])((?:(?!\2)[^:])+)\2/) do
"#{$1}=#{$2}#{base_uri}#{$3}#{$2}"
end
end
normalized_image_type()
click to toggle source
def normalized_image_type
case @image_type
when /jpg/
"jpeg"
else
@image_type.downcase
end
end
output_html(filename)
click to toggle source
def output_html(filename)
File.open(filename, "w") do |f|
f.print(to_html)
end
end
page_navi(slide_number=@slide_number)
click to toggle source
def page_navi(slide_number=@slide_number)
result = ''
result << '<div class="page-navi">'
result << first_link(slide_number)
result << previous_link(slide_number)
result << next_link(slide_number)
result << last_link(slide_number)
result << '</div>'
result
end
pixbuf_filename(slide_number=@slide_number, optional=nil)
click to toggle source
def pixbuf_filename(slide_number=@slide_number, optional=nil)
make_filename(slide_number, @image_type, optional, !Utils.windows?)
end
previous_href(slide_number=@slide_number)
click to toggle source
def previous_href(slide_number=@slide_number)
href(previous_index(slide_number))
end
previous_index(slide_number=@slide_number)
click to toggle source
def previous_index(slide_number=@slide_number)
slide_number - 1
end
previous_link(slide_number=@slide_number)
click to toggle source
def previous_link(slide_number=@slide_number)
a_link(previous_index(slide_number),
h("<"), first_slide?(slide_number))
end
save_environment() { || ... }
click to toggle source
def save_environment
@index_mode = @canvas.index_mode?
@slide_size = @canvas.slide_size
@index_slide_size = 0
if output_index_html?
@canvas.with_index_mode(true) do
@index_slide_size = @canvas.slide_size
end
end
yield
ensure
@index_mode = nil
@slide_size = nil
@index_slide_size = nil
end
save_html(slide, slide_number) { || ... }
click to toggle source
def save_html(slide, slide_number)
@slide = slide
@slide_number = slide_number
yield
ensure
@slide_number = nil
@slide = nil
end
save_index(slide, slide_number)
click to toggle source
def save_index(slide, slide_number)
save_html(slide, slide_number) do
with_outputting_index(true) do
@slide_index_html = @slide.to_html(self)
filename = slide_filename
output_html(filename) if output_index_html?
if rss_available?
@rss_info << [filename, slide_title(slide_number),
@slide.text, @slide_index_html]
end
@slide_index_html = nil
end
end
end
save_slide(slide, pixbuf, slide_number)
click to toggle source
def save_slide(slide, pixbuf, slide_number)
save_html(slide, slide_number) do
with_outputting_index(false) do
save_pixbuf(pixbuf)
filename = slide_filename
output_html(filename) if output_html?
if rss_available?
@rss_info << [filename, slide_title(slide_number),
@slide.text, @slide.to_html(self)]
end
end
end
end
slide_content()
click to toggle source
def slide_content
if outputting_index?
@slide_index_html
else
"<div class=\"slide\">#{slide_image}</div>"
end
end
slide_filename(slide_number=@slide_number)
click to toggle source
def slide_filename(slide_number=@slide_number)
if !outputting_index? and slide_number.zero?
File.join(to_filename_encoding(@base_dir), "index.#{@suffix}")
else
make_filename(slide_number, @suffix)
end
end
slide_image(slide_number=@slide_number)
click to toggle source
def slide_image(slide_number=@slide_number)
src = image_src(slide_number)
img = "<img title=\"#{image_title(slide_number)}\" " +
"src=\"#{src}\" alt=\"#{h(slide_text(slide_number))}\" />"
if last_slide?(slide_number)
img
else
href = next_href(slide_number)
"<a href=\"#{href}\">#{img}</a>"
end
end
slide_text(slide_number=@slide_number)
click to toggle source
def slide_text(slide_number=@slide_number)
@canvas.slide_text(slide_number)
end
slide_title(slide_number=@slide_number)
click to toggle source
def slide_title(slide_number=@slide_number)
Utils.unescape_title(@canvas.slide_title(slide_number))
end
to_filename_encoding(utf8_filename)
click to toggle source
def to_filename_encoding(utf8_filename)
if GLib.const_defined?(:Win32)
GLib::Win32.locale_filename_from_utf8(utf8_filename)
else
if Utils.windows?
GLib.locale_from_utf8(utf8_filename)
else
GLib.filename_from_utf8(utf8_filename)
end
end
end
toggle_mode_href()
click to toggle source
def toggle_mode_href
with_outputting_index(!outputting_index?) do
first_href
end
end