diff --git a/commands/export.ts b/commands/export.ts new file mode 100644 index 0000000..84ce41e --- /dev/null +++ b/commands/export.ts @@ -0,0 +1,30 @@ +import fs from "fs"; + +const files = ["Wien", "Burgenland", "Kärnten", "Niederösterreich", "Oberösterreich", "Salzburg", "Steiermark", "Tirol", "Vorarlberg"] + +const now = new Date() +let count = 0 +const data = {} +files.forEach(f => { + // @ts-ignore + data[f] = JSON.parse(fs.readFileSync(`../data/${f}.json`, 'utf8')) + // @ts-ignore + count += data[f].length + +}) + + +const exportData = {} +// @ts-ignore +exportData["meta"] = { + "exported_at": now.toISOString(), + "license": "CC BY-SA 4.0", + "source": "https://github.com/Findus23/RainbowRoad/tree/main/data", + "num_crossings": count +} +// @ts-ignore +exportData["data"] = data + + +fs.writeFileSync("../dist/data.json", JSON.stringify(exportData, null, 2).concat('\n')) + diff --git a/src/info.ts b/src/info.ts index cf8f323..43f79dd 100644 --- a/src/info.ts +++ b/src/info.ts @@ -56,6 +56,11 @@ export function setOverlay(): void { "github.com/Findus23/RainbowRoad", "https://github.com/Findus23/RainbowRoad" )) + content.appendChild(dlSet( + "Daten-Export:", + "/data.json", + "/data.json" + )) const dl = createElement("dl") dl.appendChild(createElementWithContent("dt", "Lizenz:")) const dd = createElementWithContent("dd", "GPL-3 (Code), CC BY-SA 4.0 (Daten)")