bitclust-core 1.2.1 → 1.2.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f862080777927bb3b01d118c4eed19be1924fc7764a66ada4a05d2dced710474
4
- data.tar.gz: 8686589708e6c3514eaf06ac27622e57fc6b74945734d6303306b0567b1cbec6
3
+ metadata.gz: a07096751a66168972975f5aa732d470cc72e139e0ac59cf94a29d1dbd1a589e
4
+ data.tar.gz: ab596caaca4be81031f7bc326e9ba05f48c1027046788123bcaf049f4e576e7a
5
5
  SHA512:
6
- metadata.gz: 1e183939ea2f3463750a8ed60498a3b9f63f2792af3d1f90751bf6b8f41ddfee0b98704f8ffc5f52fb161750ad6e5705d5d4714fb70d124e13290f59a7168726
7
- data.tar.gz: 1ea7d07e5bed99ab26ef3e7266bc1cd981890e9cb0e7da998f8d49b46a025854b610efb795487dcb7e969186f03f5a24278c766bf0991faa7667a73a6d7aaf34
6
+ metadata.gz: 774d173f3ea9e6d0a33beb8e3de32cae7721483b7e7c247680a47f12a22d122379bfddab718eb1ba0d543b2a29d33a72efc945d63ea1ffd83d014cbb590a7db1
7
+ data.tar.gz: e04a73ccfb8f960e874957530140f0a3e3ca1a6c13178957640c89d9d0adbeb68e4be4ec9ece7b98c22d6101d9b7bb123595ee476d5cb85131e6c4150a5316df
@@ -20,6 +20,8 @@
20
20
  <a rel="license" href="https://creativecommons.org/licenses/by/3.0/">
21
21
  <img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/3.0/88x31.png" />
22
22
  </a>
23
+
24
+ フィードバックは<a href="https://github.com/rurema/doctree">こちら</a>
23
25
  </div>
24
26
  </body>
25
27
  </html>
@@ -120,10 +120,14 @@ module BitClust
120
120
  "#{cid}/#{typename2char(t)}.#{encodename_url(name)}.#{libid}"
121
121
  end
122
122
 
123
+ @@split_method_id = {}
124
+
123
125
  # private module function
124
126
  def split_method_id(id)
125
- c, rest = id.split("/")
126
- return *[c, *rest.split(%r<[/\.]>, 3)]
127
+ @@split_method_id[id] ||= begin
128
+ c, rest = id.split("/")
129
+ [c, *rest.split(%r<[/\.]>, 3)]
130
+ end
127
131
  end
128
132
 
129
133
  NAME_TO_MARK = {
@@ -149,7 +149,7 @@ module BitClust
149
149
  end
150
150
 
151
151
  def cond_init
152
- @state_stack = [State.new(nil, :toplevel)]
152
+ @state_stack = [State.new(true, :toplevel)]
153
153
  end
154
154
 
155
155
  def cond_toplevel?
@@ -158,13 +158,13 @@ module BitClust
158
158
 
159
159
  def cond_push(bool)
160
160
  last = @state_stack.last
161
- @state_stack.push(State.new(last.current, bool))
161
+ @state_stack.push(last.next(bool, :condition))
162
162
  end
163
163
 
164
164
  def cond_invert
165
165
  b = @state_stack.pop.processing?
166
166
  last = @state_stack.last
167
- @state_stack.push(State.new(last.current, !b))
167
+ @state_stack.push(last.next(!b, :condition))
168
168
  end
169
169
 
170
170
  def cond_pop
@@ -254,7 +254,7 @@ module BitClust
254
254
 
255
255
  def samplecode_push(description)
256
256
  last = @state_stack.last
257
- @state_stack.push(State.new(last.current, :samplecode))
257
+ @state_stack.push(last.next(true, :samplecode))
258
258
  end
259
259
 
260
260
  def samplecode_pop
@@ -276,24 +276,25 @@ module BitClust
276
276
  class State
277
277
  attr_reader :current
278
278
 
279
- def initialize(previous, current)
280
- @previous = previous
281
- @current = current
279
+ def initialize(is_processing, label)
280
+ @is_processing = is_processing
281
+ @label = label
282
+ end
283
+
284
+ def next(is_processing, label)
285
+ State.new(@is_processing && is_processing, label)
282
286
  end
283
287
 
284
288
  def toplevel?
285
- @current == :toplevel
289
+ @label == :toplevel
286
290
  end
287
291
 
288
292
  def processing?
289
- toplevel? ||
290
- (@current == true && @previous != false) ||
291
- (@current == :samplecode && @previous == true) ||
292
- (@current == :samplecode && @previous == :toplevel)
293
+ @is_processing
293
294
  end
294
295
 
295
296
  def samplecode?
296
- @current == :samplecode
297
+ @label == :samplecode
297
298
  end
298
299
  end
299
300
  end
@@ -231,9 +231,7 @@ module BitClust
231
231
  @f.gets
232
232
  when /\A[ \t\z]/
233
233
  line '<p>'
234
- @f.while_match(/\A[ \t\z]/) do |line|
235
- line compile_text(line.strip)
236
- end
234
+ line compile_text(text_node_from_lines(@f.span(/\A[ \t\z]/)))
237
235
  line '</p>'
238
236
  when %r!\A//emlist(?:\[(?:[^\[\]]+?)?\]\[\w+?\])?\{!
239
237
  emlist
@@ -250,9 +248,7 @@ module BitClust
250
248
  while /\A[ \t]/ =~ @f.peek or %r!\A//emlist(?:\[(?:[^\[\]]+?)?\]\[\w+?\])?\{! =~ @f.peek
251
249
  case @f.peek
252
250
  when /\A[ \t\z]/
253
- @f.while_match(/\A[ \t\z]/) do |line|
254
- line compile_text(line.strip)
255
- end
251
+ line compile_text(text_node_from_lines(@f.span(/\A[ \t\z]/)))
256
252
  when %r!\A//emlist(?:\[(?:[^\[\]]+?)?\]\[\w+?\])?\{!
257
253
  emlist
258
254
  end
@@ -313,9 +309,7 @@ module BitClust
313
309
 
314
310
  def paragraph
315
311
  line '<p>'
316
- read_paragraph(@f).each do |line|
317
- line compile_text(line.strip)
318
- end
312
+ line compile_text(text_node_from_lines(read_paragraph(@f)))
319
313
  line '</p>'
320
314
  end
321
315
 
@@ -328,7 +322,7 @@ module BitClust
328
322
  cmd = header.slice!(/\A\@\w+/)
329
323
  body = [header] + @f.span(/\A\s+\S/)
330
324
  line '<p>'
331
- line '[SEE_ALSO] ' + compile_text(body.join('').strip)
325
+ line '[SEE_ALSO] ' + compile_text(text_node_from_lines(body))
332
326
  line '</p>'
333
327
  end
334
328
 
@@ -368,9 +362,7 @@ module BitClust
368
362
  # FIXME: parse @param, @return, ...
369
363
  def entry_paragraph
370
364
  line '<p>'
371
- read_entry_paragraph(@f).each do |line|
372
- line compile_text(line.strip)
373
- end
365
+ line compile_text(text_node_from_lines(read_entry_paragraph(@f)))
374
366
  line '</p>'
375
367
  end
376
368
 
@@ -591,6 +583,11 @@ module BitClust
591
583
  @out.puts
592
584
  end
593
585
 
586
+ def text_node_from_lines(lines)
587
+ lines.map(&:strip).join("\n").gsub(/(\P{ascii})\n(\P{ascii})/) do
588
+ "#{::Regexp.last_match(1)}#{::Regexp.last_match(2)}"
589
+ end
590
+ end
594
591
  end
595
592
 
596
593
  end
@@ -3,13 +3,17 @@ module BitClust
3
3
  # Null-object version of ProgressBar.
4
4
  class SilentProgressBar
5
5
 
6
- attr_reader :title
6
+ attr_accessor :title
7
7
 
8
- def initialize(title, total, out = $stderr)
9
- @title, @total, @out = title, total, out
8
+ def self.create(output: $stderr, title:, total:)
9
+ self.new(output: output, title: title, total: total)
10
10
  end
11
11
 
12
- def inc(step = 1)
12
+ def initialize(output:, title:, total:)
13
+ @title, @total, @output = title, total, output
14
+ end
15
+
16
+ def increment
13
17
  end
14
18
 
15
19
  def finish
@@ -52,6 +52,15 @@ module BitClust
52
52
  def srcdir_root
53
53
  Pathname.new(__FILE__).realpath.dirname.parent.parent
54
54
  end
55
+
56
+ def align_progress_bar_title(title)
57
+ size = title.size
58
+ if size > 14
59
+ title[0..13]
60
+ else
61
+ title + ' ' * (14 - size)
62
+ end
63
+ end
55
64
  end
56
65
  end
57
66
 
@@ -176,7 +176,7 @@ EOS
176
176
  end
177
177
 
178
178
  entries = db.docs + db.libraries.sort + db.classes.sort + methods.values.sort
179
- pb = ProgressBar.new('entry', entries.size)
179
+ pb = ProgressBar.create(title: 'entry', total: entries.size)
180
180
  entries.each do |c|
181
181
  filename = create_html_file(c, manager, @outputdir, db)
182
182
  @html_files << filename
@@ -206,8 +206,8 @@ EOS
206
206
  Sitemap::Content.new("#{e.klass.name}#{e.typemark}#{name} (#{e.library.name})", filename)
207
207
  end
208
208
  end
209
- pb.title.replace(e.name)
210
- pb.inc
209
+ pb.title = align_progress_bar_title(e.name)
210
+ pb.increment
211
211
  end
212
212
  pb.finish
213
213
  end
@@ -19,7 +19,7 @@ module BitClust
19
19
  @prepare = nil
20
20
  @cleanup = nil
21
21
  @purge = nil
22
- @versions = ["2.1.0", "2.2.0", "2.3.0", "2.4.0"]
22
+ @versions = ["2.4.0", "2.5.0", "2.6.0"]
23
23
  @update = true
24
24
  @parser.banner = "Usage: #{File.basename($0, '.*')} setup [options]"
25
25
  @parser.on('--prepare', 'Prepare config file and checkout repository. Do not create database.') {
@@ -165,7 +165,6 @@ module BitClust
165
165
  end
166
166
 
167
167
  fdb.transaction do
168
- functions = {}
169
168
  create_html_entries("capi", fdb.functions, manager, fdb)
170
169
  end
171
170
 
@@ -219,34 +218,36 @@ module BitClust
219
218
  end
220
219
 
221
220
  def create_html_entries(title, entries, manager, db)
221
+ title = align_progress_bar_title(title)
222
222
  original_title = title.dup
223
223
  if @verbose
224
- progressbar = ProgressBar.new(title, entries.size)
224
+ progressbar = ProgressBar.create(title: title, total: entries.size)
225
225
  else
226
- progressbar = SilentProgressBar.new(title, entries.size)
226
+ progressbar = SilentProgressBar.create(title: title, total: entries.size)
227
227
  end
228
228
  entries.each do |entry|
229
229
  create_html_file(entry, manager, @outputdir, db)
230
- progressbar.title.replace([entry].flatten.first.name)
231
- progressbar.inc
230
+ progressbar.title = align_progress_bar_title([entry].flatten.first.name)
231
+ progressbar.increment
232
232
  end
233
- progressbar.title.replace(original_title)
233
+ progressbar.title = original_title
234
234
  progressbar.finish
235
235
  end
236
236
 
237
237
  def create_html_methods(title, methods, manager, db)
238
+ title = align_progress_bar_title(title)
238
239
  original_title = title.dup
239
240
  if @verbose
240
- progressbar = ProgressBar.new(title, methods.size)
241
+ progressbar = ProgressBar.create(title: title, total: methods.size)
241
242
  else
242
- progressbar = SilentProgressBar.new(title, methods.size)
243
+ progressbar = SilentProgressBar.create(title: title, total: methods.size)
243
244
  end
244
245
  methods.each do |method_name, method_entries|
245
246
  create_html_method_file(method_name, method_entries, manager, @outputdir, db)
246
- progressbar.title.replace(method_name)
247
- progressbar.inc
247
+ progressbar.title = align_progress_bar_title(method_name)
248
+ progressbar.increment
248
249
  end
249
- progressbar.title.replace(original_title)
250
+ progressbar.title = original_title
250
251
  progressbar.finish
251
252
  end
252
253
 
@@ -268,7 +269,6 @@ HERE
268
269
  @urlmapper.bitclust_html_base = '..'
269
270
  path = outputdir + e.type_id.to_s + html_filename(encodename_package(e.name), @suffix)
270
271
  create_html_file_p(entry, manager, path, db)
271
- path.relative_path_from(outputdir).to_s
272
272
  when :function
273
273
  create_html_function_file(entry, manager, outputdir, db)
274
274
  else
@@ -285,7 +285,6 @@ HERE
285
285
  path = outputdir + e.type_id.to_s + encodename_package(e.klass.name) +
286
286
  e.typechar + html_filename(encodename_package(name), @suffix)
287
287
  create_html_file_p(entries, manager, path, db)
288
- path.relative_path_from(outputdir).to_s
289
288
  end
290
289
 
291
290
  def create_html_function_file(entry, manager, outputdir, db)
@@ -293,7 +292,6 @@ HERE
293
292
  @urlmapper.bitclust_html_base = '..'
294
293
  path = outputdir + entry.type_id.to_s + html_filename(entry.name, @suffix)
295
294
  create_html_file_p(entry, manager, path, db)
296
- path.relative_path_from(outputdir).to_s
297
295
  end
298
296
 
299
297
  def create_html_file_p(entry, manager, path, db)
@@ -1,3 +1,3 @@
1
1
  module BitClust
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
@@ -33,12 +33,12 @@ HERE
33
33
  :version => "1.9.3",
34
34
  :expected => ["some text 2\n"],
35
35
  },
36
- "2.0.0" => {
37
- :version => "2.0.0",
36
+ "2.5.0" => {
37
+ :version => "2.5.0",
38
38
  :expected => ["some text 1\n"],
39
39
  },
40
- "2.1.0" => {
41
- :version => "2.1.0",
40
+ "2.6.0" => {
41
+ :version => "2.6.0",
42
42
  :expected => ["some text 1\n"],
43
43
  })
44
44
  def test_parse_file(data)
@@ -109,6 +109,27 @@ HERE
109
109
  assert_equal(expected, ret.join)
110
110
  end
111
111
 
112
+ def test_nested_condition
113
+ params = { 'version' => '2.4.0' }
114
+ src = <<~'HERE'
115
+ #@until 2.4.0
116
+ #@since 1.8.7
117
+ #@since 1.9.3
118
+ #@since 2.0.0
119
+ Not display here!
120
+ #@end
121
+ #@end
122
+ #@end
123
+ #@end
124
+ Display here!
125
+ HERE
126
+ expected = <<~HERE
127
+ Display here!
128
+ HERE
129
+ ret = Preprocessor.wrap(StringIO.new(src), params).to_a
130
+ assert_equal(expected, ret.join)
131
+ end
132
+
112
133
  sub_test_case("samplecode") do
113
134
 
114
135
  def test_samplecode
@@ -3,6 +3,7 @@ require 'bitclust/database'
3
3
  require 'bitclust/methoddatabase'
4
4
  require 'bitclust/screen'
5
5
  require 'test/unit'
6
+ require 'test/unit/rr'
6
7
  require 'timeout'
7
8
 
8
9
  class TestRDCompiler < Test::Unit::TestCase
@@ -835,4 +836,243 @@ HERE
835
836
  def test_rdoc_link(data)
836
837
  assert_equal(data[:expected], @c.rdoc_link(data[:method_id], data[:version]))
837
838
  end
839
+
840
+ def test_paragraph_with_single_line
841
+ source = <<~SOURCE
842
+ a
843
+ SOURCE
844
+ expected = <<~HTML
845
+ <p>
846
+ a
847
+ </p>
848
+ HTML
849
+ assert_equal(
850
+ expected,
851
+ @c.compile(source)
852
+ )
853
+ end
854
+
855
+ def test_paragraph_with_newline_between_ascii_and_ascii
856
+ source = <<~SOURCE
857
+ a
858
+ a
859
+ SOURCE
860
+ expected = <<~HTML
861
+ <p>
862
+ a
863
+ a
864
+ </p>
865
+ HTML
866
+ assert_equal(
867
+ expected,
868
+ @c.compile(source)
869
+ )
870
+ end
871
+
872
+ def test_paragraph_with_newline_between_ascii_and_non_ascii
873
+ source = <<~SOURCE
874
+ a
875
+
876
+ SOURCE
877
+ expected = <<~HTML
878
+ <p>
879
+ a
880
+
881
+ </p>
882
+ HTML
883
+ assert_equal(
884
+ expected,
885
+ @c.compile(source)
886
+ )
887
+ end
888
+
889
+ def test_paragraph_with_newline_between_non_ascii_and_ascii
890
+ source = <<~SOURCE
891
+
892
+ a
893
+ SOURCE
894
+ expected = <<~HTML
895
+ <p>
896
+
897
+ a
898
+ </p>
899
+ HTML
900
+ assert_equal(
901
+ expected,
902
+ @c.compile(source)
903
+ )
904
+ end
905
+
906
+ def test_paragraph_with_newline_between_non_ascii_and_non_ascii
907
+ source = <<~SOURCE
908
+
909
+
910
+ SOURCE
911
+ expected = <<~HTML
912
+ <p>
913
+ ああ
914
+ </p>
915
+ HTML
916
+ assert_equal(
917
+ expected,
918
+ @c.compile(source)
919
+ )
920
+ end
921
+
922
+ def test_definition_list_with_ascii
923
+ source = <<~SOURCE
924
+ : b
925
+
926
+
927
+ SOURCE
928
+ expected = <<~HTML
929
+ <dl>
930
+ <dt>b</dt>
931
+ <dd>
932
+ <p>
933
+ ああ
934
+ </p>
935
+ </dd>
936
+ </dl>
937
+ HTML
938
+ assert_equal(
939
+ expected,
940
+ @c.compile(source)
941
+ )
942
+ end
943
+
944
+ def test_definition_list_with_non_ascii
945
+ source = <<~SOURCE
946
+ : b
947
+ a
948
+ a
949
+ SOURCE
950
+ expected = <<~HTML
951
+ <dl>
952
+ <dt>b</dt>
953
+ <dd>
954
+ <p>
955
+ a
956
+ a
957
+ </p>
958
+ </dd>
959
+ </dl>
960
+ HTML
961
+ assert_equal(
962
+ expected,
963
+ @c.compile(source)
964
+ )
965
+ end
966
+
967
+ def test_entry_info_with_ascii
968
+ source = <<~SOURCE
969
+ --- b
970
+
971
+ @param arg あ
972
+
973
+ SOURCE
974
+ expected = <<~HTML
975
+ <dt class="method-heading" id="dummy"><code>b</code><span class="permalink">[<a href="dummy/method/String/i/index">permalink</a>][<a href="https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-index">rdoc</a>]</span></dt>
976
+ <dd class="method-description">
977
+ <dl>
978
+ <dt class='method-param'>[PARAM] arg:</dt>
979
+ <dd>
980
+ ああ
981
+ </dd>
982
+ </dl>
983
+ </dd>
984
+ HTML
985
+ assert_compiled_method_source(expected, source)
986
+ end
987
+
988
+ def test_entry_info_with_non_ascii
989
+ source = <<~SOURCE
990
+ --- b
991
+ @param arg a
992
+ a
993
+ SOURCE
994
+ expected = <<~HTML
995
+ <dt class="method-heading" id="dummy"><code>b</code><span class="permalink">[<a href="dummy/method/String/i/index">permalink</a>][<a href="https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-index">rdoc</a>]</span></dt>
996
+ <dd class="method-description">
997
+ <dl>
998
+ <dt class='method-param'>[PARAM] arg:</dt>
999
+ <dd>
1000
+ a
1001
+ a
1002
+ </dd>
1003
+ </dl>
1004
+ </dd>
1005
+ HTML
1006
+ assert_compiled_method_source(expected, source)
1007
+ end
1008
+
1009
+ def test_entry_paragraph_with_ascii
1010
+ source = <<~SOURCE
1011
+ --- b
1012
+
1013
+
1014
+ SOURCE
1015
+ expected = <<~HTML
1016
+ <dt class="method-heading" id="dummy"><code>b</code><span class="permalink">[<a href="dummy/method/String/i/index">permalink</a>][<a href="https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-index">rdoc</a>]</span></dt>
1017
+ <dd class="method-description">
1018
+ <p>
1019
+ ああ
1020
+ </p>
1021
+ </dd>
1022
+ HTML
1023
+ assert_compiled_method_source(expected, source)
1024
+ end
1025
+
1026
+ def test_entry_paragraph_with_non_ascii
1027
+ source = <<~SOURCE
1028
+ --- b
1029
+ a
1030
+ a
1031
+ SOURCE
1032
+ expected = <<~HTML
1033
+ <dt class="method-heading" id="dummy"><code>b</code><span class="permalink">[<a href="dummy/method/String/i/index">permalink</a>][<a href="https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-index">rdoc</a>]</span></dt>
1034
+ <dd class="method-description">
1035
+ <p>
1036
+ a
1037
+ a
1038
+ </p>
1039
+ </dd>
1040
+ HTML
1041
+ assert_compiled_method_source(expected, source)
1042
+ end
1043
+
1044
+ def test_entry_see_with_ascii
1045
+ source = <<~SOURCE
1046
+ --- b
1047
+ @see あ
1048
+
1049
+ SOURCE
1050
+ expected = <<~HTML
1051
+ <dt class="method-heading" id="dummy"><code>b</code><span class="permalink">[<a href="dummy/method/String/i/index">permalink</a>][<a href="https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-index">rdoc</a>]</span></dt>
1052
+ <dd class="method-description">
1053
+ <p>
1054
+ [SEE_ALSO] ああ
1055
+ </p>
1056
+ </dd>
1057
+ HTML
1058
+ assert_compiled_method_source(expected, source)
1059
+ end
1060
+
1061
+ def test_entry_see_with_non_ascii
1062
+ source = <<~SOURCE
1063
+ --- b
1064
+ @see a
1065
+ a
1066
+ SOURCE
1067
+ expected = <<~HTML
1068
+ <dt class="method-heading" id="dummy"><code>b</code><span class="permalink">[<a href="dummy/method/String/i/index">permalink</a>][<a href="https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-index">rdoc</a>]</span></dt>
1069
+ <dd class="method-description">
1070
+ <p>
1071
+ [SEE_ALSO] a
1072
+ a
1073
+ </p>
1074
+ </dd>
1075
+ HTML
1076
+ assert_compiled_method_source(expected, source)
1077
+ end
838
1078
  end
@@ -7,15 +7,15 @@ class TestSyntaxHighlighter < Test::Unit::TestCase
7
7
 
8
8
  sub_test_case "syntax error" do
9
9
  test "single line" do
10
- src = "...\n"
11
- assert_raise(BitClust::SyntaxHighlighter::ParseError.new("-", 1, 3, "syntax error, unexpected ...")) do
10
+ src = "foo(\n"
11
+ assert_raise(BitClust::SyntaxHighlighter::ParseError.new("-", 1, 5, "syntax error, unexpected end-of-input, expecting ')'")) do
12
12
  highlight(src)
13
13
  end
14
14
  end
15
15
 
16
16
  test "multiple line" do
17
- src = "a = 1\n...\n"
18
- assert_raise(BitClust::SyntaxHighlighter::ParseError.new("-", 2, 3, "syntax error, unexpected ..., expecting end-of-input")) do
17
+ src = "a = 1\nfoo(\n"
18
+ assert_raise(BitClust::SyntaxHighlighter::ParseError.new("-", 2, 5, "syntax error, unexpected end-of-input, expecting ')'")) do
19
19
  highlight(src)
20
20
  end
21
21
  end
@@ -113,17 +113,22 @@ span.compileerror {
113
113
  font-weight: bold;
114
114
  }
115
115
 
116
+ code, pre, tt {
117
+ font-size: 90%;
118
+ font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
119
+ }
120
+
116
121
  pre {
117
122
  line-height: 1.1;
118
123
  background-color: #f2f2f2;
119
- padding: 10px;
124
+ padding: 1.1em;
120
125
  font-weight: normal;
121
126
  }
122
127
 
123
128
  pre.highlight {
124
129
  line-height: 1.1;
125
130
  background-color: #f2f2f2;
126
- padding: 0px 10px 10px 10px;
131
+ padding: 0px 1.1em 1.1em 1.1em;
127
132
  font-weight: normal;
128
133
  position: relative;
129
134
  }
@@ -215,6 +220,7 @@ td.signature a {
215
220
  display: block;
216
221
  padding: 0.3em;
217
222
  height: 100%;
223
+ box-sizing: border-box;
218
224
  }
219
225
 
220
226
  td.description {
@@ -230,10 +236,6 @@ td.library {
230
236
  border: 3px solid white;
231
237
  }
232
238
 
233
- code {
234
- font-family: monospace;
235
- }
236
-
237
239
  a {
238
240
  font-weight: bold;
239
241
  text-decoration: none;
@@ -307,6 +309,6 @@ hr {
307
309
 
308
310
  #top_search {
309
311
  position: absolute;
310
- top: 15px;
311
- right: 10px;
312
+ top: 15px;
313
+ right: 10px;
312
314
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitclust-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/rurema
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-15 00:00:00.000000000 Z
11
+ date: 2019-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-unit
@@ -70,16 +70,22 @@ dependencies:
70
70
  name: progressbar
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '='
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 1.9.0
76
+ - - "<"
74
77
  - !ruby/object:Gem::Version
75
- version: 0.21.0
78
+ version: '2.0'
76
79
  type: :runtime
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
80
- - - '='
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 1.9.0
86
+ - - "<"
81
87
  - !ruby/object:Gem::Version
82
- version: 0.21.0
88
+ version: '2.0'
83
89
  description: |
84
90
  Rurema is a Japanese ruby documentation project, and
85
91
  bitclust is a rurema document processor.
@@ -240,25 +246,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
246
  - !ruby/object:Gem::Version
241
247
  version: '0'
242
248
  requirements: []
243
- rubyforge_project: ''
244
- rubygems_version: 2.7.6
249
+ rubygems_version: 3.0.3
245
250
  signing_key:
246
251
  specification_version: 4
247
252
  summary: BitClust is a rurema document processor.
248
253
  test_files:
249
- - test/test_rdcompiler.rb
250
- - test/test_libraryentry.rb
251
- - test/test_runner.rb
252
254
  - test/test_syntax_highlighter.rb
253
- - test/test_bitclust.rb
255
+ - test/test_libraryentry.rb
254
256
  - test/test_refsdatabase.rb
255
- - test/test_methodsignature.rb
256
- - test/test_preprocessor.rb
257
- - test/test_rrdparser.rb
257
+ - test/test_rdcompiler.rb
258
+ - test/test_methoddatabase.rb
258
259
  - test/test_simplesearcher.rb
259
- - test/run_test.rb
260
+ - test/test_functionreferenceparser.rb
260
261
  - test/test_entry.rb
261
- - test/test_methoddatabase.rb
262
- - test/test_functiondatabase.rb
262
+ - test/run_test.rb
263
+ - test/test_preprocessor.rb
263
264
  - test/test_nameutils.rb
264
- - test/test_functionreferenceparser.rb
265
+ - test/test_functiondatabase.rb
266
+ - test/test_rrdparser.rb
267
+ - test/test_methodsignature.rb
268
+ - test/test_runner.rb
269
+ - test/test_bitclust.rb