summaryrefslogtreecommitdiff
path: root/lib/rdoc/generator/chm/chm.rb
blob: c362318d91dfa2a6757dfb8214bfc6acc55162c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
require 'rdoc/generator/chm'
require 'rdoc/generator/html/html'

module RDoc::Generator::CHM::CHM

  HTML = RDoc::Generator::HTML::HTML

  INDEX = HTML::INDEX

  STYLE = HTML::STYLE

  CLASS_INDEX = HTML::CLASS_INDEX
  CLASS_PAGE = HTML::CLASS_PAGE
  FILE_INDEX = HTML::FILE_INDEX
  FILE_PAGE = HTML::FILE_PAGE
  METHOD_INDEX = HTML::METHOD_INDEX
  METHOD_LIST = HTML::METHOD_LIST

  FR_INDEX_BODY = HTML::FR_INDEX_BODY

  # This is a nasty little hack, but hhc doesn't support the <?xml tag, so...
  BODY = HTML::BODY.sub!(/<\?xml.*\?>/, '')
  SRC_PAGE = HTML::SRC_PAGE.sub!(/<\?xml.*\?>/, '')

  HPP_FILE = <<-EOF
[OPTIONS]
Auto Index = Yes
Compatibility=1.1 or later
Compiled file=<%= values["opname"] %>.chm
Contents file=contents.hhc
Full-text search=Yes
Index file=index.hhk
Language=0x409 English(United States)
Title=<%= values["title"] %>

[FILES]
<% values["all_html_files"].each do |all_html_files| %>
<%= all_html_files["html_file_name"] %>
<% end # values["all_html_files"] %>
  EOF

  CONTENTS = <<-EOF
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
	<param name="Foreground" value="0x80">
	<param name="Window Styles" value="0x800025">
	<param name="ImageType" value="Folder">
</OBJECT>
<UL>
<% values["contents"].each do |contents| %>
	<LI> <OBJECT type="text/sitemap">
		<param name="Name" value="<%= contents["c_name"] %>">
		<param name="Local" value="<%= contents["ref"] %>">
		</OBJECT>
<% if contents["methods"] then %>
<ul>
<% contents["methods"].each do |methods| %>
	<LI> <OBJECT type="text/sitemap">
		<param name="Name" value="<%= methods["name"] %>">
		<param name="Local" value="<%= methods["aref"] %>">
		</OBJECT>
<% end # contents["methods"] %>
</ul>
<% end %>
        </LI>
<% end # values["contents"] %>
</UL>
</BODY></HTML>
  EOF

  CHM_INDEX = <<-EOF
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
	<param name="Foreground" value="0x80">
	<param name="Window Styles" value="0x800025">
	<param name="ImageType" value="Folder">
</OBJECT>
<UL>
<% values["index"].each do |index| %>
	<LI> <OBJECT type="text/sitemap">
		<param name="Name" value="<%= index["name"] %>">
		<param name="Local" value="<%= index["aref"] %>">
		</OBJECT>
<% end # values["index"] %>
</UL>
</BODY></HTML>
  EOF

end