Scripts(docs): partial work on creatign localized docs

This commit is contained in:
Pieter Vander Vennet 2025-09-15 01:07:47 +02:00
parent 76571d9ae5
commit 19701126d6
6 changed files with 3564 additions and 80 deletions

2551
Docs/Layers/food_shops.md Normal file

File diff suppressed because one or more lines are too long

871
Docs/Layers/questions.md Normal file
View file

@ -0,0 +1,871 @@
[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources)
# questions
Library layer containing common questions. To use a question from this layer, simply use the `id` of that question. Exceptionally, a prefix is not needed
- This layer is shown at zoomlevel **0** and higher
- Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable.
- Not visible in the layer selection by default. If you want to make this layer toggable, override `name`
- Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`
- This layer will automatically load [toilet](./toilet.md) into the layout as it depends on it: tagrendering has_toilets needs this layer (has_toilets)
This is a special layer - data is not sourced from OpenStreetMap
## Table of contents
1. [Supported attributes](#supported-attributes)
2. [Featureview elements and TagRenderings](#featureview-elements-and-tagrenderings)
- [questions](#questions)
- [images](#images)
- [images_no_blur](#images_no_blur)
- [mapillary](#mapillary)
- [export_as_gpx](#export_as_gpx)
- [export_as_geojson](#export_as_geojson)
- [wikipedia](#wikipedia)
- [reviews](#reviews)
- [phone](#phone)
- [mastodon](#mastodon)
- [facebook](#facebook)
- [osmlink](#osmlink)
- [email](#email)
- [website](#website)
- [wheelchair-access](#wheelchair-access)
- [dog-access](#dog-access)
- [description](#description)
- [fixme](#fixme)
- [opening_hours](#opening_hours)
- [opening_hours_24_7](#opening_hours_24_7)
- [opening_hours_24_7_default](#opening_hours_24_7_default)
- [opening_hours_by_appointment](#opening_hours_by_appointment)
- [service:electricity](#serviceelectricity)
- [payment-options](#payment-options)
- [payment-options-split](#payment-options-split)
- [payment-options-advanced](#payment-options-advanced)
- [denominations-coins](#denominations-coins)
- [denominations-notes](#denominations-notes)
- [all_tags](#all_tags)
- [multilevels](#multilevels)
- [repeated](#repeated)
- [single_level](#single_level)
- [smoking](#smoking)
- [induction-loop](#induction-loop)
- [internet](#internet)
- [internet-fee](#internet-fee)
- [internet-ssid](#internet-ssid)
- [luminous_or_lit](#luminous_or_lit)
- [survey_date](#survey_date)
- [check_date](#check_date)
- [lod](#lod)
- [split_button](#split_button)
- [seasonal](#seasonal)
- [shower](#shower)
- [preset_description](#preset_description)
- [brand](#brand)
- [indoor](#indoor)
- [seating](#seating)
- [maxstay](#maxstay)
- [name](#name)
- [has_toilets](#has_toilets)
- [reservation](#reservation)
- [ref](#ref)
- [operator](#operator)
- [child_highchair](#child_highchair)
- [kids_area](#kids_area)
- [self_checkout](#self_checkout)
- [self_checkout_type](#self_checkout_type)
- [spacer](#spacer)
## Supported attributes
**Warning:**: this quick overview is incomplete
| attribute | type | values which are supported by this layer |
-----|-----|----- |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/wikidata#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/wikidata/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) | [wikidata](../SpecialInputElements.md#wikidata) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/phone#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/phone/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/contact:mastodon#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/contact%3Amastodon/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [contact:mastodon](https://wiki.openstreetmap.org/wiki/Key:contact:mastodon) | [fediverse](../SpecialInputElements.md#fediverse) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/contact:facebook#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/contact%3Afacebook/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [contact:facebook](https://wiki.openstreetmap.org/wiki/Key:contact:facebook) | [url](../SpecialInputElements.md#url) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/email#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/email/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/website#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/website/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/wheelchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/wheelchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [wheelchair=designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [wheelchair=yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [wheelchair=limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [wheelchair=no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/dog#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/dog/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [dog=yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [dog=no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [dog=leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [dog=unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) [dog=outside](https://wiki.openstreetmap.org/wiki/Tag:dog%3Doutside) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/description#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/description/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [description](https://wiki.openstreetmap.org/wiki/Key:description) | [text](../SpecialInputElements.md#text) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/fixme#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/fixme/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [fixme](https://wiki.openstreetmap.org/wiki/Key:fixme) | [text](../SpecialInputElements.md#text) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/opening_hours#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/opening_hours/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/opening_hours#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/opening_hours/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [opening_hours=24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/opening_hours#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/opening_hours/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [opening_hours=24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/opening_hours#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/opening_hours/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [opening_hours="by appointment"](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D"by appointment") |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/service:electricity#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/service%3Aelectricity/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [service:electricity=yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [service:electricity=limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [service:electricity=ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [service:electricity=no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/payment:coins:denominations#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/payment%3Acoins%3Adenominations/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [payment:coins:denominations](https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations) | Multiple choice | [payment:coins:denominations=0.01 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.01 EUR) [payment:coins:denominations=0.02 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.02 EUR) [payment:coins:denominations=0.05 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 EUR) [payment:coins:denominations=0.10 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 EUR) [payment:coins:denominations=0.20 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 EUR) [payment:coins:denominations=0.50 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 EUR) [payment:coins:denominations=1 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 EUR) [payment:coins:denominations=2 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 EUR) [payment:coins:denominations=0.05 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 CHF) [payment:coins:denominations=0.10 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 CHF) [payment:coins:denominations=0.20 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 CHF) [payment:coins:denominations=0.50 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 CHF) [payment:coins:denominations=1 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 CHF) [payment:coins:denominations=2 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 CHF) [payment:coins:denominations=5 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D5 CHF) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/payment:notes:denominations#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/payment%3Anotes%3Adenominations/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [payment:notes:denominations](https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations) | Multiple choice | [payment:notes:denominations=5 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D5 EUR) [payment:notes:denominations=10 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D10 EUR) [payment:notes:denominations=20 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D20 EUR) [payment:notes:denominations=50 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D50 EUR) [payment:notes:denominations=100 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D100 EUR) [payment:notes:denominations=200 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D200 EUR) [payment:notes:denominations=500 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D500 EUR) [payment:notes:denominations=10 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D10 CHF) [payment:notes:denominations=20 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D20 CHF) [payment:notes:denominations=50 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D50 CHF) [payment:notes:denominations=100 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D100 CHF) [payment:notes:denominations=200 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D200 CHF) [payment:notes:denominations=1000 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D1000 CHF) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/level#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/level/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [level](https://wiki.openstreetmap.org/wiki/Key:level) | [string](../SpecialInputElements.md#string) | [level=0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [level=1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [level=-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/level#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/level/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [level=0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [level=1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [level=-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/smoking#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/smoking/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [smoking](https://wiki.openstreetmap.org/wiki/Key:smoking) | Multiple choice | [smoking=yes](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dyes) [smoking=no](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dno) [smoking=outside](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Doutside) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/hearing_loop#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/hearing_loop/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [hearing_loop](https://wiki.openstreetmap.org/wiki/Key:hearing_loop) | Multiple choice | [hearing_loop=yes](https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dyes) [hearing_loop=no](https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [internet_access=wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [internet_access=no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [internet_access=terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [internet_access=wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) [internet_access=terminal;wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access:fee#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access%3Afee/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [internet_access:fee=yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [internet_access:fee=no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [internet_access:fee=customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access:ssid#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access%3Assid/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [internet_access:ssid=Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/survey:date#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/survey%3Adate/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date) | [date](../SpecialInputElements.md#date) | [survey:date](https://wiki.openstreetmap.org/wiki/Tag:survey:date%3D) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/check_date#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/check_date/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [check_date](https://wiki.openstreetmap.org/wiki/Key:check_date) | [date](../SpecialInputElements.md#date) | [check_date](https://wiki.openstreetmap.org/wiki/Tag:check_date%3D) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/seasonal#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/seasonal/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [seasonal](https://wiki.openstreetmap.org/wiki/Key:seasonal) | Multiple choice | [seasonal=no](https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dno) [seasonal=summer](https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dsummer) [seasonal=spring;summer;autumn](https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dspring;summer;autumn) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/shower#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/shower/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [shower](https://wiki.openstreetmap.org/wiki/Key:shower) | Multiple choice | [shower=hot](https://wiki.openstreetmap.org/wiki/Tag:shower%3Dhot) [shower=cold](https://wiki.openstreetmap.org/wiki/Tag:shower%3Dcold) [shower=yes](https://wiki.openstreetmap.org/wiki/Tag:shower%3Dyes) [shower=no](https://wiki.openstreetmap.org/wiki/Tag:shower%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/brand#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/brand/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/indoor#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/indoor/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [indoor](https://wiki.openstreetmap.org/wiki/Key:indoor) | Multiple choice | [indoor=yes](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dyes) [indoor=no](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/maxstay#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/maxstay/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [maxstay](https://wiki.openstreetmap.org/wiki/Key:maxstay) | [pfloat](../SpecialInputElements.md#pfloat) | [maxstay=unlimited](https://wiki.openstreetmap.org/wiki/Tag:maxstay%3Dunlimited) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/name#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/name/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [toilets=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [toilets=no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [toilets=separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/reservation#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/reservation/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [reservation](https://wiki.openstreetmap.org/wiki/Key:reservation) | Multiple choice | [reservation=required](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drequired) [reservation=recommended](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drecommended) [reservation=yes](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dyes) [reservation=no](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/ref#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/ref/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [ref](https://wiki.openstreetmap.org/wiki/Key:ref) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/operator#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/operator/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/highchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/highchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [highchair](https://wiki.openstreetmap.org/wiki/Key:highchair) | [nat](../SpecialInputElements.md#nat) | [highchair=no](https://wiki.openstreetmap.org/wiki/Tag:highchair%3Dno) [highchair=yes](https://wiki.openstreetmap.org/wiki/Tag:highchair%3Dyes) [highchair=1](https://wiki.openstreetmap.org/wiki/Tag:highchair%3D1) [highchair=2](https://wiki.openstreetmap.org/wiki/Tag:highchair%3D2) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/kids_area#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/kids_area/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [kids_area](https://wiki.openstreetmap.org/wiki/Key:kids_area) | Multiple choice | [kids_area=no](https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dno) [kids_area=yes](https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dyes) [kids_area=yes](https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dyes) [kids_area=yes](https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dyes) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/self_checkout#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/self_checkout/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [self_checkout](https://wiki.openstreetmap.org/wiki/Key:self_checkout) | Multiple choice | [self_checkout=yes](https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Dyes) [self_checkout=no](https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Dno) [self_checkout=only](https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Donly) |
## Featureview elements and TagRenderings
| id | question | labels | freeform key |
-----|-----|-----|----- |
| [questions](#questions) <br/> _(Original in [questions](./BuiltinQuestions.md#questions))_ | _{questions()}_ | | _Multiple choice only_ |
| [images](#images) <br/> _(Original in [questions](./BuiltinQuestions.md#images))_ | _{image_carousel()}{image_upload()}_ | | _Multiple choice only_ |
| [images_no_blur](#images_no_blur) <br/> _(Original in [questions](./BuiltinQuestions.md#images_no_blur))_ | _{image_carousel()}{image_upload(,,,true)}_ | | _Multiple choice only_ |
| [mapillary](#mapillary) <br/> _(Original in [questions](./BuiltinQuestions.md#mapillary))_ | _{mapillary_link()}_ | | _Multiple choice only_ |
| [export_as_gpx](#export_as_gpx) <br/> _(Original in [questions](./BuiltinQuestions.md#export_as_gpx))_ | _{export_as_gpx()}_ | | _Multiple choice only_ |
| [export_as_geojson](#export_as_geojson) <br/> _(Original in [questions](./BuiltinQuestions.md#export_as_geojson))_ | _{export_as_geojson()}_ | | _Multiple choice only_ |
| [wikipedia](#wikipedia) <br/> _(Original in [questions](./BuiltinQuestions.md#wikipedia))_ | What is the corresponding Wikidata entity?<br/>_{wikipedia():max-height:25rem}_<br/>2 options | | *[wikidata](https://wiki.osm.org/wiki/Key:wikidata)* ([wikidata](../SpecialInputElements.md#wikidata)) |
| [reviews](#reviews) <br/> _(Original in [questions](./BuiltinQuestions.md#reviews))_ | _{create_review()}{list_reviews()}_ | | _Multiple choice only_ |
| [phone](#phone) <br/> _(Original in [questions](./BuiltinQuestions.md#phone))_ | What is the phone number of ?<br/>_{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}_<br/>1 options | contact | *[phone](https://wiki.osm.org/wiki/Key:phone)* ([phone](../SpecialInputElements.md#phone)) |
| [mastodon](#mastodon) <br/> _(Original in [questions](./BuiltinQuestions.md#mastodon))_ | What is the Mastodon-handle of ?<br/>_{fediverse_link(contact:mastodon)}_ | | *[contact:mastodon](https://wiki.osm.org/wiki/Key:contact:mastodon)* ([fediverse](../SpecialInputElements.md#fediverse)) |
| [facebook](#facebook) <br/> _(Original in [questions](./BuiltinQuestions.md#facebook))_ | What is the facebook page of of ?<br/>_{link(Facebook page,&LBRACEcontact:facebook&RBRACE,,,,)}<div class='subtle text-sm'>Facebook is known to harm mental health, manipulate public opinion and cause hate. Try to use healthier alternatives</div>_ | | *[contact:facebook](https://wiki.osm.org/wiki/Key:contact:facebook)* ([url](../SpecialInputElements.md#url)) |
| [osmlink](#osmlink) <br/> _(Original in [questions](./BuiltinQuestions.md#osmlink))_ | _<a href='https://openstreetmap.org/{id}' target='_blank' rel='noopener'F><img src='./assets/svg/osm-logo-us.svg'/></a>_<br/>1 options | | _Multiple choice only_ |
| [email](#email) <br/> _(Original in [questions](./BuiltinQuestions.md#email))_ | What is the email address of ?<br/>_<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>_<br/>2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
| [website](#website) <br/> _(Original in [questions](./BuiltinQuestions.md#website))_ | What is the website of ?<br/>_<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>_<br/>1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
| [wheelchair-access](#wheelchair-access) <br/> _(Original in [questions](./BuiltinQuestions.md#wheelchair-access))_ | Is this place accessible with a wheelchair?<br/>4 options | | _Multiple choice only_ |
| [dog-access](#dog-access) <br/> _(Original in [questions](./BuiltinQuestions.md#dog-access))_ | Are dogs allowed in this business?<br/>5 options | | _Multiple choice only_ |
| [description](#description) <br/> _(Original in [questions](./BuiltinQuestions.md#description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here.<br/>_{description}_ | | *[description](https://wiki.osm.org/wiki/Key:description)* ([text](../SpecialInputElements.md#text)) |
| [fixme](#fixme) <br/> _(Original in [questions](./BuiltinQuestions.md#fixme))_ | Is there something wrong with how this is mapped, that you weren't able to fix here? (leave a note to OpenStreetMap experts)<br/>_Extra information for OpenStreetMap experts: {fixme}_ | | *[fixme](https://wiki.osm.org/wiki/Key:fixme)* ([text](../SpecialInputElements.md#text)) |
| [opening_hours](#opening_hours) <br/> _(Original in [questions](./BuiltinQuestions.md#opening_hours))_ | What are the opening hours of ?<br/>_<h3>Opening hours</h3>{opening_hours_table(opening_hours)}_<br/>1 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
| [opening_hours_24_7](#opening_hours_24_7) <br/> _(Original in [questions](./BuiltinQuestions.md#opening_hours_24_7))_ | What are the opening hours of ?<br/>_<h3>Opening hours</h3>{opening_hours_table(opening_hours)}_<br/>2 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
| [opening_hours_24_7_default](#opening_hours_24_7_default) <br/> _(Original in [questions](./BuiltinQuestions.md#opening_hours_24_7_default))_ | What are the opening hours of ?<br/>_<h3>Opening hours</h3>{opening_hours_table(opening_hours)}_<br/>2 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
| [opening_hours_by_appointment](#opening_hours_by_appointment) <br/> _(Original in [questions](./BuiltinQuestions.md#opening_hours_by_appointment))_ | What are the opening hours of ?<br/>_<h3>Opening hours</h3>{opening_hours_table(opening_hours)}_<br/>3 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
| [service:electricity](#service:electricity) <br/> _(Original in [questions](./BuiltinQuestions.md#service:electricity))_ | Does this amenity have electrical outlets, available to customers when they are inside?<br/>4 options | | _Multiple choice only_ |
| [payment-options](#payment-options) <br/> _(Original in [questions](./BuiltinQuestions.md#payment-options))_ | Which methods of payment are accepted here?<br/>3 options | | _Multiple choice only_ |
| [payment-options-split](#payment-options-split) <br/> _(Original in [questions](./BuiltinQuestions.md#payment-options-split))_ | Which methods of payment are accepted here?<br/>7 options | | _Multiple choice only_ |
| [payment-options-advanced](#payment-options-advanced) <br/> _(Original in [questions](./BuiltinQuestions.md#payment-options-advanced))_ | Which methods of payment are accepted here?<br/>5 options | | _Multiple choice only_ |
| [denominations-coins](#denominations-coins) <br/> _(Original in [questions](./BuiltinQuestions.md#denominations-coins))_ | What coins can you use to pay here?<br/>15 options | | _Multiple choice only_ |
| [denominations-notes](#denominations-notes) <br/> _(Original in [questions](./BuiltinQuestions.md#denominations-notes))_ | what notes can you use to pay here?<br/>13 options | | _Multiple choice only_ |
| [all_tags](#all_tags) <br/> _(Original in [questions](./BuiltinQuestions.md#all_tags))_ | _{all_tags()}_ | | _Multiple choice only_ |
| [multilevels](#multilevels) <br/> _(Original in [questions](./BuiltinQuestions.md#multilevels))_ | What levels does this elevator go to?<br/>_This elevator goes to floors {level}_<br/>5 options | | *[level](https://wiki.osm.org/wiki/Key:level)* ([string](../SpecialInputElements.md#string)) |
| [repeated](#repeated) <br/> _(Original in [questions](./BuiltinQuestions.md#repeated))_ | _Multiple, identical objects can be found on floors {repeat_on}._ | level | _Multiple choice only_ |
| [single_level](#single_level) <br/> _(Original in [questions](./BuiltinQuestions.md#single_level))_ | On what level is this feature located?<br/>_Located on the {level}th floor_<br/>5 options | level | *[level](https://wiki.osm.org/wiki/Key:level)* ([float](../SpecialInputElements.md#float)) |
| [smoking](#smoking) <br/> _(Original in [questions](./BuiltinQuestions.md#smoking))_ | Is smoking allowed at ?<br/>3 options | | _Multiple choice only_ |
| [induction-loop](#induction-loop) <br/> _(Original in [questions](./BuiltinQuestions.md#induction-loop))_ | Does this place have an audio induction loop for people with reduced hearing?<br/>2 options | | _Multiple choice only_ |
| [internet](#internet) <br/> _(Original in [questions](./BuiltinQuestions.md#internet))_ | Does this place offer internet access?<br/>6 options | internet-all | _Multiple choice only_ |
| [internet-fee](#internet-fee) <br/> _(Original in [questions](./BuiltinQuestions.md#internet-fee))_ | Is there a fee for internet access?<br/>3 options | internet-all | _Multiple choice only_ |
| [internet-ssid](#internet-ssid) <br/> _(Original in [questions](./BuiltinQuestions.md#internet-ssid))_ | What is the network name for the wireless internet access?<br/>_The network name is <b>{internet_access:ssid}</b>_<br/>1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
| [luminous_or_lit](#luminous_or_lit) <br/> _(Original in [questions](./BuiltinQuestions.md#luminous_or_lit))_ | Is this object lit or does it emit light?<br/>4 options | | _Multiple choice only_ |
| [survey_date](#survey_date) <br/> _(Original in [questions](./BuiltinQuestions.md#survey_date))_ | When was this object last surveyed?<br/>_This object was last surveyed on <b>{survey:date}</b>_<br/>1 options | | *[survey:date](https://wiki.osm.org/wiki/Key:survey:date)* ([date](../SpecialInputElements.md#date)) |
| [check_date](#check_date) <br/> _(Original in [questions](./BuiltinQuestions.md#check_date))_ | When was this object last checked?<br/>_This object was last checked on <b>{check_date}</b>_<br/>1 options | | *[check_date](https://wiki.osm.org/wiki/Key:check_date)* ([date](../SpecialInputElements.md#date)) |
| [lod](#lod) <br/> _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
| [split_button](#split_button) <br/> _(Original in [questions](./BuiltinQuestions.md#split_button))_ | _{split_button()}_ | | _Multiple choice only_ |
| [seasonal](#seasonal) <br/> _(Original in [questions](./BuiltinQuestions.md#seasonal))_ | Is available all around the year?<br/>3 options | | _Multiple choice only_ |
| [shower](#shower) <br/> _(Original in [questions](./BuiltinQuestions.md#shower))_ | Does this facility offer showers?<br/>4 options | | _Multiple choice only_ |
| [preset_description](#preset_description) <br/> _(Original in [questions](./BuiltinQuestions.md#preset_description))_ | _{preset_description()}_ | | _Multiple choice only_ |
| [brand](#brand) <br/> _(Original in [questions](./BuiltinQuestions.md#brand))_ | Is part of a bigger brand?<br/>_Part of {brand}_<br/>1 options | | *[brand](https://wiki.osm.org/wiki/Key:brand)* ([string](../SpecialInputElements.md#string)) |
| [indoor](#indoor) <br/> _(Original in [questions](./BuiltinQuestions.md#indoor))_ | Is this object located indoors?<br/>2 options | | _Multiple choice only_ |
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [maxstay](#maxstay) <br/> _(Original in [questions](./BuiltinQuestions.md#maxstay))_ | What is the maximum amount of time one is allowed to stay here?<br/>_One can stay at most <b>{canonical(maxstay)}</b>_<br/>1 options | | *[maxstay](https://wiki.osm.org/wiki/Key:maxstay)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [name](#name) <br/> _(Original in [questions](./BuiltinQuestions.md#name))_ | What is the name of this place?<br/>_<b>{name}</b>_ | | *[name](https://wiki.osm.org/wiki/Key:name)* ([string](../SpecialInputElements.md#string)) |
| [has_toilets](#has_toilets) <br/> _(Original in [questions](./BuiltinQuestions.md#has_toilets))_ | Has toilets?<br/>3 options | | _Multiple choice only_ |
| [reservation](#reservation) <br/> _(Original in [questions](./BuiltinQuestions.md#reservation))_ | Is a reservation required for this place?<br/>4 options | | _Multiple choice only_ |
| [ref](#ref) <br/> _(Original in [questions](./BuiltinQuestions.md#ref))_ | What is the reference number?<br/>_The reference number is <b>{ref}</b>_ | | *[ref](https://wiki.osm.org/wiki/Key:ref)* ([string](../SpecialInputElements.md#string)) |
| [operator](#operator) <br/> _(Original in [questions](./BuiltinQuestions.md#operator))_ | What company operates this place?<br/>_This place is operated by <b>{operator}</b>_ | | *[operator](https://wiki.osm.org/wiki/Key:operator)* ([string](../SpecialInputElements.md#string)) |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [self_checkout](#self_checkout) <br/> _(Original in [questions](./BuiltinQuestions.md#self_checkout))_ | Does this place offer self-checkout?<br/>3 options | self_checkout_questions | _Multiple choice only_ |
| [self_checkout_type](#self_checkout_type) <br/> _(Original in [questions](./BuiltinQuestions.md#self_checkout_type))_ | What kind of self-checkout does this place offer?<br/>2 options | self_checkout_questions | _Multiple choice only_ |
| [spacer](#spacer) <br/> _(Original in [questions](./BuiltinQuestions.md#spacer))_ | _<div class='m-4'/>_ | | _Multiple choice only_ |
### questions
Show the questions block at this location
_This tagrendering has no question and is thus read-only_
{questions()}
### images
This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images
_This tagrendering has no question and is thus read-only_
{image_carousel()}{image_upload()}
Originally defined in [questions](../Docs/Layers/questions.md#images)
### images_no_blur
Same as `images`, but uploaded request to disable blurring to the panoramax server
_This tagrendering has no question and is thus read-only_
{image_carousel()}{image_upload(,,,true)}
Originally defined in [questions](../Docs/Layers/questions.md#images_no_blur)
### mapillary
Shows a button to open Mapillary on this location
_This tagrendering has no question and is thus read-only_
{mapillary_link()}
Originally defined in [questions](../Docs/Layers/questions.md#mapillary)
### export_as_gpx
Shows a button to export this feature as GPX. Especially useful for route relations
_This tagrendering has no question and is thus read-only_
{export_as_gpx()}
Originally defined in [questions](../Docs/Layers/questions.md#export_as_gpx)
### export_as_geojson
Shows a button to export this feature as geojson. Especially useful for debugging or using this in other programs
_This tagrendering has no question and is thus read-only_
{export_as_geojson()}
Originally defined in [questions](../Docs/Layers/questions.md#export_as_geojson)
### wikipedia
Shows a wikipedia box with the corresponding wikipedia article; the wikidata-item link can be changed by a contributor
If no attribute matches, the question *What is the corresponding Wikidata entity?* will be asked
**{wikipedia():max-height:25rem}** is shown if `wikidata` is exists in the object
- *{wikipedia():max-height:25rem}* is shown if wikipedia~.+. _This option cannot be chosen as answer_
- *No Wikipedia page has been linked yet* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:wikidata' target='_blank'>wikidata</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wikidata%3D' target='_blank'></a>. _This option cannot be chosen as answer_
Originally defined in [questions](../Docs/Layers/questions.md#wikipedia)
### reviews
Shows the reviews module (including the possibility to leave a review)
_This tagrendering has no question and is thus read-only_
{create_review()}{list_reviews()}
Originally defined in [questions](../Docs/Layers/questions.md#reviews)
### phone
If no attribute matches, the question *What is the phone number of {title()}?* will be asked
**{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}** is shown if `phone` is exists in the object
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/phone.svg'> *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if contact:phone~.+. _This option cannot be chosen as answer_
This tagRendering has the following labels:
- `contact`
Originally defined in [questions](../Docs/Layers/questions.md#phone)
### mastodon
Shows and asks for the mastodon handle
If no attribute matches, the question *What is the Mastodon-handle of {title()}?* will be asked
**{fediverse_link(contact:mastodon)}** is shown if `contact:mastodon` is exists in the object
Originally defined in [questions](../Docs/Layers/questions.md#mastodon)
### facebook
Shows and asks for the facebook handle
If no attribute matches, the question *What is the facebook page of of {title()}?* will be asked
**{link(Facebook page,&LBRACEcontact:facebook&RBRACE,,,,)}<div class='subtle text-sm'>Facebook is known to harm mental health, manipulate public opinion and cause hate. Try to use healthier alternatives</div>** is shown if `contact:facebook` is exists in the object
Originally defined in [questions](../Docs/Layers/questions.md#facebook)
### osmlink
_This tagrendering has no question and is thus read-only_
<a href='https://openstreetmap.org/{id}' target='_blank' rel='noopener'F><img src='./assets/svg/osm-logo-us.svg'/></a>
- *<span class='alert'>Uploading...</alert>* is shown if id~^(=-)$
Originally defined in [questions](../Docs/Layers/questions.md#osmlink)
### email
If no attribute matches, the question *What is the email address of {title()}?* will be asked
**<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>** is shown if `email` is exists in the object
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/svg/envelope.svg'> *<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>* is shown if contact:email~.+. _This option cannot be chosen as answer_
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/svg/envelope.svg'> *<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>* is shown if operator:email~.+. _This option cannot be chosen as answer_
This tagRendering has the following labels:
- `contact`
Originally defined in [questions](../Docs/Layers/questions.md#email)
### website
If no attribute matches, the question *What is the website of {title()}?* will be asked
**<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>** is shown if `website` is exists in the object
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/icons/website.svg'> *<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>* is shown if contact:website~.+. _This option cannot be chosen as answer_
This tagRendering has the following labels:
- `contact`
Originally defined in [questions](../Docs/Layers/questions.md#website)
### wheelchair-access
If no attribute matches, the question *Is this place accessible with a wheelchair?* will be asked
- *This place is specially adapted for wheelchair users* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a>
- *This place is easily reachable with a wheelchair* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>
- *It is possible to reach this place in a wheelchair, but it is not easy* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited' target='_blank'>limited</a>
- *This place is not reachable with a wheelchair* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a>
Originally defined in [questions](../Docs/Layers/questions.md#wheelchair-access)
### dog-access
If no attribute matches, the question *Are dogs allowed in this business?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_allowed.svg'> *Dogs are allowed* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/no_dogs.svg'> *Dogs are <b>not</b> allowed* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_leashed.svg'> *Dogs are allowed, but they have to be leashed* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed' target='_blank'>leashed</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_allowed.svg'> *Dogs are allowed and can run around freely* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed' target='_blank'>unleashed</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_outside.svg'> *Dogs are allowed only outside* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Doutside' target='_blank'>outside</a>
Originally defined in [questions](../Docs/Layers/questions.md#dog-access)
### description
If no attribute matches, the question *Is there still some relevant info that the previous questions did not cover? Feel free to add it here.* will be asked
**{description}** is shown if `description` is exists in the object
Originally defined in [questions](../Docs/Layers/questions.md#description)
### fixme
If no attribute matches, the question *Is there something wrong with how this is mapped, that you weren't able to fix here? (leave a note to OpenStreetMap experts)* will be asked
**Extra information for OpenStreetMap experts: {fixme}** is shown if `fixme` is exists in the object
Originally defined in [questions](../Docs/Layers/questions.md#fixme)
### opening_hours
If no attribute matches, the question *What are the opening hours of {title()}?* will be asked
**<h3>Opening hours</h3>{opening_hours_table(opening_hours)}** is shown if `opening_hours` is exists in the object
- *Marked as closed for an unspecified time* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3Dclosed' target='_blank'>closed</a>. _This option cannot be chosen as answer_
Originally defined in [questions](../Docs/Layers/questions.md#opening_hours)
### opening_hours_24_7
If no attribute matches, the question *What are the opening hours of {title()}?* will be asked
**<h3>Opening hours</h3>{opening_hours_table(opening_hours)}** is shown if `opening_hours` is exists in the object
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/open24_7.svg'> *24/7 opened (including holidays)* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7' target='_blank'>24/7</a>
- *Marked as closed for an unspecified time* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3Dclosed' target='_blank'>closed</a>. _This option cannot be chosen as answer_
Originally defined in [questions](../Docs/Layers/questions.md#opening_hours_24_7)
### opening_hours_24_7_default
If no attribute matches, the question *What are the opening hours of {title()}?* will be asked
**<h3>Opening hours</h3>{opening_hours_table(opening_hours)}** is shown if `opening_hours` is exists in the object
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/open24_7.svg'> *24/7 opened (including holidays)* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7' target='_blank'>24/7</a>
- *Marked as closed for an unspecified time* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3Dclosed' target='_blank'>closed</a>. _This option cannot be chosen as answer_
Originally defined in [questions](../Docs/Layers/questions.md#opening_hours_24_7_default)
### opening_hours_by_appointment
If no attribute matches, the question *What are the opening hours of {title()}?* will be asked
**<h3>Opening hours</h3>{opening_hours_table(opening_hours)}** is shown if `opening_hours` is exists in the object
- *Only by appointment* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D"by appointment"' target='_blank'>"by appointment"</a>
- *Only by appointment* is shown if opening_hours~^("by appointment"|by appointment)$. _This option cannot be chosen as answer_
- *Marked as closed for an unspecified time* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3Dclosed' target='_blank'>closed</a>. _This option cannot be chosen as answer_
Originally defined in [questions](../Docs/Layers/questions.md#opening_hours_by_appointment)
### service:electricity
If no attribute matches, the question *Does this amenity have electrical outlets, available to customers when they are inside?* will be asked
- *There are plenty of domestic sockets available to customers seated indoors, where they can charge their electronics* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes' target='_blank'>yes</a>
- *There are a few domestic sockets available to customers seated indoors, where they can charge their electronics* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited' target='_blank'>limited</a>
- *There are no sockets available indoors to customers, but charging might be possible if the staff is asked* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask' target='_blank'>ask</a>
- *There are a no domestic sockets available to customers seated indoors* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno' target='_blank'>no</a>
Originally defined in [questions](../Docs/Layers/questions.md#service:electricity)
### payment-options
If no attribute matches, the question *Which methods of payment are accepted here?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/cash.svg'> *Cash is accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Payment cards are accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/qrcode.svg'> *Payment by QR-code is possible here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dno' target='_blank'>no</a> will be added
Originally defined in [questions](../Docs/Layers/questions.md#payment-options)
### payment-options-split
If no attribute matches, the question *Which methods of payment are accepted here?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/cash.svg'> *Cash is accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3D' target='_blank'></a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Payment cards are accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3D' target='_blank'></a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/qrcode.svg'> *Payment by QR-code is possible here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/coins.svg'> *Coins are accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/notes.svg'> *Bank notes are accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Debit cards are accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:debit_cards' target='_blank'>payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:debit_cards%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:debit_cards' target='_blank'>payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:debit_cards%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Credit cards are accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a> will be added
Originally defined in [questions](../Docs/Layers/questions.md#payment-options-split)
### payment-options-advanced
If no attribute matches, the question *Which methods of payment are accepted here?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/cash.svg'> *Cash is accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Payment cards are accepted here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/qrcode.svg'> *Payment by QR-code is possible here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/smartphone.svg'> *Payment is done using a dedicated app* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:app' target='_blank'>payment:app</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:app%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:app' target='_blank'>payment:app</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:app%3Dno' target='_blank'>no</a> will be added
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/nfc_card.svg'> *Payment is done using a membership card* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:membership_card' target='_blank'>payment:membership_card</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:membership_card%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:payment:membership_card' target='_blank'>payment:membership_card</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:membership_card%3Dno' target='_blank'>no</a> will be added
Originally defined in [questions](../Docs/Layers/questions.md#payment-options-advanced)
### denominations-coins
If no attribute matches, the question *What coins can you use to pay here?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/1cent.svg'> *1 cent coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.01 EUR' target='_blank'>0.01 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/2cent.svg'> *2 cent coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.02 EUR' target='_blank'>0.02 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/5cent.svg'> *5 cent coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 EUR' target='_blank'>0.05 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/10cent.svg'> *10 cent coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 EUR' target='_blank'>0.10 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/20cent.svg'> *20 cent coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 EUR' target='_blank'>0.20 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/50cent.svg'> *50 cent coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 EUR' target='_blank'>0.50 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/1euro.svg'> *1 euro coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 EUR' target='_blank'>1 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/2euro.svg'> *2 euro coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 EUR' target='_blank'>2 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/5rp-2019-800px.png'> *5 centimes coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 CHF' target='_blank'>0.05 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/10rp-2019-800px.png'> *10 centimes coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 CHF' target='_blank'>0.10 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/20rp-2019-800px.png'> *20 centimes coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 CHF' target='_blank'>0.20 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/50rp-2019-800px.png'> *½ franc coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 CHF' target='_blank'>0.50 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/1fr-2019-800px.png'> *1 franc coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 CHF' target='_blank'>1 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/2fr-2019-800px.png'> *2 francs coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 CHF' target='_blank'>2 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/5fr-2019-800px.png'> *5 francs coins are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations' target='_blank'>payment:coins:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D5 CHF' target='_blank'>5 CHF</a>
This tagRendering is only visible in the information panel if the condition *(<a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dyes' target='_blank'>yes</a>) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$)* is met
Originally defined in [questions](../Docs/Layers/questions.md#denominations-coins)
### denominations-notes
If no attribute matches, the question *what notes can you use to pay here?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/5euro.svg'> *5 euro notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D5 EUR' target='_blank'>5 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/10euro.svg'> *10 euro notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D10 EUR' target='_blank'>10 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/20euro.svg'> *20 euro notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D20 EUR' target='_blank'>20 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/50euro.svg'> *50 euro notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D50 EUR' target='_blank'>50 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/100euro.svg'> *100 euro notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D100 EUR' target='_blank'>100 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/200euro.svg'> *200 euro notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D200 EUR' target='_blank'>200 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/eur/500euro.svg'> *500 euro notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D500 EUR' target='_blank'>500 EUR</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/10chf.svg'> *10 francs notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D10 CHF' target='_blank'>10 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/20chf.svg'> *20 francs notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D20 CHF' target='_blank'>20 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/50chf.svg'> *50 francs notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D50 CHF' target='_blank'>50 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/100chf.svg'> *100 francs notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D100 CHF' target='_blank'>100 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/200chf.svg'> *200 francs notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D200 CHF' target='_blank'>200 CHF</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/denominations/chf/1000chf.svg'> *1000 francs notes are accepted* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations' target='_blank'>payment:notes:denominations</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D1000 CHF' target='_blank'>1000 CHF</a>
This tagRendering is only visible in the information panel if the condition *(<a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dyes' target='_blank'>yes</a>) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$)* is met
Originally defined in [questions](../Docs/Layers/questions.md#denominations-notes)
### all_tags
Shows a table with all the tags of the feature
_This tagrendering has no question and is thus read-only_
{all_tags()}
Originally defined in [questions](../Docs/Layers/questions.md#all_tags)
### multilevels
If no attribute matches, the question *What levels does this elevator go to?* will be asked
**This elevator goes to floors {level}** is shown if `level` is exists in the object
- *Located underground* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>. _This option cannot be chosen as answer_
- *Located on the ground floor* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D0' target='_blank'>0</a>
- *Located on the ground floor* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D' target='_blank'></a>. _This option cannot be chosen as answer_
- *Located on the first floor* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D1' target='_blank'>1</a>
- *Located on the first basement level* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D-1' target='_blank'>-1</a>
Originally defined in [questions](../Docs/Layers/questions.md#multilevels)
### repeated
_This tagrendering has no question and is thus read-only_
Multiple, identical objects can be found on floors {repeat_on}.
This tagRendering is only visible in the information panel if the condition *repeat_on~.+* is met
This tagRendering has the following labels:
- `level`
Originally defined in [questions](../Docs/Layers/questions.md#repeated)
### single_level
If no attribute matches, the question *On what level is this feature located?* will be asked
**Located on the {level}th floor** is shown if `level` is exists in the object
- *Located underground* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>. _This option cannot be chosen as answer_
- *Located on the ground floor* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D0' target='_blank'>0</a>
- *Located on the ground floor* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D' target='_blank'></a>. _This option cannot be chosen as answer_
- *Located on the first floor* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D1' target='_blank'>1</a>
- *Located on the first basement level* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D-1' target='_blank'>-1</a>
This tagRendering has the following labels:
- `level`
Originally defined in [questions](../Docs/Layers/questions.md#single_level)
### smoking
If no attribute matches, the question *Is smoking allowed at {title()}?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/smoking.svg'> *Smoking is <b>allowed</b>* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/no_smoking.svg'> *Smoking is <b>not allowed</b>* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dno' target='_blank'>no</a>
- *Smoking is <b>allowed outside</b>.* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Doutside' target='_blank'>outside</a>
Originally defined in [questions](../Docs/Layers/questions.md#smoking)
### induction-loop
An accessibility feature: induction loops are for hard-hearing persons which have an FM-receiver.
If no attribute matches, the question *Does this place have an audio induction loop for people with reduced hearing?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/audio_induction_loop.svg'> *This place has an audio induction loop* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:hearing_loop' target='_blank'>hearing_loop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/audio_induction_loop_missing.svg'> *This place <b>does not</b> have an audio induction loop* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:hearing_loop' target='_blank'>hearing_loop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dno' target='_blank'>no</a>
Originally defined in [questions](../Docs/Layers/questions.md#induction-loop)
### internet
If no attribute matches, the question *Does this place offer internet access?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/wifi'> *This place offers wireless internet access* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan' target='_blank'>wlan</a>
- *This place <b>does not</b> offer internet access* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno' target='_blank'>no</a>
- *This place offers internet access* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/computer'> *This place offers internet access via a terminal or computer* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal' target='_blank'>terminal</a>
- *This place offers wired internet access* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired' target='_blank'>wired</a>
- *This place offers both wireless internet and internet access via a terminal or computer* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan' target='_blank'>terminal;wlan</a>
This tagRendering has the following labels:
- `internet-all`
Originally defined in [questions](../Docs/Layers/questions.md#internet)
### internet-fee
If no attribute matches, the question *Is there a fee for internet access?* will be asked
- *There is a fee for the internet access at this place* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes' target='_blank'>yes</a>
- *Internet access is free at this place* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno' target='_blank'>no</a>
- *Internet access is free at this place, for customers only* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers' target='_blank'>customers</a>
This tagRendering is only visible in the information panel if the condition *internet_access!=no & internet_access~.+* is met
This tagRendering has the following labels:
- `internet-all`
Originally defined in [questions](../Docs/Layers/questions.md#internet-fee)
### internet-ssid
If no attribute matches, the question *What is the network name for the wireless internet access?* will be asked
**The network name is <b>{internet_access:ssid}</b>** is shown if `internet_access:ssid` is exists in the object
- *Telekom* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid' target='_blank'>internet_access:ssid</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom' target='_blank'>Telekom</a>
This tagRendering is only visible in the information panel if the condition *internet_access~^(.*wlan.*)$* is met
This tagRendering has the following labels:
- `internet-all`
Originally defined in [questions](../Docs/Layers/questions.md#internet-ssid)
### luminous_or_lit
If no attribute matches, the question *Is this object lit or does it emit light?* will be asked
- *This object both emits light and is lighted by an external light source* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:lit' target='_blank'>lit</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:lit%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:luminous' target='_blank'>luminous</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:luminous%3Dyes' target='_blank'>yes</a>
- *This object emits light* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:luminous' target='_blank'>luminous</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:luminous%3Dyes' target='_blank'>yes</a>
- *This object is lit externally, e.g. by a spotlight or other lights* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:lit' target='_blank'>lit</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:lit%3Dyes' target='_blank'>yes</a>
- *This object does not emit light and is not lighted by externally* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:lit' target='_blank'>lit</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:lit%3Dno' target='_blank'>no</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:luminous' target='_blank'>luminous</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:luminous%3Dno' target='_blank'>no</a>
Originally defined in [questions](../Docs/Layers/questions.md#luminous_or_lit)
### survey_date
If no attribute matches, the question *When was this object last surveyed?* will be asked
**This object was last surveyed on <b>{survey:date}</b>** is shown if `survey:date` is exists in the object
- *This object was last surveyed today* is shown if survey:date=
Originally defined in [questions](../Docs/Layers/questions.md#survey_date)
### check_date
If no attribute matches, the question *When was this object last checked?* will be asked
**This object was last checked on <b>{check_date}</b>** is shown if `check_date` is exists in the object
- *This object was last checked today* is shown if check_date=
Originally defined in [questions](../Docs/Layers/questions.md#check_date)
### lod
_This tagrendering has no question and is thus read-only_
{linked_data_from_website()}
This tagRendering has the following labels:
- `added_by_default`
Originally defined in [questions](../Docs/Layers/questions.md#lod)
### split_button
_This tagrendering has no question and is thus read-only_
{split_button()}
Originally defined in [questions](../Docs/Layers/questions.md#split_button)
### seasonal
If no attribute matches, the question *Is {title()} available all around the year?* will be asked
- *Available all around the year* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:seasonal' target='_blank'>seasonal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dno' target='_blank'>no</a>
- *Only available in summer* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:seasonal' target='_blank'>seasonal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dsummer' target='_blank'>summer</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/drinking_water/no_winter.svg'> *Closed during the winter* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:seasonal' target='_blank'>seasonal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dspring;summer;autumn' target='_blank'>spring;summer;autumn</a>
Originally defined in [questions](../Docs/Layers/questions.md#seasonal)
### shower
If no attribute matches, the question *Does this facility offer showers?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/shower/shower.svg'> *This facility does have showers with warm water* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:shower' target='_blank'>shower</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shower%3Dhot' target='_blank'>hot</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/shower/shower.svg'> *This facility does have showers, but the water is not heated* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:shower' target='_blank'>shower</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shower%3Dcold' target='_blank'>cold</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/shower/shower.svg'> *This facility does have showers* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:shower' target='_blank'>shower</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shower%3Dyes' target='_blank'>yes</a>
- *This facility does not offer a shower* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:shower' target='_blank'>shower</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shower%3Dno' target='_blank'>no</a>
Originally defined in [questions](../Docs/Layers/questions.md#shower)
### preset_description
_This tagrendering has no question and is thus read-only_
{preset_description()}
Originally defined in [questions](../Docs/Layers/questions.md#preset_description)
### brand
If no attribute matches, the question *Is {title()} part of a bigger brand?* will be asked
**Part of {brand}** is shown if `brand` is exists in the object
- *Not part of a bigger brand* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:nobrand' target='_blank'>nobrand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:nobrand%3Dyes' target='_blank'>yes</a>
Originally defined in [questions](../Docs/Layers/questions.md#brand)
### indoor
If no attribute matches, the question *Is this object located indoors?* will be asked
- *This object is located indoors* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:indoor' target='_blank'>indoor</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dyes' target='_blank'>yes</a>
- *This object is located outdoors* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:indoor' target='_blank'>indoor</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dno' target='_blank'>no</a>
Originally defined in [questions](../Docs/Layers/questions.md#indoor)
### seating
If no attribute matches, the question *What kind of seating does {title()} have?* will be asked
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/outdoor_seating/outdoor_seating.svg'> *This place has outdoor seating* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:outdoor_seating' target='_blank'>outdoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:outdoor_seating%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:outdoor_seating' target='_blank'>outdoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:outdoor_seating%3Dno' target='_blank'>no</a> will be added
- *This place has indoor seating* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:indoor_seating' target='_blank'>indoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor_seating%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:indoor_seating' target='_blank'>indoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor_seating%3Dno' target='_blank'>no</a> will be added
Originally defined in [questions](../Docs/Layers/questions.md#seating)
### maxstay
If no attribute matches, the question *What is the maximum amount of time one is allowed to stay here?* will be asked
**One can stay at most <b>{canonical(maxstay)}</b>** is shown if `maxstay` is exists in the object
- *There is no limit to the amount of time one can stay here* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:maxstay' target='_blank'>maxstay</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:maxstay%3Dunlimited' target='_blank'>unlimited</a>
Originally defined in [questions](../Docs/Layers/questions.md#maxstay)
### name
If no attribute matches, the question *What is the name of this place?* will be asked
**<b>{name}</b>** is shown if `name` is exists in the object
Originally defined in [questions](../Docs/Layers/questions.md#name)
### has_toilets
If no attribute matches, the question *Has {title()} toilets?* will be asked
- *Has toilets* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
- *Has no toilets* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno' target='_blank'>no</a>
- *The toilets are marked separately on the map* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate' target='_blank'>separate</a>
Originally defined in [questions](../Docs/Layers/questions.md#has_toilets)
### reservation
If no attribute matches, the question *Is a reservation required for this place?* will be asked
- *A reservation is required at this place* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:reservation' target='_blank'>reservation</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drequired' target='_blank'>required</a>
- *A reservation is not required, but still recommended to make sure you get a table* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:reservation' target='_blank'>reservation</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drecommended' target='_blank'>recommended</a>
- *Reservation is possible at this place* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:reservation' target='_blank'>reservation</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dyes' target='_blank'>yes</a>
- *Reservation is not possible at this place* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:reservation' target='_blank'>reservation</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dno' target='_blank'>no</a>
Originally defined in [questions](../Docs/Layers/questions.md#reservation)
### ref
If no attribute matches, the question *What is the reference number?* will be asked
**The reference number is <b>{ref}</b>** is shown if `ref` is exists in the object
Originally defined in [questions](../Docs/Layers/questions.md#ref)
### operator
If no attribute matches, the question *What company operates this place?* will be asked
**This place is operated by <b>{operator}</b>** is shown if `operator` is exists in the object
Originally defined in [questions](../Docs/Layers/questions.md#operator)
### child_highchair
If no attribute matches, the question *Is there a high chair (also known as booster chair) for toddlers available here?* will be asked
**{highchair} highchairs are available** is shown if `highchair` is exists in the object
- *No highchair available* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:highchair' target='_blank'>highchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highchair%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/baby_chair.svg'> *At least one high chair is available* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:highchair' target='_blank'>highchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highchair%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/baby_chair.svg'> *One high chair is available* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:highchair' target='_blank'>highchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highchair%3D1' target='_blank'>1</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/baby_chair.svg'> *Two high chairs are available* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:highchair' target='_blank'>highchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highchair%3D2' target='_blank'>2</a>
Originally defined in [questions](../Docs/Layers/questions.md#child_highchair)
### kids_area
If no attribute matches, the question *Is there a play area for kids* will be asked
- *No kids area* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area' target='_blank'>kids_area</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dno' target='_blank'>no</a>
- *Has a kids area both inside and outside* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area' target='_blank'>kids_area</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area:indoor' target='_blank'>kids_area:indoor</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area:indoor%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area:outdoor' target='_blank'>kids_area:outdoor</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area:outdoor%3Dyes' target='_blank'>yes</a>
- *Has an indoor kids area* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area' target='_blank'>kids_area</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area:indoor' target='_blank'>kids_area:indoor</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area:indoor%3Dyes' target='_blank'>yes</a>
- *Has an outdoor kids area* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area' target='_blank'>kids_area</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area:outdoor' target='_blank'>kids_area:outdoor</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area:outdoor%3Dyes' target='_blank'>yes</a>
- *Has a kids area* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:kids_area' target='_blank'>kids_area</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:kids_area%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_
Originally defined in [questions](../Docs/Layers/questions.md#kids_area)
### self_checkout
If no attribute matches, the question *Does this place offer self-checkout?* will be asked
- *This place offers self-checkout* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout' target='_blank'>self_checkout</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Dyes' target='_blank'>yes</a>
- *This place does not offer self-checkout* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout' target='_blank'>self_checkout</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Dno' target='_blank'>no</a>
- *This place <b>only</b> offers self-checkout* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout' target='_blank'>self_checkout</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Donly' target='_blank'>only</a>
This tagRendering has the following labels:
- `self_checkout_questions`
Originally defined in [questions](../Docs/Layers/questions.md#self_checkout)
### self_checkout_type
If no attribute matches, the question *What kind of self-checkout does this place offer?* will be asked
- *This place offers self-checkout using a handheld scanner* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout:handheld' target='_blank'>self_checkout:handheld</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout:handheld%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout:handheld' target='_blank'>self_checkout:handheld</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout:handheld%3Dno' target='_blank'>no</a> will be added
- *This place offers self-checkout using a self-checkout kiosk* is shown if <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout:self_scan' target='_blank'>self_checkout:self_scan</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout:self_scan%3Dyes' target='_blank'>yes</a>. If _not_ selected when answering, <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout:self_scan' target='_blank'>self_checkout:self_scan</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout:self_scan%3Dno' target='_blank'>no</a> will be added
This tagRendering is only visible in the information panel if the condition *<a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout' target='_blank'>self_checkout</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:self_checkout' target='_blank'>self_checkout</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:self_checkout%3Donly' target='_blank'>only</a>* is met
This tagRendering has the following labels:
- `self_checkout_questions`
Originally defined in [questions](../Docs/Layers/questions.md#self_checkout_type)
### spacer
_This tagrendering has no question and is thus read-only_
<div class='m-4'/>
Originally defined in [questions](../Docs/Layers/questions.md#spacer)
This document is autogenerated from [assets/layers/questions/questions.json](https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/assets/layers/questions/questions.json)

View file

@ -140,7 +140,7 @@ export class GenerateDocs extends Script {
console.log("Starting documentation generation...")
ScriptUtils.fixUtils()
this.WriteMarkdownFile(
this.writeMarkdownFile(
"./Docs/SpecialRenderings.md",
SpecialVisualizations.HelpMessage(),
["src/UI/SpecialVisualizations.ts"],
@ -153,7 +153,7 @@ export class GenerateDocs extends Script {
mkdirSync("./Docs/Themes")
}
this.WriteMarkdownFile("./Docs/Tags_format.md", TagUtils.generateDocs(), [
this.writeMarkdownFile("./Docs/Tags_format.md", TagUtils.generateDocs(), [
"src/Logic/Tags/TagUtils.ts",
])
@ -171,6 +171,8 @@ export class GenerateDocs extends Script {
this.generateQueryParameterDocs()
this.generateBuiltinQuestions()
this.generateOverviewsForAllSingleLayer()
// this.generateOverviewsForAllSingleLayer("./Docs/layers_nl", "nl")
this.generateLayerOverviewText()
this.generateBuiltinUnits()
await this.generateSourcesOverview()
@ -180,22 +182,22 @@ export class GenerateDocs extends Script {
ScriptUtils.erasableLog("Written docs for theme", theme.id)
})
this.WriteMarkdownFile(
this.writeMarkdownFile(
"./Docs/CalculatedTags.md",
["# Metatags", SimpleMetaTaggers.HelpText(), ExtraFunctions.HelpText()].join("\n"),
["src/Logic/SimpleMetaTagger.ts", "src/Logic/ExtraFunctions.ts"],
{ noTableOfContents: false }
)
this.WriteMarkdownFile("./Docs/SpecialInputElements.md", Validators.HelpText(), [
this.writeMarkdownFile("./Docs/SpecialInputElements.md", Validators.HelpText(), [
"src/UI/InputElement/Validators.ts",
])
this.WriteMarkdownFile("./Docs/ChangesetMeta.md", Changes.getDocs(), [
this.writeMarkdownFile("./Docs/ChangesetMeta.md", Changes.getDocs(), [
"src/Logic/Osm/Changes.ts",
"src/Logic/Osm/ChangesetHandler.ts",
])
const eli = AvailableRasterLayers.editorLayerIndex()
this.WriteMarkdownFile(
this.writeMarkdownFile(
"./Docs/ELI-overview.md",
[
"# Layers in the Editor Layer Index",
@ -219,15 +221,17 @@ export class GenerateDocs extends Script {
console.log("Generated docs")
}
private WriteMarkdownFile(
private writeMarkdownFile(
filename: string,
markdown: string,
autogenSource: string[],
options?: {
noTableOfContents?: boolean
tocMaxDepth?: number
lang?: string
}
): void {
const lang = options?.lang ?? "en"
for (const source of autogenSource) {
if (source.indexOf("*") > 0) {
continue
@ -244,7 +248,7 @@ export class GenerateDocs extends Script {
let md = markdown
if (options?.noTableOfContents !== false) {
md = TableOfContents.insertTocIntoMd(md, options?.tocMaxDepth)
md = TableOfContents.insertTocIntoMd(md, lang, options?.tocMaxDepth)
}
md = md.replace(/\n\n\n+/g, "\n\n")
@ -274,7 +278,7 @@ export class GenerateDocs extends Script {
new ThemeConfig(<ThemeConfigJson>(<unknown>bookcases)),
new ImmutableStore(new Set())
)
this.WriteMarkdownFile("./Docs/Hotkeys.md", Hotkeys.generateDocumentation(), [
this.writeMarkdownFile("./Docs/Hotkeys.md", Hotkeys.generateDocumentation(), [
"src/UI/Base/Hotkeys.ts",
])
}
@ -324,7 +328,7 @@ export class GenerateDocs extends Script {
}
}
this.WriteMarkdownFile("./Docs/builtin_units.md", els.join("\n\n"), [
this.writeMarkdownFile("./Docs/builtin_units.md", els.join("\n\n"), [
`assets/layers/unit/unit.json`,
`src/Models/ThemeConfig/Json/UnitConfigJson.ts`,
])
@ -334,10 +338,16 @@ export class GenerateDocs extends Script {
* Generates documentation for the all the individual layers.
* Inline layers are included (if the theme is public)
*/
private generateOverviewsForAllSingleLayer(): void {
private generateOverviewsForAllSingleLayer(targetDirectory: string = "./Docs/Layers", lang: string = "en"): void {
const allLayers: LayerConfig[] = Array.from(AllSharedLayers.sharedLayers.values()).filter(
(layer) => layer["source"] !== null
)
const qLayer = new LayerConfig(
<LayerConfigJson>(<unknown>questions),
"questions.json",
true
)
allLayers.push(qLayer)
const builtinLayerIds: Set<string> = new Set<string>()
allLayers.forEach((l) => builtinLayerIds.add(l.id))
const inlineLayers = new Map<string, string>()
@ -391,23 +401,23 @@ export class GenerateDocs extends Script {
layerIsNeededBy.get(dependency).push(layer.id)
}
}
if (!existsSync(targetDirectory)) {
mkdirSync(targetDirectory)
}
allLayers.forEach((layer) => {
const element = layer.generateDocumentation({
usedInThemes: themesPerLayer.get(layer.id),
layerIsNeededBy: layerIsNeededBy,
dependencies: DependencyCalculator.getLayerDependencies(layer),
})
lang
}).replaceAll("./Docs/Layers", targetDirectory)
const inlineSource = inlineLayers.get(layer.id)
ScriptUtils.erasableLog("Exporting layer documentation for", layer.id)
if (!existsSync("./Docs/Layers")) {
mkdirSync("./Docs/Layers")
}
let source: string = `assets/layers/${layer.id}/${layer.id}.json`
if (inlineSource !== undefined) {
source = `assets/themes/${inlineSource}/${inlineSource}.json`
}
this.WriteMarkdownFile("./Docs/Layers/" + layer.id + ".md", element, [source])
this.writeMarkdownFile(targetDirectory+ "/" + layer.id + ".md", element, [source])
})
}
@ -463,7 +473,7 @@ export class GenerateDocs extends Script {
${usedByLayers.map((item) => " - " + item).join("\n")}
`
}
this.WriteMarkdownFile("./Docs/BuiltinIndex.md", docs, ["assets/layers/*.json"])
this.writeMarkdownFile("./Docs/BuiltinIndex.md", docs, ["assets/layers/*.json"])
}
private generateQueryParameterDocs() {
@ -476,7 +486,7 @@ export class GenerateDocs extends Script {
"The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics'"
)
this.WriteMarkdownFile(
this.writeMarkdownFile(
"./Docs/URL_Parameters.md",
QueryParameterDocumentation.GenerateQueryParameterDocs(),
["src/Logic/Web/QueryParameters.ts", "src/UI/QueryParameterDocumentation.ts"]
@ -494,7 +504,7 @@ export class GenerateDocs extends Script {
Array.from(AllSharedLayers.sharedLayers.values())
)
const docs = qLayer.generateDocumentation({ reusedTagRenderings })
this.WriteMarkdownFile("./Docs/BuiltinQuestions.md", docs, [
this.writeMarkdownFile("./Docs/BuiltinQuestions.md", docs, [
"assets/layers/questions/questions.json",
])
}
@ -533,7 +543,7 @@ export class GenerateDocs extends Script {
"These layers can not be reused in different themes.",
...layersToInline.map((l) => l.generateDocumentation({ usedInThemes: null })),
].join("\n")
this.WriteMarkdownFile(
this.writeMarkdownFile(
"./Docs/Themes/" + theme.id + ".md",
el,
[`assets/themes/${theme.id}/${theme.id}.json`],
@ -659,7 +669,7 @@ export class GenerateDocs extends Script {
md.push(urls.length + " items")
md.push(MarkdownUtils.list(urls))
this.WriteMarkdownFile(
this.writeMarkdownFile(
"./Docs/OnlineServicesOverview.md",
md.join("\n\n"),
["src/Models/SourceOverview.ts"],
@ -739,7 +749,7 @@ export class GenerateDocs extends Script {
)
),
].join("\n\n")
this.WriteMarkdownFile("./Docs/BuiltinLayers.md", el, [
this.writeMarkdownFile("./Docs/BuiltinLayers.md", el, [
"src/Customizations/AllKnownLayouts.ts",
])
}

View file

@ -550,7 +550,7 @@ export default class LayerConfig extends WithContextLoader {
}
return (
"**" +
preset.title.txt +
preset.title.textFor(lang) +
"** which has the following tags:" +
new And(preset.tags).asHumanString(true) +
snaps
@ -662,7 +662,7 @@ export default class LayerConfig extends WithContextLoader {
this._basedOn
? `This layer is based on [${this._basedOn}](../Layers/${this._basedOn}.md)`
: "",
this.description,
this.description.textFor(lang),
"\n",
].join("\n\n"),
MarkdownUtils.list(extraProps),
@ -677,6 +677,7 @@ export default class LayerConfig extends WithContextLoader {
.filter((tr) => tr.labels.indexOf("ignore_docs") < 0)
.map((tr) =>
tr.generateDocumentation(
this.id,
lang,
reusedTagRenderings?.get(tr.id)?.map((l) => l.layer)
)

View file

@ -951,35 +951,66 @@ export default class TagRenderingConfig {
}
}
generateDocumentation(lang: string = "en", usedInLayers?: string[]): string {
let freeform: string = undefined
generateDocumentation(currentLayerId: string, lang: string = "en", usedInLayers?: string[]): string {
let paragraphs: (Translation | string) [] = ["### " + this.id,
this.description]
if (this.question === undefined) {
paragraphs.push(new Translation({
en: "_This tagrendering has no question and is thus read-only_",
nl: "_Deze tagRendering heeft geen vraag en wordt dus enkel weergegeven_",
}))
} else {
paragraphs.push(new TypedTranslation<{ question }>(
{
en: "If no attribute matches, the question *{question}* will be asked",
nl: "Indien geen attribuut overeenkomt, wordt *{question}* gevraagd",
},
).Subs({ question: this.question.textFor(lang) }))
}
if (this.render) {
freeform = "\n*" + this.render.textFor(lang) + "*"
if (this.freeform?.key) {
freeform += " is shown if `" + this.freeform.key + "` is set."
const render = "*" + this.render.textFor(lang) + "*"
paragraphs.push(new TypedTranslation<{ render, key }>({
en: "*{render}* is shown if `{key}` is exists in the object",
nl: "*{render}* wordt getoond indien het attribuut `{key}` bestaat",
}).Subs({ render, key: this.freeform.key }))
} else {
paragraphs.push(this.render)
}
if (this.question && this.freeform.range) {
freeform += "\n\nThe allowed input is of type " + (this.freeform.type ?? "string")
let paragraph: (string)[] = [
new TypedTranslation<{ type?: string }>({
en: "The allowed input is of type {type??string}",
nl: "Input moet van het type {type} zijn",
}).Subs(this.freeform).textFor(lang),
]
if (this.freeform.range) {
paragraph.push(
new TypedTranslation(
{
en: "Values must be between {min??negative infinity} and {max??infinity} (both inclusive)",
nl: "Waardes moeten tussen {min??min oneindig} en {max??oneindig} vallen (beiden inclusief)",
},
).Subs(this.freeform.range).textFor(lang),
)
const r = this.freeform.range
freeform += ` and is in range ${r.min ?? "-infinty"} until ${
r.max ?? "infinity"
} (both inclusive).`
if (r.warnAbove && r.warnBelow) {
freeform += ` A warning will appear if the value is outside of ${r.warnBelow} and ${r.warnAbove}.`
} else if (r.warnBelow) {
freeform += ` A warning will appear below ${r.warnBelow}.`
} else if (r.warnAbove) {
freeform += ` A warning will appear above ${r.warnAbove}.`
}
}
}
}
let mappings: string = undefined
if (r.warnAbove && r.warnBelow) {
paragraph.push(`A warning will appear if the value is outside of ${r.warnBelow} and ${r.warnAbove}.`)
} else if (r.warnBelow) {
paragraph.push(`A warning will appear below ${r.warnBelow}.`)
} else if (r.warnAbove) {
paragraph.push(`A warning will appear above ${r.warnAbove}.`)
}
}
paragraphs.push(paragraph.join("\n"))
}
}
if (this.mappings !== undefined) {
mappings = MarkdownUtils.list(
paragraphs.push(MarkdownUtils.list(
this.mappings.map((m) => {
let icon = ""
if (m.icon?.indexOf(";") < 0) {
@ -988,69 +1019,86 @@ export default class TagRenderingConfig {
m.icon +
"'>"
}
const msgs: string[] = [
icon +
" " +
"*" +
m.then.textFor(lang) +
"* is shown if with " +
m.if.asHumanString(true, false, {}),
const msgs: Translation[] = [
new TypedTranslation<{ icon, then, cond }>({
en: "{icon} *{then}* is shown if {cond}",
nl: "{icon} *{then}* wordt getoond als {cond}",
}).Subs({ icon, then: m.then.textFor(lang), cond: m.if.asHumanString(true) }),
]
if (m.hideInAnswer === true) {
msgs.push("_This option cannot be chosen as answer_")
msgs.push(new Translation(
{
en: "_This option cannot be chosen as answer_",
nl: "_Deze optie kan niet als antwoord gekozen worden_",
}))
}
if (m.ifnot !== undefined) {
msgs.push(
"Unselecting this answer will add " +
m.ifnot.asHumanString(true, false, {})
new TypedTranslation<{ ifnot }>({
en: "If _not_ selected when answering, {ifnot} will be added",
nl: "Indien _niet_ geselecteerd bij het antwoorden, zal {ifnot} toegevoegd worden",
}).Subs({ ifnot: m.ifnot.asHumanString(true) }),
)
}
return msgs.join(". ")
return msgs.map(tr => tr.textFor(lang)).join(". ")
})
)
))
}
let condition: string = undefined
if (this.condition !== undefined && !this.condition?.matchesProperties({})) {
const conditionAsLink = (<TagsFilter>this.condition.optimize()).asHumanString(
true,
false,
{}
)
condition =
"This tagrendering is only visible in the popup if the following condition is met: " +
conditionAsLink
paragraphs.push(new TypedTranslation<{ conditionAsLink }>(
{
en: "This tagRendering is only visible in the information panel if the condition *{conditionAsLink}* is met",
nl: "Deze tagRendering is enkel zichtbaar in het informatiepaneel indien de voorwaarde *{conditionAsLink}* vervuld is",
},
).Subs({ conditionAsLink }))
}
let labels: string = undefined
if (this.labels?.length > 0) {
labels = [
"This tagrendering has labels",
...this.labels.map((label) => "`" + label + "`"),
].join(" ")
paragraphs.push(new Translation({
en: "This tagRendering has the following labels:",
nl: "Deze tagRendering heeft de volgende labels:",
}))
paragraphs.push(MarkdownUtils.list(this.labels.map((label) => "`" + label + "`")))
}
let reuse: string = undefined
if (usedInLayers?.length > 0) {
reuse = [
`This tagRendering is used in ${usedInLayers.length} layers:`,
...usedInLayers.map((l) => `[${l}](./Layers/${l}.md)`),
].join(" ")
paragraphs.push(
new TypedTranslation<{ length }>({
en: "This tagrendering is reused in {length} other layers:",
nl: "Deze tagRendering wordt ook hergebruikt in {length} andere lagen:",
}).Subs(usedInLayers),
)
paragraphs.push(
MarkdownUtils.list(usedInLayers.map((l) => `[${l}](../Docs/Layers/${l}.md)`)),
)
}
return Lists.noNull([
"### " + this.id,
this.description,
this.question !== undefined
? "The question is `" + this.question.txt + "`"
: "_This tagrendering has no question and is thus read-only_",
freeform,
mappings,
condition,
labels,
"",
reuse,
]).join("\n")
if (this._definedIn) {
const [layer, id] = this._definedIn
if (this.id === id && currentLayerId === id) {
// pass
// It is defined right here
} else {
paragraphs.push(new TypedTranslation(
{
en: "Originally defined in [{layer}](../Docs/Layers/{layer}.md#{id})",
nl: "Oorspronkelijk gedefinieerd in [`{layer}`](../Docs/Layers/{layer}.md#{id})",
},
).Subs({ layer, id }))
}
}
return Lists.noNull(paragraphs).map(tr => typeof tr === "string" ? tr : tr.textFor(lang)).join("\n\n")
}
public usedTags(): TagsFilter[] {

View file

@ -1,6 +1,7 @@
import { marked } from "marked"
import { parse as parse_html } from "node-html-parser"
import { Utils } from "../../Utils"
import { Translation } from "../i18n/Translation"
export default class TableOfContents {
private static asLinkableId(text: string): string {
@ -11,7 +12,7 @@ export default class TableOfContents {
?.toLowerCase() ?? ""
)
}
public static insertTocIntoMd(md: string, maxDepth: number): string {
public static insertTocIntoMd(md: string, lang: string, maxDepth: number): string {
// parse_html has a limit on how much html it can parse. We strip away the actual content, only keeping the titles
const mdStripped = md
.split("\n\n")
@ -65,7 +66,9 @@ export default class TableOfContents {
}
const heading = Utils.times(() => "#", firstTitle.depth)
toc = heading + " Table of contents\n\n" + toc
toc = heading +" " + new Translation({
en: "Table of contents",nl: "Inhoudsopgave"
}).textFor(lang) + "\n\n" + toc
const firstTitleIndex = md.indexOf(firstTitle.title)