rdoc_chm 2.3.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.
- data.tar.gz.sig +0 -0
- data/History.txt +6 -0
- data/Manifest.txt +7 -0
- data/README.txt +35 -0
- data/Rakefile +22 -0
- data/lib/rdoc/discover.rb +2 -0
- data/lib/rdoc/generator/chm.rb +118 -0
- data/lib/rdoc/generator/chm/chm.rb +100 -0
- metadata +117 -0
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
Binary file
|
data/History.txt
ADDED
data/Manifest.txt
ADDED
data/README.txt
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
= rdoc_chm
|
2
|
+
|
3
|
+
* Project Page: http://rubyforge.org/projects/rdoc
|
4
|
+
* Documentation: http://rdoc.rubyforge.org/rdoc_chm
|
5
|
+
|
6
|
+
== DESCRIPTION:
|
7
|
+
|
8
|
+
An unmaintained Microsoft Compiled HTML Help generator for RDoc.
|
9
|
+
|
10
|
+
== FEATURES/PROBLEMS:
|
11
|
+
|
12
|
+
* Unmaintained, only known to work with RDoc 2.3.0
|
13
|
+
|
14
|
+
== SYNOPSIS:
|
15
|
+
|
16
|
+
gem 'rdoc'
|
17
|
+
require 'rdoc/rdoc'
|
18
|
+
|
19
|
+
RDoc::RDoc.new.document "-f chm", # ... see RDoc
|
20
|
+
|
21
|
+
== REQUIREMENTS:
|
22
|
+
|
23
|
+
* RDoc 2.3 (probably works with newer RDoc 2.x versions)
|
24
|
+
* Requires installation of Microsoft's HTML Help Workshop
|
25
|
+
|
26
|
+
== INSTALL:
|
27
|
+
|
28
|
+
* sudo gem install rdoc_chm
|
29
|
+
|
30
|
+
== LICENSE:
|
31
|
+
|
32
|
+
RDoc is Copyright (c) 2001-2003 Dave Thomas, The Pragmatic Programmers. It is
|
33
|
+
free software, and may be redistributed under the terms specified in the
|
34
|
+
README file of the Ruby distribution.
|
35
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'hoe'
|
5
|
+
|
6
|
+
$:.unshift 'lib'
|
7
|
+
require 'rdoc/rdoc'
|
8
|
+
require 'rdoc/generator/chm'
|
9
|
+
|
10
|
+
Hoe.new 'rdoc_chm', RDoc::Generator::CHM::VERSION do |p|
|
11
|
+
p.rubyforge_name = 'rdoc'
|
12
|
+
|
13
|
+
p.developer 'Eric Hodel', 'drbrain@segment7.net'
|
14
|
+
p.developer 'Dave Thomas', ''
|
15
|
+
p.developer 'Tony Strauss', 'tony.strauss@designingpatterns.com'
|
16
|
+
|
17
|
+
p.extra_deps << ['rdoc', '~> 2.3']
|
18
|
+
p.extra_dev_deps << ['minitest', '~> 1.3']
|
19
|
+
p.spec_extras['required_rubygems_version'] = '>= 1.3'
|
20
|
+
end
|
21
|
+
|
22
|
+
# vim: syntax=Ruby
|
@@ -0,0 +1,118 @@
|
|
1
|
+
gem 'rdoc', '~> 2.3'
|
2
|
+
require 'rdoc/generator/html'
|
3
|
+
|
4
|
+
class RDoc::Generator::CHM < RDoc::Generator::HTML
|
5
|
+
|
6
|
+
VERSION = '2.3.0'
|
7
|
+
|
8
|
+
RDoc::RDoc.add_generator self
|
9
|
+
|
10
|
+
HHC_PATH = "c:/Program Files/HTML Help Workshop/hhc.exe"
|
11
|
+
|
12
|
+
##
|
13
|
+
# Standard generator factory
|
14
|
+
|
15
|
+
def self.for(options)
|
16
|
+
new(options)
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize(*args)
|
20
|
+
super
|
21
|
+
@op_name = @options.op_name || "rdoc"
|
22
|
+
check_for_html_help_workshop
|
23
|
+
end
|
24
|
+
|
25
|
+
def check_for_html_help_workshop
|
26
|
+
stat = File.stat(HHC_PATH)
|
27
|
+
rescue
|
28
|
+
$stderr <<
|
29
|
+
"\n.chm output generation requires that Microsoft's Html Help\n" <<
|
30
|
+
"Workshop is installed. RDoc looks for it in:\n\n " <<
|
31
|
+
HHC_PATH <<
|
32
|
+
"\n\nYou can download a copy for free from:\n\n" <<
|
33
|
+
" http://msdn.microsoft.com/library/default.asp?" <<
|
34
|
+
"url=/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp\n\n"
|
35
|
+
end
|
36
|
+
|
37
|
+
##
|
38
|
+
# Generate the html as normal, then wrap it in a help project
|
39
|
+
|
40
|
+
def generate(info)
|
41
|
+
super
|
42
|
+
@project_name = @op_name + ".hhp"
|
43
|
+
create_help_project
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# The project contains the project file, a table of contents and an index
|
48
|
+
|
49
|
+
def create_help_project
|
50
|
+
create_project_file
|
51
|
+
create_contents_and_index
|
52
|
+
compile_project
|
53
|
+
end
|
54
|
+
|
55
|
+
##
|
56
|
+
# The project file links together all the various
|
57
|
+
# files that go to make up the help.
|
58
|
+
|
59
|
+
def create_project_file
|
60
|
+
template = RDoc::TemplatePage.new @template::HPP_FILE
|
61
|
+
values = { "title" => @options.title, "opname" => @op_name }
|
62
|
+
files = []
|
63
|
+
@files.each do |f|
|
64
|
+
files << { "html_file_name" => f.path }
|
65
|
+
end
|
66
|
+
|
67
|
+
values['all_html_files'] = files
|
68
|
+
|
69
|
+
File.open(@project_name, "w") do |f|
|
70
|
+
template.write_html_on(f, values)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
##
|
75
|
+
# The contents is a list of all files and modules.
|
76
|
+
# For each we include as sub-entries the list
|
77
|
+
# of methods they contain. As we build the contents
|
78
|
+
# we also build an index file
|
79
|
+
|
80
|
+
def create_contents_and_index
|
81
|
+
contents = []
|
82
|
+
index = []
|
83
|
+
|
84
|
+
(@files+@classes).sort.each do |entry|
|
85
|
+
content_entry = { "c_name" => entry.name, "ref" => entry.path }
|
86
|
+
index << { "name" => entry.name, "aref" => entry.path }
|
87
|
+
|
88
|
+
internals = []
|
89
|
+
|
90
|
+
methods = entry.build_method_summary_list(entry.path)
|
91
|
+
|
92
|
+
content_entry["methods"] = methods unless methods.empty?
|
93
|
+
contents << content_entry
|
94
|
+
index.concat methods
|
95
|
+
end
|
96
|
+
|
97
|
+
values = { "contents" => contents }
|
98
|
+
template = RDoc::TemplatePage.new @template::CONTENTS
|
99
|
+
File.open("contents.hhc", "w") do |f|
|
100
|
+
template.write_html_on(f, values)
|
101
|
+
end
|
102
|
+
|
103
|
+
values = { "index" => index }
|
104
|
+
template = RDoc::TemplatePage.new @template::CHM_INDEX
|
105
|
+
File.open("index.hhk", "w") do |f|
|
106
|
+
template.write_html_on(f, values)
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
##
|
111
|
+
# Invoke the windows help compiler to compiler the project
|
112
|
+
|
113
|
+
def compile_project
|
114
|
+
system(HHC_PATH, @project_name)
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
|
@@ -0,0 +1,100 @@
|
|
1
|
+
require 'rdoc/generator/chm'
|
2
|
+
require 'rdoc/generator/html/html'
|
3
|
+
|
4
|
+
module RDoc::Generator::CHM::CHM
|
5
|
+
|
6
|
+
HTML = RDoc::Generator::HTML::HTML
|
7
|
+
|
8
|
+
INDEX = HTML::INDEX
|
9
|
+
|
10
|
+
STYLE = HTML::STYLE
|
11
|
+
|
12
|
+
CLASS_INDEX = HTML::CLASS_INDEX
|
13
|
+
CLASS_PAGE = HTML::CLASS_PAGE
|
14
|
+
FILE_INDEX = HTML::FILE_INDEX
|
15
|
+
FILE_PAGE = HTML::FILE_PAGE
|
16
|
+
METHOD_INDEX = HTML::METHOD_INDEX
|
17
|
+
METHOD_LIST = HTML::METHOD_LIST
|
18
|
+
|
19
|
+
FR_INDEX_BODY = HTML::FR_INDEX_BODY
|
20
|
+
|
21
|
+
# This is a nasty little hack, but hhc doesn't support the <?xml tag, so...
|
22
|
+
BODY = HTML::BODY.sub!(/<\?xml.*\?>/, '')
|
23
|
+
SRC_PAGE = HTML::SRC_PAGE.sub!(/<\?xml.*\?>/, '')
|
24
|
+
|
25
|
+
HPP_FILE = <<-EOF
|
26
|
+
[OPTIONS]
|
27
|
+
Auto Index = Yes
|
28
|
+
Compatibility=1.1 or later
|
29
|
+
Compiled file=<%= values[:opname] %>.chm
|
30
|
+
Contents file=contents.hhc
|
31
|
+
Full-text search=Yes
|
32
|
+
Index file=index.hhk
|
33
|
+
Language=0x409 English(United States)
|
34
|
+
Title=<%= values[:title] %>
|
35
|
+
|
36
|
+
[FILES]
|
37
|
+
<% values[:all_html_files].each do |all_html_files| %>
|
38
|
+
<%= all_html_files[:html_file_name] %>
|
39
|
+
<% end # values[:all_html_files] %>
|
40
|
+
EOF
|
41
|
+
|
42
|
+
CONTENTS = <<-EOF
|
43
|
+
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
44
|
+
<HTML>
|
45
|
+
<HEAD>
|
46
|
+
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
|
47
|
+
<!-- Sitemap 1.0 -->
|
48
|
+
</HEAD><BODY>
|
49
|
+
<OBJECT type="text/site properties">
|
50
|
+
<param name="Foreground" value="0x80">
|
51
|
+
<param name="Window Styles" value="0x800025">
|
52
|
+
<param name="ImageType" value="Folder">
|
53
|
+
</OBJECT>
|
54
|
+
<UL>
|
55
|
+
<% values[:contents].each do |contents| %>
|
56
|
+
<LI> <OBJECT type="text/sitemap">
|
57
|
+
<param name="Name" value="<%= contents[:c_name] %>">
|
58
|
+
<param name="Local" value="<%= contents[:ref] %>">
|
59
|
+
</OBJECT>
|
60
|
+
<% if contents[:methods] then %>
|
61
|
+
<ul>
|
62
|
+
<% contents[:methods].each do |methods| %>
|
63
|
+
<LI> <OBJECT type="text/sitemap">
|
64
|
+
<param name="Name" value="<%= methods[:name] %>">
|
65
|
+
<param name="Local" value="<%= methods[:aref] %>">
|
66
|
+
</OBJECT>
|
67
|
+
<% end # contents[:methods] %>
|
68
|
+
</ul>
|
69
|
+
<% end %>
|
70
|
+
</LI>
|
71
|
+
<% end # values[:contents] %>
|
72
|
+
</UL>
|
73
|
+
</BODY></HTML>
|
74
|
+
EOF
|
75
|
+
|
76
|
+
CHM_INDEX = <<-EOF
|
77
|
+
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
78
|
+
<HTML>
|
79
|
+
<HEAD>
|
80
|
+
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
|
81
|
+
<!-- Sitemap 1.0 -->
|
82
|
+
</HEAD><BODY>
|
83
|
+
<OBJECT type="text/site properties">
|
84
|
+
<param name="Foreground" value="0x80">
|
85
|
+
<param name="Window Styles" value="0x800025">
|
86
|
+
<param name="ImageType" value="Folder">
|
87
|
+
</OBJECT>
|
88
|
+
<UL>
|
89
|
+
<% values[:index].each do |index| %>
|
90
|
+
<LI> <OBJECT type="text/sitemap">
|
91
|
+
<param name="Name" value="<%= index[:name] %>">
|
92
|
+
<param name="Local" value="<%= index[:aref] %>">
|
93
|
+
</OBJECT>
|
94
|
+
<% end # values[:index] %>
|
95
|
+
</UL>
|
96
|
+
</BODY></HTML>
|
97
|
+
EOF
|
98
|
+
|
99
|
+
end
|
100
|
+
|
metadata
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rdoc_chm
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.3.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Eric Hodel
|
8
|
+
- Dave Thomas
|
9
|
+
- Tony Strauss
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain:
|
13
|
+
- |
|
14
|
+
-----BEGIN CERTIFICATE-----
|
15
|
+
MIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
|
16
|
+
YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu
|
17
|
+
ZXQwHhcNMDcxMjIxMDIwNDE0WhcNMDgxMjIwMDIwNDE0WjBBMRAwDgYDVQQDDAdk
|
18
|
+
cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ
|
19
|
+
FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76
|
20
|
+
LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J
|
21
|
+
U5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm
|
22
|
+
Gj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY
|
23
|
+
mUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd
|
24
|
+
g62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh
|
25
|
+
sCANiQ8BAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
26
|
+
BBS5k4Z75VSpdM0AclG2UvzFA/VW5DANBgkqhkiG9w0BAQUFAAOCAQEAHagT4lfX
|
27
|
+
kP/hDaiwGct7XPuVGbrOsKRVD59FF5kETBxEc9UQ1clKWngf8JoVuEoKD774dW19
|
28
|
+
bU0GOVWO+J6FMmT/Cp7nuFJ79egMf/gy4gfUfQMuvfcr6DvZUPIs9P/TlK59iMYF
|
29
|
+
DIOQ3DxdF3rMzztNUCizN4taVscEsjCcgW6WkUJnGdqlu3OHWpQxZBJkBTjPCoc6
|
30
|
+
UW6on70SFPmAy/5Cq0OJNGEWBfgD9q7rrs/X8GGwUWqXb85RXnUVi/P8Up75E0ag
|
31
|
+
14jEc90kN+C7oI/AGCBN0j6JnEtYIEJZibjjDJTSMWlUKKkj30kq7hlUC2CepJ4v
|
32
|
+
x52qPcexcYZR7w==
|
33
|
+
-----END CERTIFICATE-----
|
34
|
+
|
35
|
+
date: 2009-01-28 00:00:00 -08:00
|
36
|
+
default_executable:
|
37
|
+
dependencies:
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rdoc
|
40
|
+
type: :runtime
|
41
|
+
version_requirement:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: "2.3"
|
47
|
+
version:
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: minitest
|
50
|
+
type: :development
|
51
|
+
version_requirement:
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: "1.3"
|
57
|
+
version:
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: hoe
|
60
|
+
type: :development
|
61
|
+
version_requirement:
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 1.8.2
|
67
|
+
version:
|
68
|
+
description: An unmaintained Microsoft Compiled HTML Help generator for RDoc.
|
69
|
+
email:
|
70
|
+
- drbrain@segment7.net
|
71
|
+
- ""
|
72
|
+
- tony.strauss@designingpatterns.com
|
73
|
+
executables: []
|
74
|
+
|
75
|
+
extensions: []
|
76
|
+
|
77
|
+
extra_rdoc_files:
|
78
|
+
- History.txt
|
79
|
+
- Manifest.txt
|
80
|
+
- README.txt
|
81
|
+
files:
|
82
|
+
- History.txt
|
83
|
+
- Manifest.txt
|
84
|
+
- README.txt
|
85
|
+
- Rakefile
|
86
|
+
- lib/rdoc/discover.rb
|
87
|
+
- lib/rdoc/generator/chm.rb
|
88
|
+
- lib/rdoc/generator/chm/chm.rb
|
89
|
+
has_rdoc: true
|
90
|
+
homepage: "Project Page: http://rubyforge.org/projects/rdoc"
|
91
|
+
post_install_message:
|
92
|
+
rdoc_options:
|
93
|
+
- --main
|
94
|
+
- README.txt
|
95
|
+
require_paths:
|
96
|
+
- lib
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: "0"
|
102
|
+
version:
|
103
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - ">="
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: "1.3"
|
108
|
+
version:
|
109
|
+
requirements: []
|
110
|
+
|
111
|
+
rubyforge_project: rdoc
|
112
|
+
rubygems_version: 1.3.1.1939
|
113
|
+
signing_key:
|
114
|
+
specification_version: 2
|
115
|
+
summary: An unmaintained Microsoft Compiled HTML Help generator for RDoc.
|
116
|
+
test_files: []
|
117
|
+
|
metadata.gz.sig
ADDED
Binary file
|