| 
									
										
										
										
											2021-03-16 14:14:59 +01:00
										 |  |  | import {Utils} from "../Utils"; | 
					
						
							|  |  |  | Utils.runningFromConsole = true; | 
					
						
							|  |  |  | import {writeFile} from "fs"; | 
					
						
							|  |  |  | import Translations from "../UI/i18n/Translations"; | 
					
						
							|  |  |  | import {AllKnownLayouts} from "../Customizations/AllKnownLayouts"; | 
					
						
							| 
									
										
										
										
											2021-08-07 23:11:34 +02:00
										 |  |  | import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; | 
					
						
							| 
									
										
										
										
											2021-03-16 14:14:59 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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) | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  |         .InnerRenderAsString() | 
					
						
							| 
									
										
										
										
											2021-03-16 14:14:59 +01:00
										 |  |  |         .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); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | }); |