|
15 | 15 |
|
16 | 16 | %meta{ name: 'description', content: (content_for?(:title) ? yield(:title) : '') + " - Create individual maps for your places, tracks and events. Share your maps in real-time." } |
17 | 17 | %meta{ name: 'keywords', content: 'map maker, create map, my maps, share maps, online maps, travel maps, map editor, geojson, maplibre, openstreetmap, privacy, open source, free to use' } |
18 | | - |
| 18 | +
|
19 | 19 | - # Open Graph protocol https://ogp.me/ |
20 | 20 | %meta{ property: 'og:type', content: 'website' } |
21 | 21 | %meta{ property: 'og:url', content: request.url } |
|
31 | 31 | / Logo font |
32 | 32 | %link{ href: "https://fonts.googleapis.com", rel: "preconnect" } |
33 | 33 | %link{ href: "https://fonts.gstatic.com", rel: "preconnect", crossorigin: true } |
34 | | - = stylesheet_link_tag("https://fonts.googleapis.com/css2?family=Lobster+Two:ital,wght@0,400;1,400;1,700&family=Noto+Color+Emoji&family=SUSE:ital,wght@0,100..900;1,100..900&display=swap") |
| 34 | +
|
| 35 | + :ruby |
| 36 | + google_fonts_url = "https://fonts.googleapis.com/css2?" \ |
| 37 | + "family=Lobster+Two:ital,wght@0,400;1,400;1,700&" \ |
| 38 | + "family=Noto+Color+Emoji&" \ |
| 39 | + "family=SUSE:ital,wght@0,100..900;1,100..900&" \ |
| 40 | + "family=DM+Serif+Display:ital@0;1&" \ |
| 41 | + "family=Bree+Serif&" \ |
| 42 | + "family=Sora:wght@100..800&" \ |
| 43 | + "family=Playfair+Display:ital,wght@0,400..900;1,400..900&" \ |
| 44 | + "family=Comfortaa:wght@300..700&" \ |
| 45 | + "family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&" \ |
| 46 | + "family=Cinzel:wght@400..900&" \ |
| 47 | + "display=swap" |
| 48 | + = stylesheet_link_tag google_fonts_url |
35 | 49 |
|
36 | 50 | / css |
37 | 51 | = stylesheet_link_tag "https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" |
38 | 52 | - # maptiler-sdk.css includes maplibre-gl css and looks better |
39 | 53 | - # needs to get loaded before application.css |
| 54 | + /- # from https://unpkg.com/maplibre-gl@5.20.0/dist/maplibre-gl.css |
40 | 55 | = stylesheet_link_tag "maptiler-sdk", "data-turbo-track": "reload" |
| 56 | + /= stylesheet_link_tag "maplibre-gl", "data-turbo-track": "reload" |
| 57 | +
|
41 | 58 | = stylesheet_link_tag "application", "data-turbo-track": "reload" |
42 | 59 |
|
43 | 60 | - # JS imports, SRI integrity hashes from https://www.srihash.org/ |
44 | 61 | - # ES Module Shims: Import maps polyfill for older browsers without import maps support (eg Safari 16.3) |
45 | | - = javascript_include_tag( "https://ga.jspm.io/npm:es-module-shims@1.8.2/dist/es-module-shims.js", |
46 | | - async: true, 'data-turbo-track': 'reload', |
| 62 | + = javascript_include_tag( "https://ga.jspm.io/npm:es-module-shims@1.8.2/dist/es-module-shims.js", |
| 63 | + async: true, 'data-turbo-track': 'reload', |
47 | 64 | integrity: "sha384-+dzlBT6NPToF0UZu7ZUA6ehxHY8h/TxJOZxzNXKhFD+5He5Hbex+0AIOiSsEaokw", crossorigin: "anonymous") |
48 | 65 | = javascript_importmap_tags |
49 | 66 |
|
|
57 | 74 | = yield(:head) |
58 | 75 |
|
59 | 76 | %link{ rel: "manifest", href: "/manifest.json" } |
60 | | - %link{ rel: "icon", href: "/icons/mapforge-logo-icon.png", type: "image/png" } |
61 | | - %link{ rel: "apple-touch-icon", href: "/icons/mapforge-logo-pwa.png" } |
| 77 | + %link{ rel: "icon", sizes: "50x50", href: "/icons/mapforge-logo-icon.png", type: "image/png" } |
| 78 | + %link{ rel: "apple-touch-icon", sizes: "512x512", href: "/icons/mapforge-logo-pwa.png" } |
| 79 | + %link{ rel: "apple-touch-icon", sizes: "180x180", href: "/icons/mapforge-logo-pwa-180.png" } |
| 80 | +
|
62 | 81 |
|
63 | 82 | - if content_for?(:alternate_md_url) |
64 | 83 | %link{ rel: "alternate", type: "text/markdown", title: "Markdown", href: yield(:alternate_md_url) } |
|
0 commit comments