showoff 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +20 -0
- data/bin/showoff +44 -1
- data/lib/showoff.rb +19 -13
- data/lib/showoff_utils.rb +4 -35
- data/public/css/960.css +653 -0
- data/public/css/presenter.css +66 -0
- data/public/js/presenter.js +129 -0
- data/public/js/showoff.js +19 -15
- data/views/header.erb +40 -0
- data/views/index.erb +1 -41
- data/views/presenter.erb +64 -0
- metadata +8 -4
- data/lib/princely.rb +0 -84
data/lib/princely.rb
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
# PrinceXML Ruby interface.
|
2
|
-
# http://www.princexml.com
|
3
|
-
#
|
4
|
-
# Library by Subimage Interactive - http://www.subimage.com
|
5
|
-
#
|
6
|
-
#
|
7
|
-
# USAGE
|
8
|
-
# -----------------------------------------------------------------------------
|
9
|
-
# princely = Princely.new()
|
10
|
-
# html_string = render_to_string(:template => 'some_document')
|
11
|
-
# send_data(
|
12
|
-
# princely.pdf_from_string(html_string),
|
13
|
-
# :filename => 'some_document.pdf'
|
14
|
-
# :type => 'application/pdf'
|
15
|
-
# )
|
16
|
-
#
|
17
|
-
$:.unshift(File.dirname(__FILE__))
|
18
|
-
|
19
|
-
class Princely
|
20
|
-
VERSION = "1.0.0" unless const_defined?("VERSION")
|
21
|
-
|
22
|
-
attr_accessor :exe_path, :style_sheets, :log_file
|
23
|
-
|
24
|
-
# Initialize method
|
25
|
-
#
|
26
|
-
def initialize()
|
27
|
-
# Finds where the application lives, so we can call it.
|
28
|
-
@exe_path = `which prince`.chomp
|
29
|
-
raise "Cannot find prince command-line app in $PATH" if @exe_path.length == 0
|
30
|
-
@style_sheets = ''
|
31
|
-
@log_file = "/tmp/prince.log"
|
32
|
-
end
|
33
|
-
|
34
|
-
# Sets stylesheets...
|
35
|
-
# Can pass in multiple paths for css files.
|
36
|
-
#
|
37
|
-
def add_style_sheets(*sheets)
|
38
|
-
for sheet in sheets do
|
39
|
-
@style_sheets << " -s #{sheet} "
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
# Returns fully formed executable path with any command line switches
|
44
|
-
# we've set based on our variables.
|
45
|
-
#
|
46
|
-
def exe_path
|
47
|
-
# Add any standard cmd line arguments we need to pass
|
48
|
-
@exe_path << " --input=html --server --log=#{@log_file} "
|
49
|
-
@exe_path << @style_sheets
|
50
|
-
return @exe_path
|
51
|
-
end
|
52
|
-
|
53
|
-
# Makes a pdf from a passed in string.
|
54
|
-
#
|
55
|
-
# Returns PDF as a stream, so we can use send_data to shoot
|
56
|
-
# it down the pipe using Rails.
|
57
|
-
#
|
58
|
-
def pdf_from_string(string, output_file = '-')
|
59
|
-
path = self.exe_path()
|
60
|
-
# Don't spew errors to the standard out...and set up to take IO
|
61
|
-
# as input and output
|
62
|
-
path << ' --silent - -o -'
|
63
|
-
|
64
|
-
# Actually call the prince command, and pass the entire data stream back.
|
65
|
-
pdf = IO.popen(path, "w+")
|
66
|
-
pdf.puts(string)
|
67
|
-
pdf.close_write
|
68
|
-
result = pdf.gets(nil)
|
69
|
-
pdf.close_read
|
70
|
-
return result
|
71
|
-
end
|
72
|
-
|
73
|
-
def pdf_from_string_to_file(string, output_file)
|
74
|
-
path = self.exe_path()
|
75
|
-
# Don't spew errors to the standard out...and set up to take IO
|
76
|
-
# as input and output
|
77
|
-
path << " --silent - -o '#{output_file}' >> '#{@log_file}' 2>> '#{@log_file}'"
|
78
|
-
|
79
|
-
# Actually call the prince command, and pass the entire data stream back.
|
80
|
-
pdf = IO.popen(path, "w+")
|
81
|
-
pdf.puts(string)
|
82
|
-
pdf.close
|
83
|
-
end
|
84
|
-
end
|