sdoc 0.3.9 → 0.3.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby -KU
2
-
3
2
  require File.dirname(__FILE__) + '/../lib/sdoc' # add extensions
4
3
  require 'sdoc/merge'
5
4
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  <title><%= @title %></title>
9
9
  </head>
10
- <frameset cols="300,*" frameborder="1" border="1" bordercolor="#666666" framespacing="1">
10
+ <frameset cols="300,*" frameborder="1" border="1" bordercolor="#999999" framespacing="1">
11
11
  <frame src="panel/index.html" title="Search" name="panel" />
12
12
  <frame src="<%= index_path %>" name="docwin" />
13
13
  </frameset>
@@ -6,7 +6,7 @@
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=<%= @options.charset %>" />
7
7
  <title><%= @options.title %></title>
8
8
  </head>
9
- <frameset cols="300,*" frameborder="1" border="1" bordercolor="#666666" framespacing="1">
9
+ <frameset cols="300,*" frameborder="1" border="1" bordercolor="#999999" framespacing="1">
10
10
  <frame src="panel/index.html" title="Search" name="panel" />
11
11
  <frame src="<%= index_path %>" name="docwin" />
12
12
  </frameset>
@@ -175,6 +175,7 @@
175
175
  margin-left: -0.2em;
176
176
  padding: 0 0.2em;
177
177
  color: #000;
178
+ border-radius: 3px;
178
179
  }
179
180
 
180
181
  .panel .result ul li .badge_1
@@ -6,7 +6,7 @@
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=<%= @options.charset %>" />
7
7
  <title><%= @options.title %></title>
8
8
  </head>
9
- <frameset cols="300,*" frameborder="1" border="1" bordercolor="#666666" framespacing="1">
9
+ <frameset cols="300,*" frameborder="1" border="1" bordercolor="#999999" framespacing="1">
10
10
  <frame src="panel/index.html" title="Search" name="panel" />
11
11
  <frame src="<%= index_path %>" name="docwin" />
12
12
  </frameset>
@@ -175,6 +175,7 @@
175
175
  margin-left: -0.2em;
176
176
  padding: 0 0.2em;
177
177
  color: #000;
178
+ border-radius: 3px;
178
179
  }
179
180
 
180
181
  .panel .result ul li .badge_1
@@ -13,24 +13,22 @@ require 'sdoc/templatable'
13
13
 
14
14
  class SDoc::Merge
15
15
  include SDoc::Templatable
16
-
16
+
17
17
  FLAG_FILE = "created.rid"
18
-
18
+
19
19
  def initialize()
20
20
  @names = []
21
21
  @urls = []
22
22
  @op_dir = 'doc'
23
23
  @title = ''
24
24
  @directories = []
25
- template_dir = RDoc::Generator::SDoc.template_dir_for('merge')
26
- @template_dir = Pathname.new File.expand_path(template_dir)
27
25
  end
28
-
26
+
29
27
  def merge(options)
30
28
  parse_options options
31
-
29
+
32
30
  @outputdir = Pathname.new( @op_dir )
33
-
31
+
34
32
  check_directories
35
33
  setup_output_dir
36
34
  setup_names
@@ -40,23 +38,23 @@ class SDoc::Merge
40
38
  merge_tree
41
39
  generate_index_file
42
40
  end
43
-
41
+
44
42
  def parse_options(options)
45
- opts = OptionParser.new do |opt|
43
+ opts = OptionParser.new do |opt|
46
44
  opt.banner = "Usage: sdoc-merge [options] directories"
47
-
45
+
48
46
  opt.on("-n", "--names [NAMES]", "Names of merged repositories. Comma separated") do |v|
49
47
  @names = v.split(',').map{|name| name.strip }
50
48
  end
51
-
49
+
52
50
  opt.on("-o", "--op [DIRECTORY]", "Set the output directory") do |v|
53
51
  @op_dir = v
54
52
  end
55
-
53
+
56
54
  opt.on("-t", "--title [TITLE]", "Set the title of merged file") do |v|
57
55
  @title = v
58
56
  end
59
-
57
+
60
58
  opt.on("-u", "--urls [URLS]", "Paths to merged docs. If you",
61
59
  "set this files and classes won't be actualy",
62
60
  "copied to merged build") do |v|
@@ -64,15 +62,16 @@ class SDoc::Merge
64
62
  end
65
63
  end
66
64
  opts.parse! options
65
+ @template_dir = Pathname.new(RDoc::Options.new.template_dir_for 'merge')
67
66
  @directories = options.dup
68
67
  end
69
-
68
+
70
69
  def merge_tree
71
70
  tree = []
72
71
  @directories.each_with_index do |dir, i|
73
72
  name = @names[i]
74
73
  url = @urls.empty? ? name : @urls[i]
75
- filename = File.join dir, RDoc::Generator::SHtml::TREE_FILE
74
+ filename = File.join dir, RDoc::Generator::SDoc::TREE_FILE
76
75
  data = open(filename).read.sub(/var tree =\s*/, '')
77
76
  subtree = JSON.parse(data, :max_nesting => 0)
78
77
  item = [
@@ -83,14 +82,14 @@ class SDoc::Merge
83
82
  ]
84
83
  tree << item
85
84
  end
86
-
87
- dst = File.join @op_dir, RDoc::Generator::SHtml::TREE_FILE
85
+
86
+ dst = File.join @op_dir, RDoc::Generator::SDoc::TREE_FILE
88
87
  FileUtils.mkdir_p File.dirname(dst)
89
88
  File.open(dst, "w", 0644) do |f|
90
89
  f.write('var tree = '); f.write(tree.to_json(:max_nesting => 0))
91
90
  end
92
91
  end
93
-
92
+
94
93
  def append_path subtree, path
95
94
  subtree.map do |item|
96
95
  item[1] = path + '/' + item[1] unless item[1].empty?
@@ -98,18 +97,18 @@ class SDoc::Merge
98
97
  item
99
98
  end
100
99
  end
101
-
100
+
102
101
  def merge_search_index
103
102
  items = []
104
103
  @indexes = {}
105
104
  @directories.each_with_index do |dir, i|
106
105
  name = @names[i]
107
106
  url = @urls.empty? ? name : @urls[i]
108
- filename = File.join dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE
107
+ filename = File.join dir, RDoc::Generator::SDoc::SEARCH_INDEX_FILE
109
108
  data = open(filename).read.sub(/var search_data =\s*/, '')
110
109
  subindex = JSON.parse(data, :max_nesting => 0)
111
110
  @indexes[name] = subindex
112
-
111
+
113
112
  searchIndex = subindex["index"]["searchIndex"]
114
113
  longSearchIndex = subindex["index"]["longSearchIndex"]
115
114
  subindex["index"]["info"].each_with_index do |info, j|
@@ -126,7 +125,7 @@ class SDoc::Merge
126
125
  # type (class/method/file) or name or doc part or namespace
127
126
  [a[:info][5], a[:info][0], a[:info][6], a[:info][1]] <=> [b[:info][5], b[:info][0], b[:info][6], b[:info][1]]
128
127
  end
129
-
128
+
130
129
  index = {
131
130
  :searchIndex => items.map{|item| item[:searchIndex]},
132
131
  :longSearchIndex => items.map{|item| item[:longSearchIndex]},
@@ -136,14 +135,14 @@ class SDoc::Merge
136
135
  :index => index,
137
136
  :badges => @names
138
137
  }
139
-
140
- dst = File.join @op_dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE
138
+
139
+ dst = File.join @op_dir, RDoc::Generator::SDoc::SEARCH_INDEX_FILE
141
140
  FileUtils.mkdir_p File.dirname(dst)
142
141
  File.open(dst, "w", 0644) do |f|
143
142
  f.write('var search_data = '); f.write(search_data.to_json(:max_nesting => 0))
144
143
  end
145
144
  end
146
-
145
+
147
146
  def extract_index_path dir
148
147
  filename = File.join dir, 'index.html'
149
148
  content = File.open(filename) { |f| f.read }
@@ -154,16 +153,16 @@ class SDoc::Merge
154
153
  ''
155
154
  end
156
155
  end
157
-
156
+
158
157
  def generate_index_file
159
158
  templatefile = @template_dir + 'index.rhtml'
160
159
  outfile = @outputdir + 'index.html'
161
160
  url = @urls.empty? ? @names[0] : @urls[0]
162
161
  index_path = url + '/' + extract_index_path(@directories[0])
163
-
162
+
164
163
  render_template templatefile, binding(), outfile
165
164
  end
166
-
165
+
167
166
  def setup_names
168
167
  unless @names.size > 0
169
168
  @directories.each do |dir|
@@ -173,13 +172,13 @@ class SDoc::Merge
173
172
  end
174
173
  end
175
174
  end
176
-
175
+
177
176
  def copy_docs
178
177
  @directories.each_with_index do |dir, i|
179
178
  name = @names[i]
180
- index_dir = File.dirname(RDoc::Generator::SHtml::TREE_FILE)
179
+ index_dir = File.dirname(RDoc::Generator::SDoc::TREE_FILE)
181
180
  FileUtils.mkdir_p(File.join(@op_dir, name))
182
-
181
+
183
182
  Dir.new(dir).each do |item|
184
183
  if File.directory?(File.join(dir, item)) && item != '.' && item != '..' && item != index_dir
185
184
  FileUtils.cp_r File.join(dir, item), File.join(@op_dir, name, item), :preserve => true
@@ -187,38 +186,38 @@ class SDoc::Merge
187
186
  end
188
187
  end
189
188
  end
190
-
189
+
191
190
  def copy_files
192
191
  dir = @directories.first
193
192
  Dir.new(dir).each do |item|
194
- if item != '.' && item != '..' && item != RDoc::Generator::SHtml::FILE_DIR && item != RDoc::Generator::SHtml::CLASS_DIR
193
+ if item != '.' && item != '..' && item != RDoc::Generator::SDoc::FILE_DIR && item != RDoc::Generator::SDoc::CLASS_DIR
195
194
  FileUtils.cp_r File.join(dir, item), @op_dir, :preserve => true
196
195
  end
197
196
  end
198
197
  end
199
-
198
+
200
199
  def setup_output_dir
201
200
  if File.exists? @op_dir
202
201
  error "#{@op_dir} allready exists"
203
202
  end
204
203
  FileUtils.mkdir_p @op_dir
205
204
  end
206
-
205
+
207
206
  def check_directories
208
207
  @directories.each do |dir|
209
- unless File.exists?(File.join(dir, FLAG_FILE)) &&
210
- File.exists?(File.join(dir, RDoc::Generator::SHtml::TREE_FILE)) &&
211
- File.exists?(File.join(dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE))
208
+ unless File.exists?(File.join(dir, FLAG_FILE)) &&
209
+ File.exists?(File.join(dir, RDoc::Generator::SDoc::TREE_FILE)) &&
210
+ File.exists?(File.join(dir, RDoc::Generator::SDoc::SEARCH_INDEX_FILE))
212
211
  error "#{dir} does not seem to be an sdoc directory"
213
212
  end
214
213
  end
215
214
  end
216
-
215
+
217
216
  ##
218
217
  # Report an error message and exit
219
218
 
220
219
  def error(msg)
221
220
  raise RDoc::Error, msg
222
221
  end
223
-
222
+
224
223
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "sdoc"
5
- s.version = "0.3.9"
5
+ s.version = "0.3.10"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Vladimir Kolesnikov"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdoc
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 9
10
- version: 0.3.9
9
+ - 10
10
+ version: 0.3.10
11
11
  platform: ruby
12
12
  authors:
13
13
  - Vladimir Kolesnikov