rpdfs 0.0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rspec +1 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +49 -0
- data/README.md +21 -0
- data/Rakefile +8 -0
- data/bin/rpdfs +21 -0
- data/lib/rpdfs.rb +7 -0
- data/rpdfs.gemspec +22 -0
- data/spec/_spec.rb +25 -0
- metadata +123 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 589797f1472326eecee7d7ddbca072178866bbc7
|
4
|
+
data.tar.gz: 1c258cb3679c171754a21eff75081fd32aaae066
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 32bacaad382e43bde740e282372cf9b59234ca9decc460bc8d38e00c3479ce686d10a0c63c122a3e1cfcf779d3152d8df31baf1bed6da32085c2b2824daeca08
|
7
|
+
data.tar.gz: 601616d1c38a198d32a1af2ec03621b820d42375dfc0aad5d7cb3f92c0a0c12f13d0435aff27876c786ea81afdea1887b0ae1b6e1faf1e2797b2d944ca3742e1
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
rpdfs (0.0.0.1)
|
5
|
+
wkhtmltopdf-binary (= 0.12.3)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
Ascii85 (1.0.2)
|
11
|
+
afm (0.2.2)
|
12
|
+
byebug (9.0.5)
|
13
|
+
diff-lcs (1.2.5)
|
14
|
+
hashery (2.1.2)
|
15
|
+
pdf-reader (1.4.0)
|
16
|
+
Ascii85 (~> 1.0.0)
|
17
|
+
afm (~> 0.2.1)
|
18
|
+
hashery (~> 2.0)
|
19
|
+
ruby-rc4
|
20
|
+
ttfunk
|
21
|
+
rspec (3.5.0)
|
22
|
+
rspec-core (~> 3.5.0)
|
23
|
+
rspec-expectations (~> 3.5.0)
|
24
|
+
rspec-mocks (~> 3.5.0)
|
25
|
+
rspec-core (3.5.3)
|
26
|
+
rspec-support (~> 3.5.0)
|
27
|
+
rspec-expectations (3.5.0)
|
28
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
29
|
+
rspec-support (~> 3.5.0)
|
30
|
+
rspec-mocks (3.5.0)
|
31
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
32
|
+
rspec-support (~> 3.5.0)
|
33
|
+
rspec-support (3.5.0)
|
34
|
+
ruby-rc4 (0.1.5)
|
35
|
+
ttfunk (1.4.0)
|
36
|
+
wkhtmltopdf-binary (0.12.3)
|
37
|
+
|
38
|
+
PLATFORMS
|
39
|
+
ruby
|
40
|
+
|
41
|
+
DEPENDENCIES
|
42
|
+
bundler
|
43
|
+
byebug
|
44
|
+
pdf-reader
|
45
|
+
rpdfs!
|
46
|
+
rspec
|
47
|
+
|
48
|
+
BUNDLED WITH
|
49
|
+
1.13.1
|
data/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# How it works
|
2
|
+
|
3
|
+
Having `gem wkhtmltopdf-binary` under the hood it is supposed to give you the easy-to-use DSL.
|
4
|
+
|
5
|
+
# How to use
|
6
|
+
|
7
|
+
```
|
8
|
+
gem install rpdfs
|
9
|
+
|
10
|
+
rpdfs input.rpdfs output.pdf
|
11
|
+
```
|
12
|
+
|
13
|
+
# The .rpdfs format
|
14
|
+
|
15
|
+
**SINCE IT'S JUST A DRAFT, THERE IS NOTHING TO READ HERE YET**
|
16
|
+
|
17
|
+
Actually I plan this README to become .PDF instead of .MD
|
18
|
+
|
19
|
+
# How to develop
|
20
|
+
|
21
|
+
Fork, edit, `rake spec`, pull request...
|
data/Rakefile
ADDED
data/bin/rpdfs
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative "../lib/rpdfs"
|
4
|
+
extend RPDFS
|
5
|
+
load ARGV[0]
|
6
|
+
|
7
|
+
require "tempfile"
|
8
|
+
html_file = Tempfile.new ["html", ".html"] # without this extension wkhtmltopdf throws "Error: Failed loading page"
|
9
|
+
File.write html_file.path, last_generated_html
|
10
|
+
|
11
|
+
# the following awkward `--zoom 2.95` is because of https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3140
|
12
|
+
|
13
|
+
require "open3"
|
14
|
+
Open3.popen3("wkhtmltopdf -q --zoom 2.95 --page-width 400 --page-height 300 --margin-top 0 --margin-bottom 0 --margin-left 0 --margin-right 0 --disable-smart-shrinking #{html_file.path} #{ARGV[1]}") do |_, stdout, stderr, _|
|
15
|
+
if not (out = stdout.read).empty?
|
16
|
+
abort "UNKNOWN wkhtmltopdf ERROR OCCURED: STDOUT had to be empty, but was:\n#{out.inspect}"
|
17
|
+
end
|
18
|
+
if not (err = stderr.read).empty?
|
19
|
+
abort "UNKNOWN wkhtmltopdf ERROR OCCURED:\n#{err}"
|
20
|
+
end
|
21
|
+
end
|
data/lib/rpdfs.rb
ADDED
data/rpdfs.gemspec
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "rpdfs"
|
3
|
+
spec.version = (require_relative "lib/rpdfs"; RPDFS::VERSION)
|
4
|
+
spec.author = "Victor Maslov"
|
5
|
+
spec.email = "nakilon@gmail.com"
|
6
|
+
spec.summary = "Ruby-powered DSL for generating PDF slide presentations"
|
7
|
+
spec.description = "No need in Power Point, Adobe Acrobat or Open Office to edit your presentations anymore."
|
8
|
+
spec.homepage = "https://github.com/Nakilon/rpdfs"
|
9
|
+
spec.license = "MIT"
|
10
|
+
|
11
|
+
spec.files = `git ls-files -z`.split("\x0")
|
12
|
+
spec.test_files = "spec/"
|
13
|
+
|
14
|
+
spec.add_dependency "wkhtmltopdf-binary", "= 0.12.3"
|
15
|
+
|
16
|
+
spec.add_development_dependency "bundler"
|
17
|
+
spec.add_development_dependency "rspec"
|
18
|
+
spec.add_development_dependency "byebug"
|
19
|
+
spec.add_development_dependency "pdf-reader"
|
20
|
+
|
21
|
+
spec.required_ruby_version = ">= 2.0.0"
|
22
|
+
end
|
data/spec/_spec.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require "pp"
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
Bundler.setup
|
5
|
+
|
6
|
+
# require_relative "../lib/rpdfs"
|
7
|
+
|
8
|
+
|
9
|
+
describe do
|
10
|
+
|
11
|
+
# def method_missing *args
|
12
|
+
# described_class.send *args
|
13
|
+
# end
|
14
|
+
|
15
|
+
example "integrational" do
|
16
|
+
require "tempfile"
|
17
|
+
rpdfs_file = Tempfile.new "rpdfs"
|
18
|
+
pdf_file = Tempfile.new "pdf"
|
19
|
+
File.write rpdfs_file.path, "compile_slides 123, 234"
|
20
|
+
expect(`#{__dir__()}/../bin/rpdfs #{rpdfs_file.path} #{pdf_file.path}`).to eq("")
|
21
|
+
require "pdf-reader"
|
22
|
+
expect(PDF::Reader.new(pdf_file.path).pages.first.text).to eq("123234")
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,123 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rpdfs
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Victor Maslov
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-09-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: wkhtmltopdf-binary
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.12.3
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.12.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pdf-reader
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: No need in Power Point, Adobe Acrobat or Open Office to edit your presentations
|
84
|
+
anymore.
|
85
|
+
email: nakilon@gmail.com
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- .rspec
|
91
|
+
- Gemfile
|
92
|
+
- Gemfile.lock
|
93
|
+
- README.md
|
94
|
+
- Rakefile
|
95
|
+
- bin/rpdfs
|
96
|
+
- lib/rpdfs.rb
|
97
|
+
- rpdfs.gemspec
|
98
|
+
- spec/_spec.rb
|
99
|
+
homepage: https://github.com/Nakilon/rpdfs
|
100
|
+
licenses:
|
101
|
+
- MIT
|
102
|
+
metadata: {}
|
103
|
+
post_install_message:
|
104
|
+
rdoc_options: []
|
105
|
+
require_paths:
|
106
|
+
- lib
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 2.0.0
|
112
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - '>='
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
requirements: []
|
118
|
+
rubyforge_project:
|
119
|
+
rubygems_version: 2.0.14.1
|
120
|
+
signing_key:
|
121
|
+
specification_version: 4
|
122
|
+
summary: Ruby-powered DSL for generating PDF slide presentations
|
123
|
+
test_files: []
|