mapshaper 0.7.1 → 0.7.3

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 (82) hide show
  1. package/LICENSE +1 -1
  2. package/mapshaper.js +1 -1
  3. package/package.json +5 -2
  4. package/www/.nojekyll +0 -0
  5. package/www/index.html +22 -6
  6. package/www/mapshaper-gui.js +292 -4
  7. package/www/mapshaper.js +1 -1
  8. package/www/page.css +188 -10
  9. package/www/docs/_assets/cmd-search.js +0 -213
  10. package/www/docs/_assets/docs.css +0 -712
  11. package/www/docs/_assets/docs.js +0 -75
  12. package/www/docs/_assets/highlight.css +0 -10
  13. package/www/docs/essentials/command-line.html +0 -127
  14. package/www/docs/essentials/command-line.html.md +0 -112
  15. package/www/docs/essentials/web-app.html +0 -138
  16. package/www/docs/essentials/web-app.html.md +0 -106
  17. package/www/docs/examples/basics.html +0 -276
  18. package/www/docs/examples/basics.html.md +0 -371
  19. package/www/docs/examples/data/Makefile +0 -31
  20. package/www/docs/examples/data/globe.msx +0 -0
  21. package/www/docs/examples/data/globe.svg +0 -616
  22. package/www/docs/examples/data/globe.txt +0 -21
  23. package/www/docs/examples/data/globe.zip +0 -0
  24. package/www/docs/examples/data/ne_50m_admin_0_countries.geojson +0 -1
  25. package/www/docs/examples/data/ne_50m_admin_1_states_provinces_lakes.geojson +0 -1
  26. package/www/docs/examples/data/us-states.msx +0 -0
  27. package/www/docs/examples/data/us-states.svg +0 -56
  28. package/www/docs/examples/data/us-states.txt +0 -6
  29. package/www/docs/examples/data/us-states.zip +0 -0
  30. package/www/docs/examples/globe.html +0 -108
  31. package/www/docs/examples/globe.html.md +0 -64
  32. package/www/docs/examples/us-states.html +0 -88
  33. package/www/docs/examples/us-states.html.md +0 -44
  34. package/www/docs/formats/csv.html +0 -127
  35. package/www/docs/formats/csv.html.md +0 -97
  36. package/www/docs/formats/dbf.html +0 -87
  37. package/www/docs/formats/dbf.html.md +0 -39
  38. package/www/docs/formats/flatgeobuf.html +0 -86
  39. package/www/docs/formats/flatgeobuf.html.md +0 -42
  40. package/www/docs/formats/geojson.html +0 -107
  41. package/www/docs/formats/geojson.html.md +0 -65
  42. package/www/docs/formats/geopackage.html +0 -87
  43. package/www/docs/formats/geopackage.html.md +0 -42
  44. package/www/docs/formats/json.html +0 -83
  45. package/www/docs/formats/json.html.md +0 -35
  46. package/www/docs/formats/kml.html +0 -82
  47. package/www/docs/formats/kml.html.md +0 -39
  48. package/www/docs/formats/overview.html +0 -192
  49. package/www/docs/formats/overview.html.md +0 -35
  50. package/www/docs/formats/shapefile.html +0 -123
  51. package/www/docs/formats/shapefile.html.md +0 -84
  52. package/www/docs/formats/snapshot.html +0 -87
  53. package/www/docs/formats/snapshot.html.md +0 -39
  54. package/www/docs/formats/svg.html +0 -99
  55. package/www/docs/formats/svg.html.md +0 -51
  56. package/www/docs/formats/topojson.html +0 -102
  57. package/www/docs/formats/topojson.html.md +0 -54
  58. package/www/docs/gallery/index.html +0 -80
  59. package/www/docs/gallery/index.html.md +0 -29
  60. package/www/docs/guides/combining-layers.html +0 -105
  61. package/www/docs/guides/combining-layers.html.md +0 -81
  62. package/www/docs/guides/expressions.html +0 -600
  63. package/www/docs/guides/expressions.html.md +0 -376
  64. package/www/docs/guides/programmatic.html +0 -117
  65. package/www/docs/guides/programmatic.html.md +0 -91
  66. package/www/docs/guides/projections.html +0 -158
  67. package/www/docs/guides/projections.html.md +0 -118
  68. package/www/docs/guides/simplification.html +0 -110
  69. package/www/docs/guides/simplification.html.md +0 -94
  70. package/www/docs/guides/topology.html +0 -90
  71. package/www/docs/guides/topology.html.md +0 -63
  72. package/www/docs/images/simplification-detail.png +0 -0
  73. package/www/docs/images/simplification-dp.png +0 -0
  74. package/www/docs/images/simplification-mod2.png +0 -0
  75. package/www/docs/index.html +0 -101
  76. package/www/docs/index.html.md +0 -59
  77. package/www/docs/reference.html +0 -1302
  78. package/www/docs/reference.html.md +0 -1817
  79. package/www/docs/whats-new.html +0 -76
  80. package/www/docs/whats-new.html.md +0 -53
  81. package/www/llms-full.txt +0 -4040
  82. package/www/llms.txt +0 -55
@@ -1,712 +0,0 @@
1
- /* Mapshaper docs site
2
- * Reuses the look-and-feel of mapshaper.org (page.css):
3
- * primary blue: #1385B7 accent: #10699b bg: #f8fdff
4
- */
5
-
6
- @font-face {
7
- font-family: 'SourceSans3';
8
- src: url('/assets/SourceSans3-VariableFont_wght.ttf') format('truetype');
9
- font-display: swap;
10
- }
11
-
12
- @font-face {
13
- font-family: 'JetBrains Mono';
14
- src: url('/assets/jetbrains-mono-regular.woff2') format('woff2');
15
- font-weight: 400;
16
- font-style: normal;
17
- font-display: swap;
18
- }
19
-
20
- * { box-sizing: border-box; }
21
-
22
- html, body {
23
- margin: 0;
24
- padding: 0;
25
- background-color: #f8fdff;
26
- color: #333;
27
- font: 16px/1.55 'SourceSans3', Arial, sans-serif;
28
- }
29
-
30
- a { color: #10699b; text-decoration: none; }
31
- a:hover { color: #1A6A96; text-decoration: underline; }
32
-
33
- code, pre, .mono {
34
- font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
35
- font-size: 0.88em;
36
- }
37
-
38
- /* --- Header ---------------------------------------------------------- */
39
-
40
- .page-header {
41
- background-color: #1385B7;
42
- color: white;
43
- padding: 0 14px;
44
- height: 36px;
45
- display: flex;
46
- align-items: center;
47
- gap: 14px;
48
- }
49
-
50
- .mapshaper-logo,
51
- .mapshaper-logo:hover {
52
- font-weight: 600;
53
- font-size: 18px;
54
- color: white;
55
- text-decoration: none;
56
- }
57
-
58
- .mapshaper-logo .logo-highlight { color: #ffa; }
59
-
60
- .header-section-label {
61
- font-weight: 400;
62
- font-size: 14px;
63
- color: rgba(255,255,255,0.85);
64
- border-left: 1px solid rgba(255,255,255,0.3);
65
- padding-left: 14px;
66
- }
67
-
68
- .header-nav {
69
- margin-left: auto;
70
- display: flex;
71
- gap: 4px;
72
- }
73
-
74
- .header-nav a,
75
- .header-nav a:hover {
76
- color: white;
77
- text-decoration: none;
78
- font-size: 14px;
79
- padding: 6px 10px;
80
- border-radius: 3px;
81
- }
82
-
83
- .header-nav a:hover { background-color: rgba(255,255,255,0.15); }
84
-
85
- .header-nav a.sponsor-link,
86
- .header-nav a.sponsor-link:hover { color: #ffa; }
87
-
88
- .header-nav a.sponsor-link svg {
89
- width: 12px;
90
- height: 12px;
91
- fill: currentColor;
92
- vertical-align: -1px;
93
- margin-right: 2px;
94
- }
95
-
96
- /* --- Layout ---------------------------------------------------------- */
97
-
98
- .docs-layout {
99
- display: grid;
100
- grid-template-columns: 240px minmax(0, 1fr) 220px;
101
- gap: 32px;
102
- max-width: 1280px;
103
- margin: 0 auto;
104
- padding: 24px;
105
- align-items: start;
106
- }
107
-
108
- .docs-sidebar {
109
- position: sticky;
110
- top: 24px;
111
- align-self: start;
112
- max-height: calc(100vh - 48px);
113
- overflow-y: auto;
114
- }
115
-
116
- .sidebar-inner { padding-right: 8px; }
117
-
118
- .docs-main { min-width: 0; }
119
-
120
- .docs-article {
121
- background: #fff;
122
- border: 1px solid #e0e8ec;
123
- border-radius: 4px;
124
- padding: 28px 36px 36px;
125
- }
126
-
127
- .docs-toc {
128
- position: sticky;
129
- top: 24px;
130
- align-self: start;
131
- max-height: calc(100vh - 48px);
132
- overflow-y: auto;
133
- font-size: 14px;
134
- }
135
-
136
- @media (max-width: 1080px) {
137
- .docs-layout { grid-template-columns: 220px minmax(0, 1fr); }
138
- .docs-toc { display: none; }
139
- }
140
-
141
- @media (max-width: 720px) {
142
- .docs-layout {
143
- grid-template-columns: 1fr;
144
- padding: 16px;
145
- gap: 16px;
146
- }
147
- .docs-sidebar { position: static; max-height: none; }
148
- .docs-article { padding: 20px; }
149
- }
150
-
151
- /* --- Sidebar nav ----------------------------------------------------- */
152
-
153
- .docs-nav h2 {
154
- font-size: 11px;
155
- text-transform: uppercase;
156
- letter-spacing: 0.06em;
157
- color: #888;
158
- margin: 18px 0 6px;
159
- font-weight: 600;
160
- }
161
-
162
- .docs-nav ul { list-style: none; padding: 0; margin: 0; }
163
-
164
- .docs-nav li { margin: 0; }
165
-
166
- .docs-nav a {
167
- display: block;
168
- padding: 4px 8px;
169
- border-radius: 3px;
170
- color: #333;
171
- font-size: 14px;
172
- }
173
-
174
- .docs-nav a:hover {
175
- background-color: #eaf3f7;
176
- color: #10699b;
177
- text-decoration: none;
178
- }
179
-
180
- .docs-nav a.is-active {
181
- background-color: #1385B7;
182
- color: white;
183
- font-weight: 600;
184
- }
185
-
186
- .docs-nav .top-links { margin-bottom: 18px; }
187
- .docs-nav .top-links a { font-weight: 600; }
188
-
189
- /* --- TOC ------------------------------------------------------------- */
190
-
191
- .docs-toc-title {
192
- font-size: 11px;
193
- text-transform: uppercase;
194
- letter-spacing: 0.06em;
195
- color: #888;
196
- margin: 0 0 8px;
197
- font-weight: 600;
198
- }
199
-
200
- .docs-toc ul { list-style: none; padding: 0; margin: 0; }
201
-
202
- .docs-toc li { margin: 2px 0; }
203
-
204
- .docs-toc a {
205
- color: #555;
206
- display: block;
207
- padding: 2px 6px;
208
- border-left: 2px solid transparent;
209
- line-height: 1.35;
210
- }
211
-
212
- .docs-toc a:hover {
213
- color: #10699b;
214
- border-left-color: #10699b;
215
- text-decoration: none;
216
- }
217
-
218
- .docs-toc .lvl-3 { padding-left: 14px; font-size: 13px; }
219
-
220
- /* --- Article content ------------------------------------------------- */
221
-
222
- .docs-article h1 {
223
- font-size: 32px;
224
- font-weight: 600;
225
- margin: 0 0 6px;
226
- color: #1f2d33;
227
- line-height: 1.2;
228
- }
229
-
230
- .docs-article > .lead {
231
- font-size: 17px;
232
- color: #555;
233
- margin: 0 0 24px;
234
- }
235
-
236
- .docs-article h2 {
237
- font-size: 22px;
238
- font-weight: 600;
239
- margin: 32px 0 10px;
240
- padding-top: 8px;
241
- color: #1f2d33;
242
- border-top: 1px solid #eaeef0;
243
- scroll-margin-top: 24px;
244
- }
245
-
246
- .docs-article h2:first-child,
247
- .docs-article h2:first-of-type:not(:first-child) { /* keep simple */ }
248
-
249
- .docs-article h3 {
250
- font-size: 17px;
251
- font-weight: 600;
252
- margin: 22px 0 8px;
253
- color: #1f2d33;
254
- scroll-margin-top: 24px;
255
- }
256
-
257
- .docs-article h4 {
258
- font-size: 15px;
259
- font-weight: 600;
260
- margin: 18px 0 6px;
261
- color: #1f2d33;
262
- }
263
-
264
- .docs-article p { margin: 10px 0; }
265
-
266
- .docs-article ul,
267
- .docs-article ol { margin: 10px 0; padding-left: 22px; }
268
-
269
- .docs-article li { margin: 4px 0; }
270
-
271
- .docs-article code {
272
- background-color: #f3f6f8;
273
- padding: 1px 5px;
274
- border-radius: 3px;
275
- border: 1px solid #e6ecef;
276
- white-space: nowrap;
277
- }
278
-
279
- .docs-article pre {
280
- background-color: #1e2a30;
281
- color: #e9eef1;
282
- padding: 14px 16px;
283
- border-radius: 4px;
284
- overflow-x: auto;
285
- line-height: 1.5;
286
- }
287
-
288
- /* --- Copy-to-clipboard button on code blocks ------------------------- */
289
-
290
- .docs-article pre.has-copy-btn { position: relative; }
291
-
292
- .copy-btn {
293
- position: absolute;
294
- top: 6px;
295
- right: 6px;
296
- padding: 3px 8px;
297
- font: inherit;
298
- font-size: 11px;
299
- line-height: 1.2;
300
- color: #cdd6da;
301
- background-color: rgba(255,255,255,0.08);
302
- border: 1px solid rgba(255,255,255,0.18);
303
- border-radius: 3px;
304
- cursor: pointer;
305
- transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
306
- }
307
-
308
- .copy-btn:hover,
309
- .copy-btn:focus {
310
- background-color: rgba(255,255,255,0.18);
311
- color: #fff;
312
- outline: none;
313
- }
314
-
315
- .copy-btn.is-flashing {
316
- color: #cdeac8;
317
- border-color: rgba(180, 230, 160, 0.4);
318
- }
319
-
320
- .docs-article pre code {
321
- background: transparent;
322
- border: 0;
323
- padding: 0;
324
- white-space: pre;
325
- color: inherit;
326
- }
327
-
328
- /* highlight.js theme overrides:
329
- * Use the theme's per-token colors but keep our own pre/code background and
330
- * padding (the theme would otherwise paint a different shade of dark behind
331
- * the code and add inconsistent padding). */
332
- .docs-article pre code.hljs,
333
- .docs-article code.hljs {
334
- background: transparent;
335
- padding: 0;
336
- color: inherit;
337
- }
338
-
339
- .docs-article blockquote {
340
- border-left: 3px solid #1385B7;
341
- margin: 14px 0;
342
- padding: 4px 14px;
343
- color: #444;
344
- background-color: #f3f8fb;
345
- }
346
-
347
- .docs-article table {
348
- border-collapse: collapse;
349
- margin: 14px 0;
350
- font-size: 14px;
351
- }
352
-
353
- .docs-article th,
354
- .docs-article td {
355
- border: 1px solid #e0e8ec;
356
- padding: 6px 10px;
357
- text-align: left;
358
- vertical-align: top;
359
- }
360
-
361
- .docs-article th { background-color: #f3f6f8; font-weight: 600; }
362
-
363
- /* Wrapper for wide tables (e.g. the formats comparison matrix) so they
364
- * scroll horizontally instead of overflowing the article on narrow screens. */
365
- .formats-table-wrap { overflow-x: auto; }
366
- .formats-table-wrap table { margin: 14px 0; }
367
-
368
- .docs-article hr {
369
- border: 0;
370
- border-top: 1px solid #e0e8ec;
371
- margin: 28px 0;
372
- }
373
-
374
- /* Breadcrumbs */
375
- .docs-breadcrumbs {
376
- font-size: 13px;
377
- color: #888;
378
- margin: 0 0 14px;
379
- }
380
-
381
- .docs-breadcrumbs a { color: #10699b; }
382
-
383
- /* Edit link footer */
384
- .edit-link {
385
- margin-top: 36px;
386
- padding-top: 14px;
387
- border-top: 1px solid #eaeef0;
388
- font-size: 13px;
389
- color: #888;
390
- }
391
-
392
- /* --- Home page ------------------------------------------------------- */
393
-
394
- body.is-home .docs-article { padding: 32px 40px 40px; }
395
-
396
- .section-cards {
397
- display: grid;
398
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
399
- gap: 14px;
400
- margin: 24px 0 12px;
401
- }
402
-
403
- .section-card {
404
- display: block;
405
- border: 1px solid #d9e3e8;
406
- border-radius: 4px;
407
- padding: 16px 18px;
408
- background-color: #fff;
409
- color: inherit;
410
- transition: border-color 0.1s, box-shadow 0.1s;
411
- }
412
-
413
- .section-card:hover {
414
- border-color: #1385B7;
415
- box-shadow: 0 1px 4px rgba(19, 133, 183, 0.12);
416
- text-decoration: none;
417
- color: inherit;
418
- }
419
-
420
- .section-card .card-title {
421
- font-weight: 600;
422
- font-size: 16px;
423
- color: #1f2d33;
424
- margin: 0 0 4px;
425
- }
426
-
427
- .section-card .card-desc {
428
- font-size: 14px;
429
- color: #555;
430
- margin: 0;
431
- }
432
-
433
- .quickstart {
434
- background-color: #1e2a30;
435
- color: #e9eef1;
436
- border-radius: 4px;
437
- padding: 18px 20px;
438
- margin: 24px 0;
439
- }
440
-
441
- .quickstart h3 {
442
- margin: 0 0 8px;
443
- font-size: 14px;
444
- text-transform: uppercase;
445
- letter-spacing: 0.06em;
446
- color: #9ec3d4;
447
- font-weight: 600;
448
- }
449
-
450
- .quickstart pre {
451
- margin: 0;
452
- background: transparent;
453
- padding: 0;
454
- }
455
-
456
- /* --- Command-reference search ---------------------------------------- */
457
-
458
- .cmd-search-wrap {
459
- position: sticky;
460
- top: 0;
461
- z-index: 10;
462
- background-color: #fff;
463
- /* break out of the article's padding so the bottom border spans full width */
464
- margin: 0 -36px 18px;
465
- padding: 12px 36px 10px;
466
- border-bottom: 1px solid #eaeef0;
467
- }
468
-
469
- .cmd-search-input {
470
- width: 100%;
471
- padding: 8px 12px;
472
- font-family: inherit;
473
- font-size: 15px;
474
- color: inherit;
475
- background-color: #fff;
476
- border: 1px solid #c8d4d9;
477
- border-radius: 4px;
478
- -webkit-appearance: none;
479
- appearance: none;
480
- }
481
-
482
- .cmd-search-input:focus {
483
- outline: none;
484
- border-color: #1385B7;
485
- box-shadow: 0 0 0 3px rgba(19, 133, 183, 0.2);
486
- }
487
-
488
- /* Floating dropdown of matching commands. Positioned just below the input
489
- * within the sticky wrap, so it overlays page content rather than pushing
490
- * sections out of the way. */
491
- .cmd-search-results {
492
- position: absolute;
493
- left: 36px;
494
- right: 36px;
495
- top: 100%;
496
- margin-top: 4px;
497
- background-color: #fff;
498
- border: 1px solid #c8d4d9;
499
- border-radius: 4px;
500
- box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
501
- overflow: hidden;
502
- }
503
-
504
- .cmd-search-status {
505
- font-size: 13px;
506
- color: #6a7a82;
507
- padding: 6px 12px;
508
- background-color: #f4f8fa;
509
- border-bottom: 1px solid #eaeef0;
510
- }
511
-
512
- .cmd-search-list {
513
- list-style: none;
514
- margin: 0;
515
- padding: 4px 0;
516
- max-height: 360px;
517
- overflow-y: auto;
518
- }
519
-
520
- .cmd-result {
521
- margin: 0;
522
- }
523
-
524
- .cmd-result-link {
525
- display: flex;
526
- align-items: baseline;
527
- gap: 12px;
528
- padding: 6px 12px;
529
- color: inherit;
530
- text-decoration: none;
531
- cursor: pointer;
532
- }
533
-
534
- .cmd-result-link:hover {
535
- text-decoration: none;
536
- }
537
-
538
- .cmd-result.is-active .cmd-result-link {
539
- background-color: #e8f3f9;
540
- color: #10699b;
541
- }
542
-
543
- .cmd-result-name {
544
- font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
545
- font-size: 0.92em;
546
- color: #10699b;
547
- white-space: nowrap;
548
- }
549
-
550
- .cmd-result.is-active .cmd-result-name {
551
- color: inherit;
552
- }
553
-
554
- .cmd-result-cat {
555
- margin-left: auto;
556
- font-size: 12px;
557
- color: #8a9aa3;
558
- white-space: nowrap;
559
- }
560
-
561
- /* When the user clicks an anchor on the command reference page, leave room
562
- * for the sticky search bar above the target heading so it doesn't end up
563
- * hidden behind the bar. The :has() selector scopes the rule to the
564
- * command reference article (the only one with a .cmd-search-wrap), so
565
- * every id'd heading in that article -- including the prose headings
566
- * above the first command (Conventions, Common options, Command files,
567
- * Variable interpolation, Index of commands) -- gets the offset.
568
- * scroll-margin-top has to live on the actual scroll target, which is the
569
- * heading itself (the id is on the h2/h3/h4, not the wrapping section). */
570
- .docs-article:has(.cmd-search-wrap) :is(h2, h3, h4)[id],
571
- .docs-article:has(.cmd-search-wrap) .cmd-section {
572
- scroll-margin-top: 76px;
573
- }
574
-
575
- @media (max-width: 720px) {
576
- .cmd-search-wrap { margin: 0 -20px 14px; padding: 10px 20px 8px; }
577
- .cmd-search-results { left: 20px; right: 20px; }
578
- .docs-article:has(.cmd-search-wrap) :is(h2, h3, h4)[id],
579
- .docs-article:has(.cmd-search-wrap) .cmd-section {
580
- scroll-margin-top: 64px;
581
- }
582
- }
583
-
584
- /* --- Gallery -------------------------------------------------------- */
585
-
586
- .gallery-grid {
587
- display: grid;
588
- grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
589
- gap: 18px;
590
- margin: 20px 0 28px;
591
- }
592
-
593
- .gallery-tile {
594
- display: flex;
595
- flex-direction: column;
596
- border: 1px solid #d9e3e8;
597
- border-radius: 4px;
598
- background-color: #fff;
599
- color: inherit;
600
- overflow: hidden;
601
- transition: border-color 0.1s, box-shadow 0.1s;
602
- }
603
-
604
- .gallery-tile:hover {
605
- border-color: #1385B7;
606
- box-shadow: 0 2px 8px rgba(19, 133, 183, 0.15);
607
- text-decoration: none;
608
- color: inherit;
609
- }
610
-
611
- .gallery-tile-image {
612
- background-color: #f3f6f8;
613
- aspect-ratio: 3 / 2;
614
- display: flex;
615
- align-items: center;
616
- justify-content: center;
617
- overflow: hidden;
618
- }
619
-
620
- .gallery-tile-image img {
621
- width: 100%;
622
- height: 100%;
623
- object-fit: contain;
624
- display: block;
625
- }
626
-
627
- .gallery-tile-caption {
628
- padding: 12px 14px 14px;
629
- }
630
-
631
- .gallery-tile-title {
632
- font-weight: 600;
633
- font-size: 15px;
634
- color: #1f2d33;
635
- margin: 0 0 4px;
636
- }
637
-
638
- .gallery-tile-desc {
639
- font-size: 13px;
640
- color: #555;
641
- line-height: 1.4;
642
- }
643
-
644
- /* Home-page featured strip: same tile look, smaller grid, no descriptions. */
645
- .featured-maps {
646
- display: grid;
647
- grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
648
- gap: 14px;
649
- margin: 16px 0 8px;
650
- }
651
-
652
- .featured-maps .gallery-tile-image { aspect-ratio: 3 / 2; }
653
- .featured-maps .gallery-tile-caption { padding: 10px 12px 12px; }
654
- .featured-maps .gallery-tile-title { font-size: 14px; }
655
-
656
- .featured-maps-link {
657
- margin: 0 0 16px;
658
- font-size: 14px;
659
- }
660
-
661
- /* Example-page hero image: the <img> emitted by <!-- mapshaper:image -->.
662
- * Targets the first paragraph that contains a single image inside an article.
663
- * Keeps the image full-width but capped, with a subtle frame to match tiles. */
664
- .docs-article .example-hero,
665
- .docs-article p > img:only-child {
666
- display: block;
667
- max-width: 100%;
668
- height: auto;
669
- margin: 16px auto;
670
- background-color: #f3f6f8;
671
- border: 1px solid #e0e8ec;
672
- border-radius: 4px;
673
- }
674
-
675
- /* What's-new entries */
676
- .whats-new-entry {
677
- border-left: 3px solid #1385B7;
678
- padding: 4px 14px;
679
- margin: 18px 0;
680
- background-color: #f3f8fb;
681
- }
682
-
683
- .whats-new-entry .date {
684
- font-size: 13px;
685
- color: #777;
686
- font-weight: 600;
687
- text-transform: uppercase;
688
- letter-spacing: 0.04em;
689
- }
690
-
691
- /* --- Footer ---------------------------------------------------------- */
692
-
693
- .docs-footer {
694
- border-top: 1px solid #e0e8ec;
695
- margin-top: 24px;
696
- padding: 16px 0;
697
- background-color: #fff;
698
- }
699
-
700
- .docs-footer-inner {
701
- max-width: 1280px;
702
- margin: 0 auto;
703
- padding: 0 24px;
704
- display: flex;
705
- justify-content: space-between;
706
- flex-wrap: wrap;
707
- gap: 12px;
708
- font-size: 13px;
709
- color: #777;
710
- }
711
-
712
- .docs-footer a { color: #777; }