forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { writeFile } from "fs"
 | |
| import Translations from "../UI/i18n/Translations"
 | |
| import * as themeOverview from "../assets/generated/theme_overview.json"
 | |
| 
 | |
| function generateWikiEntry(layout: {
 | |
|     hideFromOverview: boolean
 | |
|     id: string
 | |
|     shortDescription: any
 | |
| }) {
 | |
|     if (layout.hideFromOverview) {
 | |
|         return ""
 | |
|     }
 | |
| 
 | |
|     const languagesInDescr = []
 | |
|     for (const shortDescriptionKey in layout.shortDescription) {
 | |
|         languagesInDescr.push(shortDescriptionKey)
 | |
|     }
 | |
| 
 | |
|     const languages = languagesInDescr.map((ln) => `{{#language:${ln}|en}}`).join(", ")
 | |
|     let auth = "Yes"
 | |
|     return `{{service_item
 | |
| |name= [https://mapcomplete.osm.be/${layout.id} ${layout.id}]
 | |
| |region= Worldwide
 | |
| |lang= ${languages}
 | |
| |descr= A MapComplete theme: ${Translations.T(layout.shortDescription)
 | |
|         .textFor("en")
 | |
|         .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 themeOverview) {
 | |
|     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)
 | |
|     }
 | |
| })
 |