diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5fbfa29c55c..913e57481f5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
### 🐞 Bug fixes
- Fix `Popup` not updating its position when switching between terrain/globe projections ([#7468](https://github.com/maplibre/maplibre-gl-js/pull/7468)) (by [@CommanderStorm](https://github.com/CommanderStorm))
+- _...Add new stuff here..._
## 5.23.0
diff --git a/build/generate-docs.ts b/build/generate-docs.ts
index a3347504c4f..f547dfa5c86 100644
--- a/build/generate-docs.ts
+++ b/build/generate-docs.ts
@@ -9,6 +9,7 @@ type HtmlDoc = {
title: string;
description: string;
mdFileName: string;
+ isNew: boolean;
};
function generateAPIIntroMarkdown(lines: string[]): string {
@@ -33,36 +34,99 @@ Import declarations are omitted from the examples for brevity.
return intro;
}
-function generateMarkdownForExample(title: string, description: string, file: string, htmlContent: string): string {
- return `
+function isNewExample(htmlContentLines: string[]): boolean {
+ const createdLine = htmlContentLines.find(l => l.includes('og:created'));
+ if (!createdLine) return false;
+ const match = createdLine.match(/content=["'](\d{4}-\d{2}-\d{2})["']/);
+ if (!match) return false;
+ const createdDate = new Date(match[1]);
+ const sixMonthsAgo = new Date();
+ sixMonthsAgo.setMonth(sixMonthsAgo.getMonth() - 6);
+ return createdDate >= sixMonthsAgo;
+}
+
+function extractJsFromHtml(htmlContent: string): string | null {
+ const scriptRegex = /
-
+
+
```
diff --git a/eslint.config.js b/eslint.config.js
index 7382c98f08d..d9db73d15de 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -10,7 +10,7 @@ import preferTypeForDataShapes from './build/eslint-rules/prefer-type-for-data-s
export default [
{
- ignores: ['build/*.js', 'build/rollup/**', 'staging/**', 'coverage/**', 'node_modules/**', 'docs/**', 'dist/**', '**/*_generated.js']
+ ignores: ['build/*.js', 'build/rollup/**', 'staging/**', 'coverage/**', 'node_modules/**', 'docs/**', 'dist/**', 'site/**', '**/*_generated.js']
},
{
ignores: ['test/bench/**'],
diff --git a/mkdocs.yml b/mkdocs.yml
index 824f7587929..587ee8db437 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -44,6 +44,8 @@ markdown_extensions:
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences
+ - pymdownx.tabbed:
+ alternate_style: true
- pymdownx.escapeall:
hardbreak: True
nbsp: True
@@ -51,6 +53,8 @@ markdown_extensions:
- admonition
extra:
+ status:
+ new: Recently added
social:
- icon: fontawesome/brands/bluesky
link: https://bsky.app/profile/maplibre.org
diff --git a/test/build/examples.test.ts b/test/build/examples.test.ts
new file mode 100644
index 00000000000..ecd3f3ce00c
--- /dev/null
+++ b/test/build/examples.test.ts
@@ -0,0 +1,91 @@
+import {describe, test, expect} from 'vitest';
+import {globSync} from 'glob';
+import fs from 'fs';
+
+/**
+ * Show a snippet of the file around `lineNum` (1-based) with a gutter,
+ * highlighting the target line. If lineNum is null, shows the first few
+ * lines of
as context.
+ */
+function snippet(lines: string[], lineNum: number | null, file: string): string {
+ const target = lineNum ?? (lines.findIndex(l => / ${file}:${target}`);
+ out.push(`${' '.repeat(gutterWidth + 1)} |`);
+ for (let i = start; i < end; i++) {
+ const num = String(i + 1).padStart(gutterWidth);
+ const marker = (i + 1 === target) ? '>' : ' ';
+ out.push(`${num} ${marker}| ${lines[i]}`);
+ }
+ out.push(`${' '.repeat(gutterWidth + 1)} |`);
+ return out.join('\n');
+}
+
+/**
+ * Find the 1-based line number of the first line matching `pattern`,
+ * or null if not found.
+ */
+function findLine(lines: string[], pattern: RegExp): number | null {
+ const idx = lines.findIndex(l => pattern.test(l));
+ return idx >= 0 ? idx + 1 : null;
+}
+
+describe('Example HTML files', () => {
+ const exampleFiles = globSync('test/examples/*.html').sort();
+
+ test.each(exampleFiles)('%s has required meta tags', (file) => {
+ const content = fs.readFileSync(file, 'utf-8');
+ const lines = content.split('\n');
+ const errors: string[] = [];
+
+ // Check og:description
+ const descriptionMatch = content.match(/:\n' +
+ ' '
+ );
+ } else if (!descriptionMatch[1].trim()) {
+ const loc = findLine(lines, /og:description/);
+ errors.push(
+ `error: \`og:description\` content is empty\n${
+ snippet(lines, loc, file)}\n` +
+ ' = help: provide a meaningful description, e.g.:\n' +
+ ' '
+ );
+ }
+
+ // Check og:created
+ const createdMatch = content.match(/`
+ );
+ } else if (!/^\d{4}-\d{2}-\d{2}$/.test(createdMatch[1])) {
+ const loc = findLine(lines, /og:created/);
+ errors.push(
+ `error: \`og:created\` has invalid date format "${createdMatch[1]}"\n${
+ snippet(lines, loc, file)}\n` +
+ ' = help: use YYYY-MM-DD format, e.g.:\n' +
+ ' '
+ );
+ }
+
+ if (errors.length > 0) {
+ expect.fail(
+ `\n${errors.join('\n\n')}\n`
+ );
+ }
+ });
+});
diff --git a/test/examples/3d-terrain.html b/test/examples/3d-terrain.html
index b78231a0d55..46a2a50e452 100644
--- a/test/examples/3d-terrain.html
+++ b/test/examples/3d-terrain.html
@@ -3,6 +3,7 @@
3D Terrain
+
diff --git a/test/examples/add-3d-tiles-using-threejs.html b/test/examples/add-3d-tiles-using-threejs.html
index 050b4241a13..e58a492eabe 100644
--- a/test/examples/add-3d-tiles-using-threejs.html
+++ b/test/examples/add-3d-tiles-using-threejs.html
@@ -3,6 +3,7 @@
Add 3D tiles using three.js
+
diff --git a/test/examples/add-a-3d-model-to-globe-using-threejs.html b/test/examples/add-a-3d-model-to-globe-using-threejs.html
index 3c55c31ddc3..ec018a7a830 100644
--- a/test/examples/add-a-3d-model-to-globe-using-threejs.html
+++ b/test/examples/add-a-3d-model-to-globe-using-threejs.html
@@ -4,6 +4,7 @@
Add a 3D model to globe using three.js
+
diff --git a/test/examples/add-a-3d-model-using-threejs.html b/test/examples/add-a-3d-model-using-threejs.html
index 6b8d7ba4f00..6c6ad5e0901 100644
--- a/test/examples/add-a-3d-model-using-threejs.html
+++ b/test/examples/add-a-3d-model-using-threejs.html
@@ -3,6 +3,7 @@
Add a 3D model using three.js
+
diff --git a/test/examples/add-a-3d-model-with-babylonjs.html b/test/examples/add-a-3d-model-with-babylonjs.html
index 9aee9a8394f..db0284f725e 100644
--- a/test/examples/add-a-3d-model-with-babylonjs.html
+++ b/test/examples/add-a-3d-model-with-babylonjs.html
@@ -3,6 +3,7 @@
Add a 3D model with babylon.js
+
diff --git a/test/examples/add-a-3d-model-with-shadow-using-threejs.html b/test/examples/add-a-3d-model-with-shadow-using-threejs.html
index 98195c48aae..e8968b869b0 100644
--- a/test/examples/add-a-3d-model-with-shadow-using-threejs.html
+++ b/test/examples/add-a-3d-model-with-shadow-using-threejs.html
@@ -3,8 +3,8 @@
Add a 3D model with shadow using three.js
-
+
+
diff --git a/test/examples/add-a-canvas-source.html b/test/examples/add-a-canvas-source.html
index 5406e7d9c4e..02520a8e900 100644
--- a/test/examples/add-a-canvas-source.html
+++ b/test/examples/add-a-canvas-source.html
@@ -3,6 +3,7 @@
Add a canvas source
+
diff --git a/test/examples/add-a-cog-raster-source.html b/test/examples/add-a-cog-raster-source.html
index 055a9a45216..43fefc6ea92 100644
--- a/test/examples/add-a-cog-raster-source.html
+++ b/test/examples/add-a-cog-raster-source.html
@@ -3,6 +3,7 @@
Add a COG raster source
+
diff --git a/test/examples/add-a-color-relief-layer.html b/test/examples/add-a-color-relief-layer.html
index 895ca7dcaeb..7f149eb86c2 100644
--- a/test/examples/add-a-color-relief-layer.html
+++ b/test/examples/add-a-color-relief-layer.html
@@ -3,6 +3,7 @@
Add a color relief layer
+
diff --git a/test/examples/add-a-custom-layer-with-tiles-to-a-globe.html b/test/examples/add-a-custom-layer-with-tiles-to-a-globe.html
index e1f08c4ddc7..cc6be6be734 100644
--- a/test/examples/add-a-custom-layer-with-tiles-to-a-globe.html
+++ b/test/examples/add-a-custom-layer-with-tiles-to-a-globe.html
@@ -3,6 +3,7 @@
Add a custom layer with tiles to a globe
+
diff --git a/test/examples/add-a-custom-style-layer.html b/test/examples/add-a-custom-style-layer.html
index 1fa6999a65c..189deb77eaf 100644
--- a/test/examples/add-a-custom-style-layer.html
+++ b/test/examples/add-a-custom-style-layer.html
@@ -3,6 +3,7 @@
Add a custom style layer
+
diff --git a/test/examples/add-a-default-marker.html b/test/examples/add-a-default-marker.html
index 0984ae7095f..6cf397945b4 100644
--- a/test/examples/add-a-default-marker.html
+++ b/test/examples/add-a-default-marker.html
@@ -3,6 +3,7 @@
Add a default marker
+
diff --git a/test/examples/add-a-generated-icon-to-the-map.html b/test/examples/add-a-generated-icon-to-the-map.html
index 1a4f8dc9322..3d8fd29c89d 100644
--- a/test/examples/add-a-generated-icon-to-the-map.html
+++ b/test/examples/add-a-generated-icon-to-the-map.html
@@ -3,6 +3,7 @@
Add a generated icon to the map
+
diff --git a/test/examples/add-a-geojson-line.html b/test/examples/add-a-geojson-line.html
index a4fec6ac6ec..d3c5b83b1e0 100644
--- a/test/examples/add-a-geojson-line.html
+++ b/test/examples/add-a-geojson-line.html
@@ -3,6 +3,7 @@
Add a GeoJSON line
+
diff --git a/test/examples/add-a-geojson-polygon.html b/test/examples/add-a-geojson-polygon.html
index 699b0103bd5..366b82d7589 100644
--- a/test/examples/add-a-geojson-polygon.html
+++ b/test/examples/add-a-geojson-polygon.html
@@ -3,6 +3,7 @@
Add a GeoJSON polygon
+
diff --git a/test/examples/add-a-hillshade-layer.html b/test/examples/add-a-hillshade-layer.html
index ebf4bdc0a93..fd97e7bce19 100644
--- a/test/examples/add-a-hillshade-layer.html
+++ b/test/examples/add-a-hillshade-layer.html
@@ -3,6 +3,7 @@
Add a hillshade layer
+
diff --git a/test/examples/add-a-multidirectional-hillshade-layer.html b/test/examples/add-a-multidirectional-hillshade-layer.html
index 9951a23304c..8105f2d4f67 100644
--- a/test/examples/add-a-multidirectional-hillshade-layer.html
+++ b/test/examples/add-a-multidirectional-hillshade-layer.html
@@ -3,6 +3,7 @@
Add a multidirectional hillshade layer
+
diff --git a/test/examples/add-a-new-layer-below-labels.html b/test/examples/add-a-new-layer-below-labels.html
index dcf77b483c5..8a309ff66e9 100644
--- a/test/examples/add-a-new-layer-below-labels.html
+++ b/test/examples/add-a-new-layer-below-labels.html
@@ -3,6 +3,7 @@
Add a new layer below labels
+
diff --git a/test/examples/add-a-pattern-to-a-polygon.html b/test/examples/add-a-pattern-to-a-polygon.html
index 12bf2733e8c..250caafece0 100644
--- a/test/examples/add-a-pattern-to-a-polygon.html
+++ b/test/examples/add-a-pattern-to-a-polygon.html
@@ -3,6 +3,7 @@
Add a pattern to a polygon
+
diff --git a/test/examples/add-a-raster-tile-source.html b/test/examples/add-a-raster-tile-source.html
index fd64547fcc9..f13dd0f1e6c 100644
--- a/test/examples/add-a-raster-tile-source.html
+++ b/test/examples/add-a-raster-tile-source.html
@@ -3,6 +3,7 @@
Add a raster tile source
+
diff --git a/test/examples/add-a-simple-custom-layer-on-a-globe.html b/test/examples/add-a-simple-custom-layer-on-a-globe.html
index 90d98430294..9b28b7056cb 100644
--- a/test/examples/add-a-simple-custom-layer-on-a-globe.html
+++ b/test/examples/add-a-simple-custom-layer-on-a-globe.html
@@ -3,6 +3,7 @@
Add a simple custom layer on a globe
+
diff --git a/test/examples/add-a-stretchable-image-to-the-map.html b/test/examples/add-a-stretchable-image-to-the-map.html
index 40eb6794337..b9fe942a7c7 100644
--- a/test/examples/add-a-stretchable-image-to-the-map.html
+++ b/test/examples/add-a-stretchable-image-to-the-map.html
@@ -3,6 +3,7 @@
Add a stretchable image to the map
+
diff --git a/test/examples/add-a-vector-tile-source.html b/test/examples/add-a-vector-tile-source.html
index 43987fdf790..a0e1c50ea54 100644
--- a/test/examples/add-a-vector-tile-source.html
+++ b/test/examples/add-a-vector-tile-source.html
@@ -3,6 +3,7 @@
Add a vector tile source
+
diff --git a/test/examples/add-a-video.html b/test/examples/add-a-video.html
index 0f1d67de734..be75214c202 100644
--- a/test/examples/add-a-video.html
+++ b/test/examples/add-a-video.html
@@ -3,6 +3,7 @@
Add a video
+
diff --git a/test/examples/add-a-wms-source.html b/test/examples/add-a-wms-source.html
index b36b3273329..1f200ac199a 100644
--- a/test/examples/add-a-wms-source.html
+++ b/test/examples/add-a-wms-source.html
@@ -3,6 +3,7 @@
Add a WMS source
+
diff --git a/test/examples/add-an-animated-icon-to-the-map.html b/test/examples/add-an-animated-icon-to-the-map.html
index e5ac59884a9..325b4c64faf 100644
--- a/test/examples/add-an-animated-icon-to-the-map.html
+++ b/test/examples/add-an-animated-icon-to-the-map.html
@@ -3,6 +3,7 @@
Add an animated icon to the map
+
diff --git a/test/examples/add-an-icon-to-the-map.html b/test/examples/add-an-icon-to-the-map.html
index b9f5681c862..72234927903 100644
--- a/test/examples/add-an-icon-to-the-map.html
+++ b/test/examples/add-an-icon-to-the-map.html
@@ -3,6 +3,7 @@
Add an icon to the map
+
diff --git a/test/examples/add-contour-lines.html b/test/examples/add-contour-lines.html
index aaf5f111ee6..0eb2077e474 100644
--- a/test/examples/add-contour-lines.html
+++ b/test/examples/add-contour-lines.html
@@ -3,6 +3,7 @@
Add Contour Lines
+
diff --git a/test/examples/add-custom-icons-with-markers.html b/test/examples/add-custom-icons-with-markers.html
index a9eb4235131..d2715fdbddd 100644
--- a/test/examples/add-custom-icons-with-markers.html
+++ b/test/examples/add-custom-icons-with-markers.html
@@ -3,6 +3,7 @@
Add custom icons with Markers
+
diff --git a/test/examples/add-live-realtime-data.html b/test/examples/add-live-realtime-data.html
index 8e70461fa6a..ee08081aafa 100644
--- a/test/examples/add-live-realtime-data.html
+++ b/test/examples/add-live-realtime-data.html
@@ -3,6 +3,7 @@
Add live realtime data
+
diff --git a/test/examples/add-multiple-geometries-from-one-geojson-source.html b/test/examples/add-multiple-geometries-from-one-geojson-source.html
index 4d2fd28078a..4bd0d13b878 100644
--- a/test/examples/add-multiple-geometries-from-one-geojson-source.html
+++ b/test/examples/add-multiple-geometries-from-one-geojson-source.html
@@ -3,6 +3,7 @@
Add multiple geometries from one GeoJSON source
+
diff --git a/test/examples/add-support-for-right-to-left-scripts.html b/test/examples/add-support-for-right-to-left-scripts.html
index 2672d5b6ba8..761bdcd388d 100644
--- a/test/examples/add-support-for-right-to-left-scripts.html
+++ b/test/examples/add-support-for-right-to-left-scripts.html
@@ -3,6 +3,7 @@
Add support for right-to-left scripts
+
diff --git a/test/examples/adding-3d-models-using-threejs-on-terrain.html b/test/examples/adding-3d-models-using-threejs-on-terrain.html
index b2d84a6ae31..67896cc9f78 100644
--- a/test/examples/adding-3d-models-using-threejs-on-terrain.html
+++ b/test/examples/adding-3d-models-using-threejs-on-terrain.html
@@ -4,6 +4,7 @@
Adding 3D models using three.js on terrain
+
diff --git a/test/examples/animate-a-line.html b/test/examples/animate-a-line.html
index c6695474a2c..17c21dc12ec 100644
--- a/test/examples/animate-a-line.html
+++ b/test/examples/animate-a-line.html
@@ -3,6 +3,7 @@
Animate a line
+
diff --git a/test/examples/animate-a-marker.html b/test/examples/animate-a-marker.html
index a7cf55586e9..cbecdfc2c1e 100644
--- a/test/examples/animate-a-marker.html
+++ b/test/examples/animate-a-marker.html
@@ -3,6 +3,7 @@
Animate a marker
+
diff --git a/test/examples/animate-a-point-along-a-route.html b/test/examples/animate-a-point-along-a-route.html
index fdecaf96440..f1504445f03 100644
--- a/test/examples/animate-a-point-along-a-route.html
+++ b/test/examples/animate-a-point-along-a-route.html
@@ -3,6 +3,7 @@
Animate a point along a route
+
diff --git a/test/examples/animate-a-point.html b/test/examples/animate-a-point.html
index 9d2bcb25c85..fcf47387c88 100644
--- a/test/examples/animate-a-point.html
+++ b/test/examples/animate-a-point.html
@@ -3,6 +3,7 @@
Animate a point
+
diff --git a/test/examples/animate-a-series-of-images.html b/test/examples/animate-a-series-of-images.html
index 85bef4d9e67..5582f531862 100644
--- a/test/examples/animate-a-series-of-images.html
+++ b/test/examples/animate-a-series-of-images.html
@@ -3,6 +3,7 @@
Animate a series of images
+
diff --git a/test/examples/animate-map-camera-around-a-point.html b/test/examples/animate-map-camera-around-a-point.html
index b92e0cbebf2..53edf0c45a0 100644
--- a/test/examples/animate-map-camera-around-a-point.html
+++ b/test/examples/animate-map-camera-around-a-point.html
@@ -3,6 +3,7 @@
Animate map camera around a point
+
diff --git a/test/examples/animate-symbol-to-follow-the-mouse.html b/test/examples/animate-symbol-to-follow-the-mouse.html
index 023225d2fad..2ffe50d7581 100644
--- a/test/examples/animate-symbol-to-follow-the-mouse.html
+++ b/test/examples/animate-symbol-to-follow-the-mouse.html
@@ -4,6 +4,7 @@
Animate symbol to follow the mouse
+
diff --git a/test/examples/attach-a-popup-to-a-marker-instance.html b/test/examples/attach-a-popup-to-a-marker-instance.html
index 709f39f5746..cfc08353d4e 100644
--- a/test/examples/attach-a-popup-to-a-marker-instance.html
+++ b/test/examples/attach-a-popup-to-a-marker-instance.html
@@ -3,6 +3,7 @@
Attach a popup to a marker instance
+
diff --git a/test/examples/center-the-map-on-a-clicked-symbol.html b/test/examples/center-the-map-on-a-clicked-symbol.html
index 2527b5ea037..82d4dd835c5 100644
--- a/test/examples/center-the-map-on-a-clicked-symbol.html
+++ b/test/examples/center-the-map-on-a-clicked-symbol.html
@@ -3,6 +3,7 @@
Center the map on a clicked symbol
+
diff --git a/test/examples/change-a-layers-color-with-buttons.html b/test/examples/change-a-layers-color-with-buttons.html
index 10159fca6a6..f0ba233cad4 100644
--- a/test/examples/change-a-layers-color-with-buttons.html
+++ b/test/examples/change-a-layers-color-with-buttons.html
@@ -3,6 +3,7 @@
Change a layer's color with buttons
+
diff --git a/test/examples/change-a-maps-language.html b/test/examples/change-a-maps-language.html
index bca6d657250..6e0807c03e3 100644
--- a/test/examples/change-a-maps-language.html
+++ b/test/examples/change-a-maps-language.html
@@ -3,6 +3,7 @@
Change a map's language
+
diff --git a/test/examples/change-building-color-based-on-zoom-level.html b/test/examples/change-building-color-based-on-zoom-level.html
index f05c8e593ab..6d56af05090 100644
--- a/test/examples/change-building-color-based-on-zoom-level.html
+++ b/test/examples/change-building-color-based-on-zoom-level.html
@@ -3,6 +3,7 @@
Change building color based on zoom level
+
diff --git a/test/examples/change-the-case-of-labels.html b/test/examples/change-the-case-of-labels.html
index 0435a74cb28..975198e5cb1 100644
--- a/test/examples/change-the-case-of-labels.html
+++ b/test/examples/change-the-case-of-labels.html
@@ -3,6 +3,7 @@
Change the case of labels
+
diff --git a/test/examples/change-the-default-position-for-attribution.html b/test/examples/change-the-default-position-for-attribution.html
index 78f33b5df71..81fb3e1481f 100644
--- a/test/examples/change-the-default-position-for-attribution.html
+++ b/test/examples/change-the-default-position-for-attribution.html
@@ -3,6 +3,7 @@
Change the default position for attribution
+
diff --git a/test/examples/check-if-webgl-is-supported.html b/test/examples/check-if-webgl-is-supported.html
index d845695915f..28ab049984f 100644
--- a/test/examples/check-if-webgl-is-supported.html
+++ b/test/examples/check-if-webgl-is-supported.html
@@ -3,6 +3,7 @@
Check if WebGL is supported
+
diff --git a/test/examples/cooperative-gestures.html b/test/examples/cooperative-gestures.html
index ba49f549ae2..5a876be7301 100644
--- a/test/examples/cooperative-gestures.html
+++ b/test/examples/cooperative-gestures.html
@@ -3,6 +3,7 @@
Cooperative gestures
+
diff --git a/test/examples/create-a-draggable-marker.html b/test/examples/create-a-draggable-marker.html
index a4dcde33361..b6f7661ea82 100644
--- a/test/examples/create-a-draggable-marker.html
+++ b/test/examples/create-a-draggable-marker.html
@@ -3,6 +3,7 @@
Create a draggable Marker
+
diff --git a/test/examples/create-a-draggable-point.html b/test/examples/create-a-draggable-point.html
index cdf79953708..8da27112f22 100644
--- a/test/examples/create-a-draggable-point.html
+++ b/test/examples/create-a-draggable-point.html
@@ -3,6 +3,7 @@
Create a draggable point
+
diff --git a/test/examples/create-a-gradient-dashed-line-using-an-expression.html b/test/examples/create-a-gradient-dashed-line-using-an-expression.html
index 4b55bcf4cb5..b47ef8b8416 100644
--- a/test/examples/create-a-gradient-dashed-line-using-an-expression.html
+++ b/test/examples/create-a-gradient-dashed-line-using-an-expression.html
@@ -3,6 +3,7 @@
Create a gradient line with dasharray using an expression
+
diff --git a/test/examples/create-a-gradient-line-using-an-expression.html b/test/examples/create-a-gradient-line-using-an-expression.html
index d1c3f23ca3d..9fc0311907e 100644
--- a/test/examples/create-a-gradient-line-using-an-expression.html
+++ b/test/examples/create-a-gradient-line-using-an-expression.html
@@ -3,6 +3,7 @@
Create a gradient line using an expression
+
diff --git a/test/examples/create-a-heatmap-layer-on-a-globe-with-terrain-elevation.html b/test/examples/create-a-heatmap-layer-on-a-globe-with-terrain-elevation.html
index da6dde1c7bc..ece505dd963 100644
--- a/test/examples/create-a-heatmap-layer-on-a-globe-with-terrain-elevation.html
+++ b/test/examples/create-a-heatmap-layer-on-a-globe-with-terrain-elevation.html
@@ -4,6 +4,7 @@
Create a Heatmap layer on a globe with terrain elevation
+
diff --git a/test/examples/create-a-heatmap-layer.html b/test/examples/create-a-heatmap-layer.html
index 8562c3889b7..e0afd541153 100644
--- a/test/examples/create-a-heatmap-layer.html
+++ b/test/examples/create-a-heatmap-layer.html
@@ -3,6 +3,7 @@
Create a heatmap layer
+
diff --git a/test/examples/create-a-hover-effect.html b/test/examples/create-a-hover-effect.html
index ef4df1e8769..e02570c3e05 100644
--- a/test/examples/create-a-hover-effect.html
+++ b/test/examples/create-a-hover-effect.html
@@ -3,6 +3,7 @@
Create a hover effect
+
diff --git a/test/examples/create-a-time-slider.html b/test/examples/create-a-time-slider.html
index a86847fb4d7..ac9c78a8230 100644
--- a/test/examples/create-a-time-slider.html
+++ b/test/examples/create-a-time-slider.html
@@ -3,6 +3,7 @@
Create a time slider
+
diff --git a/test/examples/create-and-style-clusters.html b/test/examples/create-and-style-clusters.html
index 6ca722412aa..291cd72000b 100644
--- a/test/examples/create-and-style-clusters.html
+++ b/test/examples/create-and-style-clusters.html
@@ -3,6 +3,7 @@
Create and style clusters
+
diff --git a/test/examples/create-deckgl-layer-using-rest-api.html b/test/examples/create-deckgl-layer-using-rest-api.html
index e6e9fd6e239..53f69787103 100644
--- a/test/examples/create-deckgl-layer-using-rest-api.html
+++ b/test/examples/create-deckgl-layer-using-rest-api.html
@@ -3,6 +3,7 @@
Create deck.gl layer using REST API
+
diff --git a/test/examples/customize-camera-animations.html b/test/examples/customize-camera-animations.html
index 34f10bee691..6353eb1cf71 100644
--- a/test/examples/customize-camera-animations.html
+++ b/test/examples/customize-camera-animations.html
@@ -3,6 +3,7 @@
Customize camera animations
+
diff --git a/test/examples/customize-the-map-transform-constrain.html b/test/examples/customize-the-map-transform-constrain.html
index 62a8cb91e2d..3dbf7561165 100644
--- a/test/examples/customize-the-map-transform-constrain.html
+++ b/test/examples/customize-the-map-transform-constrain.html
@@ -3,6 +3,7 @@
Customize the map transform constrain
+
diff --git a/test/examples/disable-map-rotation.html b/test/examples/disable-map-rotation.html
index c87462d1f0f..332d4dc6a9d 100644
--- a/test/examples/disable-map-rotation.html
+++ b/test/examples/disable-map-rotation.html
@@ -3,6 +3,7 @@
Disable map rotation
+
diff --git a/test/examples/disable-scroll-zoom.html b/test/examples/disable-scroll-zoom.html
index 9721e9919cf..ffef8312b17 100644
--- a/test/examples/disable-scroll-zoom.html
+++ b/test/examples/disable-scroll-zoom.html
@@ -3,6 +3,7 @@
Disable scroll zoom
+
diff --git a/test/examples/display-a-globe-with-a-fill-extrusion-layer.html b/test/examples/display-a-globe-with-a-fill-extrusion-layer.html
index 6d04237021c..ea143a80bfc 100644
--- a/test/examples/display-a-globe-with-a-fill-extrusion-layer.html
+++ b/test/examples/display-a-globe-with-a-fill-extrusion-layer.html
@@ -3,6 +3,7 @@
Display a globe with a fill extrusion layer
+
diff --git a/test/examples/display-a-globe-with-a-vector-map.html b/test/examples/display-a-globe-with-a-vector-map.html
index d5500f75cf5..f30c74c3705 100644
--- a/test/examples/display-a-globe-with-a-vector-map.html
+++ b/test/examples/display-a-globe-with-a-vector-map.html
@@ -3,6 +3,7 @@
Display a globe with a vector map
+
diff --git a/test/examples/display-a-globe-with-an-atmosphere.html b/test/examples/display-a-globe-with-an-atmosphere.html
index 76b0dbac0be..76036e34b60 100644
--- a/test/examples/display-a-globe-with-an-atmosphere.html
+++ b/test/examples/display-a-globe-with-an-atmosphere.html
@@ -3,6 +3,7 @@
Display a globe with an atmosphere
+
diff --git a/test/examples/display-a-hybrid-satellite-map-with-terrain-elevation.html b/test/examples/display-a-hybrid-satellite-map-with-terrain-elevation.html
index 8a627cd62c9..7264df277b4 100644
--- a/test/examples/display-a-hybrid-satellite-map-with-terrain-elevation.html
+++ b/test/examples/display-a-hybrid-satellite-map-with-terrain-elevation.html
@@ -3,6 +3,7 @@
Display a hybrid satellite map with terrain elevation
+
diff --git a/test/examples/display-a-map-with-mlt.html b/test/examples/display-a-map-with-mlt.html
index 85a84199b2d..3b68e73b145 100644
--- a/test/examples/display-a-map-with-mlt.html
+++ b/test/examples/display-a-map-with-mlt.html
@@ -3,6 +3,7 @@
Display a map with MLT
+
diff --git a/test/examples/display-a-map.html b/test/examples/display-a-map.html
index 32a2c43f142..aa78545f760 100644
--- a/test/examples/display-a-map.html
+++ b/test/examples/display-a-map.html
@@ -3,6 +3,7 @@
Display a map
+
diff --git a/test/examples/display-a-non-interactive-map.html b/test/examples/display-a-non-interactive-map.html
index 55ea9e040e5..c6d38884c14 100644
--- a/test/examples/display-a-non-interactive-map.html
+++ b/test/examples/display-a-non-interactive-map.html
@@ -3,6 +3,7 @@
Display a non-interactive map
+
diff --git a/test/examples/display-a-popup-on-click.html b/test/examples/display-a-popup-on-click.html
index 38639b64369..ad5ff0effaa 100644
--- a/test/examples/display-a-popup-on-click.html
+++ b/test/examples/display-a-popup-on-click.html
@@ -3,6 +3,7 @@
Display a popup on click
+
diff --git a/test/examples/display-a-popup-on-hover.html b/test/examples/display-a-popup-on-hover.html
index 1d0124e309c..4409f9730bb 100644
--- a/test/examples/display-a-popup-on-hover.html
+++ b/test/examples/display-a-popup-on-hover.html
@@ -3,6 +3,7 @@
Display a popup on hover
+
diff --git a/test/examples/display-a-popup.html b/test/examples/display-a-popup.html
index 86ca6e73fc1..b7e9e9934fe 100644
--- a/test/examples/display-a-popup.html
+++ b/test/examples/display-a-popup.html
@@ -3,6 +3,7 @@
Display a popup
+
diff --git a/test/examples/display-a-remote-svg-symbol.html b/test/examples/display-a-remote-svg-symbol.html
index cf145eb72e0..84e6f42912d 100644
--- a/test/examples/display-a-remote-svg-symbol.html
+++ b/test/examples/display-a-remote-svg-symbol.html
@@ -3,6 +3,7 @@
Display a remote SVG symbol
+
diff --git a/test/examples/display-a-satellite-map.html b/test/examples/display-a-satellite-map.html
index 46f8f5be4e4..df1b051e8ea 100644
--- a/test/examples/display-a-satellite-map.html
+++ b/test/examples/display-a-satellite-map.html
@@ -3,6 +3,7 @@
Display a satellite map
+
diff --git a/test/examples/display-and-style-rich-text-labels.html b/test/examples/display-and-style-rich-text-labels.html
index 3ee8c7df971..f579b22dfb7 100644
--- a/test/examples/display-and-style-rich-text-labels.html
+++ b/test/examples/display-and-style-rich-text-labels.html
@@ -3,6 +3,7 @@
Display and style rich text labels
+
diff --git a/test/examples/display-buildings-in-3d.html b/test/examples/display-buildings-in-3d.html
index 4514d35fb48..e66bb532003 100644
--- a/test/examples/display-buildings-in-3d.html
+++ b/test/examples/display-buildings-in-3d.html
@@ -3,6 +3,7 @@
Display buildings in 3D
+
diff --git a/test/examples/display-html-clusters-with-custom-properties.html b/test/examples/display-html-clusters-with-custom-properties.html
index 1c96e439340..a245f682bb9 100644
--- a/test/examples/display-html-clusters-with-custom-properties.html
+++ b/test/examples/display-html-clusters-with-custom-properties.html
@@ -3,6 +3,7 @@
Display HTML clusters with custom properties
+
diff --git a/test/examples/display-line-that-crosses-180th-meridian.html b/test/examples/display-line-that-crosses-180th-meridian.html
index e00d629b8c8..65da901f7c1 100644
--- a/test/examples/display-line-that-crosses-180th-meridian.html
+++ b/test/examples/display-line-that-crosses-180th-meridian.html
@@ -3,6 +3,7 @@
Display line that crosses 180th meridian
+
diff --git a/test/examples/display-map-navigation-controls.html b/test/examples/display-map-navigation-controls.html
index b754579bb42..3bfa9fe19ba 100644
--- a/test/examples/display-map-navigation-controls.html
+++ b/test/examples/display-map-navigation-controls.html
@@ -3,6 +3,7 @@
Display map navigation controls
+
diff --git a/test/examples/display-performance-metrics.html b/test/examples/display-performance-metrics.html
index b960b850814..b77d56082c6 100644
--- a/test/examples/display-performance-metrics.html
+++ b/test/examples/display-performance-metrics.html
@@ -4,6 +4,7 @@
Display Map Performance Metrics
+
diff --git a/test/examples/draw-a-circle.html b/test/examples/draw-a-circle.html
index 88d42e7d0ba..e0854d3c8e2 100644
--- a/test/examples/draw-a-circle.html
+++ b/test/examples/draw-a-circle.html
@@ -3,6 +3,7 @@
Draw a Circle
+
diff --git a/test/examples/draw-geojson-points.html b/test/examples/draw-geojson-points.html
index 2ffdb5e6335..0e874d86a6b 100644
--- a/test/examples/draw-geojson-points.html
+++ b/test/examples/draw-geojson-points.html
@@ -3,6 +3,7 @@
Draw GeoJSON points
+
diff --git a/test/examples/draw-geometries-with-terra-draw.html b/test/examples/draw-geometries-with-terra-draw.html
index 951a8e57171..369e1fa8c34 100644
--- a/test/examples/draw-geometries-with-terra-draw.html
+++ b/test/examples/draw-geometries-with-terra-draw.html
@@ -3,6 +3,7 @@
Draw geometries with terra-draw
+
diff --git a/test/examples/draw-polygon-with-mapbox-gl-draw.html b/test/examples/draw-polygon-with-mapbox-gl-draw.html
index 52ad4088b79..bcfdc5fdd81 100644
--- a/test/examples/draw-polygon-with-mapbox-gl-draw.html
+++ b/test/examples/draw-polygon-with-mapbox-gl-draw.html
@@ -3,6 +3,7 @@
Draw polygon with mapbox-gl-draw
+
diff --git a/test/examples/extrude-polygons-for-3d-indoor-mapping.html b/test/examples/extrude-polygons-for-3d-indoor-mapping.html
index 3d16e3e89ad..30cee15fbf0 100644
--- a/test/examples/extrude-polygons-for-3d-indoor-mapping.html
+++ b/test/examples/extrude-polygons-for-3d-indoor-mapping.html
@@ -3,6 +3,7 @@
Extrude polygons for 3D indoor mapping
+
diff --git a/test/examples/filter-layer-symbols-using-global-state.html b/test/examples/filter-layer-symbols-using-global-state.html
index e2d26180672..b6c982befc2 100644
--- a/test/examples/filter-layer-symbols-using-global-state.html
+++ b/test/examples/filter-layer-symbols-using-global-state.html
@@ -3,6 +3,7 @@
Filter layer symbols using global state
+
diff --git a/test/examples/filter-symbols-by-text-input.html b/test/examples/filter-symbols-by-text-input.html
index 6aea06bf0a6..59515a617f5 100644
--- a/test/examples/filter-symbols-by-text-input.html
+++ b/test/examples/filter-symbols-by-text-input.html
@@ -3,6 +3,7 @@
Filter symbols by text input
+
diff --git a/test/examples/filter-symbols-by-toggling-a-list.html b/test/examples/filter-symbols-by-toggling-a-list.html
index 68e940f29ac..c6e0ea3a4aa 100644
--- a/test/examples/filter-symbols-by-toggling-a-list.html
+++ b/test/examples/filter-symbols-by-toggling-a-list.html
@@ -3,6 +3,7 @@
Filter symbols by toggling a list
+
diff --git a/test/examples/filter-within-a-layer.html b/test/examples/filter-within-a-layer.html
index d13af48b0ec..e16981e7b8e 100644
--- a/test/examples/filter-within-a-layer.html
+++ b/test/examples/filter-within-a-layer.html
@@ -3,6 +3,7 @@
Filter within a Layer
+
diff --git a/test/examples/fit-a-map-to-a-bounding-box.html b/test/examples/fit-a-map-to-a-bounding-box.html
index db5a9b41087..0cbc2794311 100644
--- a/test/examples/fit-a-map-to-a-bounding-box.html
+++ b/test/examples/fit-a-map-to-a-bounding-box.html
@@ -3,6 +3,7 @@
Fit a map to a bounding box
+
diff --git a/test/examples/fit-to-the-bounds-of-a-linestring.html b/test/examples/fit-to-the-bounds-of-a-linestring.html
index d6a02278e44..768794873ca 100644
--- a/test/examples/fit-to-the-bounds-of-a-linestring.html
+++ b/test/examples/fit-to-the-bounds-of-a-linestring.html
@@ -3,6 +3,7 @@
Fit to the bounds of a LineString
+
diff --git a/test/examples/fly-to-a-location-based-on-scroll-position.html b/test/examples/fly-to-a-location-based-on-scroll-position.html
index dad532c465c..6bfd95bc9a1 100644
--- a/test/examples/fly-to-a-location-based-on-scroll-position.html
+++ b/test/examples/fly-to-a-location-based-on-scroll-position.html
@@ -3,6 +3,7 @@
Fly to a location based on scroll position
+
diff --git a/test/examples/fly-to-a-location.html b/test/examples/fly-to-a-location.html
index b3a14b68d9e..dd8be42f8f6 100644
--- a/test/examples/fly-to-a-location.html
+++ b/test/examples/fly-to-a-location.html
@@ -3,6 +3,7 @@
Fly to a location
+
diff --git a/test/examples/generate-and-add-a-missing-icon-to-the-map.html b/test/examples/generate-and-add-a-missing-icon-to-the-map.html
index 66b29431086..0fa15b6b560 100644
--- a/test/examples/generate-and-add-a-missing-icon-to-the-map.html
+++ b/test/examples/generate-and-add-a-missing-icon-to-the-map.html
@@ -3,6 +3,7 @@
Generate and add a missing icon to the map
+
diff --git a/test/examples/geocode-with-nominatim.html b/test/examples/geocode-with-nominatim.html
index 02e24e238f8..11deb404c31 100644
--- a/test/examples/geocode-with-nominatim.html
+++ b/test/examples/geocode-with-nominatim.html
@@ -3,6 +3,7 @@
Geocode with Nominatim
+
diff --git a/test/examples/get-coordinates-of-the-mouse-pointer.html b/test/examples/get-coordinates-of-the-mouse-pointer.html
index dac6b199143..0bd93188af9 100644
--- a/test/examples/get-coordinates-of-the-mouse-pointer.html
+++ b/test/examples/get-coordinates-of-the-mouse-pointer.html
@@ -3,6 +3,7 @@
Get coordinates of the mouse pointer
+
diff --git a/test/examples/get-features-under-the-mouse-pointer.html b/test/examples/get-features-under-the-mouse-pointer.html
index ee4506bfb68..483bf9cb416 100644
--- a/test/examples/get-features-under-the-mouse-pointer.html
+++ b/test/examples/get-features-under-the-mouse-pointer.html
@@ -3,6 +3,7 @@
Get features under the mouse pointer
+
diff --git a/test/examples/hash-routing.html b/test/examples/hash-routing.html
index ee19e1a0f2f..9f538f209f2 100644
--- a/test/examples/hash-routing.html
+++ b/test/examples/hash-routing.html
@@ -3,6 +3,7 @@
Hash routing
+
diff --git a/test/examples/jump-to-a-series-of-locations.html b/test/examples/jump-to-a-series-of-locations.html
index 34e569f6e53..4a1d2ddd7f6 100644
--- a/test/examples/jump-to-a-series-of-locations.html
+++ b/test/examples/jump-to-a-series-of-locations.html
@@ -3,6 +3,7 @@
Jump to a series of locations
+
diff --git a/test/examples/level-of-detail-control.html b/test/examples/level-of-detail-control.html
index 4d5d3e9a2a9..e927e6c0cd6 100644
--- a/test/examples/level-of-detail-control.html
+++ b/test/examples/level-of-detail-control.html
@@ -3,6 +3,7 @@
Level of Detail Control
+
diff --git a/test/examples/locale-switching.html b/test/examples/locale-switching.html
index c2d858f6fe1..f22c61d0281 100644
--- a/test/examples/locale-switching.html
+++ b/test/examples/locale-switching.html
@@ -3,6 +3,7 @@
Locale switching
+
diff --git a/test/examples/locate-the-user.html b/test/examples/locate-the-user.html
index 47f99194d99..cbd38a6faaf 100644
--- a/test/examples/locate-the-user.html
+++ b/test/examples/locate-the-user.html
@@ -3,6 +3,7 @@
Locate the user
+
diff --git a/test/examples/measure-distances.html b/test/examples/measure-distances.html
index 96f04d75b17..389a66d8be8 100644
--- a/test/examples/measure-distances.html
+++ b/test/examples/measure-distances.html
@@ -3,6 +3,7 @@
Measure distances
+
diff --git a/test/examples/navigate-the-map-with-game-like-controls.html b/test/examples/navigate-the-map-with-game-like-controls.html
index 555ec295872..d1c5d2a2bcb 100644
--- a/test/examples/navigate-the-map-with-game-like-controls.html
+++ b/test/examples/navigate-the-map-with-game-like-controls.html
@@ -3,6 +3,7 @@
Navigate the map with game-like controls
+
diff --git a/test/examples/offset-the-vanishing-point-using-padding.html b/test/examples/offset-the-vanishing-point-using-padding.html
index e9eaa2e7626..e01f5756e92 100644
--- a/test/examples/offset-the-vanishing-point-using-padding.html
+++ b/test/examples/offset-the-vanishing-point-using-padding.html
@@ -3,6 +3,7 @@
Offset the vanishing point using padding
+
diff --git a/test/examples/pmtiles-source-and-protocol.html b/test/examples/pmtiles-source-and-protocol.html
index 238ef17b870..2c867b01f14 100644
--- a/test/examples/pmtiles-source-and-protocol.html
+++ b/test/examples/pmtiles-source-and-protocol.html
@@ -3,6 +3,7 @@
PMTiles source and protocol
+
diff --git a/test/examples/render-world-copies.html b/test/examples/render-world-copies.html
index c2c10edabee..046cd4a8eef 100644
--- a/test/examples/render-world-copies.html
+++ b/test/examples/render-world-copies.html
@@ -3,6 +3,7 @@
Render world copies
+
diff --git a/test/examples/restrict-map-panning-to-an-area.html b/test/examples/restrict-map-panning-to-an-area.html
index 9934f0c2f4b..d0eab9d20af 100644
--- a/test/examples/restrict-map-panning-to-an-area.html
+++ b/test/examples/restrict-map-panning-to-an-area.html
@@ -3,6 +3,7 @@
Restrict map panning to an area
+
diff --git a/test/examples/select-features-with-box-zoom-end-callback.html b/test/examples/select-features-with-box-zoom-end-callback.html
index 6d723efd1f1..4fc07f5a6d2 100644
--- a/test/examples/select-features-with-box-zoom-end-callback.html
+++ b/test/examples/select-features-with-box-zoom-end-callback.html
@@ -3,6 +3,7 @@
Select features with a boxZoomEnd callback
+
diff --git a/test/examples/set-center-point-above-ground.html b/test/examples/set-center-point-above-ground.html
index 679eac7b89c..5df9b383b39 100644
--- a/test/examples/set-center-point-above-ground.html
+++ b/test/examples/set-center-point-above-ground.html
@@ -3,6 +3,7 @@
Set center point above ground
+
diff --git a/test/examples/set-pitch-and-bearing.html b/test/examples/set-pitch-and-bearing.html
index 87683472bbb..ac9eabc47c9 100644
--- a/test/examples/set-pitch-and-bearing.html
+++ b/test/examples/set-pitch-and-bearing.html
@@ -3,6 +3,7 @@
Set pitch and bearing
+
diff --git a/test/examples/show-polygon-information-on-click.html b/test/examples/show-polygon-information-on-click.html
index 7edd83db08f..3a5def7d8ab 100644
--- a/test/examples/show-polygon-information-on-click.html
+++ b/test/examples/show-polygon-information-on-click.html
@@ -3,6 +3,7 @@
Show polygon information on click
+
diff --git a/test/examples/sky-fog-terrain.html b/test/examples/sky-fog-terrain.html
index b2c0457ca12..7a8f875bf73 100644
--- a/test/examples/sky-fog-terrain.html
+++ b/test/examples/sky-fog-terrain.html
@@ -3,6 +3,7 @@
Sky, Fog, Terrain
+
diff --git a/test/examples/slowly-fly-to-a-location.html b/test/examples/slowly-fly-to-a-location.html
index e126b682ac0..9a326020f90 100644
--- a/test/examples/slowly-fly-to-a-location.html
+++ b/test/examples/slowly-fly-to-a-location.html
@@ -3,6 +3,7 @@
Slowly fly to a location
+
diff --git a/test/examples/style-labels-with-local-fonts.html b/test/examples/style-labels-with-local-fonts.html
index 8e9a02a5f98..1fbc1eaa958 100644
--- a/test/examples/style-labels-with-local-fonts.html
+++ b/test/examples/style-labels-with-local-fonts.html
@@ -3,6 +3,7 @@
Style labels with local fonts
+
diff --git a/test/examples/style-labels-with-web-fonts.html b/test/examples/style-labels-with-web-fonts.html
index c76f3432511..153a9a83352 100644
--- a/test/examples/style-labels-with-web-fonts.html
+++ b/test/examples/style-labels-with-web-fonts.html
@@ -3,6 +3,7 @@
Style labels with Web fonts
+
diff --git a/test/examples/style-lines-with-a-data-driven-property.html b/test/examples/style-lines-with-a-data-driven-property.html
index e743c105d4e..92e9d6f5bc1 100644
--- a/test/examples/style-lines-with-a-data-driven-property.html
+++ b/test/examples/style-lines-with-a-data-driven-property.html
@@ -3,6 +3,7 @@
Style lines with a data-driven property
+
diff --git a/test/examples/sync-movement-of-multiple-maps.html b/test/examples/sync-movement-of-multiple-maps.html
index 3d1b2ca152f..cf0e67c7886 100644
--- a/test/examples/sync-movement-of-multiple-maps.html
+++ b/test/examples/sync-movement-of-multiple-maps.html
@@ -3,6 +3,7 @@
Sync movement of multiple maps
+
diff --git a/test/examples/toggle-deckgl-layer.html b/test/examples/toggle-deckgl-layer.html
index 454233b7339..9f991262939 100644
--- a/test/examples/toggle-deckgl-layer.html
+++ b/test/examples/toggle-deckgl-layer.html
@@ -3,6 +3,7 @@
Toggle deck.gl layer
+
diff --git a/test/examples/toggle-interactions.html b/test/examples/toggle-interactions.html
index 61939120a61..aa3cde5e833 100644
--- a/test/examples/toggle-interactions.html
+++ b/test/examples/toggle-interactions.html
@@ -3,6 +3,7 @@
Toggle interactions
+
diff --git a/test/examples/update-a-feature-in-realtime.html b/test/examples/update-a-feature-in-realtime.html
index e8eacb5e04e..b50a7fe3f05 100644
--- a/test/examples/update-a-feature-in-realtime.html
+++ b/test/examples/update-a-feature-in-realtime.html
@@ -3,6 +3,7 @@
Update a feature in realtime
+
diff --git a/test/examples/update-geojson-polygons.html b/test/examples/update-geojson-polygons.html
index 3ab4428bebd..d92819e9938 100644
--- a/test/examples/update-geojson-polygons.html
+++ b/test/examples/update-geojson-polygons.html
@@ -3,6 +3,7 @@
Update GeoJSON polygons
+
diff --git a/test/examples/use-a-fallback-image.html b/test/examples/use-a-fallback-image.html
index 30e371abd2e..441f4b134af 100644
--- a/test/examples/use-a-fallback-image.html
+++ b/test/examples/use-a-fallback-image.html
@@ -3,6 +3,7 @@
Use a fallback image
+
diff --git a/test/examples/use-addprotocol-to-transform-feature-properties.html b/test/examples/use-addprotocol-to-transform-feature-properties.html
index eef607218be..2c46e6d0922 100644
--- a/test/examples/use-addprotocol-to-transform-feature-properties.html
+++ b/test/examples/use-addprotocol-to-transform-feature-properties.html
@@ -3,6 +3,7 @@
Use addProtocol to Transform Feature Properties
+
diff --git a/test/examples/use-locally-generated-ideographs.html b/test/examples/use-locally-generated-ideographs.html
index a26901c098a..71fd0e0a8fb 100644
--- a/test/examples/use-locally-generated-ideographs.html
+++ b/test/examples/use-locally-generated-ideographs.html
@@ -3,6 +3,7 @@
Use locally generated ideographs
+
diff --git a/test/examples/variable-label-placement-with-offset.html b/test/examples/variable-label-placement-with-offset.html
index 275ffda8beb..87f9b7e5fef 100644
--- a/test/examples/variable-label-placement-with-offset.html
+++ b/test/examples/variable-label-placement-with-offset.html
@@ -3,6 +3,7 @@
Variable label placement with offset
+
diff --git a/test/examples/variable-label-placement.html b/test/examples/variable-label-placement.html
index e7dfe9a3add..e6a2252f168 100644
--- a/test/examples/variable-label-placement.html
+++ b/test/examples/variable-label-placement.html
@@ -3,6 +3,7 @@
Variable label placement
+
diff --git a/test/examples/view-a-fullscreen-map.html b/test/examples/view-a-fullscreen-map.html
index ef0b661f647..e7914c4061b 100644
--- a/test/examples/view-a-fullscreen-map.html
+++ b/test/examples/view-a-fullscreen-map.html
@@ -3,6 +3,7 @@
View a fullscreen map
+
diff --git a/test/examples/view-local-geojson-experimental.html b/test/examples/view-local-geojson-experimental.html
index 92a161e9f13..9e02f2e04ba 100644
--- a/test/examples/view-local-geojson-experimental.html
+++ b/test/examples/view-local-geojson-experimental.html
@@ -3,6 +3,7 @@
View local GeoJSON (experimental)
+
diff --git a/test/examples/view-local-geojson.html b/test/examples/view-local-geojson.html
index d01d58a197c..b5c92046ad4 100644
--- a/test/examples/view-local-geojson.html
+++ b/test/examples/view-local-geojson.html
@@ -3,6 +3,7 @@
View local GeoJSON
+
diff --git a/test/examples/visualize-population-density.html b/test/examples/visualize-population-density.html
index 8f1dca8f5cc..bc98a5afdfd 100644
--- a/test/examples/visualize-population-density.html
+++ b/test/examples/visualize-population-density.html
@@ -3,6 +3,7 @@
Visualize population density
+
diff --git a/test/examples/zoom-and-planet-size-relation-on-globe.html b/test/examples/zoom-and-planet-size-relation-on-globe.html
index 78b1343f97e..eaa78ddc782 100644
--- a/test/examples/zoom-and-planet-size-relation-on-globe.html
+++ b/test/examples/zoom-and-planet-size-relation-on-globe.html
@@ -3,6 +3,7 @@
Zoom and planet size relation on globe
+