forked from MapComplete/MapComplete
		
	Small improvements to 'createLayouts'-script
This commit is contained in:
		
							parent
							
								
									b9cd30cb1f
								
							
						
					
					
						commit
						f81de078f7
					
				
					 5 changed files with 17 additions and 3 deletions
				
			
		|  | @ -18,6 +18,10 @@ export class Layout { | ||||||
|     public description: string | UIElement; |     public description: string | UIElement; | ||||||
|     public changesetMessage: string; |     public changesetMessage: string; | ||||||
|     public socialImage: string = ""; |     public socialImage: string = ""; | ||||||
|  |     /** | ||||||
|  |      * Custom CSS link | ||||||
|  |      */ | ||||||
|  |     public customCss: string = undefined; | ||||||
|      |      | ||||||
|     public layers: (LayerDefinition | string)[]; |     public layers: (LayerDefinition | string)[]; | ||||||
|     public welcomeMessage: UIElement; |     public welcomeMessage: UIElement; | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								State.ts
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								State.ts
									
										
									
									
									
								
							|  | @ -23,7 +23,7 @@ export default class State { | ||||||
|     // The singleton of the global state
 |     // The singleton of the global state
 | ||||||
|     public static state: State; |     public static state: State; | ||||||
|      |      | ||||||
|     public static vNumber = "0.1.0g"; |     public static vNumber = "0.1.1"; | ||||||
|      |      | ||||||
|     // The user journey states thresholds when a new feature gets unlocked
 |     // The user journey states thresholds when a new feature gets unlocked
 | ||||||
|     public static userJourney = { |     public static userJourney = { | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ | ||||||
|     "fr" |     "fr" | ||||||
|   ], |   ], | ||||||
|   "maintainer": "", |   "maintainer": "", | ||||||
|   "icon": "https://upload.wikimedia.org/wikipedia/commons/5/55/French_fries_juliane_kr_r.svg", |   "icon": "./assets/themes/fritures/fries.svg", | ||||||
|   "version": "0", |   "version": "0", | ||||||
|   "startLat": 0, |   "startLat": 0, | ||||||
|   "startLon": 0, |   "startLon": 0, | ||||||
|  | @ -224,7 +224,7 @@ | ||||||
|         } |         } | ||||||
|       ], |       ], | ||||||
|       "icon": { |       "icon": { | ||||||
|         "render": "https://upload.wikimedia.org/wikipedia/commons/5/55/French_fries_juliane_kr_r.svg" |         "render": "./assets/themes/fritures/fries.svg" | ||||||
|       }, |       }, | ||||||
|       "width": { |       "width": { | ||||||
|         "render": "8" |         "render": "8" | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| import {UIElement} from "./UI/UIElement"; | import {UIElement} from "./UI/UIElement"; | ||||||
| // We HAVE to mark this while importing
 | // We HAVE to mark this while importing
 | ||||||
| UIElement.runningFromConsole = true; | UIElement.runningFromConsole = true; | ||||||
|  | 
 | ||||||
| import {AllKnownLayouts} from "./Customizations/AllKnownLayouts"; | import {AllKnownLayouts} from "./Customizations/AllKnownLayouts"; | ||||||
| import {Layout} from "./Customizations/Layout"; | import {Layout} from "./Customizations/Layout"; | ||||||
| import {readFileSync, writeFile, writeFileSync} from "fs"; | import {readFileSync, writeFile, writeFileSync} from "fs"; | ||||||
|  | @ -206,6 +207,11 @@ function createLandingPage(layout: Layout) { | ||||||
|     const ogDescr = Translations.W(layout.description ?? "Easily add and edit geodata with OpenStreetMap")?.InnerRender(); |     const ogDescr = Translations.W(layout.description ?? "Easily add and edit geodata with OpenStreetMap")?.InnerRender(); | ||||||
|     const ogImage = layout.socialImage; |     const ogImage = layout.socialImage; | ||||||
| 
 | 
 | ||||||
|  |     let customCss = ""; | ||||||
|  |     if (layout.customCss !== undefined && layout.customCss !== "") { | ||||||
|  |         customCss = `<link rel='stylesheet" href=${layout.customCss}"/>` | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     const og = ` |     const og = ` | ||||||
|     <meta property="og:image" content="${ogImage ?? './assets/add.svg'}"> |     <meta property="og:image" content="${ogImage ?? './assets/add.svg'}"> | ||||||
|     <meta property="og:title" content="${ogTitle}"> |     <meta property="og:title" content="${ogTitle}"> | ||||||
|  | @ -214,6 +220,9 @@ function createLandingPage(layout: Layout) { | ||||||
|     let output = template |     let output = template | ||||||
|         .replace(`./manifest.manifest`, `./${enc(layout.id)}.webmanifest`) |         .replace(`./manifest.manifest`, `./${enc(layout.id)}.webmanifest`) | ||||||
|         .replace("<!-- $$$OG-META -->", og) |         .replace("<!-- $$$OG-META -->", og) | ||||||
|  |         .replace(/<title>.+?<\/title>/, `<title>${ogTitle}</title>`) | ||||||
|  |         .replace("Loading MapComplete, hang on...", `Loading MapComplete theme <i>${ogTitle}</i>...`) | ||||||
|  |         .replace("<!-- $$$CUSTOM-CSS -->", customCss) | ||||||
|         .replace(`<link rel="icon" href="assets/add.svg" sizes="any" type="image/svg+xml">`, |         .replace(`<link rel="icon" href="assets/add.svg" sizes="any" type="image/svg+xml">`, | ||||||
|             `<link rel="icon" href="${layout.icon}" sizes="any" type="image/svg+xml">`); |             `<link rel="icon" href="${layout.icon}" sizes="any" type="image/svg+xml">`); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -12,6 +12,7 @@ | ||||||
|     <link rel="stylesheet" href="./css/slideshow.css"/> |     <link rel="stylesheet" href="./css/slideshow.css"/> | ||||||
|     <link rel="stylesheet" href="./css/mobile.css"/> |     <link rel="stylesheet" href="./css/mobile.css"/> | ||||||
|     <link rel="stylesheet" href="./css/openinghourstable.css"/> |     <link rel="stylesheet" href="./css/openinghourstable.css"/> | ||||||
|  |     <!-- $$$CUSTOM-CSS --> | ||||||
|     <link rel="manifest" href="./manifest.manifest"> |     <link rel="manifest" href="./manifest.manifest"> | ||||||
|     <link rel="icon" href="assets/add.svg" sizes="any" type="image/svg+xml"> |     <link rel="icon" href="assets/add.svg" sizes="any" type="image/svg+xml"> | ||||||
|      |      | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue