forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			49 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import {Utils} from "../Utils"; | ||
|  | Utils.runningFromConsole = true; | ||
|  | import {writeFile} from "fs"; | ||
|  | import LayoutConfig from "../Customizations/JSON/LayoutConfig"; | ||
|  | import Translations from "../UI/i18n/Translations"; | ||
|  | import {AllKnownLayouts} from "../Customizations/AllKnownLayouts"; | ||
|  | 
 | ||
|  | 
 | ||
|  | function generateWikiEntry(layout: LayoutConfig) { | ||
|  |     if (layout.hideFromOverview) { | ||
|  |         return ""; | ||
|  |     } | ||
|  |     const languages = layout.language.map(ln => `{{#language:${ln}|en}}`).join(", ") | ||
|  |     let auth = "Yes"; | ||
|  |     if (layout.maintainer !== "" && layout.maintainer !== "MapComplete") { | ||
|  |         auth = `Yes, by ${layout.maintainer};` | ||
|  |     } | ||
|  |     return `{{service_item
 | ||
|  | |name= [https://mapcomplete.osm.be/${layout.id} ${layout.id}]
 | ||
|  | |region= Worldwide | ||
|  | |lang= ${languages} | ||
|  | |descr= A MapComplete theme: ${Translations.W(layout.description) | ||
|  |         .InnerRender() | ||
|  |         .replace("<a href='", "[[") | ||
|  |         .replace(/'>.*<\/a>/, "]]") | ||
|  |     } | ||
|  | |material= {{yes|[https://mapcomplete.osm.be/ ${auth}]}}
 | ||
|  | |image= MapComplete_Screenshot.png | ||
|  | |genre= POI, editor, ${layout.id} | ||
|  | }}`
 | ||
|  | } | ||
|  | let wikiPage = "{|class=\"wikitable sortable\"\n" + | ||
|  |     "! Name, link !! Genre !! Covered region !! Language !! Description !! Free materials !! Image\n" + | ||
|  |     "|-"; | ||
|  | 
 | ||
|  | for (const layout of AllKnownLayouts.layoutsList) { | ||
|  |     if(layout.hideFromOverview){ | ||
|  |         continue; | ||
|  |     } | ||
|  |     wikiPage += "\n" + generateWikiEntry(layout); | ||
|  | } | ||
|  | 
 | ||
|  | wikiPage += "\n|}" | ||
|  | 
 | ||
|  | writeFile("Docs/wikiIndex.txt", wikiPage, (err) => { | ||
|  |     if (err !== null) { | ||
|  |         console.log("Could not save wikiindex", err); | ||
|  |     } | ||
|  | }); |