315 lines
8.4 KiB
JSON
315 lines
8.4 KiB
JSON
{
|
|
"id": "icons",
|
|
"description": {
|
|
"en": "A layer acting as library for icon-tagrenderings, especially to show as badge next to a POI",
|
|
"de": "Eine Ebene, die als Bibliothek für Symbol-Tag-Renderings dient, insbesondere um als Abzeichen neben einem POI angezeigt zu werden",
|
|
"ca": "Una capa que actua com a biblioteca per a les icones d'etiquetes, especialment per mostrar-se com a insígnia al costat d'un PDI",
|
|
"cs": "Vrstva sloužící jako knihovna pro ikony-značky, zejména pro zobrazení jako odznak vedle bodu zájmu"
|
|
},
|
|
"source": "special:library",
|
|
"title": null,
|
|
"pointRendering": null,
|
|
"lineRendering": null,
|
|
"tagRenderings": [
|
|
{
|
|
"id": "wikipedialink",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
|
|
"condition": {
|
|
"or": [
|
|
"wikipedia~*",
|
|
"wikidata~*"
|
|
]
|
|
},
|
|
"mappings": [
|
|
{
|
|
"#": "ignore-image-in-then",
|
|
"if": "wikipedia=",
|
|
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "isOpen",
|
|
"#": "Shows a coloured clock if opening hours are parsed. Uses the metatagging, suitable to use as a (badged) overlay",
|
|
"mappings": [
|
|
{
|
|
"if": "_isOpen=yes",
|
|
"then": "clock:#0f0;ring:#0f0"
|
|
},
|
|
{
|
|
"if": "_isOpen=no",
|
|
"then": "circle:#f00;clock:#fff"
|
|
},
|
|
{
|
|
"#": "Still loading the country",
|
|
"if": {
|
|
"and": [
|
|
"_isOpen=",
|
|
"opening_hours~*"
|
|
]
|
|
},
|
|
"then": "clock:#ff0;ring:#ff0"
|
|
},
|
|
{
|
|
"#": "Still loading the country",
|
|
"if": {
|
|
"and": [
|
|
"_isOpen=parse_error",
|
|
"opening_hours~*"
|
|
]
|
|
},
|
|
"then": "circle:#f0f;clock:#fff"
|
|
}
|
|
],
|
|
"metacondition": "__showTimeSensitiveIcons!=no"
|
|
},
|
|
{
|
|
"id": "open_until",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"#": "Titleicon showing 'open until 17:00'",
|
|
"icon": {
|
|
"class": "w-20 mx-1 flex items-center"
|
|
},
|
|
"render": "{opening_hours_state()}",
|
|
"condition": {
|
|
"or": [
|
|
"seasonal=",
|
|
"seasonal=no",
|
|
{
|
|
"or": [
|
|
{
|
|
"and": [
|
|
"seasonal~.*winter.*",
|
|
"_now:date~....-(12|01|02)-.."
|
|
]
|
|
},
|
|
{
|
|
"and": [
|
|
"seasonal~.*spring.*",
|
|
"_now:date~....-(03|04|05)-.."
|
|
]
|
|
},
|
|
{
|
|
"and": [
|
|
"seasonal~.*summer.*",
|
|
"_now:date~....-(06|07|08)-.."
|
|
]
|
|
},
|
|
{
|
|
"and": [
|
|
"seasonal~.*autumn.*",
|
|
"_now:date~....-(09|10|11)-.."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "phonelink",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"render": {
|
|
"special": {
|
|
"type": "link",
|
|
"href": "tel:{phone}",
|
|
"text": "<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>",
|
|
"arialabel": {
|
|
"en": "phone",
|
|
"nl": "Telefoneer"
|
|
}
|
|
}
|
|
},
|
|
"mappings": [
|
|
{
|
|
"#": "ignore-image-in-then",
|
|
"if": "contact:phone~*",
|
|
"then": {
|
|
"special": {
|
|
"type": "link",
|
|
"href": "tel:{contact:phone}",
|
|
"text": "<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>",
|
|
"arialabel": {
|
|
"en": "phone",
|
|
"nl": "Telefoneer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"condition": {
|
|
"or": [
|
|
"phone~*",
|
|
"contact:phone~*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "emaillink",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
|
|
"mappings": [
|
|
{
|
|
"#": "ignore-image-in-then",
|
|
"if": "contact:email~*",
|
|
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
|
|
}
|
|
],
|
|
"condition": {
|
|
"or": [
|
|
"email~*",
|
|
"contact:email~*"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "websitelink",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"render": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>",
|
|
"condition": "website~*"
|
|
},
|
|
{
|
|
"id": "smokingicon",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"mappings": [
|
|
{
|
|
"#": "ignore-image-in-then",
|
|
"if": "smoking=no",
|
|
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
|
|
},
|
|
{
|
|
"#": "ignore-image-in-then",
|
|
"if": "smoking=yes",
|
|
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "sharelink",
|
|
"labels": [
|
|
"defaults"
|
|
],
|
|
"render": "{share_link()}",
|
|
"metacondition": "_supports_sharing=yes"
|
|
},
|
|
{
|
|
"id": "favourite_title_icon",
|
|
"labels": [
|
|
"defaults"
|
|
],
|
|
"render": {
|
|
"*": "{favourite_icon()}"
|
|
},
|
|
"metacondition": "_loggedIn=true"
|
|
},
|
|
{
|
|
"id": "osmlink",
|
|
"labels": [
|
|
"defaults"
|
|
],
|
|
"render": {
|
|
"special": {
|
|
"type": "link",
|
|
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
|
|
"href": "https://openstreetmap.org/{id}",
|
|
"arialabel": {
|
|
"en": "Open on openstreetmap.org",
|
|
"nl": "Bekijk op openstreetmap.org"
|
|
}
|
|
}
|
|
},
|
|
"mappings": [
|
|
{
|
|
"if": "id~.*/-.*",
|
|
"then": ""
|
|
},
|
|
{
|
|
"#": "ignore-image-in-then",
|
|
"if": "_backend~*",
|
|
"then": {
|
|
"special": {
|
|
"type": "link",
|
|
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
|
|
"href": "{_backend}/{id}",
|
|
"arialabel": {
|
|
"en": "Open on openstreetmap.org",
|
|
"nl": "Bekijk op openstreetmap.org"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"condition": "id~(node|way|relation)/[0-9]*"
|
|
},
|
|
{
|
|
"id": "dogicon",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"mappings": [
|
|
{
|
|
"if": "dog=no",
|
|
"#": "ignore-image-in-then",
|
|
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
|
|
},
|
|
{
|
|
"if": "dog=leashed",
|
|
"#": "ignore-image-in-then",
|
|
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
|
|
},
|
|
{
|
|
"if": {
|
|
"or": [
|
|
"dog=yes",
|
|
"dog=unleashed"
|
|
]
|
|
},
|
|
"#": "ignore-image-in-then",
|
|
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "rating",
|
|
"icon": {
|
|
"class": "w-20 mx-1 flex items-center"
|
|
},
|
|
"render": "{rating()}"
|
|
},
|
|
{
|
|
"id": "favourite_icon",
|
|
"description": "Only for rendering",
|
|
"condition": "_favourite=yes",
|
|
"icon": "circle:white;heart:red",
|
|
"metacondition": "__showTimeSensitiveIcons!=no"
|
|
},
|
|
{
|
|
"id": "direction",
|
|
"labels": [
|
|
"defaults",
|
|
"in_favourite"
|
|
],
|
|
"render": "{direction_indicator()}"
|
|
}
|
|
]
|
|
}
|