Merge pull request #328 from pietervdvn/develop
Last changes to the speelplekken theme
							
								
								
									
										55
									
								
								.github/workflows/deploy_pietervdvn.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
name: Deployment on pietervdvn
 | 
			
		||||
on:
 | 
			
		||||
  push
 | 
			
		||||
      
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
      
 | 
			
		||||
      - name: Set up Node.js
 | 
			
		||||
        uses: actions/setup-node@v1.2.0
 | 
			
		||||
        with:
 | 
			
		||||
            node-version: '15'
 | 
			
		||||
        env:
 | 
			
		||||
            ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
 | 
			
		||||
          
 | 
			
		||||
      - name: install deps
 | 
			
		||||
        run: npm ci
 | 
			
		||||
          
 | 
			
		||||
      - name: create generated dir
 | 
			
		||||
        run: mkdir ./assets/generated
 | 
			
		||||
 | 
			
		||||
      - name: create stub themes
 | 
			
		||||
        run: "echo '{\"layers\": [], \"themes\": []}' > ./assets/generated/known_layers_and_themes.json"
 | 
			
		||||
  
 | 
			
		||||
      - name: Prepare deploy
 | 
			
		||||
        run: npm run prepare-deploy
 | 
			
		||||
        
 | 
			
		||||
      - name: Clone deployment repo
 | 
			
		||||
        env:
 | 
			
		||||
          DEPLOY_KEY_PIETERVDVN: ${{ secrets.DEPLOY_KEY_PIETERVDVN }}
 | 
			
		||||
        run: | 
 | 
			
		||||
          echo "Cloning destination repo"
 | 
			
		||||
          git config --global user.email "pietervdvn@posteo.net"
 | 
			
		||||
          git config --global user.name "pietervdvn"
 | 
			
		||||
          git clone --depth 1 --single-branch --branch master "https://x-access-token:$DEPLOY_KEY_PIETERVDVN@github.com/pietervdvn/pietervdvn.github.io.git"
 | 
			
		||||
          echo "Destination repo is cloned"
 | 
			
		||||
          
 | 
			
		||||
      - name: "Copying files"
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "Deploying"
 | 
			
		||||
          TARGET=${GITHUB_REF:11}
 | 
			
		||||
          rm -rf pietervdvn.github.io/mc/$TARGET/*
 | 
			
		||||
          mkdir -p pietervdvn.github.io/mc/$TARGET/
 | 
			
		||||
          cp -r dist/* pietervdvn.github.io/mc/$TARGET/
 | 
			
		||||
          cd pietervdvn.github.io/
 | 
			
		||||
          git add *
 | 
			
		||||
          if git status | grep -q "Changes to be committed"
 | 
			
		||||
          then
 | 
			
		||||
            git commit -am "Deploying a new version of mapcomplete"
 | 
			
		||||
            git push
 | 
			
		||||
          else
 | 
			
		||||
            echo "No changes to commit"
 | 
			
		||||
          fi
 | 
			
		||||
| 
						 | 
				
			
			@ -5,7 +5,6 @@ import {FromJSON} from "./FromJSON";
 | 
			
		|||
import SharedTagRenderings from "../SharedTagRenderings";
 | 
			
		||||
import {TagRenderingConfigJson} from "./TagRenderingConfigJson";
 | 
			
		||||
import {Translation} from "../../UI/i18n/Translation";
 | 
			
		||||
import Img from "../../UI/Base/Img";
 | 
			
		||||
import Svg from "../../Svg";
 | 
			
		||||
 | 
			
		||||
import {Utils} from "../../Utils";
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +63,14 @@ export default class LayerConfig {
 | 
			
		|||
        const self = this;
 | 
			
		||||
        this.id = json.id;
 | 
			
		||||
        this.name = Translations.T(json.name, context + ".name");
 | 
			
		||||
        this.description = Translations.T(json.description, context + ".description");
 | 
			
		||||
        
 | 
			
		||||
        if(json.description !== undefined){
 | 
			
		||||
            if(Object.keys(json.description).length === 0){
 | 
			
		||||
                json.description = undefined;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        this.description =Translations.T(json.description, context + ".description") ; 
 | 
			
		||||
 | 
			
		||||
        let legacy = undefined;
 | 
			
		||||
        if (json["overpassTags"] !== undefined) {
 | 
			
		||||
| 
						 | 
				
			
			@ -360,8 +366,7 @@ export default class LayerConfig {
 | 
			
		|||
                    // We use § as a replacement for ;
 | 
			
		||||
                    const html = sourcePart.substring("html:".length)
 | 
			
		||||
                    const inner = new FixedUiElement(SubstitutingTag.substituteString(html, tgs)).SetClass("block w-min text-center")
 | 
			
		||||
                    const outer = new Combine([inner]).SetClass("flex flex-col items-center")
 | 
			
		||||
                    return outer;
 | 
			
		||||
                    return new Combine([inner]).SetClass("flex flex-col items-center");
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                const style = `width:100%;height:100%;transform: rotate( ${rotation} );display:block;position: absolute; top: 0; left: 0`;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,14 @@
 | 
			
		|||
5. By default, a landing page with available themes is served. In order to load a single theme, use `layout=themename` or `userlayout=true#<layout configuration>` as [Query parameter](URL_Parameters.md). Note that the shorter URLs (e.g. `bookcases.html`, `aed.html`, ...) _don't_ exist on the development version.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 Automatic deployment
 | 
			
		||||
 --------------------
 | 
			
		||||
 
 | 
			
		||||
 Currently, the master branch is automatically deployed to 'mapcomplete.osm.be' by a github action.
 | 
			
		||||
 
 | 
			
		||||
 Every branch is automatically built (upon push) to 'pietervdvn.github.io/mc/<branchname>' by a github action.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 Deploying a fork
 | 
			
		||||
 ----------------
 | 
			
		||||
 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
		 Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 274 KiB  | 
| 
		 Before Width: | Height: | Size: 910 KiB After Width: | Height: | Size: 926 KiB  | 
| 
		 Before Width: | Height: | Size: 330 KiB After Width: | Height: | Size: 332 KiB  | 
| 
		 Before Width: | Height: | Size: 378 KiB After Width: | Height: | Size: 395 KiB  | 
| 
		 Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 216 KiB  | 
| 
		 After Width: | Height: | Size: 184 KiB  | 
| 
		 After Width: | Height: | Size: 175 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Docs/Tools/Contributors per total number of changesets.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 175 KiB  | 
| 
		 After Width: | Height: | Size: 168 KiB  | 
| 
		 After Width: | Height: | Size: 162 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Docs/Tools/Contributors per total number of mapping days.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 164 KiB  | 
| 
		 Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 195 KiB  | 
| 
		 Before Width: | Height: | Size: 317 KiB  | 
| 
		 Before Width: | Height: | Size: 89 KiB  | 
| 
		 Before Width: | Height: | Size: 127 KiB  | 
| 
		 Before Width: | Height: | Size: 95 KiB  | 
| 
		 Before Width: | Height: | Size: 204 KiB  | 
| 
		 Before Width: | Height: | Size: 378 KiB  | 
| 
		 Before Width: | Height: | Size: 104 KiB  | 
| 
		 Before Width: | Height: | Size: 343 KiB  | 
| 
		 Before Width: | Height: | Size: 791 KiB  | 
| 
		 Before Width: | Height: | Size: 124 KiB  | 
| 
		 Before Width: | Height: | Size: 223 KiB  | 
| 
		 Before Width: | Height: | Size: 137 KiB  | 
| 
		 Before Width: | Height: | Size: 687 KiB  | 
| 
		 Before Width: | Height: | Size: 124 KiB  | 
| 
		 Before Width: | Height: | Size: 156 KiB  | 
| 
		 Before Width: | Height: | Size: 145 KiB  | 
| 
		 Before Width: | Height: | Size: 95 KiB  | 
| 
		 Before Width: | Height: | Size: 226 KiB  | 
| 
		 Before Width: | Height: | Size: 188 KiB  | 
| 
		 Before Width: | Height: | Size: 157 KiB  | 
| 
		 Before Width: | Height: | Size: 139 KiB  | 
| 
		 Before Width: | Height: | Size: 87 KiB  | 
| 
		 Before Width: | Height: | Size: 136 KiB  | 
| 
		 Before Width: | Height: | Size: 189 KiB  | 
| 
		 Before Width: | Height: | Size: 88 KiB  | 
| 
		 Before Width: | Height: | Size: 161 KiB  | 
| 
		 Before Width: | Height: | Size: 219 KiB  | 
| 
		 Before Width: | Height: | Size: 217 KiB  | 
| 
		 Before Width: | Height: | Size: 246 KiB  | 
| 
		 Before Width: | Height: | Size: 94 KiB  | 
| 
		 Before Width: | Height: | Size: 121 KiB  | 
| 
		 Before Width: | Height: | Size: 95 KiB  | 
| 
		 Before Width: | Height: | Size: 338 KiB After Width: | Height: | Size: 350 KiB  | 
| 
		 Before Width: | Height: | Size: 633 KiB After Width: | Height: | Size: 643 KiB  | 
| 
		 Before Width: | Height: | Size: 434 KiB After Width: | Height: | Size: 438 KiB  | 
| 
		 Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB  | 
| 
		 Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 133 KiB  | 
| 
		 Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 116 KiB  | 
| 
		 Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB  | 
| 
		 Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 309 KiB  | 
| 
		 Before Width: | Height: | Size: 456 KiB After Width: | Height: | Size: 463 KiB  | 
| 
		 Before Width: | Height: | Size: 430 KiB After Width: | Height: | Size: 433 KiB  | 
| 
		 Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 206 KiB  | 
| 
		 Before Width: | Height: | Size: 234 KiB After Width: | Height: | Size: 235 KiB  | 
| 
		 Before Width: | Height: | Size: 259 KiB After Width: | Height: | Size: 259 KiB  | 
| 
		 Before Width: | Height: | Size: 258 KiB After Width: | Height: | Size: 258 KiB  | 
| 
		 Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB  | 
| 
		 Before Width: | Height: | Size: 60 KiB  | 
| 
		 Before Width: | Height: | Size: 63 KiB  | 
| 
		 Before Width: | Height: | Size: 65 KiB  | 
| 
		 Before Width: | Height: | Size: 70 KiB  | 
| 
		 Before Width: | Height: | Size: 65 KiB  | 
| 
		 Before Width: | Height: | Size: 62 KiB  | 
| 
		 Before Width: | Height: | Size: 65 KiB  | 
| 
		 Before Width: | Height: | Size: 62 KiB  | 
| 
		 Before Width: | Height: | Size: 61 KiB  | 
| 
		 Before Width: | Height: | Size: 72 KiB  | 
| 
		 Before Width: | Height: | Size: 57 KiB  | 
| 
		 Before Width: | Height: | Size: 62 KiB  | 
| 
		 Before Width: | Height: | Size: 61 KiB  | 
| 
		 Before Width: | Height: | Size: 59 KiB  | 
| 
		 Before Width: | Height: | Size: 60 KiB  | 
| 
		 Before Width: | Height: | Size: 63 KiB  | 
| 
		 Before Width: | Height: | Size: 62 KiB  | 
| 
		 Before Width: | Height: | Size: 61 KiB  | 
| 
		 Before Width: | Height: | Size: 64 KiB  | 
| 
		 Before Width: | Height: | Size: 64 KiB  | 
| 
		 Before Width: | Height: | Size: 63 KiB  | 
| 
		 Before Width: | Height: | Size: 64 KiB  | 
| 
		 Before Width: | Height: | Size: 59 KiB  | 
| 
		 Before Width: | Height: | Size: 58 KiB  | 
| 
		 Before Width: | Height: | Size: 70 KiB  | 
| 
		 Before Width: | Height: | Size: 64 KiB  | 
| 
		 Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB  | 
| 
		 Before Width: | Height: | Size: 396 KiB After Width: | Height: | Size: 395 KiB  | 
| 
		 Before Width: | Height: | Size: 547 KiB After Width: | Height: | Size: 568 KiB  | 
| 
		 Before Width: | Height: | Size: 684 KiB After Width: | Height: | Size: 664 KiB  | 
| 
						 | 
				
			
			@ -42,7 +42,7 @@ class Hist:
 | 
			
		|||
            return self.dictionary[key]
 | 
			
		||||
        return None
 | 
			
		||||
 | 
			
		||||
    # Returns (keys, values.map(f)). To be used with e.g. pyplot.plot
 | 
			
		||||
    # Returns values.map(f). 
 | 
			
		||||
    def map(self, f):
 | 
			
		||||
        vals = []
 | 
			
		||||
        keys = self.keys()
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +60,7 @@ class Hist:
 | 
			
		|||
            vals.append(running_value)
 | 
			
		||||
        return vals
 | 
			
		||||
 | 
			
		||||
    # Returns [(key, flatten(values))]
 | 
			
		||||
    # Returns [(key, flatten(values))] To be used with e.g. pyplot.plot
 | 
			
		||||
    def flatten(self, flatten):
 | 
			
		||||
        result = []
 | 
			
		||||
        keys = self.keys()
 | 
			
		||||
| 
						 | 
				
			
			@ -147,6 +147,29 @@ def create_usercount_graphs(stats, extra_text=""):
 | 
			
		|||
    pyplot.savefig("CumulativeContributors" + extra_text + ".png", dpi=400, facecolor='w', edgecolor='w')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_contributors_per_total_cs(contents, extra_text = "", cutoff=25, per_day=False):
 | 
			
		||||
    hist = Hist("contributor")
 | 
			
		||||
    for cs in contents:
 | 
			
		||||
        hist.add(cs[1], cs[0])
 | 
			
		||||
        
 | 
			
		||||
    count_per_contributor = hist.map(lambda dates : len(set(dates))) if per_day else hist.map(len)
 | 
			
		||||
    
 | 
			
		||||
    per_count = Hist("per cs count")
 | 
			
		||||
    for cs_count in count_per_contributor:
 | 
			
		||||
        per_count.add(min(cs_count, cutoff), 1)            
 | 
			
		||||
 | 
			
		||||
    to_plot = per_count.flatten(len)
 | 
			
		||||
    to_plot.sort(key=lambda a: a[0])
 | 
			
		||||
    to_plot[ - 1] = (str(cutoff)+ " or more", to_plot[-1][1])
 | 
			
		||||
    pyplot_init()
 | 
			
		||||
    pyplot.bar(list(map(lambda a : str(a[0]), to_plot)), list(map(lambda a: a[1], to_plot)) )
 | 
			
		||||
    pyplot.title("Contributors per total number of changesets"+extra_text)
 | 
			
		||||
    pyplot.ylabel("Number of contributors")
 | 
			
		||||
    pyplot.xlabel("Mapping days with MapComplete" if per_day else "Number of changesets with MapComplete")
 | 
			
		||||
    pyplot.savefig("Contributors per total number of "+("mapping days" if per_day else "changesets")+extra_text+".png", dpi=400)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_theme_breakdown(stats, fileExtra="", cutoff=15):
 | 
			
		||||
    print("Creating theme breakdown " + fileExtra)
 | 
			
		||||
    themeCounts = {}
 | 
			
		||||
| 
						 | 
				
			
			@ -292,6 +315,9 @@ def sortable_user_number(kv):
 | 
			
		|||
 | 
			
		||||
def create_graphs(contents):
 | 
			
		||||
    summed_changes_per(contents, "")
 | 
			
		||||
    create_contributors_per_total_cs(contents)
 | 
			
		||||
    create_contributors_per_total_cs(contents, per_day=True)
 | 
			
		||||
    
 | 
			
		||||
    cumulative_changes_per(contents, 4, "version number", cutoff=1, sort=sortable_user_number)
 | 
			
		||||
    create_usercount_graphs(contents)
 | 
			
		||||
    create_theme_breakdown(contents)
 | 
			
		||||
| 
						 | 
				
			
			@ -306,6 +332,8 @@ def create_graphs(contents):
 | 
			
		|||
    for year in range(2020, currentYear + 1):
 | 
			
		||||
        contents_filtered = list(contents_where(contents, 0, str(year)))
 | 
			
		||||
        extratext = " in " + str(year)
 | 
			
		||||
        create_contributors_per_total_cs(contents_filtered, extratext)
 | 
			
		||||
        create_contributors_per_total_cs(contents_filtered, extratext, per_day=True)
 | 
			
		||||
        create_usercount_graphs(contents_filtered, extratext)
 | 
			
		||||
        create_theme_breakdown(contents_filtered, extratext)
 | 
			
		||||
        cumulative_changes_per(contents_filtered, 3, "theme", extratext, cutoff=5)
 | 
			
		||||
| 
						 | 
				
			
			@ -334,6 +362,8 @@ def create_per_theme_graphs(contents, cutoff=10):
 | 
			
		|||
            summed_changes_per(filtered, "for theme "+theme)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_per_contributor_graphs(contents, least_needed_changesets):
 | 
			
		||||
    all_contributors = set(map(lambda row: row[1], contents))
 | 
			
		||||
    for contrib in all_contributors:
 | 
			
		||||
| 
						 | 
				
			
			@ -363,8 +393,9 @@ theme_remappings = {
 | 
			
		|||
    "wiki-User-joost_schouppe-campersite": "campersite",
 | 
			
		||||
    "wiki-User-joost_schouppe-geveltuintjes": "geveltuintjes",
 | 
			
		||||
    "wiki:User:joost_schouppe/campersite": "campersite",
 | 
			
		||||
    "arbres":"arbres_leffia",
 | 
			
		||||
     "https://llefia.org/arbres/mapcomplete.json":"arbres_leffia",
 | 
			
		||||
    "arbres":"arbres_llefia",
 | 
			
		||||
    "aed_brugge": "aed",
 | 
			
		||||
     "https://llefia.org/arbres/mapcomplete.json":"arbres_llefia",
 | 
			
		||||
    "toevoegen of dit natuurreservaat toegangkelijk is":"buurtnatuur",
 | 
			
		||||
    "testing mapcomplete 0.0.0":"buurtnatuur",
 | 
			
		||||
    "https://raw.githubusercontent.com/osmbe/play/master/mapcomplete/geveltuinen/geveltuinen.json": "geveltuintjes"
 | 
			
		||||
| 
						 | 
				
			
			@ -406,10 +437,8 @@ def main():
 | 
			
		|||
        print("Found " + str(len(stats)) + " changesets")
 | 
			
		||||
        
 | 
			
		||||
        # contributor_count(stats)
 | 
			
		||||
   
 | 
			
		||||
        
 | 
			
		||||
        create_graphs(stats)
 | 
			
		||||
        create_per_theme_graphs(stats, 15)
 | 
			
		||||
        # create_per_theme_graphs(stats, 15)
 | 
			
		||||
        # create_per_contributor_graphs(stats, 25)
 | 
			
		||||
    print("All done!")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3956,10 +3956,92 @@
 | 
			
		|||
"2021-05-27", "Jose Luis Infante", "ca", "https://llefia.org/arbres/mapcomplete.json", "MapComplete 0.7.3", 0, 3, "Adding data with #MapComplete for theme #https://llefia.org/arbres/mapcomplete.json", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Jose Luis Infante", "ca", "https://llefia.org/arbres/mapcomplete.json", "MapComplete 0.7.3", 0, 9, "Adding data with #MapComplete for theme #https://llefia.org/arbres/mapcomplete.json", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Jose Luis Infante", "ca", "https://llefia.org/arbres/mapcomplete.json", "MapComplete 0.7.3", 1, 0, "Adding data with #MapComplete for theme #https://llefia.org/arbres/mapcomplete.json", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Maarten O", "nl", "aed_brugge", "MapComplete 0.7.3", 0, 5, "Adding data with #MapComplete for theme #aed_brugge", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Maarten O", "nl", "aed_brugge", "MapComplete 0.7.3", 1, 5, "Adding data with #MapComplete for theme #aed_brugge", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Maarten O", "nl", "aed_brugge", "MapComplete 0.7.3", 4, 39, "Adding data with #MapComplete for theme #aed_brugge", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Maarten O", "nl", "aed", "MapComplete 0.7.3", 0, 3, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Marvin Geisler", "de", "waldbrand", "MapComplete 0.7.2l", 1, 2, "Adding data with #MapComplete for theme #waldbrand", "waldbrand-app.de"
 | 
			
		||||
"2021-05-27", "Marvin Geisler", "de", "waldbrand", "MapComplete 0.7.2l", 3, 3, "Adding data with #MapComplete for theme #waldbrand", "waldbrand-app.de"
 | 
			
		||||
"2021-05-27", "mozita", "de", "waldbrand", "MapComplete 0.7.2l", 1, 0, "Adding data with #MapComplete for theme #waldbrand", "waldbrand-app.de"
 | 
			
		||||
"2021-05-27", "paytv", "de", "waldbrand", "MapComplete 0.7.2l", 6, 9, "Adding data with #MapComplete for theme #waldbrand", "waldbrand-app.de"
 | 
			
		||||
"2021-05-27", "pkoby", "en", "trees", "MapComplete 0.7.3", 0, 2, "Adding data with #MapComplete for theme #trees", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-27", "Thierry1030", "nl", "fietsstraten", "MapComplete 0.7.2n", 0, 5, "Adding data with #MapComplete for theme #fietsstraten", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-28", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4", 0, 4, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-28", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4", 0, 9, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-28", "alexashh", "en", "cyclofix", "MapComplete 0.7.4", 0, 1, "Adding data with #MapComplete for theme #cyclofix", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-28", "GOwin", "en", "cyclofix", "MapComplete 0.7.3", 1, 4, "Adding data with #MapComplete for theme #cyclofix", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-28", "joost schouppe", "nl", "fietsstraten", "MapComplete 0.7.4", 0, 7, "Adding data with #MapComplete for theme #fietsstraten", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-28", "Koen Rijnsent", "en", "artworks", "MapComplete 0.7.4", 1, 3, "Adding data with #MapComplete for theme #artworks", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-28", "Pieter Nuytinck", "en", "bookcases", "MapComplete 0.7.2n", 1, 5, "Adding data with #MapComplete for theme #bookcases", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-28", "Thierry1030", "en", "benches", "MapComplete 0.7.2n", 1, 2, "Adding data with #MapComplete for theme #benches", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4", 0, 1, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-29", "Albin Gasparetto", "en", "surveillance", "MapComplete 0.7.4", 1, 1, "Adding data with #MapComplete for theme #surveillance", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-29", "alexashh", "en", "cyclofix", "MapComplete 0.7.4", 1, 2, "Adding data with #MapComplete for theme #cyclofix", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-29", "familiapicarol", "ca", "aed", "MapComplete 0.7.4", 0, 7, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-29", "Hendrik_III", "nl", "fritures", "MapComplete 0.7.4", 3, 7, "Adding data with #MapComplete for theme #fritures", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-29", "hke2912", "de", "benches", "MapComplete 0.7.2n", 1, 1, "Adding data with #MapComplete for theme #benches", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "hke2912", "de", "cyclofix", "MapComplete 0.7.2n", 1, 1, "Adding data with #MapComplete for theme #cyclofix", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "hke2912", "nl", "trees", "MapComplete 0.7.2n", 1, 1, "Adding data with #MapComplete for theme #trees", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "joren0081", "nl", "fritures", "MapComplete 0.7.4", 1, 3, "Adding data with #MapComplete for theme #fritures", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-29", "Pieter Nuytinck", "en", "bookcases", "MapComplete 0.7.2n", 1, 2, "Adding data with #MapComplete for theme #bookcases", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "rayanr666", "nl", "fritures", "MapComplete 0.7.4", 10, 10, "Adding data with #MapComplete for theme #fritures", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-29", "Thierry1030", "nl", "fietsstraten", "MapComplete 0.7.2n", 0, 1, "Adding data with #MapComplete for theme #fietsstraten", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "Thierry1030", "nl", "fietsstraten", "MapComplete 0.7.2n", 0, 6, "Adding data with #MapComplete for theme #fietsstraten", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "Thierry1030", "nl", "playgrounds", "MapComplete 0.7.2n", 0, 3, "Adding data with #MapComplete for theme #playgrounds", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "Thierry1030", "nl", "playgrounds", "MapComplete 0.7.2n", 1, 4, "Adding data with #MapComplete for theme #playgrounds", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-29", "Tim Couwelier", "en", "aed", "MapComplete 0.7.4", 0, 4, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "alexashh", "en", "cyclofix", "MapComplete 0.7.4", 1, 2, "Adding data with #MapComplete for theme #cyclofix", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "dkf2010", "en", "sport_pitches", "MapComplete 0.7.4", 1, 1, "Adding data with #MapComplete for theme #sport_pitches", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "dkf2010", "en", "sport_pitches", "MapComplete 0.7.4", 1, 2, "Adding data with #MapComplete for theme #sport_pitches", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "dkf2010", "en", "sport_pitches", "MapComplete 0.7.4", 2, 2, "Adding data with #MapComplete for theme #sport_pitches", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "Jakka", "nl", "bookcases", "MapComplete 0.7.2n", 0, 2, "Adding data with #MapComplete for theme #bookcases", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-30", "joost schouppe", "nl", "benches", "MapComplete 0.7.4", 1, 1, "Adding data with #MapComplete for theme #benches", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "joost schouppe", "nl", "toilets", "MapComplete 0.7.4", 1, 1, "Adding data with #MapComplete for theme #toilets", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "joost schouppe", "nl", "toilets", "MapComplete 0.7.4", 1, 1, "Adding data with #MapComplete for theme #toilets", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "kudlav", "en", "cyclofix", "MapComplete 0.7.4", 0, 1, "Adding data with #MapComplete for theme #cyclofix", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "kudlav", "en", "toilets", "MapComplete 0.7.4", 0, 2, "Adding data with #MapComplete for theme #toilets", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-30", "philippec", "nl", "aed", "MapComplete 0.7.2n", 0, 8, "Adding data with #MapComplete for theme #aed", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-30", "philippec", "nl", "aed", "MapComplete 0.7.2n", 5, 12, "Adding data with #MapComplete for theme #aed", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-30", "Wim L", "en", "bookcases", "MapComplete 0.7.4", 2, 2, "Adding data with #MapComplete for theme #bookcases", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4a", 0, 2, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4b", 0, 2, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4b", 0, 4, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "Awo", "en", "ghostbikes", "MapComplete 0.7.2n", 1, 0, "Adding data with #MapComplete for theme #ghostbikes", "pietervdvn.github.io"
 | 
			
		||||
"2021-05-31", "Maarten O", "nl", "aed_brugge", "MapComplete 0.7.4a", 0, 1, "Adding data with #MapComplete for theme #aed_brugge", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "Maarten O", "nl", "aed", "MapComplete 0.7.4a", 0, 1, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "MarcoR", "it", "campersite", "MapComplete 0.7.4a", 1, 2, "Adding data with #MapComplete for theme #campersite", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "Nickrds09", "en", "hailhydrant", "MapComplete 0.7.4a", 7, 7, "Adding data with #MapComplete for theme #hailhydrant", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "skifans", "en", "cyclofix", "MapComplete 0.7.4b", 0, 4, "Adding data with #MapComplete for theme #cyclofix", "mapcomplete.osm.be"
 | 
			
		||||
"2021-05-31", "SNT-LJM-Cognac", "fr", "buildings", "MapComplete 0.7.4b", 0, 2, "Adding data with #MapComplete for theme #buildings", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4b", 0, 14, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "Maarten O", "nl", "aed_brugge", "MapComplete 0.7.4b", 2, 14, "Adding data with #MapComplete for theme #aed_brugge", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "Nos_Fi", "en", "playgrounds", "MapComplete 0.7.4b", 2, 6, "Adding data with #MapComplete for theme #playgrounds", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "SNT-LJM-Cognac", "fr", "buildings", "MapComplete 0.7.4b", 0, 0, "Adding data with #MapComplete for theme #buildings", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "SNT-LJM-Cognac", "fr", "buildings", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #buildings", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "SNT-LJM-Cognac", "fr", "buildings", "MapComplete 0.7.4b", 0, 3, "Adding data with #MapComplete for theme #buildings", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "SNT-LJM-Cognac", "fr", "buildings", "MapComplete 0.7.4b", 0, 9, "Adding data with #MapComplete for theme #buildings", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-01", "Thierry1030", "en", "fietsstraten", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #fietsstraten", "pietervdvn.github.io"
 | 
			
		||||
"2021-06-01", "Thierry1030", "en", "fietsstraten", "MapComplete 0.7.4b", 0, 2, "Adding data with #MapComplete for theme #fietsstraten", "pietervdvn.github.io"
 | 
			
		||||
"2021-06-01", "WinstonSmith", "en", "cyclofix", "MapComplete 0.7.4b", 2, 2, "Adding data with #MapComplete for theme #cyclofix", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4b", 0, 10, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "AgusQui", "es", "https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #https://raw.githubusercontent.com/AgusQui/MapCompleteRailway/main/railway", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "Awo", "en", "ghostbikes", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #ghostbikes", "pietervdvn.github.io"
 | 
			
		||||
"2021-06-02", "Daniel Chiarello", "en", "aed", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "Daniel Chiarello", "en", "charging_stations", "MapComplete 0.7.4b", 1, 3, "Adding data with #MapComplete for theme #charging_stations", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "Daniel Chiarello", "en", "hailhydrant", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #hailhydrant", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "Gaby_", "ca", "https://llefia.org/arbres/mapcomplete.json", "MapComplete 0.7.4b", 0, 2, "Adding data with #MapComplete for theme #https://llefia.org/arbres/mapcomplete.json", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "Koen Rijnsent", "en", "bookcases", "MapComplete 0.7.4b", 1, 2, "Adding data with #MapComplete for theme #bookcases", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "Maarten O", "nl", "aed", "MapComplete 0.7.4b", 0, 4, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-02", "Pieter Nuytinck", "en", "bookcases", "MapComplete 0.7.4b", 1, 1, "Adding data with #MapComplete for theme #bookcases", "pietervdvn.github.io"
 | 
			
		||||
"2021-06-02", "Robin van der Linde", "en", "benches", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #benches", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "Gaby_", "ca", "https://llefia.org/arbres/mapcomplete.json", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #https://llefia.org/arbres/mapcomplete.json", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "Globelotter", "nl", "speelplekken", "MapComplete 0.7.4b", 0, 7, "Adding data with #MapComplete for theme #speelplekken", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "Globelotter", "nl", "speelplekken", "MapComplete 0.7.4b", 4, 6, "Adding data with #MapComplete for theme #speelplekken", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "joost schouppe", "nl", "fritures", "MapComplete 0.7.4b", 1, 1, "Adding data with #MapComplete for theme #fritures", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "L'imaginaire", "en", "aed", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "Maarten O", "nl", "aed_brugge", "MapComplete 0.7.4b", 3, 18, "Adding data with #MapComplete for theme #aed_brugge", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "Maarten O", "nl", "aed", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #aed", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "miurahr", "en", "toilets", "MapComplete 0.7.4b", 0, 1, "Adding data with #MapComplete for theme #toilets", "pietervdvn.github.io"
 | 
			
		||||
"2021-06-03", "Siel Createlli", "nl", "speelplekken", "MapComplete 0.7.4b", 0, 57, "Adding data with #MapComplete for theme #speelplekken", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "Soco27", "ca", "https://llefia.org/arbres/mapcomplete.json", "MapComplete 0.7.4b", 2, 11, "Adding data with #MapComplete for theme #https://llefia.org/arbres/mapcomplete.json", "mapcomplete.osm.be"
 | 
			
		||||
"2021-06-03", "Thierry1030", "nl", "fietsstraten", "MapComplete 0.7.4b", 0, 6, "Adding data with #MapComplete for theme #fietsstraten", "pietervdvn.github.io"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
		
		
			 Can't render this file because it is too large. 
		
	 | 
| 
						 | 
				
			
			@ -2,7 +2,7 @@ import { Utils } from "../Utils";
 | 
			
		|||
 | 
			
		||||
export default class Constants {
 | 
			
		||||
    
 | 
			
		||||
    public static vNumber = "0.7.4b";
 | 
			
		||||
    public static vNumber = "0.7.5";
 | 
			
		||||
 | 
			
		||||
    // The user journey states thresholds when a new feature gets unlocked
 | 
			
		||||
    public static userJourney = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,9 @@ export class Translation extends UIElement {
 | 
			
		|||
        }
 | 
			
		||||
        let count = 0;
 | 
			
		||||
        for (const translationsKey in translations) {
 | 
			
		||||
            if(!translations.hasOwnProperty(translationsKey)){
 | 
			
		||||
                continue
 | 
			
		||||
            }
 | 
			
		||||
            count++;
 | 
			
		||||
            if (typeof (translations[translationsKey]) != "string") {
 | 
			
		||||
                console.error("Non-string object in translation: ", translations[translationsKey])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,11 +44,12 @@
 | 
			
		|||
          "isOsmCache": true
 | 
			
		||||
        },
 | 
			
		||||
        "icon": "./assets/themes/speelplekken/speelbos.svg",
 | 
			
		||||
        "minzoom": 12
 | 
			
		||||
      },
 | 
			
		||||
        "minzoom": 12,
 | 
			
		||||
        "calculatedTags": [
 | 
			
		||||
        "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''"
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''",
 | 
			
		||||
          "_video:id=new URL(feat.properties.video).searchParams.get('v')"
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "builtin": "playground",
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +63,8 @@
 | 
			
		|||
          "isOsmCache": true
 | 
			
		||||
        },
 | 
			
		||||
        "calculatedTags": [
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''"
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''",
 | 
			
		||||
          "_video:id=new URL(feat.properties.video).searchParams.get('v')"
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +80,8 @@
 | 
			
		|||
          "isOsmCache": true
 | 
			
		||||
        },
 | 
			
		||||
        "calculatedTags": [
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''"
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''",
 | 
			
		||||
          "_video:id=new URL(feat.properties.video).searchParams.get('v')"
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -94,7 +97,8 @@
 | 
			
		|||
          "isOsmCache": true
 | 
			
		||||
        },
 | 
			
		||||
        "calculatedTags": [
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''"
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''",
 | 
			
		||||
          "_video:id=new URL(feat.properties.video).searchParams.get('v')"
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +113,8 @@
 | 
			
		|||
          "isOsmCache": true
 | 
			
		||||
        },
 | 
			
		||||
        "calculatedTags": [
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''"
 | 
			
		||||
          "_is_shadowed=feat.overlapWith('shadow').length > 0 ? 'yes': ''",
 | 
			
		||||
          "_video:id=new URL(feat.properties.video).searchParams.get('v')"
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -252,12 +257,10 @@
 | 
			
		|||
      "condition": "_part_of_walking_routes~*"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "render": "<a href='{video}' target='blank'>Een kinder-reportage vinden jullie hier<a/>",
 | 
			
		||||
      "freeform": {
 | 
			
		||||
        "key": "video",
 | 
			
		||||
        "type": "url"
 | 
			
		||||
        "key": "_video:id"
 | 
			
		||||
      },
 | 
			
		||||
      "question": "Wat is de link naar de video-reportage?"
 | 
			
		||||
      "render": "<iframe style='width: 100%; height: 300px' src=\"https://www.youtube-nocookie.com/embed/{_video:id}\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "overrideAll": {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -239,6 +239,14 @@
 | 
			
		|||
    {
 | 
			
		||||
      "render": "Maakt deel uit van {_part_of_walking_routes}",
 | 
			
		||||
      "condition": "_part_of_walking_routes~*"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "render": "<a href='{video}' target='blank'>Een kinder-reportage vinden jullie hier<a/>",
 | 
			
		||||
      "freeform": {
 | 
			
		||||
        "key": "video",
 | 
			
		||||
        "type": "url"
 | 
			
		||||
      },
 | 
			
		||||
      "question": "Wat is de link naar de video-reportage?"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "overrideAll": {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||