doc_to_pdf 0.1.3 → 0.2.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 +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +20 -0
- data/Gemfile +2 -1
- data/README.md +48 -18
- data/doc_to_pdf.gemspec +1 -0
- data/lib/doc_to_pdf/version.rb +1 -1
- data/lib/tasks/doc_to_pdf.rake +40 -8
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6eec2c10af1dfdb89da6ea78f1705f6e8b4b8bbe
|
4
|
+
data.tar.gz: 849fc5ed65b353560fc061632b8f625671ff7ff2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1812e673c80311545c6063241733159c4333c99a62e88985256cf06364aaaf8decbf066b3f61b4c10d5a1f2577a0e705d06fca0a0dadcbe1891942b25f83f5e1
|
7
|
+
data.tar.gz: e72d4bab6395de39d795b626892bb7029803b92bd20b8b98f2d7735bf06b7b8d20cbd6af788171e9c27b024da53223aa30dccce9b48dc9879c9ece391568278a
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
|
2
2
|
#### [Current]
|
3
|
+
* [6b5a763](../../commit/6b5a763) css url __(Ruben Espinosa)__
|
4
|
+
* [02b228e](../../commit/02b228e) readme __(Ruben Espinosa)__
|
5
|
+
* [0272737](../../commit/0272737) changelog __(Ruben Espinosa)__
|
6
|
+
* [483dde9](../../commit/483dde9) Downloading css and help command __(Ruben Espinosa)__
|
7
|
+
* [0caad8b](../../commit/0caad8b) Bump to 0.2.0 __(Ruben Espinosa)__
|
8
|
+
* [e862b4d](../../commit/e862b4d) Merge pull request [#2](../../issues/2) from rderoldan1/nokigiri __(Ruben Espinosa)__
|
9
|
+
* [43828b7](../../commit/43828b7) Update README.md __(Ruben Espinosa)__
|
10
|
+
* [8cb608b](../../commit/8cb608b) changelog __(Ruben Espinosa)__
|
11
|
+
* [c1e3178](../../commit/c1e3178) Update README.md __(Ruben Espinosa)__
|
12
|
+
* [ecb1ce5](../../commit/ecb1ce5) Update README.md __(Ruben Espinosa)__
|
13
|
+
* [1fe1251](../../commit/1fe1251) Update README.md __(Ruben Espinosa)__
|
14
|
+
* [38c6928](../../commit/38c6928) Update README.md __(Ruben Espinosa)__
|
15
|
+
* [15f8234](../../commit/15f8234) Update README.md __(Ruben Espinosa)__
|
16
|
+
* [3e4f1da](../../commit/3e4f1da) Merge pull request [#1](../../issues/1) from rderoldan1/nokigiri __(Ruben Espinosa)__
|
17
|
+
|
18
|
+
#### v0.1.3
|
19
|
+
* [f970a4f](../../commit/f970a4f) table of contents support __(Ruben Espinosa)__
|
20
|
+
* [d440443](../../commit/d440443) Bump to 0.1.3 __(Ruben Espinosa)__
|
21
|
+
* [2a6eaca](../../commit/2a6eaca) Bump to 0.1.2 __(Ruben Espinosa)__
|
22
|
+
* [7b6af43](../../commit/7b6af43) changelog __(Ruben Espinosa)__
|
3
23
|
* [3408a4c](../../commit/3408a4c) Bump to 0.1.1 __(Ruben Espinosa)__
|
4
24
|
* [5b05208](../../commit/5b05208) delete serach and header __(Ruben Espinosa)__
|
5
25
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
[](https://codeclimate.com/github/rderoldan1/doc_to_pdf)
|
4
4
|
[](https://coveralls.io/r/rderoldan1/doc_to_pdf)
|
5
5
|
[](https://travis-ci.org/rderoldan1/doc_to_pdf)
|
6
|
+
[](https://gemnasium.com/rderoldan1/doc_to_pdf)
|
6
7
|
|
7
8
|
GEM to export rdoc in a pdf file using [wkhtmltopdf libary](http://code.google.com/p/wkhtmltopdf/)
|
8
9
|
|
@@ -49,12 +50,12 @@ If you like to change the default name "doc.pdf" call the programm with file par
|
|
49
50
|
Printing pages (5/5)
|
50
51
|
Done
|
51
52
|
|
52
|
-
[Imgur](http://i.imgur.com/w8agvbY.png)
|
53
|
+

|
53
54
|
|
54
55
|
In my case the menu based in the left is more than 4 pages, and the links doesn't work.
|
55
56
|
|
56
57
|
|
57
|
-
Also it offer an option to clean the "
|
58
|
+
Also it offer an option to clean the _"innecessary"_ html, only pass the param `clean=true (default is false)`
|
58
59
|
|
59
60
|
$ rake doc:pdf clean=true
|
60
61
|
clean html, this could take a while.
|
@@ -63,41 +64,70 @@ Also it offer an option to clean the "_innecessary_" html, only pass the param `
|
|
63
64
|
Counting pages (3/5)
|
64
65
|
Printing pages (5/5)
|
65
66
|
Done
|
67
|
+
|
68
|
+
_WARNING_: This option change your html files
|
69
|
+
|
66
70
|
|
67
|
-
[Imgur](http://i.imgur.com/SOq9nm7.png)
|
71
|
+

|
68
72
|
|
69
73
|
Now it looks cleanner :D
|
70
74
|
|
75
|
+
Now the gem will change the css file by the passing css param.
|
76
|
+
The css is more prettier in order to cusmotize more like github:
|
77
|
+
|
78
|
+
$ rake doc:pdf clean=true css=true
|
79
|
+
Changing default css created, this could take a while.
|
80
|
+
Creating PDF documentation.
|
81
|
+
|
82
|
+

|
83
|
+
|
84
|
+
Help command
|
85
|
+
|
86
|
+
$ rake doc:pdf help
|
87
|
+
Usage: rake doc:pdf <options>
|
88
|
+
options:
|
89
|
+
--file=yourName: change default pdf output name
|
90
|
+
--clean=true,false: default is false, this delete "unnecessary" hmtl, like menu and search, please be careful, this option modify doc html files
|
91
|
+
--css=tue,false: default false, this change default css for a prettier one
|
92
|
+
--help, show this message
|
93
|
+
|
94
|
+
|
71
95
|
The pdf file is saved in your application root
|
72
96
|
|
73
|
-
## Recomendations
|
74
97
|
|
75
|
-
|
76
|
-
* I created a css for prettier in order to cusmotize more like gituh, the file is in (this gist)[https://gist.github.com/rderoldan1/6396578#file-rdoc-css-L1], if
|
77
|
-
you like to use it replace the custom css.
|
78
|
-
improvements:
|
79
|
-
- Code highlight
|
80
|
-
- Text formating
|
81
|
-
- Fresh colors
|
98
|
+
## PDF Layout
|
82
99
|
|
83
|
-
|
100
|
+
All the pages include the number of the page, the format is page/total i.e (12/100)
|
84
101
|
|
85
|
-
|
102
|
+
Table of content
|
103
|
+

|
104
|
+
|
105
|
+
Class Documentation
|
106
|
+

|
107
|
+
|
108
|
+
## Recomendations
|
109
|
+
|
110
|
+
* use annotate to comment your models and routes files, [please take a look](https://github.com/ctran/annotate_models)
|
86
111
|
|
87
112
|
## Tested with
|
88
113
|
|
89
114
|
|
90
115
|
##### OS
|
91
|
-
Mac OS - Mountain Lion
|
92
|
-
|
116
|
+
* Mac OS - Mountain Lion
|
117
|
+
|
118
|
+
* Ubuntu - 12.04
|
93
119
|
|
94
120
|
#### Ruby env
|
95
|
-
Ruby 1.9.3
|
96
|
-
|
121
|
+
* Ruby 1.9.3 - 2.0
|
122
|
+
|
123
|
+
* Rails 3.2.13
|
97
124
|
|
98
125
|
#### Binaries
|
99
|
-
wkhtmltopdf 0.0.9
|
126
|
+
* wkhtmltopdf 0.0.9
|
100
127
|
|
128
|
+
### Requirements GEMS
|
129
|
+
* Nokogiri 1.6
|
130
|
+
* Colorige
|
101
131
|
|
102
132
|
|
103
133
|
## Contributing
|
data/doc_to_pdf.gemspec
CHANGED
data/lib/doc_to_pdf/version.rb
CHANGED
data/lib/tasks/doc_to_pdf.rake
CHANGED
@@ -1,12 +1,20 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require 'colorize'
|
3
|
+
require 'httparty'
|
4
|
+
|
3
5
|
desc "Turn rdoc files in a pdf document"
|
4
6
|
namespace :doc do
|
5
7
|
task :pdf do
|
6
8
|
if validate_binary
|
7
|
-
|
8
|
-
|
9
|
-
|
9
|
+
if ARGV.include?("help")
|
10
|
+
puts help
|
11
|
+
exit
|
12
|
+
else
|
13
|
+
file_name = ENV['file'] || 'doc'
|
14
|
+
clean = ENV["clean"] || "false"
|
15
|
+
css = ENV["css"] || "false"
|
16
|
+
create(file_name, clean, css)
|
17
|
+
end
|
10
18
|
else
|
11
19
|
puts "Error!\nPlease install wkhtmltopdf\nThis gem is tested in Mac and Linux".red
|
12
20
|
end
|
@@ -16,23 +24,35 @@ end
|
|
16
24
|
|
17
25
|
private
|
18
26
|
|
19
|
-
def create(name, clean)
|
27
|
+
def create(name, clean, css)
|
20
28
|
path = "#{Rails.root}/doc"
|
21
|
-
files = get_files(path)
|
29
|
+
files = get_files(path, "html")
|
22
30
|
if clean.eql? "true"
|
23
31
|
puts "clean html, this could take a while.".green
|
24
32
|
files.each {|file| clean_html(file)}
|
25
33
|
end
|
34
|
+
if css.eql? "true"
|
35
|
+
pretty_css
|
36
|
+
end
|
26
37
|
if files.empty?
|
27
38
|
puts "Documentation not found in doc/ folder, please create it with rake doc:app or rdoc".orange
|
28
39
|
else
|
29
|
-
|
40
|
+
puts "Creating PDF documentation.".green
|
41
|
+
`wkhtmltopdf -q -t --footer-center [page]/[topage] -O Landscape #{files.join(" ")} #{name}.pdf`
|
30
42
|
end
|
31
43
|
|
32
44
|
end
|
33
45
|
|
34
|
-
def get_files(path)
|
35
|
-
Dir["#{path}
|
46
|
+
def get_files(path, ext)
|
47
|
+
Dir["#{path}/**/*.#{ext}*"]
|
48
|
+
end
|
49
|
+
|
50
|
+
def pretty_css
|
51
|
+
puts "Changing default css created, this could take a while.".green
|
52
|
+
path = "#{Rails.root}/doc"
|
53
|
+
css = HTTParty.get("https://gist.github.com/rderoldan1/6396578/raw/rdoc.css").body
|
54
|
+
css_file = get_files(path, "css")
|
55
|
+
File.open(css_file.first, 'w'){|f| f.write(css)}
|
36
56
|
end
|
37
57
|
|
38
58
|
def validate_binary
|
@@ -52,3 +72,15 @@ def clean_html(path)
|
|
52
72
|
|
53
73
|
File.open(path, "w"){|f| f.puts(doc)}
|
54
74
|
end
|
75
|
+
|
76
|
+
def help
|
77
|
+
puts <<-EOF
|
78
|
+
Usage: rake doc:pdf <options>
|
79
|
+
options:
|
80
|
+
--file=yourName: change default pdf output name
|
81
|
+
--clean=true,false: default is false, this delete "unnecessary" hmtl, like menu and search, please be careful, this option modify doc html files
|
82
|
+
--css=tue,false: default false, this change default css for a prettier one
|
83
|
+
--help, show this message
|
84
|
+
EOF
|
85
|
+
end
|
86
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doc_to_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruben Espinosa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: httparty
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description: Turn documentation stored in doc folder in your rails app in a pdf file
|
70
84
|
using wkhtmltopdf
|
71
85
|
email:
|