Skip to content

Commit c7f6969

Browse files
committed
Replace @maps4html/mapml dependency with vendored dist folder
Remove the npm dependency on @maps4html/mapml and commit the dist folder directly. The dist folder will be kept in sync by the Maps4HTML/MapML.js project's CI, which pushes updates to downstream repos in the org on PR merge. - Remove @maps4html/mapml from package.json dependencies - Add dist/ folder from MapML.js (mapml.js, mapml-viewer.js, etc.) - Remove dist/ from .gitignore, add to .prettierignore - Update src/index.html script path to /dist/mapml.js - Add GitHub Pages deployment workflow (deploy.yml) - Set license to W3C
1 parent d313238 commit c7f6969

File tree

16 files changed

+406
-4
lines changed

16 files changed

+406
-4
lines changed

.github/workflows/deploy.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Deploy to GitHub Pages
2+
on:
3+
push:
4+
branches: [main]
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: read
9+
pages: write
10+
id-token: write
11+
12+
concurrency:
13+
group: pages
14+
cancel-in-progress: false
15+
16+
jobs:
17+
deploy:
18+
environment:
19+
name: github-pages
20+
url: ${{ steps.deployment.outputs.page_url }}
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Setup Pages
25+
uses: actions/configure-pages@v5
26+
- name: Upload artifact
27+
uses: actions/upload-pages-artifact@v3
28+
with:
29+
path: .
30+
- name: Deploy to GitHub Pages
31+
id: deployment
32+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
node_modules/
2-
dist/
32
.DS_Store
43
test-results/
54
playwright-report/

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
node_modules/
2+
dist/
23
.github/
34
*.json
45
*.css

dist/images/layers-2x.png

1.23 KB
Loading

dist/images/layers.png

696 Bytes
Loading

dist/images/marker-icon-2x.png

2.41 KB
Loading

dist/images/marker-icon.png

1.43 KB
Loading

dist/images/marker-shadow.png

618 Bytes
Loading

dist/index.html

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width,initial-scale=1">
6+
<title>index-map.html</title>
7+
<script type="module" src="./mapml.js"></script>
8+
<style>
9+
html,
10+
body {
11+
height: 100%;
12+
}
13+
* {
14+
margin: 0;
15+
padding: 0;
16+
}
17+
18+
/* Specifying the `:defined` selector is recommended to style the map
19+
element, such that styles don't apply when fallback content is in use
20+
(e.g. when scripting is disabled or when custom/built-in elements isn't
21+
supported in the browser). */
22+
mapml-viewer:defined {
23+
/* Responsive map. */
24+
max-width: 100%;
25+
26+
/* Full viewport. */
27+
width: 100%;
28+
height: 50%;
29+
30+
/* Remove default (native-like) border. */
31+
border: none;
32+
33+
vertical-align: middle;
34+
}
35+
36+
/* Pre-style to avoid FOUC of inline map-layer and fallback content. */
37+
mapml-viewer:not(:defined) > * {
38+
display: none;
39+
}
40+
41+
/* Pre-style to avoid Layout Shift. */
42+
mapml-viewer:not(:defined) {
43+
display: inline-block;
44+
contain: size;
45+
contain-intrinsic-size: 304px 154px;
46+
}
47+
48+
/* Specifying the `:defined` selector is recommended to style the map
49+
element, such that styles don't apply when fallback content is in use
50+
(e.g. when scripting is disabled or when custom/built-in elements isn't
51+
supported in the browser). */
52+
map[is="web-map"]:defined {
53+
/* Responsive map. */
54+
max-width: 100%;
55+
56+
/* Full viewport. */
57+
width: 100%;
58+
height: 50%;
59+
60+
/* Remove default (native-like) border. */
61+
border: none;
62+
63+
vertical-align: middle;
64+
}
65+
66+
/* Pre-style to avoid Layout Shift. */
67+
map[is="web-map"]:not(:defined) {
68+
display: inline-block;
69+
contain: size;
70+
contain-intrinsic-size: 304px 154px;
71+
}
72+
73+
/* Pre-style to avoid FOUC of inline map-layer and fallback content. */
74+
map[is="web-map"]:not(:defined) + img[usemap],
75+
map[is="web-map"]:not(:defined) > :not(area):not(.mapml-web-map) {
76+
display: none;
77+
}
78+
79+
/* Ensure inline layer content is hidden if custom/built-in elements isn't
80+
supported, or if javascript is disabled. This needs to be defined separately
81+
from the above, because the `:not(:defined)` selector invalidates the entire
82+
declaration in browsers that do not support it. */
83+
map-layer {
84+
display: none;
85+
}
86+
</style>
87+
<noscript>
88+
<style>
89+
/* Ensure fallback content (children of the map element) is displayed if
90+
custom/built-in elements is supported but javascript is disabled. */
91+
mapml-viewer:not(:defined) > :not(map-layer) {
92+
display: initial;
93+
}
94+
95+
/* "Reset" the properties used to pre-style (to avoid Layout Shift) if
96+
custom/built-in elements is supported but javascript is disabled. */
97+
mapml-viewer:not(:defined) {
98+
display: initial;
99+
contain: initial;
100+
contain-intrinsic-size: initial;
101+
}
102+
/* Ensure client-side image map fallbacks are displayed if custom/built-in
103+
elements is supported but javascript is disabled. */
104+
map[is="web-map"]:not(:defined) + img[usemap] {
105+
display: initial;
106+
}
107+
108+
/* "Reset" the properties used to pre-style (to avoid Layout Shift) if
109+
custom/built-in elements is supported but javascript is disabled. */
110+
map[is="web-map"]:not(:defined) {
111+
display: initial;
112+
contain: initial;
113+
contain-intrinsic-size: initial;
114+
}
115+
</style>
116+
</noscript>
117+
</head>
118+
<body>
119+
120+
<mapml-viewer projection="OSMTILE" zoom="14" lat="45.406314" lon="-75.6883335" controls controlslist="geolocation">
121+
<map-layer data-testid="osm-layer" label="OpenStreetMap" checked >
122+
<map-link rel="license" title="© OpenStreetMap contributors CC BY-SA" href="https://www.openstreetmap.org/copyright"></map-link>
123+
<map-extent units="OSMTILE" checked="checked">
124+
<map-input name="z" type="zoom" value="18" min="0" max="18"></map-input>
125+
<map-input name="x" type="location" units="tilematrix" axis="column" min="0" max="262144"></map-input>
126+
<map-input name="y" type="location" units="tilematrix" axis="row" min="0" max="262144"></map-input>
127+
<map-link rel="tile" tref="https://tile.openstreetmap.org/{z}/{x}/{y}.png"></map-link>
128+
</map-extent>
129+
</map-layer>
130+
<map-layer label="Restaurants" checked="">
131+
<map-meta name="extent" content="top-left-easting=-8433179, top-left-northing=5689316, bottom-right-easting=-8420968, bottom-right-northing=5683139"></map-meta>
132+
<map-extent units="OSMTILE" checked="">
133+
<map-select id="restaurants" name="cusine">
134+
<map-option value="restaurants" selected="selected">All cuisines</map-option>
135+
<map-option value="african">African</map-option>
136+
<map-option value="asian">Asian</map-option>
137+
<map-option value="cajun">Cajun</map-option>
138+
<map-option value="indian">Indian</map-option>
139+
<map-option value="italian">Italian</map-option>
140+
<map-option value="mexican">Mexican</map-option>
141+
</map-select>
142+
<map-link media="(11 < map-zoom <= 18)" tref="https://maps4html.org/experiments/shared/restaurants/{cusine}.mapml" rel="features"></map-link>
143+
</map-extent>
144+
</map-layer>
145+
</mapml-viewer>
146+
<map is="web-map" projection="OSMTILE" zoom="14" lat="45.406314" lon="-75.6883335" controls controlslist="geolocation">
147+
<map-layer data-testid="osm-layer" label="OpenStreetMap" checked >
148+
<map-link rel="license" title="© OpenStreetMap contributors CC BY-SA" href="https://www.openstreetmap.org/copyright"></map-link>
149+
<map-extent units="OSMTILE" checked="checked">
150+
<map-input name="z" type="zoom" value="18" min="0" max="18"></map-input>
151+
<map-input name="x" type="location" units="tilematrix" axis="column" min="0" max="262144"></map-input>
152+
<map-input name="y" type="location" units="tilematrix" axis="row" min="0" max="262144"></map-input>
153+
<map-link rel="tile" tref="https://tile.openstreetmap.org/{z}/{x}/{y}.png"></map-link>
154+
</map-extent>
155+
</map-layer>
156+
<map-layer label="Restaurants" checked="">
157+
<map-meta name="extent" content="top-left-easting=-8433179, top-left-northing=5689316, bottom-right-easting=-8420968, bottom-right-northing=5683139"></map-meta>
158+
<map-extent units="OSMTILE" checked="">
159+
<map-select id="restaurants" name="cusine">
160+
<map-option value="restaurants" selected="selected">All cuisines</map-option>
161+
<map-option value="african">African</map-option>
162+
<map-option value="asian">Asian</map-option>
163+
<map-option value="cajun">Cajun</map-option>
164+
<map-option value="indian">Indian</map-option>
165+
<map-option value="italian">Italian</map-option>
166+
<map-option value="mexican">Mexican</map-option>
167+
</map-select>
168+
<map-link tref="https://maps4html.org/experiments/shared/restaurants/{cusine}.mapml" rel="features"></map-link>
169+
</map-extent>
170+
</map-layer>
171+
</map>
172+
</body>
173+
</html>

dist/mapml-viewer.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)