| 
									
										
										
										
											2020-07-31 17:38:03 +02:00
										 |  |  | import {TagRenderingOptions} from "../TagRenderingOptions"; | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export class WikipediaLink extends TagRenderingOptions { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     private static FixLink(value: string): string { | 
					
						
							| 
									
										
										
										
											2020-07-17 17:21:07 +02:00
										 |  |  |         if (value === undefined) { | 
					
						
							|  |  |  |             return undefined; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |         // @ts-ignore
 | 
					
						
							|  |  |  |         if (value.startsWith("https")) { | 
					
						
							|  |  |  |             return value; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             const splitted = value.split(":"); | 
					
						
							|  |  |  |             const language = splitted[0]; | 
					
						
							|  |  |  |             splitted.shift(); | 
					
						
							|  |  |  |             const page = splitted.join(":"); | 
					
						
							|  |  |  |             return 'https://' + language + '.wikipedia.org/wiki/' + page; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     static options = { | 
					
						
							|  |  |  |         priority: 10, | 
					
						
							|  |  |  |         // question: "Wat is het overeenstemmende wkipedia-artikel?",
 | 
					
						
							| 
									
										
										
										
											2020-07-17 17:21:07 +02:00
										 |  |  |         tagsPreprocessor: (tags) => { | 
					
						
							|  |  |  |             if (tags.wikipedia !== undefined) { | 
					
						
							|  |  |  |                 tags.wikipedia = WikipediaLink.FixLink(tags.wikipedia); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |         freeform: { | 
					
						
							|  |  |  |             key: "wikipedia", | 
					
						
							|  |  |  |             template: "$$$", | 
					
						
							|  |  |  |             renderTemplate: | 
					
						
							|  |  |  |                 "<span class='wikipedialink'>" + | 
					
						
							|  |  |  |                 "<a href='{wikipedia}' target='_blank'>" + | 
					
						
							|  |  |  |                 "<img width='64px' src='./assets/wikipedia.svg' alt='wikipedia'>" + | 
					
						
							|  |  |  |                 "</a></span>", | 
					
						
							| 
									
										
										
										
											2020-07-17 17:21:07 +02:00
										 |  |  |             placeholder: "" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     constructor() { | 
					
						
							|  |  |  |         super(WikipediaLink.options); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |