bitclust-core 1.2.6 → 1.6.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.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/README.md +65 -0
  4. data/Rakefile +32 -0
  5. data/data/bitclust/catalog/ja_JP.UTF-8 +19 -1
  6. data/data/bitclust/searchpage/index.html +90 -0
  7. data/data/bitclust/template/class +69 -8
  8. data/data/bitclust/template/function +2 -2
  9. data/data/bitclust/template/layout +11 -3
  10. data/data/bitclust/template/method +2 -2
  11. data/data/bitclust/template/search +1 -1
  12. data/data/bitclust/template.epub/class +22 -1
  13. data/data/bitclust/template.epub/function +2 -2
  14. data/data/bitclust/template.epub/layout +1 -3
  15. data/data/bitclust/template.epub/method +2 -2
  16. data/data/bitclust/template.lillia/class +26 -5
  17. data/data/bitclust/template.lillia/layout +1 -3
  18. data/data/bitclust/template.lillia/method +2 -2
  19. data/data/bitclust/template.offline/class +49 -5
  20. data/data/bitclust/template.offline/function +2 -2
  21. data/data/bitclust/template.offline/layout +27 -3
  22. data/data/bitclust/template.offline/method +2 -2
  23. data/lib/bitclust/app.rb +17 -17
  24. data/lib/bitclust/capi_converter.rb +20 -0
  25. data/lib/bitclust/classentry.rb +68 -17
  26. data/lib/bitclust/compat.rb +3 -2
  27. data/lib/bitclust/completion.rb +59 -27
  28. data/lib/bitclust/crossrubyutils.rb +9 -5
  29. data/lib/bitclust/database.rb +29 -8
  30. data/lib/bitclust/doc_converter.rb +63 -0
  31. data/lib/bitclust/docentry.rb +2 -1
  32. data/lib/bitclust/entity_splitter.rb +221 -0
  33. data/lib/bitclust/entry.rb +48 -7
  34. data/lib/bitclust/exception.rb +1 -0
  35. data/lib/bitclust/functiondatabase.rb +14 -1
  36. data/lib/bitclust/functionentry.rb +6 -1
  37. data/lib/bitclust/functionreferenceparser.rb +5 -4
  38. data/lib/bitclust/generators/epub.rb +11 -3
  39. data/lib/bitclust/htmlutils.rb +2 -1
  40. data/lib/bitclust/include_graph.rb +375 -0
  41. data/lib/bitclust/include_pruner.rb +144 -0
  42. data/lib/bitclust/interface.rb +2 -1
  43. data/lib/bitclust/libraryentry.rb +9 -7
  44. data/lib/bitclust/lineinput.rb +8 -5
  45. data/lib/bitclust/link_checker.rb +179 -0
  46. data/lib/bitclust/markdown_bridge.rb +186 -0
  47. data/lib/bitclust/markdown_orchestrator.rb +267 -0
  48. data/lib/bitclust/markdown_to_rrd.rb +824 -0
  49. data/lib/bitclust/markdown_tree.rb +217 -0
  50. data/lib/bitclust/mdcompiler.rb +883 -0
  51. data/lib/bitclust/mdparser.rb +347 -0
  52. data/lib/bitclust/messagecatalog.rb +4 -3
  53. data/lib/bitclust/method_since_calculator.rb +117 -0
  54. data/lib/bitclust/methoddatabase.rb +125 -14
  55. data/lib/bitclust/methodentry.rb +130 -7
  56. data/lib/bitclust/methodid.rb +13 -11
  57. data/lib/bitclust/methodsignature.rb +11 -4
  58. data/lib/bitclust/nameutils.rb +42 -22
  59. data/lib/bitclust/parseutils.rb +1 -0
  60. data/lib/bitclust/preprocessor.rb +70 -32
  61. data/lib/bitclust/progress_bar.rb +1 -0
  62. data/lib/bitclust/rdcompiler.rb +197 -96
  63. data/lib/bitclust/refsdatabase.rb +24 -8
  64. data/lib/bitclust/reloadable_request_handler.rb +72 -0
  65. data/lib/bitclust/requesthandler.rb +22 -16
  66. data/lib/bitclust/ridatabase.rb +11 -4
  67. data/lib/bitclust/rrd_to_markdown.rb +925 -0
  68. data/lib/bitclust/rrdparser.rb +197 -30
  69. data/lib/bitclust/runner.rb +18 -2
  70. data/lib/bitclust/screen.rb +81 -11
  71. data/lib/bitclust/search_index_generator.rb +288 -0
  72. data/lib/bitclust/searcher.rb +72 -22
  73. data/lib/bitclust/server.rb +6 -1
  74. data/lib/bitclust/silent_progress_bar.rb +1 -0
  75. data/lib/bitclust/simplesearcher.rb +25 -12
  76. data/lib/bitclust/subcommand.rb +8 -1
  77. data/lib/bitclust/subcommands/ancestors_command.rb +10 -2
  78. data/lib/bitclust/subcommands/checklink_command.rb +54 -0
  79. data/lib/bitclust/subcommands/chm_command.rb +16 -7
  80. data/lib/bitclust/subcommands/classes_command.rb +6 -0
  81. data/lib/bitclust/subcommands/epub_command.rb +1 -0
  82. data/lib/bitclust/subcommands/extract_command.rb +6 -0
  83. data/lib/bitclust/subcommands/htmlfile_command.rb +22 -7
  84. data/lib/bitclust/subcommands/init_command.rb +5 -1
  85. data/lib/bitclust/subcommands/list_command.rb +13 -4
  86. data/lib/bitclust/subcommands/lookup_command.rb +29 -9
  87. data/lib/bitclust/subcommands/methods_command.rb +11 -2
  88. data/lib/bitclust/subcommands/methodsince_command.rb +80 -0
  89. data/lib/bitclust/subcommands/preproc_command.rb +6 -0
  90. data/lib/bitclust/subcommands/property_command.rb +3 -1
  91. data/lib/bitclust/subcommands/query_command.rb +1 -0
  92. data/lib/bitclust/subcommands/searchpage_command.rb +102 -0
  93. data/lib/bitclust/subcommands/server_command.rb +16 -10
  94. data/lib/bitclust/subcommands/setup_command.rb +25 -10
  95. data/lib/bitclust/subcommands/statichtml_command.rb +132 -6
  96. data/lib/bitclust/subcommands/update_command.rb +111 -2
  97. data/lib/bitclust/syntax_highlighter.rb +52 -5
  98. data/lib/bitclust/textutils.rb +4 -3
  99. data/lib/bitclust/version.rb +2 -1
  100. data/lib/bitclust/version_badges.rb +90 -0
  101. data/lib/bitclust/whole_file_gate.rb +137 -0
  102. data/lib/bitclust.rb +1 -0
  103. data/test/test_app.rb +269 -0
  104. data/test/test_bitclust.rb +2 -0
  105. data/test/test_capi_converter.rb +91 -0
  106. data/test/test_class_screen.rb +413 -0
  107. data/test/test_copy_doc_md.rb +53 -0
  108. data/test/test_doc_converter.rb +78 -0
  109. data/test/test_entity_splitter.rb +231 -0
  110. data/test/test_entry.rb +207 -2
  111. data/test/test_eol_warning.rb +43 -0
  112. data/test/test_functionreferenceparser.rb +11 -0
  113. data/test/test_include_graph.rb +640 -0
  114. data/test/test_include_pruner.rb +133 -0
  115. data/test/test_link_checker.rb +114 -0
  116. data/test/test_lookup_command.rb +135 -0
  117. data/test/test_markdown_bridge.rb +217 -0
  118. data/test/test_markdown_orchestrator.rb +478 -0
  119. data/test/test_markdown_to_rrd.rb +757 -0
  120. data/test/test_markdown_tree.rb +369 -0
  121. data/test/test_mdcompiler.rb +1276 -0
  122. data/test/test_mdparser.rb +538 -0
  123. data/test/test_method_screen.rb +166 -0
  124. data/test/test_method_since_calculator.rb +290 -0
  125. data/test/test_methoddatabase.rb +16 -0
  126. data/test/test_methodentry.rb +328 -0
  127. data/test/test_methodsignature.rb +3 -1
  128. data/test/test_methodsince_command.rb +168 -0
  129. data/test/test_nameutils.rb +22 -0
  130. data/test/test_preprocessor.rb +215 -0
  131. data/test/test_rdcompiler.rb +429 -27
  132. data/test/test_refsdatabase.rb +32 -0
  133. data/test/test_rrd_to_markdown.rb +968 -0
  134. data/test/test_rrdparser.rb +295 -2
  135. data/test/test_run_ruby_wasm.rb +54 -0
  136. data/test/test_run_worker_prelude.rb +83 -0
  137. data/test/test_runner.rb +51 -0
  138. data/test/test_search_index_generator.rb +513 -0
  139. data/test/test_search_screen.rb +48 -0
  140. data/test/test_searcher.rb +153 -0
  141. data/test/test_searchpage_command.rb +167 -0
  142. data/test/test_simplesearcher.rb +28 -0
  143. data/test/test_statichtml_command.rb +204 -0
  144. data/test/test_syntax_highlighter.rb +60 -0
  145. data/test/test_whole_file_gate.rb +175 -0
  146. data/theme/default/js/NOTICE +42 -0
  147. data/theme/default/js/run-worker.js +111 -0
  148. data/theme/default/js/run.js +350 -0
  149. data/theme/default/js/search_controller.js +134 -0
  150. data/theme/default/js/search_init.js +176 -0
  151. data/theme/default/js/search_navigation.js +110 -0
  152. data/theme/default/js/search_page.js +202 -0
  153. data/theme/default/js/search_ranker.js +244 -0
  154. data/theme/default/script.js +91 -18
  155. data/theme/default/search.css +149 -0
  156. data/theme/default/style.css +193 -21
  157. data/theme/default/syntax-highlight.css +8 -0
  158. data/theme/lillia/style.css +45 -1
  159. metadata +178 -21
  160. data/README +0 -32
@@ -2,15 +2,26 @@
2
2
  default.css
3
3
  */
4
4
 
5
+ html {
6
+ scroll-behavior: smooth;
7
+ }
8
+
5
9
  body {
6
10
  background-color: white;
7
11
  color: black;
8
- font-family: Meiryo, "Hiragino Kaku Gothic Pro", "MS Gothic", Osaka, sans-serif;
12
+ font-family: -apple-system, BlinkMacSystemFont,
13
+ "Helvetica Neue", Arial,
14
+ "Hiragino Kaku Gothic ProN", "Hiragino Sans",
15
+ "BIZ UDGothic", Meiryo,
16
+ sans-serif;
9
17
  text-align: left;
10
18
  margin-top: 20px;
11
19
  margin-left: 2%;
12
20
  margin-right: 2%;
13
21
  line-height: 1.3;
22
+ /* 和文と欧文の間に自動で空きを入れる。プログレッシブエンハンスメント
23
+ (未対応ブラウザでは無視される) */
24
+ text-autospace: normal;
14
25
  }
15
26
 
16
27
  /*
@@ -116,8 +127,32 @@ span.compileerror {
116
127
  code, pre, tt {
117
128
  font-size: 90%;
118
129
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
130
+ /* コード内では和欧文間の自動スペースを入れない */
131
+ text-autospace: no-autospace;
132
+ }
133
+
134
+ /* 地の文中のインラインコード(<code>, <tt>)に淡い背景を敷いて、地の文との
135
+ 区別をはっきりさせる。色は pre の背景(#f2f2f2)と同系統だが、それより
136
+ 少し薄くして地の文中では主張しすぎないようにする */
137
+ code, tt {
138
+ background-color: #f5f5f5;
139
+ padding: 0.1em 0.3em;
140
+ border-radius: 3px;
141
+ }
142
+
143
+ /* pre の中の code/tt は pre 自体がブロックとして背景色を持つため、上の
144
+ ルールをここで打ち消して二重に背景・パディングがつかないようにする
145
+ (pre 内の見た目は従来どおり) */
146
+ pre code,
147
+ pre tt {
148
+ background-color: transparent;
149
+ padding: 0;
150
+ border-radius: 0;
119
151
  }
120
152
 
153
+ /* RUN/COPY ボタンは pre の外のツールバー行(script.js が生成)にあるので、
154
+ pre の中身は四辺とも均等に padding をとれる(上だけ 0 にして中身が
155
+ 上端に張り付く、以前のボタン内蔵ハックは不要になった) */
121
156
  pre {
122
157
  line-height: 1.1;
123
158
  background-color: #f2f2f2;
@@ -126,32 +161,108 @@ pre {
126
161
  overflow: auto;
127
162
  }
128
163
 
129
- pre.highlight {
130
- line-height: 1.1;
131
- background-color: #f2f2f2;
132
- padding: 0px 1.1em 1.1em 1.1em;
133
- font-weight: normal;
134
- position: relative;
164
+
165
+ /* pre の直前に密着するヘッダー行(script.js が生成)。コード部分より
166
+ ひと段暗い背景でコードブロックと一体に見せつつ(白い帯として浮くと、
167
+ コードの上の隙間が広く見える)、コード部分と同色の caption タブや
168
+ 白背景のボタンが埋没しないようにする。左端に caption のタブ、右端に
169
+ RUN/COPY のボタン群を置く */
170
+ .highlight__toolbar {
171
+ display: flex;
172
+ align-items: flex-end;
173
+ margin: 1em 0 0;
174
+ padding: 0.25em 0.25em 0 0.25em;
175
+ background-color: #e6e6e6;
176
+ }
177
+ .highlight__toolbar + pre {
178
+ margin-top: 0;
179
+ /* ヘッダー行が上の余白を兼ねるので、上 padding は控えめにする。
180
+ 以前は <code> 直後の改行由来の空行が上余白を足していたが、
181
+ 出力側の修正(#254)で無くなったため、そのぶんここで少し広げる */
182
+ padding-top: 0.75em;
183
+ }
184
+ /* RUN の出力欄: 入力欄の pre と出力欄(ヘッダー行+pre)を密着させて
185
+ 1つのブロックに見せる(js/run.js が付与)。境には 2px だけ白を挟み、
186
+ 出力欄のヘッダー(「実行結果」タブ+COPY)が入力欄の枠に貼り付いて
187
+ 見えないよう区切る */
188
+ .highlight--with-output {
189
+ margin-bottom: 0;
190
+ }
191
+ .highlight__toolbar--attached {
192
+ margin-top: 2px;
193
+ }
194
+
195
+ /* ツールバー右端のボタン置き場。ボタン間の隙間のカーソル形状と
196
+ 選択不可はここが引き受ける */
197
+ .highlight__button-group {
198
+ margin-left: auto;
199
+ cursor: default;
200
+ -webkit-user-select: none;
201
+ user-select: none;
202
+ }
203
+
204
+ /* for RUN (js/run.js, statichtml --run-ruby-wasm)。
205
+ ヘッダー行の灰色に埋没しないよう、白背景+枠線でボタンらしくする */
206
+ .highlight__run-button {
207
+ margin: 0 0.5em 0.25em 0;
208
+ padding: 0.25em 0.5em;
209
+ background-color: #fff;
210
+ cursor: pointer;
211
+ border: 1px solid #999;
212
+ border-radius: 4px;
213
+ font: inherit;
214
+ }
215
+ .highlight__run-button:hover {
216
+ background-color: #EE8;
217
+ }
218
+ .highlight__run-button[disabled] {
219
+ background-color: #070;
220
+ border-color: #070;
221
+ color: white;
222
+ cursor: wait;
223
+ }
224
+ .highlight__run-output {
225
+ width: 100%;
226
+ box-sizing: border-box;
227
+ background-color: #f2f2f2;
228
+ margin-top: 0;
229
+ white-space: pre-wrap;
230
+ }
231
+ .highlight__run-output--error {
232
+ color: #a00;
233
+ }
234
+ pre.highlight.ruby[data-editing="true"]:focus-within {
235
+ outline: auto;
236
+ }
237
+ /* 編集時は code をブロック化して pre の内容幅いっぱいをクリック・
238
+ 編集対象にする(内容の外側のクリックは js/run.js が code に
239
+ フォーカスを移す) */
240
+ pre.highlight.ruby[data-editing="true"] > code {
241
+ display: block;
242
+ }
243
+ pre.highlight.ruby[data-editing="true"] > code:focus {
244
+ outline: none;
135
245
  }
136
246
 
137
- /* for COPY */
247
+ /* for COPY(highlight__button-group の中に入る)。RUN と同じ見た目 */
138
248
  .highlight__copy-button {
139
- float: right;
140
- margin: 0 -1.1em 0.25em 0.5em;
249
+ display: inline-block;
250
+ margin-bottom: 0.25em;
141
251
  padding: 0.25em 0.5em;
142
- background: #DDD;
143
- opacity: 0.75;
252
+ background: #fff;
144
253
  cursor: pointer;
254
+ border: 1px solid #999;
255
+ border-radius: 4px;
145
256
  }
146
257
  .highlight__copy-button:hover {
147
258
  background: #EE8;
148
- opacity: 1;
149
259
  }
150
260
  .highlight__copy-button::after {
151
261
  content: "COPY"
152
262
  }
153
263
  .highlight__copy-button.copied {
154
264
  background: #070;
265
+ border-color: #070;
155
266
  color: white;
156
267
  }
157
268
  .highlight__copy-button.copied::after {
@@ -162,13 +273,23 @@ pre.highlight {
162
273
  left: -1000px;
163
274
  }
164
275
 
165
- pre .caption {
166
- position: absolute;
167
- top: 0;
168
- left: 0;
169
- padding: 0.2em;
170
- background: #ddd;
171
- border-width: 0 1px 1px 0;
276
+ /* サンプルコードのキャプション。pre の上に密着したタブとして表示する
277
+ (上だけ角丸でタブらしく)。script.js がツールバー行の左端に取り込む。
278
+ 下のコード部分と同じ背景色にして「つながったタブ」に見せる(ヘッダー
279
+ 行のほうがひと段暗いので埋没しない) */
280
+ .caption {
281
+ display: inline-block;
282
+ padding: 0.2em 0.5em;
283
+ background: #f2f2f2;
284
+ margin: 1em 0 0;
285
+ border-radius: 6px 6px 0 0;
286
+ }
287
+ /* JS 無効時など、ツールバー化されず pre の直前に残った場合の密着 */
288
+ .caption + pre {
289
+ margin-top: 0;
290
+ }
291
+ .highlight__toolbar > .caption {
292
+ margin: 0;
172
293
  }
173
294
 
174
295
  blockquote {
@@ -248,10 +369,13 @@ td.signature {
248
369
  td.signature a {
249
370
  display: block;
250
371
  padding: 0.3em;
251
- height: 100%;
252
372
  box-sizing: border-box;
253
373
  }
254
374
 
375
+ td.signature a:only-child {
376
+ height: 100%;
377
+ }
378
+
255
379
  td.description {
256
380
  padding: 0.3em;
257
381
  background-color: #EEE;
@@ -360,10 +484,13 @@ hr {
360
484
  }
361
485
 
362
486
  .class-toc > li {
487
+ display: inline-block;
363
488
  padding-left: 1em;
364
489
  text-indent: -1em;
365
490
  word-break: break-all;
366
491
  break-inside: avoid;
492
+ width: 100%;
493
+ box-sizing: border-box;
367
494
  }
368
495
 
369
496
  @media print {
@@ -395,6 +522,23 @@ hr {
395
522
  right: 10px;
396
523
  }
397
524
 
525
+ /* EOL 警告バナー(statichtml --eol-warning、body の先頭に入る)。
526
+ #rurema-topbar と同じく負マージンで body の余白(上 20px・左右 2%)を
527
+ 突き破って全幅にする。下マージン 20px は直後の topbar の margin-top -20px と
528
+ 相殺され、topbar がバナーの真下に密着する(バナーが無いページでは
529
+ topbar 自身の負マージンが従来どおり body の余白を打ち消す) */
530
+ .eol-warning {
531
+ background-color: #aa3333;
532
+ color: white;
533
+ padding: 0.4em 2%;
534
+ margin: -20px -2% 20px;
535
+ }
536
+
537
+ .eol-warning a {
538
+ color: white;
539
+ text-decoration: underline;
540
+ }
541
+
398
542
  @media only screen and (max-width:425px) {
399
543
  table.entries tr {
400
544
  display: block;
@@ -414,3 +558,31 @@ hr {
414
558
  overflow-wrap: break-word;
415
559
  }
416
560
  }
561
+
562
+ /* CC BY ロゴ画像はデフォルトの vertical-align: baseline だと下に文字の
563
+ ディセンダ分の隙間ができ、横のリンクより浮いて見える上、リンクの
564
+ ホバー背景がその隙間ぶん右・下にはみ出して見える。画像を a 要素の
565
+ 下端に揃えて解消する */
566
+ #footer img {
567
+ vertical-align: bottom;
568
+ }
569
+
570
+ /* CC BY ロゴと無関係な「フィードバックを送る」リンクが近すぎるので、
571
+ ひと呼吸あける */
572
+ #feedback-link {
573
+ margin-left: 0.5em;
574
+ }
575
+
576
+ /* since/until バージョンバッジ(bitclust#132 P3)。地の文から浮かないよう
577
+ リンク色(#33a)や EOL バナー(#aa3333)と同系統の抑えた配色にする */
578
+ span.method-since-badge,
579
+ span.method-until-badge {
580
+ display: inline-block;
581
+ margin-left: 0.6em;
582
+ padding: 0 0.6em;
583
+ border-radius: 1em;
584
+ font-size: 75%;
585
+ font-weight: normal;
586
+ }
587
+ span.method-since-badge { background-color: #e6f2e6; color: #2d6a2d; }
588
+ span.method-until-badge { background-color: #f7e6e6; color: #aa3333; }
@@ -8,6 +8,14 @@
8
8
  color: #999999;
9
9
  font-weight: bold;
10
10
  }
11
+ .highlight .cpf { /* preprocessor file (C の #include <...> など。Rouge 用) */
12
+ color: #999999;
13
+ font-weight: bold;
14
+ }
15
+ .highlight .pi { /* YAML などの indicator (Rouge 用) */
16
+ color: #999999;
17
+ font-weight: bold;
18
+ }
11
19
  .highlight .c1 {
12
20
  color: #999988;
13
21
  font-style: italic;
@@ -11,6 +11,9 @@ body {
11
11
  margin-left: 2%;
12
12
  margin-right: 2%;
13
13
  line-height: 1.3;
14
+ /* 和文と欧文の間に自動で空きを入れる。プログレッシブエンハンスメント
15
+ (未対応ブラウザでは無視される) */
16
+ text-autospace: normal;
14
17
  }
15
18
 
16
19
  address {
@@ -157,6 +160,9 @@ td.signature a {
157
160
  display: block;
158
161
  padding: 0.3em;
159
162
  width: 95%;
163
+ }
164
+
165
+ td.signature a:only-child {
160
166
  height: 100%;
161
167
  }
162
168
 
@@ -173,10 +179,34 @@ td.library {
173
179
  border: 3px solid white;
174
180
  }
175
181
 
176
- code {
182
+ code, tt {
177
183
  font-family: monospace;
178
184
  }
179
185
 
186
+ /* コード内では和欧文間の自動スペースを入れない */
187
+ code, pre, tt {
188
+ text-autospace: no-autospace;
189
+ }
190
+
191
+ /* 地の文中のインラインコード(<code>, <tt>)に淡い背景を敷いて、地の文との
192
+ 区別をはっきりさせる。色は pre の背景(#eee)と同系統だが、それより少し
193
+ 薄くして地の文中では主張しすぎないようにする */
194
+ code, tt {
195
+ background-color: #f5f5f5;
196
+ padding: 0.1em 0.3em;
197
+ border-radius: 3px;
198
+ }
199
+
200
+ /* pre の中の code/tt は pre 自体がブロックとして背景色を持つため、上の
201
+ ルールをここで打ち消して二重に背景・パディングがつかないようにする
202
+ (pre 内の見た目は従来どおり) */
203
+ pre code,
204
+ pre tt {
205
+ background-color: transparent;
206
+ padding: 0;
207
+ border-radius: 0;
208
+ }
209
+
180
210
  a {
181
211
  font-weight: bold;
182
212
  text-decoration: none;
@@ -273,6 +303,20 @@ hr {
273
303
  float: right;
274
304
  }
275
305
 
306
+ /* since/until バージョンバッジ(bitclust#132 P3)。他の配色(リンク #33a)
307
+ から浮かないよう抑えた配色にする */
308
+ span.method-since-badge,
309
+ span.method-until-badge {
310
+ display: inline-block;
311
+ margin-left: 0.6em;
312
+ padding: 0 0.6em;
313
+ border-radius: 1em;
314
+ font-size: 75%;
315
+ font-weight: normal;
316
+ }
317
+ span.method-since-badge { background-color: #e6f2e6; color: #2d6a2d; }
318
+ span.method-until-badge { background-color: #f7e6e6; color: #aa3333; }
319
+
276
320
  .method-description{
277
321
  padding-bottom: 10px;
278
322
  margin-bottom: 90px ;