ol-stac 0.0.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 (107) hide show
  1. package/.eslintignore +2 -0
  2. package/.github/workflows/deploy.yml +67 -0
  3. package/.github/workflows/publish.yml +32 -0
  4. package/.github/workflows/release.yml +21 -0
  5. package/.github/workflows/test.yml +85 -0
  6. package/CHANGELOG.md +14 -0
  7. package/DEVELOPING.md +104 -0
  8. package/LICENSE.md +201 -0
  9. package/README.md +43 -0
  10. package/config/jsdoc/api/conf.json +38 -0
  11. package/config/jsdoc/api/index.md +1 -0
  12. package/config/jsdoc/api/readme.md +65 -0
  13. package/config/jsdoc/api/template/README.md +3 -0
  14. package/config/jsdoc/api/template/publish.js +743 -0
  15. package/config/jsdoc/api/template/static/scripts/linenumber.js +11 -0
  16. package/config/jsdoc/api/template/static/scripts/main.js +305 -0
  17. package/config/jsdoc/api/template/static/scripts/prettify/Apache-License-2.0.txt +202 -0
  18. package/config/jsdoc/api/template/static/scripts/prettify/lang-css.js +2 -0
  19. package/config/jsdoc/api/template/static/scripts/prettify/prettify.js +28 -0
  20. package/config/jsdoc/api/template/static/styles/carbon.css +65 -0
  21. package/config/jsdoc/api/template/static/styles/jaguar.css +512 -0
  22. package/config/jsdoc/api/template/static/styles/prettify-jsdoc.css +111 -0
  23. package/config/jsdoc/api/template/static/styles/prettify-tomorrow.css +132 -0
  24. package/config/jsdoc/api/template/static/theme +1 -0
  25. package/config/jsdoc/api/template/tmpl/container.tmpl +205 -0
  26. package/config/jsdoc/api/template/tmpl/details.tmpl +84 -0
  27. package/config/jsdoc/api/template/tmpl/example.tmpl +2 -0
  28. package/config/jsdoc/api/template/tmpl/examples.tmpl +16 -0
  29. package/config/jsdoc/api/template/tmpl/exceptions.tmpl +30 -0
  30. package/config/jsdoc/api/template/tmpl/layout.tmpl +92 -0
  31. package/config/jsdoc/api/template/tmpl/mainpage.tmpl +14 -0
  32. package/config/jsdoc/api/template/tmpl/members.tmpl +38 -0
  33. package/config/jsdoc/api/template/tmpl/method.tmpl +132 -0
  34. package/config/jsdoc/api/template/tmpl/navigation.tmpl +59 -0
  35. package/config/jsdoc/api/template/tmpl/observables.tmpl +39 -0
  36. package/config/jsdoc/api/template/tmpl/params.tmpl +109 -0
  37. package/config/jsdoc/api/template/tmpl/properties.tmpl +85 -0
  38. package/config/jsdoc/api/template/tmpl/returns.tmpl +72 -0
  39. package/config/jsdoc/api/template/tmpl/source.tmpl +8 -0
  40. package/config/jsdoc/api/template/tmpl/stability.tmpl +7 -0
  41. package/config/jsdoc/api/template/tmpl/tutorial.tmpl +19 -0
  42. package/config/jsdoc/api/template/tmpl/type.tmpl +7 -0
  43. package/config/jsdoc/info/conf.json +22 -0
  44. package/config/jsdoc/info/publish.js +175 -0
  45. package/config/jsdoc/package.json +4 -0
  46. package/config/jsdoc/plugins/api.cjs +181 -0
  47. package/config/jsdoc/plugins/default-export.cjs +35 -0
  48. package/config/jsdoc/plugins/define-plugin.cjs +33 -0
  49. package/config/jsdoc/plugins/events.cjs +39 -0
  50. package/config/jsdoc/plugins/inline-options.cjs +102 -0
  51. package/config/jsdoc/plugins/markdown.cjs +119 -0
  52. package/config/jsdoc/plugins/observable.cjs +69 -0
  53. package/config/jsdoc/plugins/virtual-plugin.cjs +16 -0
  54. package/config/rollup-full-build.js +24 -0
  55. package/config/tsconfig-build.json +25 -0
  56. package/examples/.eslintrc +29 -0
  57. package/examples/index.html +100 -0
  58. package/examples/index.js +109 -0
  59. package/examples/planetary-computer.html +14 -0
  60. package/examples/planetary-computer.js +53 -0
  61. package/examples/resources/Jugl.js +15 -0
  62. package/examples/resources/common.js +111 -0
  63. package/examples/stac-collection-webmaplinks.html +9 -0
  64. package/examples/stac-collection-webmaplinks.js +55 -0
  65. package/examples/stac-item-from-object.html +9 -0
  66. package/examples/stac-item-from-object.js +102 -0
  67. package/examples/stac-item-tileserver.html +9 -0
  68. package/examples/stac-item-tileserver.js +34 -0
  69. package/examples/stac-item.html +9 -0
  70. package/examples/stac-item.js +45 -0
  71. package/examples/stac-itemcollection.html +11 -0
  72. package/examples/stac-itemcollection.js +39 -0
  73. package/examples/templates/example.html +206 -0
  74. package/examples/templates/readme.md +3 -0
  75. package/examples/webpack/config.mjs +69 -0
  76. package/examples/webpack/example-builder.js +410 -0
  77. package/package.json +107 -0
  78. package/site/build.js +26 -0
  79. package/site/layouts/default.hbs +78 -0
  80. package/site/src/doc/faq.md +8 -0
  81. package/site/src/doc/index.md +22 -0
  82. package/site/src/doc/quickstart.md +121 -0
  83. package/site/src/doc/tutorials/index.md +8 -0
  84. package/site/src/download/index.hbs +62 -0
  85. package/site/src/favicon.ico +0 -0
  86. package/site/src/index.hbs +71 -0
  87. package/site/src/theme/index.css +26 -0
  88. package/site/src/theme/site.css +531 -0
  89. package/src/ol/events/ErrorEvent.js +25 -0
  90. package/src/ol/layer/STAC.js +780 -0
  91. package/src/ol/layer/stacUtil.js +169 -0
  92. package/src/ol/source/GeoTIFF2.js +47 -0
  93. package/tasks/.eslintrc +5 -0
  94. package/tasks/build-website.sh +90 -0
  95. package/tasks/create-release.js +107 -0
  96. package/tasks/generate-index.js +125 -0
  97. package/tasks/generate-info.js +189 -0
  98. package/tasks/get-latest-release.js +36 -0
  99. package/tasks/newest-tag.js +52 -0
  100. package/tasks/prepare-package.js +46 -0
  101. package/tasks/publish.sh +90 -0
  102. package/test/README.md +56 -0
  103. package/test/browser/.eslintrc +14 -0
  104. package/test/browser/karma.config.cjs +94 -0
  105. package/test/browser/spec/ol/layer/STAC.test.js +18 -0
  106. package/test/browser/test-extensions.js +419 -0
  107. package/tsconfig.json +62 -0
@@ -0,0 +1,512 @@
1
+ @import url(https://fonts.googleapis.com/css?family=Quattrocento+Sans:400,400italic,700);
2
+ .navbar{
3
+ background: #1F6B75;
4
+ }
5
+
6
+ .navbar-brand img {
7
+ height: 35px;
8
+ width: 35px;
9
+ vertical-align: middle;
10
+ margin-right: 5px;
11
+ display: inline-block;
12
+ }
13
+
14
+ .navbar-brand {
15
+ color: #fff;
16
+ font-size: 160%;
17
+ font-weight: bold;
18
+ padding: 8px 0;
19
+ }
20
+
21
+ body {
22
+ padding-top: 54px;
23
+ }
24
+ .nameContainer .anchor {
25
+ padding-top: 70px;
26
+ margin-top: -70px;
27
+ width: 0px;
28
+ height: 0px;
29
+ }
30
+ /* Highlighting current anchor */
31
+ .nameContainer .anchor:target + h4 {
32
+ background-color: #faebcc;
33
+ }
34
+ a {
35
+ position: relative;
36
+ z-index: 1;
37
+ -webkit-transition: all .2s;
38
+ transition: all .2s;
39
+ }
40
+ a {
41
+ color: #03899c;
42
+ text-decoration:none
43
+ }
44
+ a:hover, a:focus, footer a:hover, footer a:focus {
45
+ color: #ff7a00;
46
+ text-decoration:none
47
+ }
48
+ .navigation li {
49
+ color: #888;
50
+ }
51
+
52
+ html,
53
+ body {
54
+ font-family: "Quattrocento Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
55
+ background-color: #fff;
56
+ }
57
+ ul,
58
+ ol {
59
+ margin: 0;
60
+ padding: 0;
61
+ }
62
+ li {
63
+ list-style-type: none;
64
+ }
65
+ #wrap {
66
+ display: flex;
67
+ flex-flow: row;
68
+ }
69
+ .navigation {
70
+ background-color: #2a2a2a;
71
+ }
72
+ .navigation-list {
73
+ padding: 0 15px 0 15px;
74
+ }
75
+ .no-transition,
76
+ .no-transition:after,
77
+ .no-transition:before {
78
+ transition: none!important;
79
+ }
80
+ @supports (position: sticky) {
81
+ .navigation {
82
+ position: sticky;
83
+ top: 54px;
84
+ height: calc(100vh - 54px);
85
+ }
86
+ .navigation-list {
87
+ overflow-y: auto;
88
+ /* 54px navbar height */
89
+ /* 4.25rem + 2px searchbox height */
90
+ /* 25px navigation padding */
91
+ height: calc(100vh - 54px - 4.25rem - 2px - 25px);
92
+ }
93
+ }
94
+ @media (max-width: 768px) {
95
+ #wrap {
96
+ flex-flow: column;
97
+ }
98
+ .navigation {
99
+ height: inherit;
100
+ position: inherit;
101
+ }
102
+ .navigation-list {
103
+ overflow-y: auto;
104
+ max-height: 33vh;
105
+ height: inherit;
106
+ }
107
+ }
108
+
109
+ .navigation .applicationName {
110
+ margin: 0;
111
+ padding: 10px 15px;
112
+ font: bold 1.25em Helvetica;
113
+ color: #fff;
114
+ }
115
+ .navigation .applicationName a {
116
+ color: #fff;
117
+ }
118
+ .navigation .include-modules {
119
+ color: #e1e1e1;
120
+ float: right;
121
+ font-size: 0.75em;
122
+ padding: 5px 15px;
123
+ }
124
+ .navigation .include-modules input {
125
+ vertical-align: text-bottom;
126
+ }
127
+ .navigation .search {
128
+ padding: 1rem;
129
+ }
130
+ .navigation .search input {
131
+ background-color: #333;
132
+ color: #fff;
133
+ border-color: #555;
134
+ }
135
+ .navigation .navigation-list-wrapper {
136
+ padding: 10px 0 15px 0;
137
+ width: 100%;
138
+ }
139
+ .navigation li.item {
140
+ margin-bottom: 8px;
141
+ padding-bottom: 8px;
142
+ border-bottom: 1px solid #333;
143
+ }
144
+
145
+ .navigation .fa {
146
+ margin-right: 3px;
147
+ flex-shrink: 0;
148
+ }
149
+ .navigation .item .fa:before {
150
+ display: inline-block;
151
+ }
152
+ .navigation .item.toggle-manual .fa:before {
153
+ transition: transform .1s;
154
+ }
155
+ .navigation .item-class.toggle-manual-show .fa:before {
156
+ /* With 90deg the icon slightly slides left at transition end */
157
+ transform: rotate(89.9deg);
158
+ }
159
+ .navigation .item-module.toggle-manual-show .fa:before {
160
+ transform: rotate(45deg);
161
+ }
162
+
163
+ .navigation li.perfect-match {
164
+ border: 5px solid orange;
165
+ }
166
+
167
+ .navigation li.item a {
168
+ color: #bbb;
169
+ }
170
+ .navigation li.item a:hover {
171
+ color: #fff;
172
+ }
173
+ .navigation li.item .title {
174
+ cursor: pointer;
175
+ display: flex;
176
+ font-size: 0.85em;
177
+ }
178
+ .navigation li.item .title a {
179
+ color: #e1e1e1;
180
+ }
181
+ .navigation li.item .title a:hover {
182
+ color: #fff;
183
+ }
184
+ .navigation li.item .title .static {
185
+ display: block;
186
+ border-radius: 3px;
187
+ background-color: #1F6B75;
188
+ color: #FFF;
189
+ font-size: 0.7em;
190
+ padding: 2px 4px;
191
+ float: right;
192
+ }
193
+ .navigation li.item .subtitle {
194
+ margin-top: 10px;
195
+ font: bold 0.7em Helvetica;
196
+ color: #1F6B75;
197
+ display: block;
198
+ }
199
+ .navigation li.item .modulelink {
200
+ position: relative;
201
+ font-size: 0.75em;
202
+ padding-left: 5px;
203
+ top: -5px;
204
+ }
205
+ .navigation li.item ul > li {
206
+ font-size: 0.75em;
207
+ padding-left: 8px;
208
+ margin-top: 2px;
209
+ }
210
+ .navigation li.item .member-list {
211
+ padding-left: 8px;
212
+ }
213
+
214
+ .navigation-list li.loading {
215
+ display: block;
216
+ height: 101vh;
217
+ }
218
+ /* search state */
219
+ /* show all classes when search is empty */
220
+ .navigation-list.search-empty .item {
221
+ display: block;
222
+ }
223
+ /* hide all members by default when search is empty */
224
+ .navigation-list.search-empty .item .member-list {
225
+ display: none;
226
+ }
227
+ /* expand all members when input in search field available but too short to search */
228
+ .navigation-list.search-started li,
229
+ .navigation-list.search-started .member-list {
230
+ display: block;
231
+ }
232
+ /* when searching hide everything that is not a match */
233
+ .navigation-list.searching li,
234
+ .navigation-list.searching .member-list {
235
+ display: none;
236
+ }
237
+ .navigation-list.searching .match {
238
+ display: block;
239
+ }
240
+ /* allow user to hide / show members */
241
+ .navigation-list .item.toggle-manual-show li,
242
+ .navigation-list .item.toggle-manual-show .member-list {
243
+ display: block!important;
244
+ }
245
+ .navigation-list:not(.searching) .item.toggle-manual-hide li,
246
+ .navigation-list:not(.searching) .item.toggle-manual-hide .member-list {
247
+ display: none!important;
248
+ }
249
+
250
+ .main {
251
+ padding: 1.5rem
252
+ }
253
+ .main .page-title {
254
+ display: none;
255
+ }
256
+ .main h1 {
257
+ font-weight: bold;
258
+ font-size: 1.6em;
259
+ margin: 0;
260
+ }
261
+ .main h2 {
262
+ font-weight: bold;
263
+ font-size: 1.5em;
264
+ margin: 0;
265
+ }
266
+ .main h3 {
267
+ font-weight: bold;
268
+ font-size: 1.3em;
269
+ margin: 5px 0;
270
+ }
271
+ .main h4 {
272
+ font-weight: bold;
273
+ font-size: 1em;
274
+ }
275
+ .main h5 {
276
+ font-weight: bold;
277
+ font-size: 13px;
278
+ }
279
+ .main dd, .main .props {
280
+ font-size: 13px;
281
+ }
282
+ .main h4.name span.type {
283
+ margin-left: 10px;
284
+ }
285
+ .main h4.name span.returnType, .main h4.name span.type {
286
+ margin-left: 3px;
287
+ background-color: transparent!important;
288
+ color: gray!important;
289
+ }
290
+ .main span.static, .main span.stability {
291
+ display: inline-block;
292
+ border-radius: 3px;
293
+ background-color: #1F6B75 !important;
294
+ color: #fff;
295
+ vertical-align: top;
296
+ font-size: 0.8em;
297
+ padding: 2px 4px;
298
+ }
299
+ td.description span.stability {
300
+ float: left;
301
+ margin-right: 0.5em;
302
+ }
303
+ span.type-signature.static {
304
+ margin-right: 3px;
305
+ }
306
+ .main .subsection-title {
307
+ font-size: 18px;
308
+ margin-top: 30px;
309
+ color: #1F6B75;
310
+ }
311
+ .main .description {
312
+ margin-top: 10px;
313
+ font-size: 14px;
314
+ }
315
+ .main .description p {
316
+ font-size: 14px;
317
+ }
318
+ .main .tag-source {
319
+ font-size: 13px;
320
+ }
321
+ .main dt.tag-source {
322
+ margin-top: 5px;
323
+ }
324
+ .main dt.tag-todo {
325
+ font-size: 11px;
326
+ display: inline-block;
327
+ background-color: #2a6496;
328
+ color: #fff;
329
+ padding: 2px 4px;
330
+ border-radius: 5px;
331
+ }
332
+ .main .type-signature {
333
+ font-size: 13px;
334
+ }
335
+ .main .tag-deprecated {
336
+ display: inline-block;
337
+ font-size: 11px;
338
+ }
339
+ .main .important {
340
+ background-color: #ee7d7d;
341
+ color: #fff;
342
+ padding: 2px 4px;
343
+ border-radius: 5px;
344
+ }
345
+ .main .nameContainer {
346
+ position: relative;
347
+ margin-top: 1.2rem;
348
+ padding-top: 1.2rem;
349
+ border-top: 2px solid #1F6B75;
350
+ }
351
+ .main .nameContainer .inherited {
352
+ display: inline-block;
353
+ border-radius: 3px;
354
+ background-color: #888!important;
355
+ vertical-align: top;
356
+ font-size: 0.8em;
357
+ padding: 2px 4px;
358
+ margin-right: 5px;
359
+ }
360
+ .main .nameContainer .inherited a {
361
+ color: #fff;
362
+ }
363
+ @media (min-width: 768px) {
364
+ .main .nameContainer .tag-source {
365
+ position: absolute;
366
+ top: 1.2rem;
367
+ right: 0;
368
+ font-size: 0.8rem;
369
+ }
370
+ }
371
+ .main .nameContainer .tag-source a {
372
+ color: gray;
373
+ }
374
+ .main .nameContainer.inherited {
375
+ color: gray;
376
+ }
377
+ .main .nameContainer h4 {
378
+ margin-top: 0px;
379
+ margin-right: 150px;
380
+ line-height: 1.3;
381
+ }
382
+ .main .nameContainer h4 .signature {
383
+ font-size: 14px;
384
+ font-weight: normal;
385
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
386
+ }
387
+ .main pre {
388
+ display: block;
389
+ padding: 0.6rem;
390
+ margin: 0 0 10px;
391
+ font-size: 0.8rem;
392
+ line-height: 1.428571429;
393
+ color: #333;
394
+ word-break: break-all;
395
+ word-wrap: break-word;
396
+ background-color: #f5f5f5;
397
+ border: 1px solid #ccc;
398
+ border-radius: 4px;
399
+ }
400
+ .main table {
401
+ width: 100%;
402
+ margin-bottom: 15px;
403
+ }
404
+ .main table th {
405
+ padding: 3px 3px;
406
+ }
407
+ .main table td {
408
+ vertical-align: top;
409
+ padding: 5px 3px;
410
+ }
411
+ .main table .name {
412
+ width: 110px;
413
+ }
414
+ .main table .name code {
415
+ white-space: nowrap;
416
+ }
417
+ .main table .type {
418
+ color: #aaa;
419
+ font-size: 12px;
420
+ }
421
+ .main table .attributes {
422
+ width: 80px;
423
+ color: #aaa;
424
+ font-size: 12px;
425
+ }
426
+ .main table .description {
427
+ font-size: 13px;
428
+ }
429
+ .main table .description p {
430
+ margin: 0;
431
+ }
432
+ .main table .optional, .main table .repeatable {
433
+ float: left;
434
+ border-radius: 3px;
435
+ background-color: #ddd!important;
436
+ font-size: 0.7em;
437
+ padding: 2px 4px;
438
+ margin-right: 5px;
439
+ color: gray;
440
+ }
441
+ .main .readme h1 {
442
+ font-size: 1.7em;
443
+ }
444
+ .main .readme h2 {
445
+ margin-top: 30px;
446
+ margin-bottom: 10px;
447
+ padding-bottom: 10px;
448
+ border-bottom: 1px solid #e1e1e1;
449
+ }
450
+ .main .readme li {
451
+ font-size: 0.95em;
452
+ margin-bottom: 10px;
453
+ }
454
+ .main article ol,
455
+ .main article ul {
456
+ margin-left: 25px;
457
+ }
458
+ .main article ol > li {
459
+ list-style-type: decimal;
460
+ margin-bottom: 5px;
461
+ }
462
+ .main article ul > li {
463
+ margin-bottom: 5px;
464
+ list-style-type: disc;
465
+ }
466
+ footer {
467
+ margin: 15px 0;
468
+ padding-top: 15px;
469
+ border-top: 1px solid #e1e1e1;
470
+ font-family: "freight-text-pro", Georgia, Cambria, "Times New Roman", Times, serif;
471
+ font-size: 0.8em;
472
+ color: gray;
473
+ }
474
+ .main span.stability.deprecated {
475
+ background-color: #b94a48 !important;
476
+ color: #f2dede;
477
+ }
478
+ .main span.stability.experimental {
479
+ background-color: #F2CC79 !important;
480
+ color: #800F07;
481
+ }
482
+ .main span.stability.unstable {
483
+ background-color: #3a87ad !important;
484
+ color: #d9edf7;
485
+ }
486
+ .main span.stability.locked {
487
+ background-color: #468847 !important;
488
+ color: #dff0d8;
489
+ }
490
+ .main .readme table p {
491
+ margin-top: 0;
492
+ }
493
+ .main .readme table p, .main .readme table td {
494
+ font-size: 14px;
495
+ }
496
+ .main .readme table ul li {
497
+ margin-bottom: 0;
498
+ }
499
+ .hidden {
500
+ display: none;
501
+ }
502
+ #stability {
503
+ color: white;
504
+ position: absolute;
505
+ top: 1em;
506
+ left: 250px;
507
+ font-weight: normal;
508
+ }
509
+ #latest-check {
510
+ margin-top: -10px;
511
+ margin-bottom: 10px;
512
+ }
@@ -0,0 +1,111 @@
1
+ /* JSDoc prettify.js theme */
2
+
3
+ /* plain text */
4
+ .pln {
5
+ color: #000000;
6
+ font-weight: normal;
7
+ font-style: normal;
8
+ }
9
+
10
+ /* string content */
11
+ .str {
12
+ color: #006400;
13
+ font-weight: normal;
14
+ font-style: normal;
15
+ }
16
+
17
+ /* a keyword */
18
+ .kwd {
19
+ color: #000000;
20
+ font-weight: bold;
21
+ font-style: normal;
22
+ }
23
+
24
+ /* a comment */
25
+ .com {
26
+ font-weight: normal;
27
+ font-style: italic;
28
+ }
29
+
30
+ /* a type name */
31
+ .typ {
32
+ color: #000000;
33
+ font-weight: normal;
34
+ font-style: normal;
35
+ }
36
+
37
+ /* a literal value */
38
+ .lit {
39
+ color: #006400;
40
+ font-weight: normal;
41
+ font-style: normal;
42
+ }
43
+
44
+ /* punctuation */
45
+ .pun {
46
+ color: #000000;
47
+ font-weight: bold;
48
+ font-style: normal;
49
+ }
50
+
51
+ /* lisp open bracket */
52
+ .opn {
53
+ color: #000000;
54
+ font-weight: bold;
55
+ font-style: normal;
56
+ }
57
+
58
+ /* lisp close bracket */
59
+ .clo {
60
+ color: #000000;
61
+ font-weight: bold;
62
+ font-style: normal;
63
+ }
64
+
65
+ /* a markup tag name */
66
+ .tag {
67
+ color: #006400;
68
+ font-weight: normal;
69
+ font-style: normal;
70
+ }
71
+
72
+ /* a markup attribute name */
73
+ .atn {
74
+ color: #006400;
75
+ font-weight: normal;
76
+ font-style: normal;
77
+ }
78
+
79
+ /* a markup attribute value */
80
+ .atv {
81
+ color: #006400;
82
+ font-weight: normal;
83
+ font-style: normal;
84
+ }
85
+
86
+ /* a declaration */
87
+ .dec {
88
+ color: #000000;
89
+ font-weight: bold;
90
+ font-style: normal;
91
+ }
92
+
93
+ /* a variable name */
94
+ .var {
95
+ color: #000000;
96
+ font-weight: normal;
97
+ font-style: normal;
98
+ }
99
+
100
+ /* a function name */
101
+ .fun {
102
+ color: #000000;
103
+ font-weight: bold;
104
+ font-style: normal;
105
+ }
106
+
107
+ /* Specify class=linenums on a pre to get line numbering */
108
+ ol.linenums {
109
+ margin-top: 0;
110
+ margin-bottom: 0;
111
+ }