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 changesetMessage: string;
|
||||
public socialImage: string = "";
|
||||
/**
|
||||
* Custom CSS link
|
||||
*/
|
||||
public customCss: string = undefined;
|
||||
|
||||
public layers: (LayerDefinition | string)[];
|
||||
public welcomeMessage: UIElement;
|
||||
|
|
2
State.ts
2
State.ts
|
@ -23,7 +23,7 @@ export default class State {
|
|||
// The singleton of the global 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
|
||||
public static userJourney = {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"fr"
|
||||
],
|
||||
"maintainer": "",
|
||||
"icon": "https://upload.wikimedia.org/wikipedia/commons/5/55/French_fries_juliane_kr_r.svg",
|
||||
"icon": "./assets/themes/fritures/fries.svg",
|
||||
"version": "0",
|
||||
"startLat": 0,
|
||||
"startLon": 0,
|
||||
|
@ -224,7 +224,7 @@
|
|||
}
|
||||
],
|
||||
"icon": {
|
||||
"render": "https://upload.wikimedia.org/wikipedia/commons/5/55/French_fries_juliane_kr_r.svg"
|
||||
"render": "./assets/themes/fritures/fries.svg"
|
||||
},
|
||||
"width": {
|
||||
"render": "8"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import {UIElement} from "./UI/UIElement";
|
||||
// We HAVE to mark this while importing
|
||||
UIElement.runningFromConsole = true;
|
||||
|
||||
import {AllKnownLayouts} from "./Customizations/AllKnownLayouts";
|
||||
import {Layout} from "./Customizations/Layout";
|
||||
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 ogImage = layout.socialImage;
|
||||
|
||||
let customCss = "";
|
||||
if (layout.customCss !== undefined && layout.customCss !== "") {
|
||||
customCss = `<link rel='stylesheet" href=${layout.customCss}"/>`
|
||||
}
|
||||
|
||||
const og = `
|
||||
<meta property="og:image" content="${ogImage ?? './assets/add.svg'}">
|
||||
<meta property="og:title" content="${ogTitle}">
|
||||
|
@ -214,6 +220,9 @@ function createLandingPage(layout: Layout) {
|
|||
let output = template
|
||||
.replace(`./manifest.manifest`, `./${enc(layout.id)}.webmanifest`)
|
||||
.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">`,
|
||||
`<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/mobile.css"/>
|
||||
<link rel="stylesheet" href="./css/openinghourstable.css"/>
|
||||
<!-- $$$CUSTOM-CSS -->
|
||||
<link rel="manifest" href="./manifest.manifest">
|
||||
<link rel="icon" href="assets/add.svg" sizes="any" type="image/svg+xml">
|
||||
|
||||
|
|
Loading…
Reference in a new issue