doc_to_pdf 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Code Climate](https://codeclimate.com/github/rderoldan1/doc_to_pdf.png)](https://codeclimate.com/github/rderoldan1/doc_to_pdf)
|
4
4
|
[![Coverage Status](https://coveralls.io/repos/rderoldan1/doc_to_pdf/badge.png)](https://coveralls.io/r/rderoldan1/doc_to_pdf)
|
5
5
|
[![Build Status](https://travis-ci.org/rderoldan1/doc_to_pdf.png?branch=master)](https://travis-ci.org/rderoldan1/doc_to_pdf)
|
6
|
+
[![Dependency Status](https://gemnasium.com/rderoldan1/doc_to_pdf.png)](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
|
+
![Imgur](http://i.imgur.com/w8agvbY.png)
|
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
|
+
![Imgur](http://i.imgur.com/SOq9nm7.png)
|
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
|
+
![Imgur](http://i.imgur.com/bQGrVCa.png)
|
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
|
+
![Imgur](http://i.imgur.com/riQ0xqZ.png)
|
104
|
+
|
105
|
+
Class Documentation
|
106
|
+
![Imgur](http://i.imgur.com/dwU3TBD.png)
|
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:
|