forked from MapComplete/MapComplete
		
	Add support for png icons
This commit is contained in:
		
							parent
							
								
									bf0924a699
								
							
						
					
					
						commit
						d7cb06445b
					
				
					 1 changed files with 19 additions and 11 deletions
				
			
		|  | @ -1,5 +1,6 @@ | ||||||
| // We HAVE to mark this while importing
 | // We HAVE to mark this while importing
 | ||||||
| import {Utils} from "../Utils"; | import {Utils} from "../Utils"; | ||||||
|  | 
 | ||||||
| Utils.runningFromConsole = true; | Utils.runningFromConsole = true; | ||||||
| 
 | 
 | ||||||
| import LayoutConfig from "../Customizations/JSON/LayoutConfig"; | import LayoutConfig from "../Customizations/JSON/LayoutConfig"; | ||||||
|  | @ -10,6 +11,7 @@ import {Translation} from "../UI/i18n/Translation"; | ||||||
| import Constants from "../Models/Constants"; | import Constants from "../Models/Constants"; | ||||||
| import * as all_known_layouts from "../assets/generated/known_layers_and_themes.json" | import * as all_known_layouts from "../assets/generated/known_layers_and_themes.json" | ||||||
| import {LayoutConfigJson} from "../Customizations/JSON/LayoutConfigJson"; | import {LayoutConfigJson} from "../Customizations/JSON/LayoutConfigJson"; | ||||||
|  | 
 | ||||||
| const sharp = require('sharp'); | const sharp = require('sharp'); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -84,6 +86,12 @@ async function createManifest(layout: LayoutConfig) { | ||||||
|             sizes: "513x513", |             sizes: "513x513", | ||||||
|             type: "image/svg" |             type: "image/svg" | ||||||
|         }) |         }) | ||||||
|  |     } else if (icon.endsWith(".png")) { | ||||||
|  |         icons.push({ | ||||||
|  |             src: icon, | ||||||
|  |             sizes: "513x513", | ||||||
|  |             type: "image/svg" | ||||||
|  |         }) | ||||||
|     } else { |     } else { | ||||||
|         console.log(icon) |         console.log(icon) | ||||||
|         throw "Icon is not an svg for " + layout.id |         throw "Icon is not an svg for " + layout.id | ||||||
|  | @ -138,7 +146,7 @@ async function createLandingPage(layout: LayoutConfig, manifest) { | ||||||
| 
 | 
 | ||||||
|     const apple_icons = [] |     const apple_icons = [] | ||||||
|     for (const icon of manifest.icons) { |     for (const icon of manifest.icons) { | ||||||
|         if(icon.type !== "image/png"){ |         if (icon.type !== "image/png") { | ||||||
|             continue; |             continue; | ||||||
|         } |         } | ||||||
|         apple_icons.push(`<link rel="apple-touch-icon" sizes="${icon.sizes}" href="${icon.src}">`) |         apple_icons.push(`<link rel="apple-touch-icon" sizes="${icon.sizes}" href="${icon.src}">`) | ||||||
|  | @ -176,9 +184,9 @@ if (!existsSync(generatedDir)) { | ||||||
| 
 | 
 | ||||||
| const blacklist = ["", "test", ".", "..", "manifest", "index", "land", "preferences", "account", "openstreetmap", "custom"] | const blacklist = ["", "test", ".", "..", "manifest", "index", "land", "preferences", "account", "openstreetmap", "custom"] | ||||||
| // @ts-ignore
 | // @ts-ignore
 | ||||||
| const all : LayoutConfigJson[] = all_known_layouts.themes; | const all: LayoutConfigJson[] = all_known_layouts.themes; | ||||||
| for (const i in all) { | for (const i in all) { | ||||||
|     const layoutConfigJson : LayoutConfigJson = all[i] |     const layoutConfigJson: LayoutConfigJson = all[i] | ||||||
|     const layout = new LayoutConfig(layoutConfigJson, true, "generating layouts") |     const layout = new LayoutConfig(layoutConfigJson, true, "generating layouts") | ||||||
|     const layoutName = layout.id |     const layoutName = layout.id | ||||||
|     if (blacklist.indexOf(layoutName.toLowerCase()) >= 0) { |     if (blacklist.indexOf(layoutName.toLowerCase()) >= 0) { | ||||||
|  | @ -199,7 +207,7 @@ for (const i in all) { | ||||||
|         createLandingPage(layout, manifObj).then(landing => { |         createLandingPage(layout, manifObj).then(landing => { | ||||||
|             writeFile(enc(layout.id) + ".html", landing, err) |             writeFile(enc(layout.id) + ".html", landing, err) | ||||||
|         }); |         }); | ||||||
|     }) |     }).catch(e => console.log("Could not generate the manifest: ", e)) | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -212,9 +220,9 @@ createManifest(new LayoutConfig({ | ||||||
|     startLat: 0, |     startLat: 0, | ||||||
|     startLon: 0, |     startLon: 0, | ||||||
|     startZoom: 0, |     startZoom: 0, | ||||||
|     title: {en:"MapComplete"}, |     title: {en: "MapComplete"}, | ||||||
|     version: Constants.vNumber, |     version: Constants.vNumber, | ||||||
|     description: {en:"A thematic map viewer and editor based on OpenStreetMap"} |     description: {en: "A thematic map viewer and editor based on OpenStreetMap"} | ||||||
| })).then(manifObj => { | })).then(manifObj => { | ||||||
|     const manif = JSON.stringify(manifObj, undefined, 2); |     const manif = JSON.stringify(manifObj, undefined, 2); | ||||||
|     writeFileSync("index.manifest", manif) |     writeFileSync("index.manifest", manif) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue