From 77e91510953d294c5ae0fc4bcd1e7ea0c9a8da9f Mon Sep 17 00:00:00 2001 From: pietervdvn <pietervdvn@posteo.net> Date: Fri, 14 Jan 2022 19:34:00 +0100 Subject: [PATCH] Add small overview document for every layer --- Customizations/AllKnownLayouts.ts | 74 +- Docs/BuiltinLayers.md | 2266 ++++------------- Docs/CalculatedTags.md | 16 +- Docs/SpecialInputElements.md | 70 +- Docs/SpecialRenderings.md | 96 +- Docs/TagInfo/mapcomplete_aed.json | 2 +- Docs/TagInfo/mapcomplete_bicyclelib.json | 16 +- Docs/TagInfo/mapcomplete_binoculars.json | 4 +- Docs/TagInfo/mapcomplete_bookcases.json | 22 +- Docs/TagInfo/mapcomplete_cafes_and_pubs.json | 12 + Docs/TagInfo/mapcomplete_campersite.json | 4 +- .../mapcomplete_charging_stations.json | 72 +- Docs/TagInfo/mapcomplete_climbing.json | 32 +- Docs/TagInfo/mapcomplete_cycle_infra.json | 14 +- Docs/TagInfo/mapcomplete_cyclestreets.json | 66 +- Docs/TagInfo/mapcomplete_cyclofix.json | 40 +- Docs/TagInfo/mapcomplete_drinking_water.json | 2 +- Docs/TagInfo/mapcomplete_entrances.json | 32 +- Docs/TagInfo/mapcomplete_food.json | 12 + Docs/TagInfo/mapcomplete_fritures.json | 24 + Docs/TagInfo/mapcomplete_hackerspaces.json | 14 +- Docs/TagInfo/mapcomplete_hailhydrant.json | 12 +- Docs/TagInfo/mapcomplete_maps.json | 4 +- Docs/TagInfo/mapcomplete_nature.json | 38 +- .../mapcomplete_observation_towers.json | 10 +- Docs/TagInfo/mapcomplete_playgrounds.json | 4 +- Docs/TagInfo/mapcomplete_sport_pitches.json | 2 +- Docs/TagInfo/mapcomplete_surveillance.json | 6 +- Docs/TagInfo/mapcomplete_toilets.json | 2 +- Docs/TagInfo/mapcomplete_trees.json | 12 +- Docs/TagInfo/mapcomplete_waste_basket.json | 12 +- Docs/URL_Parameters.md | 112 +- Logic/ExtraFunctions.ts | 1 - Models/ThemeConfig/LayerConfig.ts | 100 +- Models/ThemeConfig/TagRenderingConfig.ts | 76 +- UI/Base/Combine.ts | 6 +- UI/Base/Img.ts | 12 + UI/Base/Link.ts | 14 + UI/Base/VariableUIElement.ts | 12 + assets/layers/bench/bench.json | 2 +- scripts/generateDocs.ts | 38 +- 41 files changed, 1325 insertions(+), 2040 deletions(-) diff --git a/Customizations/AllKnownLayouts.ts b/Customizations/AllKnownLayouts.ts index 22964023c..6f9438c74 100644 --- a/Customizations/AllKnownLayouts.ts +++ b/Customizations/AllKnownLayouts.ts @@ -7,6 +7,7 @@ import Combine from "../UI/Base/Combine"; import Title from "../UI/Base/Title"; import List from "../UI/Base/List"; import DependencyCalculator from "../Models/ThemeConfig/DependencyCalculator"; +import Link from "../UI/Base/Link"; export class AllKnownLayouts { @@ -33,14 +34,9 @@ export class AllKnownLayouts { } return allLayers } - - public static GenLayerOverviewText(): BaseUIElement { - for (const id of AllKnownLayers.priviliged_layers) { - if (!AllKnownLayers.sharedLayers.has(id)) { - throw "Priviliged layer definition not found: " + id - } - } - + + + public static GenOverviewsForSingleLayer(callback: (layer: LayerConfig, element: BaseUIElement) => void): void { const allLayers: LayerConfig[] = Array.from(AllKnownLayers.sharedLayers.values()) .filter(layer => AllKnownLayers.priviliged_layers.indexOf(layer.id) < 0) @@ -65,10 +61,54 @@ export class AllKnownLayouts { } - let popularLayerCutoff = 2; - const popuparLayers = allLayers.filter(layer => themesPerLayer.get(layer.id)?.length >= 2) + // Determine the cross-dependencies + const layerIsNeededBy : Map<string, string[]> = new Map<string, string[]>() + + for (const layer of allLayers) { + for (const dep of DependencyCalculator.getLayerDependencies(layer)) { + const dependency = dep.neededLayer + if(!layerIsNeededBy.has(dependency)){ + layerIsNeededBy.set(dependency, []) + } + layerIsNeededBy.get(dependency).push(layer.id) + } + + + } + + AllKnownLayers.sharedLayers.forEach((layer) => { + const element = layer.GenerateDocumentation(themesPerLayer.get(layer.id),layerIsNeededBy,DependencyCalculator.getLayerDependencies(layer)) + callback(layer, element) + }) + } + + public static GenLayerOverviewText(): BaseUIElement { + for (const id of AllKnownLayers.priviliged_layers) { + if (!AllKnownLayers.sharedLayers.has(id)) { + throw "Priviliged layer definition not found: " + id + } + } + + const allLayers: LayerConfig[] = Array.from(AllKnownLayers.sharedLayers.values()) + .filter(layer => AllKnownLayers.priviliged_layers.indexOf(layer.id) < 0) + + const builtinLayerIds: Set<string> = new Set<string>() + allLayers.forEach(l => builtinLayerIds.add(l.id)) + + const themesPerLayer = new Map<string, string[]>() + + for (const layout of Array.from(AllKnownLayouts.allKnownLayouts.values())) { + for (const layer of layout.layers) { + if (!builtinLayerIds.has(layer.id)) { + continue + } + if (!themesPerLayer.has(layer.id)) { + themesPerLayer.set(layer.id, []) + } + themesPerLayer.get(layer.id).push(layout.id) + } + } - const unpopularLayers = allLayers.filter(layer => themesPerLayer.get(layer.id)?.length < 2) // Determine the cross-dependencies const layerIsNeededBy : Map<string, string[]> = new Map<string, string[]>() @@ -85,6 +125,8 @@ export class AllKnownLayouts { } + + return new Combine([ new Title("Special and other useful layers", 1), "MapComplete has a few data layers available in the theme which have special properties through builtin-hooks. Furthermore, there are some normal layers (which are built from normal Theme-config files) but are so general that they get a mention here.", @@ -94,14 +136,8 @@ export class AllKnownLayouts { .map(id => AllKnownLayers.sharedLayers.get(id)) .map((l) => l.GenerateDocumentation(themesPerLayer.get(l.id), layerIsNeededBy, DependencyCalculator.getLayerDependencies(l),AllKnownLayers.added_by_default.indexOf(l.id) >= 0, AllKnownLayers.no_include.indexOf(l.id) < 0)), new Title("Normal layers", 1), - "The following layers are included in MapComplete", - new Title("Frequently reused layers", 2), - "The following layers are used by at least " + popularLayerCutoff + " mapcomplete themes and might be interesting for your custom theme too", - new List(popuparLayers.map(layer => "[" + layer.id + "](#" + layer.id + ")")), - ...popuparLayers.map((layer) => layer.GenerateDocumentation(themesPerLayer.get(layer.id),layerIsNeededBy,DependencyCalculator.getLayerDependencies(layer))), - new List(unpopularLayers.map(layer => "[" + layer.id + "](#" + layer.id + ")")), - ...unpopularLayers.map(layer => layer.GenerateDocumentation(themesPerLayer.get(layer.id),layerIsNeededBy,DependencyCalculator.getLayerDependencies(layer)) - ) + "The following layers are included in MapComplete:", + new List(Array.from(AllKnownLayers.sharedLayers.keys()).map(id => new Link(id, "./Layers/"+id+".md"))) ]) diff --git a/Docs/BuiltinLayers.md b/Docs/BuiltinLayers.md index 7e61e352d..1da357658 100644 --- a/Docs/BuiltinLayers.md +++ b/Docs/BuiltinLayers.md @@ -3,153 +3,60 @@ Special and other useful layers ================================= - ## Table of contents + + +## Table of contents 1. [Special and other useful layers](#special-and-other-useful-layers) 1. [Priviliged layers](#priviliged-layers) - + [gps_location](#gps_location) - + [gps_location_history](#gps_location_history) - + [home_location](#home_location) - + [gps_track](#gps_track) - + [type_node](#type_node) - + [conflation](#conflation) - + [left_right_style](#left_right_style) - + [split_point](#split_point) - + [current_view](#current_view) - + [matchpoint](#matchpoint) +1. [gps_location](#gps_location) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [gps_location_history](#gps_location_history) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [home_location](#home_location) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [gps_track](#gps_track) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + + [Privacy notice](#privacy-notice) + + [export_as_gpx](#export_as_gpx) + + [minimap](#minimap) + + [delete](#delete) +1. [type_node](#type_node) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [conflation](#conflation) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [left_right_style](#left_right_style) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [split_point](#split_point) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [current_view](#current_view) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) +1. [matchpoint](#matchpoint) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) 1. [Normal layers](#normal-layers) - - [Frequently reused layers](#frequently-reused-layers) - + [bicycle_library](#bicycle_library) - * [Themes using this layer](#themes-using-this-layer) - + [drinking_water](#drinking_water) - * [Themes using this layer](#themes-using-this-layer) - + [food](#food) - * [Themes using this layer](#themes-using-this-layer) - + [map](#map) - * [Themes using this layer](#themes-using-this-layer) - + [walls_and_buildings](#walls_and_buildings) - * [Themes using this layer](#themes-using-this-layer) - + [all_streets](#all_streets) - * [Themes using this layer](#themes-using-this-layer) - + [ambulancestation](#ambulancestation) - * [Themes using this layer](#themes-using-this-layer) - + [artwork](#artwork) - * [Themes using this layer](#themes-using-this-layer) - + [barrier](#barrier) - * [Themes using this layer](#themes-using-this-layer) - + [bench](#bench) - * [Themes using this layer](#themes-using-this-layer) - + [bench_at_pt](#bench_at_pt) - * [Themes using this layer](#themes-using-this-layer) - + [bicycle_tube_vending_machine](#bicycle_tube_vending_machine) - * [Themes using this layer](#themes-using-this-layer) - + [bike_cafe](#bike_cafe) - * [Themes using this layer](#themes-using-this-layer) - + [bike_cleaning](#bike_cleaning) - * [Themes using this layer](#themes-using-this-layer) - + [bike_parking](#bike_parking) - * [Themes using this layer](#themes-using-this-layer) - + [bike_repair_station](#bike_repair_station) - * [Themes using this layer](#themes-using-this-layer) - + [bike_shop](#bike_shop) - * [Themes using this layer](#themes-using-this-layer) - + [bike_themed_object](#bike_themed_object) - * [Themes using this layer](#themes-using-this-layer) - + [binocular](#binocular) - * [Themes using this layer](#themes-using-this-layer) - + [birdhide](#birdhide) - * [Themes using this layer](#themes-using-this-layer) - + [cafe_pub](#cafe_pub) - * [Themes using this layer](#themes-using-this-layer) - + [charging_station](#charging_station) - * [Themes using this layer](#themes-using-this-layer) - + [crossings](#crossings) - * [Themes using this layer](#themes-using-this-layer) - + [cycleways_and_roads](#cycleways_and_roads) - * [Themes using this layer](#themes-using-this-layer) - + [defibrillator](#defibrillator) - * [Themes using this layer](#themes-using-this-layer) - + [direction](#direction) - * [Themes using this layer](#themes-using-this-layer) - + [entrance](#entrance) - * [Themes using this layer](#themes-using-this-layer) - + [etymology](#etymology) - * [Themes using this layer](#themes-using-this-layer) - + [extinguisher](#extinguisher) - * [Themes using this layer](#themes-using-this-layer) - + [fire_station](#fire_station) - * [Themes using this layer](#themes-using-this-layer) - + [ghost_bike](#ghost_bike) - * [Themes using this layer](#themes-using-this-layer) - + [hydrant](#hydrant) - * [Themes using this layer](#themes-using-this-layer) - + [information_board](#information_board) - * [Themes using this layer](#themes-using-this-layer) - + [nature_reserve](#nature_reserve) - * [Themes using this layer](#themes-using-this-layer) - + [observation_tower](#observation_tower) - * [Themes using this layer](#themes-using-this-layer) - + [parking](#parking) - * [Themes using this layer](#themes-using-this-layer) - + [pedestrian_path](#pedestrian_path) - * [Themes using this layer](#themes-using-this-layer) - + [picnic_table](#picnic_table) - * [Themes using this layer](#themes-using-this-layer) - + [playground](#playground) - * [Themes using this layer](#themes-using-this-layer) - + [public_bookcase](#public_bookcase) - * [Themes using this layer](#themes-using-this-layer) - + [shops](#shops) - * [Themes using this layer](#themes-using-this-layer) - + [sport_pitch](#sport_pitch) - * [Themes using this layer](#themes-using-this-layer) - + [street_lamps](#street_lamps) - * [Themes using this layer](#themes-using-this-layer) - + [surveillance_camera](#surveillance_camera) - * [Themes using this layer](#themes-using-this-layer) - + [toilet](#toilet) - * [Themes using this layer](#themes-using-this-layer) - + [tree_node](#tree_node) - * [Themes using this layer](#themes-using-this-layer) - + [waste_basket](#waste_basket) - * [Themes using this layer](#themes-using-this-layer) - + [caravansites](#caravansites) - * [Themes using this layer](#themes-using-this-layer) - + [dumpstations](#dumpstations) - * [Themes using this layer](#themes-using-this-layer) - + [climbing_club](#climbing_club) - * [Themes using this layer](#themes-using-this-layer) - + [climbing_gym](#climbing_gym) - * [Themes using this layer](#themes-using-this-layer) - + [climbing_route](#climbing_route) - * [Themes using this layer](#themes-using-this-layer) - + [climbing](#climbing) - * [Themes using this layer](#themes-using-this-layer) - + [maybe_climbing](#maybe_climbing) - * [Themes using this layer](#themes-using-this-layer) - + [fietsstraat](#fietsstraat) - * [Themes using this layer](#themes-using-this-layer) - + [toekomstige_fietsstraat](#toekomstige_fietsstraat) - * [Themes using this layer](#themes-using-this-layer) - + [facadegardens](#facadegardens) - * [Themes using this layer](#themes-using-this-layer) - + [hackerspaces](#hackerspaces) - * [Themes using this layer](#themes-using-this-layer) - + [windturbine](#windturbine) - * [Themes using this layer](#themes-using-this-layer) - + [postboxes](#postboxes) - * [Themes using this layer](#themes-using-this-layer) - + [postoffices](#postoffices) - * [Themes using this layer](#themes-using-this-layer) - + [lit_streets](#lit_streets) - * [Themes using this layer](#themes-using-this-layer) - MapComplete has a few data layers available in the theme which have special properties through builtin-hooks. Furthermore, there are some normal layers (which are built from normal Theme-config files) but are so general that they get a mention here. + + +MapComplete has a few data layers available in the theme which have special properties through builtin-hooks. Furthermore, there are some normal layers (which are built from normal Theme-config files) but are so general that they get a mention here. + + Priviliged layers =================== - + + + - [gps_location](#gps_location) - [gps_location_history](#gps_location_history) @@ -161,30 +68,65 @@ - [split_point](#split_point) - [current_view](#current_view) - [matchpoint](#matchpoint) - -### gps_location + + + + gps_location +============== + + Meta layer showing the current location of the user. Add this to your theme and override the icon to change the appearance of the current location. The object will always have `id=gps` and will have _all_ the properties included in the [`Coordinates`-object](https://developer.mozilla.org/en-US/docs/Web/API/GeolocationCoordinates) returned by the browser. -[Go to the source code](../assets/layers/gps_location/gps_location.json) + + - **This layer is included automatically in every theme. This layer might contain no points** - This layer cannot be toggled in the filter view. 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` - -### gps_location_history + +[Go to the source code](../assets/layers/gps_location/gps_location.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:id' target='_blank'>id</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:id%3Dgps' target='_blank'>gps</a> + + + + + Supported attributes +---------------------- + + + + + + gps_location_history +====================== + + Meta layer which contains the previous locations of the user as single points. This is mainly for technical reasons, e.g. to keep match the distance to the modified object -[Go to the source code](../assets/layers/gps_location_history/gps_location_history.json) + + @@ -192,92 +134,334 @@ Meta layer which contains the previous locations of the user as single points. T - This layer cannot be toggled in the filter view. 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` - - -### home_location +[Go to the source code](../assets/layers/gps_location_history/gps_location_history.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:user:location' target='_blank'>user:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:user:location%3Dyes' target='_blank'>yes</a> + + + + + Supported attributes +---------------------- + + + + + + home_location +=============== + + + +<img src='https://mapcomplete.osm.be/./assets/svg/home.svg' height="100px"> Meta layer showing the home location of the user. The home location can be set in the [profile settings](https://www.openstreetmap.org/profile/edit) of OpenStreetMap. -[Go to the source code](../assets/layers/home_location/home_location.json) + + - **This layer is included automatically in every theme. This layer might contain no points** - This layer cannot be toggled in the filter view. 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` - -### gps_track + +[Go to the source code](../assets/layers/home_location/home_location.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:user:home' target='_blank'>user:home</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:user:home%3Dyes' target='_blank'>yes</a> + + + + + Supported attributes +---------------------- + + + + + + gps_track +=========== + + Meta layer showing the previous locations of the user as single line. Add this to your theme and override the icon to change the appearance of the current location. -[Go to the source code](../assets/layers/gps_track/gps_track.json) + + - **This layer is included automatically in every theme. This layer might contain no points** - This layer is not visible by default and must be enabled in the filter by the user. - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` - -### type_node + +[Go to the source code](../assets/layers/gps_track/gps_track.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:id' target='_blank'>id</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:id%3Dlocation_track' target='_blank'>location_track</a> + + + + + Supported attributes +---------------------- + + + + + +### Privacy notice + + + +_This tagrendering has no question and is thus read-only_ + + + + + +### export_as_gpx + + + +_This tagrendering has no question and is thus read-only_ + + + + + +### minimap + + + +_This tagrendering has no question and is thus read-only_ + + + + + +### delete + + + +_This tagrendering has no question and is thus read-only_ + + + + + + type_node +=========== + + This is a priviliged meta_layer which exports _every_ point in OSM. This only works if zoomed below the point that the full tile is loaded (and not loaded via Overpass). Note that this point will also contain a property `parent_ways` which contains all the ways this node is part of as a list. This is mainly used for extremely specialized themes, which do advanced conflations. Expert use only. -[Go to the source code](../assets/layers/type_node/type_node.json) + + - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` - - This layer is needed as dependency for layer [GRB](#GRB) - + - This layer is needed as dependency for layer [grb](#grb) + + +[Go to the source code](../assets/layers/type_node/type_node.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - id~^node\/.*$ + + + + + Supported attributes +---------------------- + + + + + + conflation +============ + -### conflation If the import-button moves OSM points, the imported way points or conflates, a preview is shown. This layer defines how this preview is rendered. This layer cannot be included in a theme. -[Go to the source code](../assets/layers/conflation/conflation.json) + + - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. - -### left_right_style + +[Go to the source code](../assets/layers/conflation/conflation.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:move' target='_blank'>move</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:move%3Dyes' target='_blank'>yes</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:newpoint' target='_blank'>newpoint</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:newpoint%3Dyes' target='_blank'>yes</a> + + + + + Supported attributes +---------------------- + + + + + + left_right_style +================== + + Special meta-style which will show one single line, either on the left or on the right depending on the id. This is used in the small popups with left_right roads. Cannot be included in a theme -[Go to the source code](../assets/layers/left_right_style/left_right_style.json) + + - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. - - -### split_point +[Go to the source code](../assets/layers/left_right_style/left_right_style.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:id' target='_blank'>id</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:id%3Dleft' target='_blank'>left</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:id' target='_blank'>id</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:id%3Dright' target='_blank'>right</a> + + + + + Supported attributes +---------------------- + + + + + + split_point +============= + + + +<img src='https://mapcomplete.osm.be/./assets/svg/scissors.svg' height="100px"> Layer rendering the little scissors for the minimap in the 'splitRoadWizard' + + + + + + - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. + + [Go to the source code](../assets/layers/split_point/split_point.json) - - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. - + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:_split_point' target='_blank'>_split_point</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:_split_point%3Dyes' target='_blank'>yes</a> + + + + + Supported attributes +---------------------- + + + + + + current_view +============== + -### current_view @@ -285,1601 +469,197 @@ A meta-layer which contains one single feature, namely the BBOX of the current m The icon on the button is the default icon of the layer, but can be customized by detecting 'button=yes'. -[Go to the source code](../assets/layers/current_view/current_view.json) + + - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. - - -### matchpoint +[Go to the source code](../assets/layers/current_view/current_view.json) + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - <a href='https://wiki.openstreetmap.org/wiki/Key:current_view' target='_blank'>current_view</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:current_view%3Dyes' target='_blank'>yes</a> + + + + + Supported attributes +---------------------- + + + + + + matchpoint +============ + + + +<img src='https://mapcomplete.osm.be/./assets/svg/crosshair-empty.svg' height="100px"> The default rendering for a locationInput which snaps onto another object + + + + + + - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. + + [Go to the source code](../assets/layers/matchpoint/matchpoint.json) - - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. - + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + + + + + + Supported attributes +---------------------- + + + + Normal layers =============== - The following layers are included in MapComplete - Frequently reused layers --------------------------- - The following layers are used by at least 2 mapcomplete themes and might be interesting for your custom theme too - - - [bicycle_library](#bicycle_library) - - [drinking_water](#drinking_water) - - [food](#food) - - [map](#map) - - [walls_and_buildings](#walls_and_buildings) - - [all_streets](#all_streets) - - -### bicycle_library - - - -A facility where bicycles can be lent for longer period of times - -[Go to the source code](../assets/layers/bicycle_library/bicycle_library.json) - - - - - - - - -#### Themes using this layer - - - - - - - [bicyclelib](https://mapcomplete.osm.be/bicyclelib) - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### drinking_water - - - -A layer showing drinking water fountains - -[Go to the source code](../assets/layers/drinking_water/drinking_water.json) - - - - - This layer will automatically load [drinking_water](#drinking_water) into the layout as it depends on it: A calculated tag loads features from this layer (calculatedTag[0] which calculates the value for _closest_other_drinking_water) - - This layer is needed as dependency for layer [drinking_water](#drinking_water) - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - [drinking_water](https://mapcomplete.osm.be/drinking_water) - - [nature](https://mapcomplete.osm.be/nature) - - -### food - - - -A layer showing restaurants and fast-food amenities (with a special rendering for friteries) - -[Go to the source code](../assets/layers/food/food.json) - - - - - - - - -#### Themes using this layer - - - - - - - [food](https://mapcomplete.osm.be/food) - - [fritures](https://mapcomplete.osm.be/fritures) - - -### map - - - -A map, meant for tourists which is permanently installed in the public space - -[Go to the source code](../assets/layers/map/map.json) - - - - - - - - -#### Themes using this layer - - - - - - - [maps](https://mapcomplete.osm.be/maps) - - [nature](https://mapcomplete.osm.be/nature) - - -### walls_and_buildings - - - -Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, ...). This layer is invisible by default and not toggleable by the user. - -[Go to the source code](../assets/layers/walls_and_buildings/walls_and_buildings.json) - - - - - This layer is not visible by default and must be enabled in the filter by the user. - - 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 is needed as dependency for layer [defibrillator](#defibrillator) - - This layer is needed as dependency for layer [entrance](#entrance) - - This layer is needed as dependency for layer [surveillance_camera](#surveillance_camera) - - - - -#### Themes using this layer - - - - - - - [aed](https://mapcomplete.osm.be/aed) - - [entrances](https://mapcomplete.osm.be/entrances) - - [surveillance](https://mapcomplete.osm.be/surveillance) - - -### all_streets - - - -[Go to the source code](../assets/layers/all_streets/all_streets.json) - - - - - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` - - - - -#### Themes using this layer - - - - - - - [cyclestreets](https://mapcomplete.osm.be/cyclestreets) - - [street_lighting](https://mapcomplete.osm.be/street_lighting) - - - - [ambulancestation](#ambulancestation) - - [artwork](#artwork) - - [barrier](#barrier) - - [bench](#bench) - - [bench_at_pt](#bench_at_pt) - - [bicycle_tube_vending_machine](#bicycle_tube_vending_machine) - - [bike_cafe](#bike_cafe) - - [bike_cleaning](#bike_cleaning) - - [bike_parking](#bike_parking) - - [bike_repair_station](#bike_repair_station) - - [bike_shop](#bike_shop) - - [bike_themed_object](#bike_themed_object) - - [binocular](#binocular) - - [birdhide](#birdhide) - - [cafe_pub](#cafe_pub) - - [charging_station](#charging_station) - - [crossings](#crossings) - - [cycleways_and_roads](#cycleways_and_roads) - - [defibrillator](#defibrillator) - - [direction](#direction) - - [entrance](#entrance) - - [etymology](#etymology) - - [extinguisher](#extinguisher) - - [fire_station](#fire_station) - - [ghost_bike](#ghost_bike) - - [hydrant](#hydrant) - - [information_board](#information_board) - - [nature_reserve](#nature_reserve) - - [observation_tower](#observation_tower) - - [parking](#parking) - - [pedestrian_path](#pedestrian_path) - - [picnic_table](#picnic_table) - - [playground](#playground) - - [public_bookcase](#public_bookcase) - - [shops](#shops) - - [sport_pitch](#sport_pitch) - - [street_lamps](#street_lamps) - - [surveillance_camera](#surveillance_camera) - - [toilet](#toilet) - - [tree_node](#tree_node) - - [waste_basket](#waste_basket) - - [caravansites](#caravansites) - - [dumpstations](#dumpstations) - - [climbing_club](#climbing_club) - - [climbing_gym](#climbing_gym) - - [climbing_route](#climbing_route) - - [climbing](#climbing) - - [maybe_climbing](#maybe_climbing) - - [fietsstraat](#fietsstraat) - - [toekomstige_fietsstraat](#toekomstige_fietsstraat) - - [facadegardens](#facadegardens) - - [hackerspaces](#hackerspaces) - - [windturbine](#windturbine) - - [postboxes](#postboxes) - - [postoffices](#postoffices) - - [lit_streets](#lit_streets) - - -### ambulancestation - - - -An ambulance station is an area for storage of ambulance vehicles, medical equipment, personal protective equipment, and other medical supplies. - -[Go to the source code](../assets/layers/ambulancestation/ambulancestation.json) - - - - - - - - -#### Themes using this layer - - - - - - - [hailhydrant](https://mapcomplete.osm.be/hailhydrant) - - -### artwork - - - -Diverse pieces of artwork - -[Go to the source code](../assets/layers/artwork/artwork.json) - - - - - - - - -#### Themes using this layer - - - - - - - [artwork](https://mapcomplete.osm.be/artwork) - - -### barrier - - - -Obstacles while cycling, such as bollards and cycle barriers - -[Go to the source code](../assets/layers/barrier/barrier.json) - - - - - This layer will automatically load [cycleways_and_roads](#cycleways_and_roads) into the layout as it depends on it: a preset snaps to this layer (presets[0]) - - This layer will automatically load [cycleways_and_roads](#cycleways_and_roads) into the layout as it depends on it: a preset snaps to this layer (presets[1]) - - - - -#### Themes using this layer - - - - - - - [cycle_infra](https://mapcomplete.osm.be/cycle_infra) - - -### bench - - - -A bench is a wooden, metal, stone, ... surface where a human can sit. This layers visualises them and asks a few questions about them. - -[Go to the source code](../assets/layers/bench/bench.json) - - - - - - - - -#### Themes using this layer - - - - - - - [benches](https://mapcomplete.osm.be/benches) - - -### bench_at_pt - - - -A layer showing all public-transport-stops which do have a bench - -[Go to the source code](../assets/layers/bench_at_pt/bench_at_pt.json) - - - - - - - - -#### Themes using this layer - - - - - - - [benches](https://mapcomplete.osm.be/benches) - - -### bicycle_tube_vending_machine - - - -A layer showing vending machines for bicycle tubes (either purpose-built bicycle tube vending machines or classical vending machines with bicycle tubes and optionally additional bicycle related objects such as lights, gloves, locks, ...) - -[Go to the source code](../assets/layers/bicycle_tube_vending_machine/bicycle_tube_vending_machine.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### bike_cafe - - - -A bike café is a café geared towards cyclists, for example with services such as a pump, with lots of bicycle-related decoration, ... - -[Go to the source code](../assets/layers/bike_cafe/bike_cafe.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### bike_cleaning - - - -A layer showing facilities where one can clean their bike - -[Go to the source code](../assets/layers/bike_cleaning/bike_cleaning.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### bike_parking - - - -A layer showing where you can park your bike - -[Go to the source code](../assets/layers/bike_parking/bike_parking.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### bike_repair_station - - - -A layer showing bicycle pumps and bicycle repair tool stands - -[Go to the source code](../assets/layers/bike_repair_station/bike_repair_station.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### bike_shop - - - -A shop specifically selling bicycles or related items - -[Go to the source code](../assets/layers/bike_shop/bike_shop.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### bike_themed_object - - - -A layer with bike-themed objects but who don't match any other layer - -[Go to the source code](../assets/layers/bike_themed_object/bike_themed_object.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclofix](https://mapcomplete.osm.be/cyclofix) - - -### binocular - - - -Binoculas - -[Go to the source code](../assets/layers/binocular/binocular.json) - - - - - - - - -#### Themes using this layer - - - - - - - [binoculars](https://mapcomplete.osm.be/binoculars) - - -### birdhide - - - -Een vogelkijkhut - -[Go to the source code](../assets/layers/birdhide/birdhide.json) - - - - - - - - -#### Themes using this layer - - - - - - - [nature](https://mapcomplete.osm.be/nature) - - -### cafe_pub - - - -A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions - -[Go to the source code](../assets/layers/cafe_pub/cafe_pub.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cafes_and_pubs](https://mapcomplete.osm.be/cafes_and_pubs) - - -### charging_station - - - -A charging station - -[Go to the source code](../assets/layers/charging_station/charging_station.json) - - - - - - - - -#### Themes using this layer - - - - - - - [charging_stations](https://mapcomplete.osm.be/charging_stations) - - -### crossings - - - -Crossings for pedestrians and cyclists - -[Go to the source code](../assets/layers/crossings/crossings.json) - - - - - This layer will automatically load [cycleways_and_roads](#cycleways_and_roads) into the layout as it depends on it: a preset snaps to this layer (presets[0]) - - This layer will automatically load [cycleways_and_roads](#cycleways_and_roads) into the layout as it depends on it: a preset snaps to this layer (presets[1]) - - - - -#### Themes using this layer - - - - - - - [cycle_infra](https://mapcomplete.osm.be/cycle_infra) - - -### cycleways_and_roads - - - -All infrastructure that someone can cycle over, accompanied with questions about this infrastructure" - -[Go to the source code](../assets/layers/cycleways_and_roads/cycleways_and_roads.json) - - - - - This layer is needed as dependency for layer [barrier](#barrier) - - This layer is needed as dependency for layer [barrier](#barrier) - - This layer is needed as dependency for layer [crossings](#crossings) - - This layer is needed as dependency for layer [crossings](#crossings) - - - - -#### Themes using this layer - - - - - - - [cycle_infra](https://mapcomplete.osm.be/cycle_infra) - - -### defibrillator - - - -A layer showing defibrillators which can be used in case of emergency. This contains public defibrillators, but also defibrillators which might need staff to fetch the actual device - -[Go to the source code](../assets/layers/defibrillator/defibrillator.json) - - - - - This layer will automatically load [walls_and_buildings](#walls_and_buildings) into the layout as it depends on it: a preset snaps to this layer (presets[1]) - - This layer is needed as dependency for layer [Brugge](#Brugge) - - - - -#### Themes using this layer - - - - - - - [aed](https://mapcomplete.osm.be/aed) - - -### direction - - - -This layer visualizes directions - -[Go to the source code](../assets/layers/direction/direction.json) - - - - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. - - - - -#### Themes using this layer - - - - - - - [surveillance](https://mapcomplete.osm.be/surveillance) - - -### entrance - - - -A layer showing entrances and offering capabilities to survey some advanced data which is important for e.g. wheelchair users (but also bicycle users, people who want to deliver, ...) - -[Go to the source code](../assets/layers/entrance/entrance.json) - - - - - This layer will automatically load [walls_and_buildings](#walls_and_buildings) into the layout as it depends on it: a preset snaps to this layer (presets[0]) - - This layer will automatically load [pedestrian_path](#pedestrian_path) into the layout as it depends on it: a preset snaps to this layer (presets[0]) - - - - -#### Themes using this layer - - - - - - - [entrances](https://mapcomplete.osm.be/entrances) - - -### etymology - - - -All objects which have an etymology known - -[Go to the source code](../assets/layers/etymology/etymology.json) - - - - - - - - -#### Themes using this layer - - - - - - - [etymology](https://mapcomplete.osm.be/etymology) - - -### extinguisher - - - -Map layer to show fire hydrants. - -[Go to the source code](../assets/layers/extinguisher/extinguisher.json) - - - - - - - - -#### Themes using this layer - - - - - - - [hailhydrant](https://mapcomplete.osm.be/hailhydrant) - - -### fire_station - - - -Map layer to show fire stations. - -[Go to the source code](../assets/layers/fire_station/fire_station.json) - - - - - - - - -#### Themes using this layer - - - - - - - [hailhydrant](https://mapcomplete.osm.be/hailhydrant) - - -### ghost_bike - - - -A layer showing memorials for cyclists, killed in road accidents - -[Go to the source code](../assets/layers/ghost_bike/ghost_bike.json) - - - - - - - - -#### Themes using this layer - - - - - - - [ghostbikes](https://mapcomplete.osm.be/ghostbikes) - - -### hydrant - - - -Map layer to show fire hydrants. - -[Go to the source code](../assets/layers/hydrant/hydrant.json) - - - - - - - - -#### Themes using this layer - - - - - - - [hailhydrant](https://mapcomplete.osm.be/hailhydrant) - - -### information_board - - - -A layer showing touristical, road side information boards (e.g. giving information about the landscape, a building, a feature, a map, ...) - -[Go to the source code](../assets/layers/information_board/information_board.json) - - - - - - - - -#### Themes using this layer - - - - - - - [nature](https://mapcomplete.osm.be/nature) - - -### nature_reserve - - - -Een natuurgebied is een gebied waar actief ruimte gemaakt word voor de natuur. Typisch zijn deze in beheer van Natuurpunt of het Agentschap Natuur en Bos of zijn deze erkend door de overheid. - -[Go to the source code](../assets/layers/nature_reserve/nature_reserve.json) - - - - - - - - -#### Themes using this layer - - - - - - - [nature](https://mapcomplete.osm.be/nature) - - -### observation_tower - - - -Towers with a panoramic view - -[Go to the source code](../assets/layers/observation_tower/observation_tower.json) - - - - - - - - -#### Themes using this layer - - - - - - - [observation_towers](https://mapcomplete.osm.be/observation_towers) - - -### parking - - - -A layer showing car parkings - -[Go to the source code](../assets/layers/parking/parking.json) - - - - - - - - -#### Themes using this layer - - - - - - - [parkings](https://mapcomplete.osm.be/parkings) - - -### pedestrian_path - - - -Pedestrian footpaths, especially used for indoor navigation and snapping entrances to this layer - -[Go to the source code](../assets/layers/pedestrian_path/pedestrian_path.json) - - - - - This layer is needed as dependency for layer [entrance](#entrance) - - - - -#### Themes using this layer - - - - - - - [entrances](https://mapcomplete.osm.be/entrances) - - -### picnic_table - - - -The layer showing picnic tables - -[Go to the source code](../assets/layers/picnic_table/picnic_table.json) - - - - - - - - -#### Themes using this layer - - - - - - - [benches](https://mapcomplete.osm.be/benches) - - -### playground - - - -Playgrounds - -[Go to the source code](../assets/layers/playground/playground.json) - - - - - - - - -#### Themes using this layer - - - - - - - [playgrounds](https://mapcomplete.osm.be/playgrounds) - - -### public_bookcase - - - -A streetside cabinet with books, accessible to anyone - -[Go to the source code](../assets/layers/public_bookcase/public_bookcase.json) - - - - - - - - -#### Themes using this layer - - - - - - - [bookcases](https://mapcomplete.osm.be/bookcases) - - -### shops - - - -A shop - -[Go to the source code](../assets/layers/shops/shops.json) - - - - - - - - -#### Themes using this layer - - - - - - - [shops](https://mapcomplete.osm.be/shops) - - -### sport_pitch - - - -A sport pitch - -[Go to the source code](../assets/layers/sport_pitch/sport_pitch.json) - - - - - - - - -#### Themes using this layer - - - - - - - [sport_pitches](https://mapcomplete.osm.be/sport_pitches) - - -### street_lamps - - - -A layer showing street lights - -[Go to the source code](../assets/layers/street_lamps/street_lamps.json) - - - - - This layer is needed as dependency for layer [Assen](#Assen) - - - - -#### Themes using this layer - - - - - - - [street_lighting](https://mapcomplete.osm.be/street_lighting) - - -### surveillance_camera - - - -This layer shows surveillance cameras and allows a contributor to update information and add new cameras - -[Go to the source code](../assets/layers/surveillance_camera/surveillance_camera.json) - - - - - This layer will automatically load [walls_and_buildings](#walls_and_buildings) into the layout as it depends on it: a preset snaps to this layer (presets[1]) - - - - -#### Themes using this layer - - - - - - - [surveillance](https://mapcomplete.osm.be/surveillance) - - -### toilet - - - -A layer showing (public) toilets - -[Go to the source code](../assets/layers/toilet/toilet.json) - - - - - - - - -#### Themes using this layer - - - - - - - [toilets](https://mapcomplete.osm.be/toilets) - - -### tree_node - - - -A layer showing trees - -[Go to the source code](../assets/layers/tree_node/tree_node.json) - - - - - - - - -#### Themes using this layer - - - - - - - [trees](https://mapcomplete.osm.be/trees) - - -### waste_basket - - - -This is a public waste basket, thrash can, where you can throw away your thrash. - -[Go to the source code](../assets/layers/waste_basket/waste_basket.json) - - - - - - - - -#### Themes using this layer - - - - - - - [waste_basket](https://mapcomplete.osm.be/waste_basket) - - -### caravansites - - - -camper sites - -[Go to the source code](../assets/layers/caravansites/caravansites.json) - - - - - - - - -#### Themes using this layer - - - - - - - [campersite](https://mapcomplete.osm.be/campersite) - - -### dumpstations - - - -Sanitary dump stations - -[Go to the source code](../assets/layers/dumpstations/dumpstations.json) - - - - - - - - -#### Themes using this layer - - - - - - - [campersite](https://mapcomplete.osm.be/campersite) - - -### climbing_club - - - -A climbing club or organisations - -[Go to the source code](../assets/layers/climbing_club/climbing_club.json) - - - - - - - - -#### Themes using this layer - - - - - - - [climbing](https://mapcomplete.osm.be/climbing) - - -### climbing_gym - - - -A climbing gym - -[Go to the source code](../assets/layers/climbing_gym/climbing_gym.json) - - - - - - - - -#### Themes using this layer - - - - - - - [climbing](https://mapcomplete.osm.be/climbing) - - -### climbing_route - - - -[Go to the source code](../assets/layers/climbing_route/climbing_route.json) - - - - - This layer is needed as dependency for layer [climbing](#climbing) - - - - -#### Themes using this layer - - - - - - - [climbing](https://mapcomplete.osm.be/climbing) - - -### climbing - - - -A climbing opportunity - -[Go to the source code](../assets/layers/climbing/climbing.json) - - - - - This layer will automatically load [climbing_route](#climbing_route) into the layout as it depends on it: A calculated tag loads features from this layer (calculatedTag[0] which calculates the value for _contained_climbing_routes_properties) - - - - -#### Themes using this layer - - - - - - - [climbing](https://mapcomplete.osm.be/climbing) - - -### maybe_climbing - - - -A climbing opportunity? - -[Go to the source code](../assets/layers/maybe_climbing/maybe_climbing.json) - - - - - - - - -#### Themes using this layer - - - - - - - [climbing](https://mapcomplete.osm.be/climbing) - - -### fietsstraat - - - -A cyclestreet is a street where motorized traffic is not allowed to overtake a cyclist - -[Go to the source code](../assets/layers/fietsstraat/fietsstraat.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclestreets](https://mapcomplete.osm.be/cyclestreets) - - -### toekomstige_fietsstraat - - - -This street will become a cyclestreet soon - -[Go to the source code](../assets/layers/toekomstige_fietsstraat/toekomstige_fietsstraat.json) - - - - - - - - -#### Themes using this layer - - - - - - - [cyclestreets](https://mapcomplete.osm.be/cyclestreets) - - -### facadegardens - - - -Facade gardens - -[Go to the source code](../assets/layers/facadegardens/facadegardens.json) - - - - - - - - -#### Themes using this layer - - - - - - - [facadegardens](https://mapcomplete.osm.be/facadegardens) - - -### hackerspaces - - - -Hackerspace - -[Go to the source code](../assets/layers/hackerspaces/hackerspaces.json) - - - - - - - - -#### Themes using this layer - - - - - - - [hackerspaces](https://mapcomplete.osm.be/hackerspaces) - - -### windturbine - - - -[Go to the source code](../assets/layers/windturbine/windturbine.json) - - - - - - - - -#### Themes using this layer - - - - - - - [openwindpowermap](https://mapcomplete.osm.be/openwindpowermap) - - -### postboxes - - - -The layer showing postboxes. - -[Go to the source code](../assets/layers/postboxes/postboxes.json) - - - - - - - - -#### Themes using this layer - - - - - - - [postboxes](https://mapcomplete.osm.be/postboxes) - - -### postoffices - - - -A layer showing post offices. - -[Go to the source code](../assets/layers/postoffices/postoffices.json) - - - - - - - - -#### Themes using this layer - - - - - - - [postboxes](https://mapcomplete.osm.be/postboxes) - - -### lit_streets - - - -[Go to the source code](../assets/layers/lit_streets/lit_streets.json) - - - - - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` - - - - -#### Themes using this layer - - - - - - - [street_lighting](https://mapcomplete.osm.be/street_lighting) +The following layers are included in MapComplete: + + + + - [address](./Layers/address.md) + - [ambulancestation](./Layers/ambulancestation.md) + - [artwork](./Layers/artwork.md) + - [barrier](./Layers/barrier.md) + - [bench](./Layers/bench.md) + - [bench_at_pt](./Layers/bench_at_pt.md) + - [bicycle_library](./Layers/bicycle_library.md) + - [bicycle_tube_vending_machine](./Layers/bicycle_tube_vending_machine.md) + - [bike_cafe](./Layers/bike_cafe.md) + - [bike_cleaning](./Layers/bike_cleaning.md) + - [bike_parking](./Layers/bike_parking.md) + - [bike_repair_station](./Layers/bike_repair_station.md) + - [bike_shop](./Layers/bike_shop.md) + - [bike_themed_object](./Layers/bike_themed_object.md) + - [binocular](./Layers/binocular.md) + - [birdhide](./Layers/birdhide.md) + - [cafe_pub](./Layers/cafe_pub.md) + - [charging_station](./Layers/charging_station.md) + - [cluster_style](./Layers/cluster_style.md) + - [conflation](./Layers/conflation.md) + - [crab_address](./Layers/crab_address.md) + - [crossings](./Layers/crossings.md) + - [current_view](./Layers/current_view.md) + - [cycleways_and_roads](./Layers/cycleways_and_roads.md) + - [defibrillator](./Layers/defibrillator.md) + - [direction](./Layers/direction.md) + - [drinking_water](./Layers/drinking_water.md) + - [entrance](./Layers/entrance.md) + - [etymology](./Layers/etymology.md) + - [extinguisher](./Layers/extinguisher.md) + - [fire_station](./Layers/fire_station.md) + - [food](./Layers/food.md) + - [ghost_bike](./Layers/ghost_bike.md) + - [gps_location](./Layers/gps_location.md) + - [gps_location_history](./Layers/gps_location_history.md) + - [gps_track](./Layers/gps_track.md) + - [grass_in_parks](./Layers/grass_in_parks.md) + - [home_location](./Layers/home_location.md) + - [hydrant](./Layers/hydrant.md) + - [information_board](./Layers/information_board.md) + - [left_right_style](./Layers/left_right_style.md) + - [map](./Layers/map.md) + - [matchpoint](./Layers/matchpoint.md) + - [named_streets](./Layers/named_streets.md) + - [nature_reserve](./Layers/nature_reserve.md) + - [observation_tower](./Layers/observation_tower.md) + - [parking](./Layers/parking.md) + - [pedestrian_path](./Layers/pedestrian_path.md) + - [picnic_table](./Layers/picnic_table.md) + - [play_forest](./Layers/play_forest.md) + - [playground](./Layers/playground.md) + - [public_bookcase](./Layers/public_bookcase.md) + - [shops](./Layers/shops.md) + - [slow_roads](./Layers/slow_roads.md) + - [split_point](./Layers/split_point.md) + - [sport_pitch](./Layers/sport_pitch.md) + - [street_lamps](./Layers/street_lamps.md) + - [surveillance_camera](./Layers/surveillance_camera.md) + - [toilet](./Layers/toilet.md) + - [trail](./Layers/trail.md) + - [tree_node](./Layers/tree_node.md) + - [type_node](./Layers/type_node.md) + - [viewpoint](./Layers/viewpoint.md) + - [village_green](./Layers/village_green.md) + - [visitor_information_centre](./Layers/visitor_information_centre.md) + - [walls_and_buildings](./Layers/walls_and_buildings.md) + - [waste_basket](./Layers/waste_basket.md) + - [watermill](./Layers/watermill.md) + - [brugge](./Layers/brugge.md) + - [nature_reserve_buurtnatuur](./Layers/nature_reserve_buurtnatuur.md) + - [parks](./Layers/parks.md) + - [forest](./Layers/forest.md) + - [caravansites](./Layers/caravansites.md) + - [dumpstations](./Layers/dumpstations.md) + - [climbing_club](./Layers/climbing_club.md) + - [climbing_gym](./Layers/climbing_gym.md) + - [climbing_route](./Layers/climbing_route.md) + - [climbing](./Layers/climbing.md) + - [maybe_climbing](./Layers/maybe_climbing.md) + - [cycle_highways](./Layers/cycle_highways.md) + - [node2node](./Layers/node2node.md) + - [node](./Layers/node.md) + - [fietsstraat](./Layers/fietsstraat.md) + - [toekomstige_fietsstraat](./Layers/toekomstige_fietsstraat.md) + - [all_streets](./Layers/all_streets.md) + - [facadegardens](./Layers/facadegardens.md) + - [orchards](./Layers/orchards.md) + - [fruitboom](./Layers/fruitboom.md) + - [osm-buildings](./Layers/osm-buildings.md) + - [service_ways](./Layers/service_ways.md) + - [generic_osm_object](./Layers/generic_osm_object.md) + - [grb](./Layers/grb.md) + - [osm-buildings-fixme](./Layers/osm-buildings-fixme.md) + - [hackerspaces](./Layers/hackerspaces.md) + - [windturbine](./Layers/windturbine.md) + - [postal_code_boundary](./Layers/postal_code_boundary.md) + - [wrong_postal_code](./Layers/wrong_postal_code.md) + - [town_hall](./Layers/town_hall.md) + - [postboxes](./Layers/postboxes.md) + - [postoffices](./Layers/postoffices.md) + - [sidewalks](./Layers/sidewalks.md) + - [shadow](./Layers/shadow.md) + - [walking_routes](./Layers/walking_routes.md) + - [lit_streets](./Layers/lit_streets.md) + - [assen](./Layers/assen.md) + - [raw_inspire_polygons](./Layers/raw_inspire_polygons.md) + - [to_import](./Layers/to_import.md) This document is autogenerated from AllKnownLayers.ts \ No newline at end of file diff --git a/Docs/CalculatedTags.md b/Docs/CalculatedTags.md index 02bf6103c..e767db34f 100644 --- a/Docs/CalculatedTags.md +++ b/Docs/CalculatedTags.md @@ -3,7 +3,9 @@ Metatags ========== - ## Table of contents + + +## Table of contents 1. [Metatags](#metatags) - [Metatags calculated by MapComplete](#metatags-calculated-by-mapcomplete) @@ -13,7 +15,7 @@ + [_length, _length:km](#_length,-_lengthkm) + [Theme-defined keys](#theme-defined-keys) + [_country](#_country) - + [_isOpen, _isOpen:description](#_isopen,-_isopendescription) + + [_isOpen](#_isopen) + [_direction:numerical, _direction:leftright](#_directionnumerical,-_direction:leftright) + [_now:date, _now:datetime, _loaded:date, _loaded:_datetime](#_nowdate,-_now:datetime,-_loaded:date,-_loaded:_datetime) + [_last_edit:contributor, _last_edit:contributor:uid, _last_edit:changeset, _last_edit:timestamp, _version_number, _backend](#_last_editcontributor,-_last_edit:contributor:uid,-_last_edit:changeset,-_last_edit:timestamp,-_version_number,-_backend) @@ -27,7 +29,9 @@ + [memberships](#memberships) + [get](#get) - Metatags are extra tags available, in order to display more data or to give better questions. + + +Metatags are extra tags available, in order to display more data or to give better questions. The are calculated automatically on every feature when the data arrives in the webbrowser. This document gives an overview of the available metatags. @@ -104,7 +108,7 @@ The country code of the property (with latlon2country) -### _isOpen, _isOpen:description +### _isOpen @@ -160,7 +164,9 @@ Rewrites tags from 'generic_key:both:property' as 'generic_key:left:property' an Adds the geometry type as property. This is identical to the GoeJson geometry type and is one of `Point`,`LineString`, `Polygon` and exceptionally `MultiPolygon` or `MultiLineString` - + + + Calculating tags with Javascript ---------------------------------- diff --git a/Docs/SpecialInputElements.md b/Docs/SpecialInputElements.md index 0209e28d0..2ed9307d0 100644 --- a/Docs/SpecialInputElements.md +++ b/Docs/SpecialInputElements.md @@ -3,7 +3,9 @@ Available types for text fields ================================= - ## Table of contents + + +## Table of contents 1. [Available types for text fields](#available-types-for-text-fields) + [string](#string) @@ -23,37 +25,51 @@ + [opening_hours](#opening_hours) + [color](#color) - The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to activate them + + +The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to activate them + + ### string -A basic string +A basic string + + ### text -A string, but allows input of longer strings more comfortably and supports newlines (a text area) +A string, but allows input of longer strings more comfortably and supports newlines (a text area) + + ### date -A date +A date + + ### direction -A geographical direction, in degrees. 0° is north, 90° is east, ... Will return a value between 0 (incl) and 360 (excl) +A geographical direction, in degrees. 0° is north, 90° is east, ... Will return a value between 0 (incl) and 360 (excl) + + ### length -A geographical length in meters (rounded at two points). Will give an extra minimap with a measurement tool. Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"] +A geographical length in meters (rounded at two points). Will give an extra minimap with a measurement tool. Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"] + + ### wikidata @@ -98,55 +114,73 @@ removePostfixes | remove these snippets of text from the end of the passed strin } ] } -``` +``` + + ### int -A number +A number + + ### nat -A positive number or zero +A positive number or zero + + ### pnat -A strict positive number +A strict positive number + + ### float -A decimal +A decimal + + ### pfloat -A positive decimal (incl zero) +A positive decimal (incl zero) + + ### email -An email adress +An email adress + + ### url -A url +A url + + ### phone -A phone number +A phone number + + ### opening_hours @@ -187,7 +221,9 @@ postfix | Piece of text that will always be added to the end of the generated op } ``` -*Don't forget to pass the prefix and postfix in the rendering as well*: `{opening_hours_table(opening_hours,yes @ &LPARENS, &RPARENS )` +*Don't forget to pass the prefix and postfix in the rendering as well*: `{opening_hours_table(opening_hours,yes @ &LPARENS, &RPARENS )` + + ### color diff --git a/Docs/SpecialRenderings.md b/Docs/SpecialRenderings.md index ba5b54f54..8baef21c2 100644 --- a/Docs/SpecialRenderings.md +++ b/Docs/SpecialRenderings.md @@ -3,7 +3,9 @@ Special tag renderings ======================== - ## Table of contents + + +## Table of contents 1. [Special tag renderings](#special-tag-renderings) + [all_tags](#all_tags) @@ -51,7 +53,13 @@ + [auto_apply](#auto_apply) * [Example usage of auto_apply](#example-usage-of-auto_apply) - In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and visualizations to be reused by custom themes or even to query third-party API's. General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_ need to use quotes around your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args + + +In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and visualizations to be reused by custom themes or even to query third-party API's. + +General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_ need to use quotes around your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args + + ### all_tags @@ -59,7 +67,9 @@ #### Example usage of all_tags - `{all_tags()}` + `{all_tags()}` + + ### image_carousel @@ -72,7 +82,9 @@ image key/prefix (multiple values allowed if comma-seperated) | image,mapillary, #### Example usage of image_carousel - `{image_carousel(image,mapillary,image,wikidata,wikimedia_commons,image,image)}` + `{image_carousel(image,mapillary,image,wikidata,wikimedia_commons,image,image)}` + + ### image_upload @@ -86,7 +98,9 @@ label | Add image | The text to show on the button #### Example usage of image_upload - `{image_upload(image,Add image)}` + `{image_upload(image,Add image)}` + + ### wikipedia @@ -99,7 +113,9 @@ keyToShowWikipediaFor | wikidata | Use the wikidata entry from this key to show #### Example usage of wikipedia - `{wikipedia()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the wikipedia page of whom the feature was named after. Also remember that these can be styled, e.g. `{wikipedia():max-height: 10rem}` to limit the height + `{wikipedia()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the wikipedia page of whom the feature was named after. Also remember that these can be styled, e.g. `{wikipedia():max-height: 10rem}` to limit the height + + ### minimap @@ -113,7 +129,9 @@ idKey | id | (Matches all resting arguments) This argument should be the key of #### Example usage of minimap - `{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}` + `{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}` + + ### sided_minimap @@ -126,7 +144,9 @@ side | _undefined_ | The side to show, either `left` or `right` #### Example usage of sided_minimap - `{sided_minimap(left)}` + `{sided_minimap(left)}` + + ### reviews @@ -140,7 +160,9 @@ fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as sp #### Example usage of reviews - `{reviews()}` for a vanilla review, `{reviews(name, play_forest)}` to review a play forest. If a name is known, the name will be used as identifier, otherwise 'play_forest' is used + `{reviews()}` for a vanilla review, `{reviews(name, play_forest)}` to review a play forest. If a name is known, the name will be used as identifier, otherwise 'play_forest' is used + + ### opening_hours_table @@ -155,7 +177,9 @@ postfix | _empty string_ | Remove this string from the end of the value before p #### Example usage of opening_hours_table - A normal opening hours table can be invoked with `{opening_hours_table()}`. A table for e.g. conditional access with opening hours can be `{opening_hours_table(access:conditional, no @ &LPARENS, &RPARENS)}` + A normal opening hours table can be invoked with `{opening_hours_table()}`. A table for e.g. conditional access with opening hours can be `{opening_hours_table(access:conditional, no @ &LPARENS, &RPARENS)}` + + ### live @@ -170,7 +194,9 @@ path | _undefined_ | The path (or shorthand) that should be returned #### Example usage of live - {live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)} + {live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)} + + ### histogram @@ -186,7 +212,9 @@ colors* | _undefined_ | (Matches all resting arguments - optional) Matches a reg #### Example usage of histogram - `{histogram('some_key')}` with properties being `{some_key: ['a','b','a','c']} to create a histogram + `{histogram('some_key')}` with properties being `{some_key: ['a','b','a','c']} to create a histogram + + ### share_link @@ -199,7 +227,9 @@ url | _undefined_ | The url to share (default: current URL) #### Example usage of share_link - {share_link()} to share the current page, {share_link(<some_url>)} to share the given url + {share_link()} to share the current page, {share_link(<some_url>)} to share the given url + + ### canonical @@ -212,7 +242,9 @@ key | _undefined_ | The key of the tag to give the canonical text for #### Example usage of canonical - {canonical(length)} will give 42 metre (in french) + {canonical(length)} will give 42 metre (in french) + + ### import_button @@ -273,7 +305,9 @@ max_snap_distance | 5 | The maximum distance that the imported point will be mov #### Example usage of import_button - `{import_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5)}` + `{import_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5)}` + + ### import_way_button @@ -338,7 +372,9 @@ snap_to_layer_max_distance | 0.1 | Distance to distort the geometry to snap to t #### Example usage of import_way_button - `{import_way_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5,,1,,0.1)}` + `{import_way_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5,,1,,0.1)}` + + ### conflate_button @@ -398,7 +434,9 @@ way_to_conflate | _undefined_ | The key, of which the corresponding value is the #### Example usage of conflate_button - `{conflate_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,)}` + `{conflate_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,)}` + + ### multi_apply @@ -415,7 +453,9 @@ overwrite | _undefined_ | If set to 'true', the tags on the other objects will a #### Example usage of multi_apply - {multi_apply(_features_with_the_same_name_within_100m, name:etymology:wikidata;name:etymology, Apply etymology information on all nearby objects with the same name)} + {multi_apply(_features_with_the_same_name_within_100m, name:etymology:wikidata;name:etymology, Apply etymology information on all nearby objects with the same name)} + + ### tag_apply @@ -444,7 +484,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag #### Example usage of tag_apply - `{tag_apply(survey_date=$_now:date, Surveyed today!)}`, `{tag_apply(addr:street=$addr:street, Apply the address, apply_icon.svg, _closest_osm_id) + `{tag_apply(survey_date=$_now:date, Surveyed today!)}`, `{tag_apply(addr:street=$addr:street, Apply the address, apply_icon.svg, _closest_osm_id) + + ### export_as_gpx @@ -452,7 +494,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag #### Example usage of export_as_gpx - `{export_as_gpx()}` + `{export_as_gpx()}` + + ### export_as_geojson @@ -460,7 +504,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag #### Example usage of export_as_geojson - `{export_as_geojson()}` + `{export_as_geojson()}` + + ### open_in_iD @@ -468,7 +514,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag #### Example usage of open_in_iD - `{open_in_iD()}` + `{open_in_iD()}` + + ### clear_location_history @@ -476,7 +524,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag #### Example usage of clear_location_history - `{clear_location_history()}` + `{clear_location_history()}` + + ### auto_apply diff --git a/Docs/TagInfo/mapcomplete_aed.json b/Docs/TagInfo/mapcomplete_aed.json index 3e5655917..8003a6d06 100644 --- a/Docs/TagInfo/mapcomplete_aed.json +++ b/Docs/TagInfo/mapcomplete_aed.json @@ -72,7 +72,7 @@ }, { "key": "defibrillator", - "description": "Layer 'Defibrillators' shows <span class='line-through'>defibrillator</span> with a fixed text, namely 'There is no info about the type of device' (in the MapComplete.osm.be theme 'Open AED Map') Picking this answer will delete the key defibrillator.", + "description": "Layer 'Defibrillators' shows with a fixed text, namely 'There is no info about the type of device' (in the MapComplete.osm.be theme 'Open AED Map') Picking this answer will delete the key defibrillator.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_bicyclelib.json b/Docs/TagInfo/mapcomplete_bicyclelib.json index 9120a4b0a..cd9e68bd3 100644 --- a/Docs/TagInfo/mapcomplete_bicyclelib.json +++ b/Docs/TagInfo/mapcomplete_bicyclelib.json @@ -39,14 +39,26 @@ "key": "website", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Bicycle libraries')" }, + { + "key": "contact:website", + "description": "Layer 'Bicycle library' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Bicycle libraries')" + }, { "key": "phone", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Bicycle libraries')" }, + { + "key": "contact:phone", + "description": "Layer 'Bicycle library' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Bicycle libraries')" + }, { "key": "email", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Bicycle libraries')" }, + { + "key": "contact:email", + "description": "Layer 'Bicycle library' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Bicycle libraries')" + }, { "key": "opening_hours", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Bicycle libraries')" @@ -57,12 +69,12 @@ }, { "key": "fee", - "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries')", + "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries')", "value": "no" }, { "key": "charge", - "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries') Picking this answer will delete the key charge.", + "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries') Picking this answer will delete the key charge.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_binoculars.json b/Docs/TagInfo/mapcomplete_binoculars.json index e02b95dcb..11114fb8e 100644 --- a/Docs/TagInfo/mapcomplete_binoculars.json +++ b/Docs/TagInfo/mapcomplete_binoculars.json @@ -37,12 +37,12 @@ }, { "key": "fee", - "description": "Layer 'Binoculars' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars')", + "description": "Layer 'Binoculars' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars')", "value": "no" }, { "key": "charge", - "description": "Layer 'Binoculars' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars') Picking this answer will delete the key charge.", + "description": "Layer 'Binoculars' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars') Picking this answer will delete the key charge.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_bookcases.json b/Docs/TagInfo/mapcomplete_bookcases.json index 6ae753d18..2d1dc542d 100644 --- a/Docs/TagInfo/mapcomplete_bookcases.json +++ b/Docs/TagInfo/mapcomplete_bookcases.json @@ -2,7 +2,7 @@ "data_format": 1, "project": { "name": "MapComplete Open Bookcase Map", - "description": "A public bookcase is a small streetside cabinet, box, old phone boot or some other objects where books are stored", + "description": "A public bookcase is a small streetside cabinet, box, old phone booth or some other objects where books are stored", "project_url": "https://mapcomplete.osm.be/bookcases", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/bookcases/bookcase.svg", @@ -37,12 +37,12 @@ }, { "key": "noname", - "description": "Layer 'Bookcases' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", + "description": "Layer 'Bookcases' shows noname=yes with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", "value": "yes" }, { "key": "name", - "description": "Layer 'Bookcases' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key name.", + "description": "Layer 'Bookcases' shows noname=yes with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key name.", "value": "" }, { @@ -76,7 +76,7 @@ }, { "key": "indoor", - "description": "Layer 'Bookcases' shows <span class='line-through'>indoor</span> with a fixed text, namely 'This bookcase is located outdoors' (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key indoor.", + "description": "Layer 'Bookcases' shows with a fixed text, namely 'This bookcase is located outdoors' (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key indoor.", "value": "" }, { @@ -99,22 +99,22 @@ }, { "key": "brand", - "description": "Layer 'Bookcases' shows brand=Little Free Library&<span class='line-through'>nobrand</span> with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", + "description": "Layer 'Bookcases' shows brand=Little Free Library with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", "value": "Little Free Library" }, { "key": "nobrand", - "description": "Layer 'Bookcases' shows brand=Little Free Library&<span class='line-through'>nobrand</span> with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key nobrand.", + "description": "Layer 'Bookcases' shows brand=Little Free Library with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key nobrand.", "value": "" }, { "key": "nobrand", - "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span> with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", + "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", "value": "yes" }, { "key": "brand", - "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span> with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", + "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", "value": "" }, { @@ -123,17 +123,17 @@ }, { "key": "nobrand", - "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span>&<span class='line-through'>ref</span> with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", + "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", "value": "yes" }, { "key": "brand", - "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span>&<span class='line-through'>ref</span> with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", + "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", "value": "" }, { "key": "ref", - "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span>&<span class='line-through'>ref</span> with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key ref.", + "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key ref.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json index 7e152fb84..87d1edc2b 100644 --- a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json +++ b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json @@ -83,14 +83,26 @@ "key": "website", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Cafés and pubs')" }, + { + "key": "contact:website", + "description": "Layer 'Cafés and pubs' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Cafés and pubs')" + }, { "key": "email", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Cafés and pubs')" }, + { + "key": "contact:email", + "description": "Layer 'Cafés and pubs' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Cafés and pubs')" + }, { "key": "phone", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Cafés and pubs')" }, + { + "key": "contact:phone", + "description": "Layer 'Cafés and pubs' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Cafés and pubs')" + }, { "key": "payment:cash", "description": "Layer 'Cafés and pubs' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", diff --git a/Docs/TagInfo/mapcomplete_campersite.json b/Docs/TagInfo/mapcomplete_campersite.json index 26721d0c3..a38dc7853 100644 --- a/Docs/TagInfo/mapcomplete_campersite.json +++ b/Docs/TagInfo/mapcomplete_campersite.json @@ -42,12 +42,12 @@ }, { "key": "fee", - "description": "Layer 'Camper sites' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites')", + "description": "Layer 'Camper sites' shows fee=no with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites')", "value": "no" }, { "key": "charge", - "description": "Layer 'Camper sites' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites') Picking this answer will delete the key charge.", + "description": "Layer 'Camper sites' shows fee=no with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites') Picking this answer will delete the key charge.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_charging_stations.json b/Docs/TagInfo/mapcomplete_charging_stations.json index a816304f6..40fff0b29 100644 --- a/Docs/TagInfo/mapcomplete_charging_stations.json +++ b/Docs/TagInfo/mapcomplete_charging_stations.json @@ -895,42 +895,42 @@ }, { "key": "fee", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "no" }, { "key": "fee:conditional", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", "value": "" }, { "key": "charge", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", "value": "" }, { "key": "authentication:none", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "yes" }, { "key": "fee", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "no" }, { "key": "fee:conditional", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", "value": "" }, { "key": "charge", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", "value": "" }, { "key": "authentication:none", - "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "no" }, { @@ -945,12 +945,12 @@ }, { "key": "fee", - "description": "Layer 'Charging stations' shows fee=yes&<span class='line-through'>fee:conditional</span> with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows fee=yes with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "yes" }, { "key": "fee:conditional", - "description": "Layer 'Charging stations' shows fee=yes&<span class='line-through'>fee:conditional</span> with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", + "description": "Layer 'Charging stations' shows fee=yes with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", "value": "" }, { @@ -1111,7 +1111,7 @@ }, { "key": "level", - "description": "Layer 'Charging stations' shows <span class='line-through'>level</span> with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key level.", + "description": "Layer 'Charging stations' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key level.", "value": "" }, { @@ -1125,127 +1125,127 @@ }, { "key": "planned:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", + "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", "value": "" }, { "key": "construction:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", + "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", "value": "" }, { "key": "disused:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", + "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", "value": "" }, { "key": "operational_status", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", + "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", "value": "" }, { "key": "amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "charging_station" }, { "key": "planned:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", + "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", "value": "" }, { "key": "construction:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", + "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", "value": "" }, { "key": "disused:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", + "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", "value": "" }, { "key": "operational_status", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "broken" }, { "key": "amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "charging_station" }, { "key": "planned:amenity", - "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "charging_station" }, { "key": "construction:amenity", - "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", + "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", "value": "" }, { "key": "disused:amenity", - "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", + "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", "value": "" }, { "key": "operational_status", - "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", + "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", "value": "" }, { "key": "amenity", - "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", + "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", "value": "" }, { "key": "planned:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", + "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", "value": "" }, { "key": "construction:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "charging_station" }, { "key": "disused:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", + "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", "value": "" }, { "key": "operational_status", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", + "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", "value": "" }, { "key": "amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", + "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", "value": "" }, { "key": "planned:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", + "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", "value": "" }, { "key": "construction:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", + "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", "value": "" }, { "key": "disused:amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", + "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", "value": "charging_station" }, { "key": "operational_status", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", + "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", "value": "" }, { "key": "amenity", - "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", + "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_climbing.json b/Docs/TagInfo/mapcomplete_climbing.json index 66a6de3db..c073f6ad1 100644 --- a/Docs/TagInfo/mapcomplete_climbing.json +++ b/Docs/TagInfo/mapcomplete_climbing.json @@ -36,14 +36,26 @@ "key": "website", "description": "Layer 'Climbing club' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Open Climbing Map')" }, + { + "key": "contact:website", + "description": "Layer 'Climbing club' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" + }, { "key": "email", "description": "Layer 'Climbing club' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Open Climbing Map')" }, + { + "key": "contact:email", + "description": "Layer 'Climbing club' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" + }, { "key": "phone", "description": "Layer 'Climbing club' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Open Climbing Map')" }, + { + "key": "contact:phone", + "description": "Layer 'Climbing club' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" + }, { "key": "opening_hours", "description": "Layer 'Climbing club' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Open Climbing Map')" @@ -202,14 +214,26 @@ "key": "website", "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Open Climbing Map')" }, + { + "key": "contact:website", + "description": "Layer 'Climbing gyms' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" + }, { "key": "phone", "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Open Climbing Map')" }, + { + "key": "contact:phone", + "description": "Layer 'Climbing gyms' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" + }, { "key": "email", "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Open Climbing Map')" }, + { + "key": "contact:email", + "description": "Layer 'Climbing gyms' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" + }, { "key": "opening_hours", "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Open Climbing Map')" @@ -361,12 +385,12 @@ }, { "key": "noname", - "description": "Layer 'Climbing routes' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", + "description": "Layer 'Climbing routes' shows noname=yes with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", "value": "yes" }, { "key": "name", - "description": "Layer 'Climbing routes' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", + "description": "Layer 'Climbing routes' shows noname=yes with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", "value": "" }, { @@ -542,12 +566,12 @@ }, { "key": "noname", - "description": "Layer 'Climbing opportunities' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", + "description": "Layer 'Climbing opportunities' shows noname=yes with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", "value": "yes" }, { "key": "name", - "description": "Layer 'Climbing opportunities' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", + "description": "Layer 'Climbing opportunities' shows noname=yes with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_cycle_infra.json b/Docs/TagInfo/mapcomplete_cycle_infra.json index a101c3e33..5f412329c 100644 --- a/Docs/TagInfo/mapcomplete_cycle_infra.json +++ b/Docs/TagInfo/mapcomplete_cycle_infra.json @@ -132,7 +132,7 @@ }, { "key": "cyclestreet", - "description": "Layer 'Cycleways and roads' shows <span class='line-through'>cyclestreet</span> with a fixed text, namely 'This is not a cyclestreet.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key cyclestreet.", + "description": "Layer 'Cycleways and roads' shows with a fixed text, namely 'This is not a cyclestreet.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key cyclestreet.", "value": "" }, { @@ -568,6 +568,16 @@ "description": "Layer 'Barriers' shows bicycle=no with a fixed text, namely 'A cyclist can not go past this.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure')", "value": "no" }, + { + "key": "barrier", + "description": "Layer 'Barriers' shows barrier=bollard with a fixed text, namely 'This is a single bollard in the road' (in the MapComplete.osm.be theme 'Bicycle infrastructure')", + "value": "bollard" + }, + { + "key": "barrier", + "description": "Layer 'Barriers' shows barrier=cycle_barrier with a fixed text, namely 'This is a cycle barrier slowing down cyclists' (in the MapComplete.osm.be theme 'Bicycle infrastructure')", + "value": "cycle_barrier" + }, { "key": "bollard", "description": "Layer 'Barriers' shows bollard=removable with a fixed text, namely 'Removable bollard' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure')", @@ -661,7 +671,7 @@ }, { "key": "crossing_ref", - "description": "Layer 'Crossings' shows <span class='line-through'>crossing_ref</span> with a fixed text, namely 'This is not a zebra crossing' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key crossing_ref.", + "description": "Layer 'Crossings' shows with a fixed text, namely 'This is not a zebra crossing' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key crossing_ref.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_cyclestreets.json b/Docs/TagInfo/mapcomplete_cyclestreets.json index a85c107e4..1b90cca1a 100644 --- a/Docs/TagInfo/mapcomplete_cyclestreets.json +++ b/Docs/TagInfo/mapcomplete_cyclestreets.json @@ -33,57 +33,57 @@ }, { "key": "cyclestreet", - "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "maxspeed", - "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "30" }, { "key": "overtaking:motor_vehicle", - "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "no" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "cyclestreet", - "description": "Layer 'Cyclestreets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Cyclestreets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Cyclestreets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'Cyclestreets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "cyclestreet", - "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", + "description": "Layer 'Cyclestreets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", "value": "" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Cyclestreets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "cyclestreet", - "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", + "description": "Layer 'Cyclestreets' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", "value": "" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'Cyclestreets' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "overtaking:motor_vehicle", - "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", + "description": "Layer 'Cyclestreets' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", "value": "" }, { @@ -113,57 +113,57 @@ }, { "key": "cyclestreet", - "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "maxspeed", - "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "30" }, { "key": "overtaking:motor_vehicle", - "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "no" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "cyclestreet", - "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Future cyclestreet' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'Future cyclestreet' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "cyclestreet", - "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", + "description": "Layer 'Future cyclestreet' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", "value": "" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'Future cyclestreet' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "cyclestreet", - "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", + "description": "Layer 'Future cyclestreet' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", "value": "" }, { "key": "proposed:cyclestreet", - "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'Future cyclestreet' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "overtaking:motor_vehicle", - "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", + "description": "Layer 'Future cyclestreet' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", "value": "" }, { @@ -203,57 +203,57 @@ }, { "key": "cyclestreet", - "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "maxspeed", - "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "30" }, { "key": "overtaking:motor_vehicle", - "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "no" }, { "key": "proposed:cyclestreet", - "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "cyclestreet", - "description": "Layer 'All streets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'All streets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "proposed:cyclestreet", - "description": "Layer 'All streets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'All streets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "cyclestreet", - "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", + "description": "Layer 'All streets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", "value": "" }, { "key": "proposed:cyclestreet", - "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", + "description": "Layer 'All streets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", "value": "yes" }, { "key": "cyclestreet", - "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", + "description": "Layer 'All streets' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", "value": "" }, { "key": "proposed:cyclestreet", - "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", + "description": "Layer 'All streets' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", "value": "" }, { "key": "overtaking:motor_vehicle", - "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", + "description": "Layer 'All streets' shows with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index 69e50e9ec..22513e952 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -343,14 +343,26 @@ "key": "website", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:website", + "description": "Layer 'Bicycle library' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "phone", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:phone", + "description": "Layer 'Bicycle library' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "email", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:email", + "description": "Layer 'Bicycle library' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "opening_hours", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" @@ -361,12 +373,12 @@ }, { "key": "fee", - "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')", + "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')", "value": "no" }, { "key": "charge", - "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key charge.", + "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key charge.", "value": "" }, { @@ -477,7 +489,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Bike stations (repair, pump or both)' shows <span class='line-through'>opening_hours</span> with a fixed text, namely 'Always open' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key opening_hours.", + "description": "Layer 'Bike stations (repair, pump or both)' shows with a fixed text, namely 'Always open' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key opening_hours.", "value": "" }, { @@ -507,7 +519,7 @@ }, { "key": "service:bicycle:pump:operational_status", - "description": "Layer 'Bike stations (repair, pump or both)' shows <span class='line-through'>service:bicycle:pump:operational_status</span> with a fixed text, namely 'The bike pump is operational' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key service:bicycle:pump:operational_status.", + "description": "Layer 'Bike stations (repair, pump or both)' shows with a fixed text, namely 'The bike pump is operational' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key service:bicycle:pump:operational_status.", "value": "" }, { @@ -570,7 +582,7 @@ }, { "key": "level", - "description": "Layer 'Bike stations (repair, pump or both)' shows <span class='line-through'>level</span> with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key level.", + "description": "Layer 'Bike stations (repair, pump or both)' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key level.", "value": "" }, { @@ -609,7 +621,7 @@ }, { "key": "operational_status", - "description": "Layer 'Bicycle tube vending machine' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This vending machine works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", + "description": "Layer 'Bicycle tube vending machine' shows with a fixed text, namely 'This vending machine works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", "value": "" }, { @@ -721,7 +733,7 @@ }, { "key": "operational_status", - "description": "Layer 'Drinking water' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", + "description": "Layer 'Drinking water' shows with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", "value": "" }, { @@ -813,14 +825,26 @@ "key": "website", "description": "Layer 'Bike related object' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:website", + "description": "Layer 'Bike related object' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "email", "description": "Layer 'Bike related object' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:email", + "description": "Layer 'Bike related object' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "phone", "description": "Layer 'Bike related object' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:phone", + "description": "Layer 'Bike related object' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "opening_hours", "description": "Layer 'Bike related object' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" @@ -976,7 +1000,7 @@ }, { "key": "location", - "description": "Layer 'Bike parking' shows <span class='line-through'>location</span> with a fixed text, namely 'Surface level parking' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key location.", + "description": "Layer 'Bike parking' shows with a fixed text, namely 'Surface level parking' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key location.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_drinking_water.json b/Docs/TagInfo/mapcomplete_drinking_water.json index 9adab82b3..ee53cb101 100644 --- a/Docs/TagInfo/mapcomplete_drinking_water.json +++ b/Docs/TagInfo/mapcomplete_drinking_water.json @@ -37,7 +37,7 @@ }, { "key": "operational_status", - "description": "Layer 'Drinking water' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Drinking Water') Picking this answer will delete the key operational_status.", + "description": "Layer 'Drinking water' shows with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Drinking Water') Picking this answer will delete the key operational_status.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_entrances.json b/Docs/TagInfo/mapcomplete_entrances.json index 1fa4ed60c..350ee1f84 100644 --- a/Docs/TagInfo/mapcomplete_entrances.json +++ b/Docs/TagInfo/mapcomplete_entrances.json @@ -62,82 +62,82 @@ }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>entrance</span>&indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key entrance.", + "description": "Layer 'Entrance' shows indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key entrance.", "value": "" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>entrance</span>&indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "door" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", + "description": "Layer 'Entrance' shows entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", "value": "" }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "main" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", + "description": "Layer 'Entrance' shows entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", "value": "" }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "secondary" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", + "description": "Layer 'Entrance' shows entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", "value": "" }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "service" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", + "description": "Layer 'Entrance' shows entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", "value": "" }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "exit" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", + "description": "Layer 'Entrance' shows entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", "value": "" }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "entrance" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", + "description": "Layer 'Entrance' shows entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", "value": "" }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "emergency" }, { "key": "indoor", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", + "description": "Layer 'Entrance' shows entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", "value": "" }, { "key": "entrance", - "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "description": "Layer 'Entrance' shows entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", "value": "home" }, { diff --git a/Docs/TagInfo/mapcomplete_food.json b/Docs/TagInfo/mapcomplete_food.json index 429f7579a..fd1efec03 100644 --- a/Docs/TagInfo/mapcomplete_food.json +++ b/Docs/TagInfo/mapcomplete_food.json @@ -58,14 +58,26 @@ "key": "website", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Restaurants and fast food')" }, + { + "key": "contact:website", + "description": "Layer 'Restaurants and fast food' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Restaurants and fast food')" + }, { "key": "email", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Restaurants and fast food')" }, + { + "key": "contact:email", + "description": "Layer 'Restaurants and fast food' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Restaurants and fast food')" + }, { "key": "phone", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Restaurants and fast food')" }, + { + "key": "contact:phone", + "description": "Layer 'Restaurants and fast food' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Restaurants and fast food')" + }, { "key": "payment:cash", "description": "Layer 'Restaurants and fast food' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", diff --git a/Docs/TagInfo/mapcomplete_fritures.json b/Docs/TagInfo/mapcomplete_fritures.json index 3a9d48c65..4544e6d29 100644 --- a/Docs/TagInfo/mapcomplete_fritures.json +++ b/Docs/TagInfo/mapcomplete_fritures.json @@ -63,14 +63,26 @@ "key": "website", "description": "Layer 'Fries shop' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Friturenkaart')" }, + { + "key": "contact:website", + "description": "Layer 'Fries shop' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" + }, { "key": "email", "description": "Layer 'Fries shop' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Friturenkaart')" }, + { + "key": "contact:email", + "description": "Layer 'Fries shop' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" + }, { "key": "phone", "description": "Layer 'Fries shop' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Friturenkaart')" }, + { + "key": "contact:phone", + "description": "Layer 'Fries shop' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" + }, { "key": "payment:cash", "description": "Layer 'Fries shop' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Friturenkaart')", @@ -398,14 +410,26 @@ "key": "website", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Friturenkaart')" }, + { + "key": "contact:website", + "description": "Layer 'Restaurants and fast food' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" + }, { "key": "email", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Friturenkaart')" }, + { + "key": "contact:email", + "description": "Layer 'Restaurants and fast food' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" + }, { "key": "phone", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Friturenkaart')" }, + { + "key": "contact:phone", + "description": "Layer 'Restaurants and fast food' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" + }, { "key": "payment:cash", "description": "Layer 'Restaurants and fast food' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Friturenkaart')", diff --git a/Docs/TagInfo/mapcomplete_hackerspaces.json b/Docs/TagInfo/mapcomplete_hackerspaces.json index 800086b20..729ccf73d 100644 --- a/Docs/TagInfo/mapcomplete_hackerspaces.json +++ b/Docs/TagInfo/mapcomplete_hackerspaces.json @@ -22,7 +22,7 @@ }, { "key": "hackerspace", - "description": "Layer 'Hackerspace' shows <span class='line-through'>hackerspace</span> with a fixed text, namely 'This is a traditional (software oriented) hackerspace' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hackerspaces') Picking this answer will delete the key hackerspace.", + "description": "Layer 'Hackerspace' shows with a fixed text, namely 'This is a traditional (software oriented) hackerspace' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hackerspaces') Picking this answer will delete the key hackerspace.", "value": "" }, { @@ -33,14 +33,26 @@ "key": "website", "description": "Layer 'Hackerspace' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Hackerspaces')" }, + { + "key": "contact:website", + "description": "Layer 'Hackerspace' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Hackerspaces')" + }, { "key": "email", "description": "Layer 'Hackerspace' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Hackerspaces')" }, + { + "key": "contact:email", + "description": "Layer 'Hackerspace' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Hackerspaces')" + }, { "key": "phone", "description": "Layer 'Hackerspace' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Hackerspaces')" }, + { + "key": "contact:phone", + "description": "Layer 'Hackerspace' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Hackerspaces')" + }, { "key": "opening_hours", "description": "Layer 'Hackerspace' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Hackerspaces')" diff --git a/Docs/TagInfo/mapcomplete_hailhydrant.json b/Docs/TagInfo/mapcomplete_hailhydrant.json index 48f1fc0d6..f7bc882ad 100644 --- a/Docs/TagInfo/mapcomplete_hailhydrant.json +++ b/Docs/TagInfo/mapcomplete_hailhydrant.json @@ -21,7 +21,7 @@ }, { "key": "colour", - "description": "Layer 'Map of hydrants' shows <span class='line-through'>colour</span> with a fixed text, namely 'The hydrant color is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key colour.", + "description": "Layer 'Map of hydrants' shows with a fixed text, namely 'The hydrant color is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key colour.", "value": "" }, { @@ -40,7 +40,7 @@ }, { "key": "fire_hydrant:type", - "description": "Layer 'Map of hydrants' shows <span class='line-through'>fire_hydrant:type</span> with a fixed text, namely 'The hydrant type is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key fire_hydrant:type.", + "description": "Layer 'Map of hydrants' shows with a fixed text, namely 'The hydrant type is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key fire_hydrant:type.", "value": "" }, { @@ -70,22 +70,22 @@ }, { "key": "disused:emergency", - "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", + "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", "value": "fire_hydrant" }, { "key": "emergency", - "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", + "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", "value": "" }, { "key": "removed:emergency", - "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", + "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", "value": "fire_hydrant" }, { "key": "emergency", - "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", + "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_maps.json b/Docs/TagInfo/mapcomplete_maps.json index 3890e9336..a930aa1b7 100644 --- a/Docs/TagInfo/mapcomplete_maps.json +++ b/Docs/TagInfo/mapcomplete_maps.json @@ -42,12 +42,12 @@ }, { "key": "map_source", - "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps')", + "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps')", "value": "OpenStreetMap" }, { "key": "not:map_source", - "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps') Picking this answer will delete the key not:map_source.", + "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps') Picking this answer will delete the key not:map_source.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_nature.json b/Docs/TagInfo/mapcomplete_nature.json index 3ab3c5860..db56810a2 100644 --- a/Docs/TagInfo/mapcomplete_nature.json +++ b/Docs/TagInfo/mapcomplete_nature.json @@ -37,7 +37,7 @@ }, { "key": "operational_status", - "description": "Layer 'Drinking water' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key operational_status.", + "description": "Layer 'Drinking water' shows with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key operational_status.", "value": "" }, { @@ -83,17 +83,17 @@ }, { "key": "shelter", - "description": "Layer 'Vogelkijkhutten' shows shelter=no&<span class='line-through'>building</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Vogelkijkhutten' shows shelter=no with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "no" }, { "key": "building", - "description": "Layer 'Vogelkijkhutten' shows shelter=no&<span class='line-through'>building</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key building.", + "description": "Layer 'Vogelkijkhutten' shows shelter=no with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key building.", "value": "" }, { "key": "amenity", - "description": "Layer 'Vogelkijkhutten' shows shelter=no&<span class='line-through'>building</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key amenity.", + "description": "Layer 'Vogelkijkhutten' shows shelter=no with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key amenity.", "value": "" }, { @@ -202,12 +202,12 @@ }, { "key": "map_source", - "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "OpenStreetMap" }, { "key": "not:map_source", - "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key not:map_source.", + "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key not:map_source.", "value": "" }, { @@ -288,52 +288,52 @@ }, { "key": "access", - "description": "Layer 'Natuurgebied' shows access=yes&<span class='line-through'>fee</span> with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Natuurgebied' shows access=yes with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "yes" }, { "key": "fee", - "description": "Layer 'Natuurgebied' shows access=yes&<span class='line-through'>fee</span> with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", + "description": "Layer 'Natuurgebied' shows access=yes with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", "value": "" }, { "key": "access", - "description": "Layer 'Natuurgebied' shows access=no&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Natuurgebied' shows access=no with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "no" }, { "key": "fee", - "description": "Layer 'Natuurgebied' shows access=no&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", + "description": "Layer 'Natuurgebied' shows access=no with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", "value": "" }, { "key": "access", - "description": "Layer 'Natuurgebied' shows access=private&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Natuurgebied' shows access=private with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "private" }, { "key": "fee", - "description": "Layer 'Natuurgebied' shows access=private&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", + "description": "Layer 'Natuurgebied' shows access=private with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", "value": "" }, { "key": "access", - "description": "Layer 'Natuurgebied' shows access=permissive&<span class='line-through'>fee</span> with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Natuurgebied' shows access=permissive with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "permissive" }, { "key": "fee", - "description": "Layer 'Natuurgebied' shows access=permissive&<span class='line-through'>fee</span> with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", + "description": "Layer 'Natuurgebied' shows access=permissive with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", "value": "" }, { "key": "access", - "description": "Layer 'Natuurgebied' shows access=guided&<span class='line-through'>fee</span> with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Natuurgebied' shows access=guided with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "guided" }, { "key": "fee", - "description": "Layer 'Natuurgebied' shows access=guided&<span class='line-through'>fee</span> with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", + "description": "Layer 'Natuurgebied' shows access=guided with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", "value": "" }, { @@ -374,12 +374,12 @@ }, { "key": "noname", - "description": "Layer 'Natuurgebied' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", + "description": "Layer 'Natuurgebied' shows noname=yes with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", "value": "yes" }, { "key": "name", - "description": "Layer 'Natuurgebied' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key name.", + "description": "Layer 'Natuurgebied' shows noname=yes with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key name.", "value": "" }, { @@ -427,7 +427,7 @@ }, { "key": "wikidata", - "description": "Layer 'Natuurgebied' shows <span class='line-through'>wikidata</span> with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key wikidata.", + "description": "Layer 'Natuurgebied' shows with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key wikidata.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_observation_towers.json b/Docs/TagInfo/mapcomplete_observation_towers.json index b24590b65..54cd526c0 100644 --- a/Docs/TagInfo/mapcomplete_observation_towers.json +++ b/Docs/TagInfo/mapcomplete_observation_towers.json @@ -52,18 +52,22 @@ "key": "website", "description": "Layer 'Observation towers' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Observation towers')" }, + { + "key": "contact:website", + "description": "Layer 'Observation towers' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Observation towers')" + }, { "key": "charge", "description": "Layer 'Observation towers' shows and asks freeform values for key 'charge' (in the MapComplete.osm.be theme 'Observation towers')" }, { "key": "fee", - "description": "Layer 'Observation towers' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers')", + "description": "Layer 'Observation towers' shows fee=no with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers')", "value": "no" }, { "key": "charge", - "description": "Layer 'Observation towers' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key charge.", + "description": "Layer 'Observation towers' shows fee=no with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key charge.", "value": "" }, { @@ -102,7 +106,7 @@ }, { "key": "wikidata", - "description": "Layer 'Observation towers' shows <span class='line-through'>wikidata</span> with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key wikidata.", + "description": "Layer 'Observation towers' shows with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key wikidata.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_playgrounds.json b/Docs/TagInfo/mapcomplete_playgrounds.json index 6e333859f..08803526a 100644 --- a/Docs/TagInfo/mapcomplete_playgrounds.json +++ b/Docs/TagInfo/mapcomplete_playgrounds.json @@ -99,7 +99,7 @@ }, { "key": "access", - "description": "Layer 'Playgrounds' shows <span class='line-through'>access</span> with a fixed text, namely 'Accessible to the general public' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key access.", + "description": "Layer 'Playgrounds' shows with a fixed text, namely 'Accessible to the general public' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key access.", "value": "" }, { @@ -161,7 +161,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Playgrounds' shows <span class='line-through'>opening_hours</span> with a fixed text, namely 'Always accessible' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key opening_hours.", + "description": "Layer 'Playgrounds' shows with a fixed text, namely 'Always accessible' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key opening_hours.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_sport_pitches.json b/Docs/TagInfo/mapcomplete_sport_pitches.json index 7654c2cfe..1a5ceff5b 100644 --- a/Docs/TagInfo/mapcomplete_sport_pitches.json +++ b/Docs/TagInfo/mapcomplete_sport_pitches.json @@ -148,7 +148,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Sport pitches' shows <span class='line-through'>opening_hours</span> with a fixed text, namely '24/7 toegankelijk' (in the MapComplete.osm.be theme 'Sport pitches') Picking this answer will delete the key opening_hours.", + "description": "Layer 'Sport pitches' shows with a fixed text, namely '24/7 toegankelijk' (in the MapComplete.osm.be theme 'Sport pitches') Picking this answer will delete the key opening_hours.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_surveillance.json b/Docs/TagInfo/mapcomplete_surveillance.json index d6bc9d84c..4223f2a7b 100644 --- a/Docs/TagInfo/mapcomplete_surveillance.json +++ b/Docs/TagInfo/mapcomplete_surveillance.json @@ -75,12 +75,12 @@ }, { "key": "camera:direction", - "description": "Layer 'Surveillance camera's' shows <span class='line-through'>camera:direction</span>&direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key camera:direction.", + "description": "Layer 'Surveillance camera's' shows direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key camera:direction.", "value": "" }, { "key": "direction", - "description": "Layer 'Surveillance camera's' shows <span class='line-through'>camera:direction</span>&direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance')" + "description": "Layer 'Surveillance camera's' shows direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance')" }, { "key": "operator", @@ -113,7 +113,7 @@ }, { "key": "indoor", - "description": "Layer 'Surveillance camera's' shows <span class='line-through'>indoor</span> with a fixed text, namely 'This camera is probably located outdoors' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key indoor.", + "description": "Layer 'Surveillance camera's' shows with a fixed text, namely 'This camera is probably located outdoors' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key indoor.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_toilets.json b/Docs/TagInfo/mapcomplete_toilets.json index bb3b061a3..f1daf8345 100644 --- a/Docs/TagInfo/mapcomplete_toilets.json +++ b/Docs/TagInfo/mapcomplete_toilets.json @@ -193,7 +193,7 @@ }, { "key": "level", - "description": "Layer 'Toilets' shows <span class='line-through'>level</span> with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Open Toilet Map') Picking this answer will delete the key level.", + "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Open Toilet Map') Picking this answer will delete the key level.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_trees.json b/Docs/TagInfo/mapcomplete_trees.json index abf1e435e..0e6f4fe95 100644 --- a/Docs/TagInfo/mapcomplete_trees.json +++ b/Docs/TagInfo/mapcomplete_trees.json @@ -106,12 +106,12 @@ }, { "key": "name", - "description": "Layer 'Tree' shows <span class='line-through'>name</span>&noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key name.", + "description": "Layer 'Tree' shows noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key name.", "value": "" }, { "key": "noname", - "description": "Layer 'Tree' shows <span class='line-through'>name</span>&noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", + "description": "Layer 'Tree' shows noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", "value": "yes" }, { @@ -136,22 +136,22 @@ }, { "key": "heritage", - "description": "Layer 'Tree' shows heritage=yes&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", + "description": "Layer 'Tree' shows heritage=yes with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", "value": "yes" }, { "key": "heritage:operator", - "description": "Layer 'Tree' shows heritage=yes&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", + "description": "Layer 'Tree' shows heritage=yes with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", "value": "" }, { "key": "heritage", - "description": "Layer 'Tree' shows heritage=no&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", + "description": "Layer 'Tree' shows heritage=no with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", "value": "no" }, { "key": "heritage:operator", - "description": "Layer 'Tree' shows heritage=no&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", + "description": "Layer 'Tree' shows heritage=no with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", "value": "" }, { diff --git a/Docs/TagInfo/mapcomplete_waste_basket.json b/Docs/TagInfo/mapcomplete_waste_basket.json index 6aa6be0ad..ff89c53f3 100644 --- a/Docs/TagInfo/mapcomplete_waste_basket.json +++ b/Docs/TagInfo/mapcomplete_waste_basket.json @@ -17,7 +17,7 @@ }, { "key": "waste", - "description": "Layer 'Waste Basket' shows <span class='line-through'>waste</span> with a fixed text, namely 'A waste basket for general waste' (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key waste.", + "description": "Layer 'Waste Basket' shows with a fixed text, namely 'A waste basket for general waste' (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key waste.", "value": "" }, { @@ -47,27 +47,27 @@ }, { "key": "vending", - "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag&<span class='line-through'>not:vending</span> with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", + "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", "value": "dog_excrement_bag" }, { "key": "not:vending", - "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag&<span class='line-through'>not:vending</span> with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key not:vending.", + "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key not:vending.", "value": "" }, { "key": "not:vending", - "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag&<span class='line-through'>vending</span> with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", + "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", "value": "dog_excrement_bag" }, { "key": "vending", - "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag&<span class='line-through'>vending</span> with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", + "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", "value": "" }, { "key": "vending", - "description": "Layer 'Waste Basket' shows <span class='line-through'>vending</span> with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", + "description": "Layer 'Waste Basket' shows with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", "value": "" }, { diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md index 7a6109c00..fe01c8bfd 100644 --- a/Docs/URL_Parameters.md +++ b/Docs/URL_Parameters.md @@ -3,7 +3,9 @@ URL-parameters and URL-hash ============================= - ## Table of contents + + +## Table of contents 1. [URL-parameters and URL-hash](#url-parameters-and-url-hash) - [What is a URL parameter?](#what-is-a-url-parameter) @@ -31,128 +33,186 @@ - [background](#background) - [layer-<layer-id>](#layer-<layer-id>) - This document gives an overview of which URL-parameters can be used to influence MapComplete. + + +This document gives an overview of which URL-parameters can be used to influence MapComplete. + + What is a URL parameter? -------------------------- - "URL-parameters are extra parts of the URL used to set the state. For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`, the URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely: + + +"URL-parameters are extra parts of the URL used to set the state. + +For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`, the URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely: + + - The url-parameter `lat` is `51.0` in this instance - The url-parameter `lon` is `4.3` in this instance - The url-parameter `z` is `5` in this instance - The url-parameter `test` is `true` in this instance - Finally, the URL-hash is the part after the `#`. It is `node/1234` in this case. + + +Finally, the URL-hash is the part after the `#`. It is `node/1234` in this case. + + fs-userbadge -------------- - Disables/Enables the user information pill (userbadge) at the top left. Disabling this disables logging in and thus disables editing all together, effectively putting MapComplete into read-only mode. The default value is _true_ + Disables/Enables the user information pill (userbadge) at the top left. Disabling this disables logging in and thus disables editing all together, effectively putting MapComplete into read-only mode. The default value is _true_ + + fs-search ----------- - Disables/Enables the search bar The default value is _true_ + Disables/Enables the search bar The default value is _true_ + + fs-background --------------- - Disables/Enables the background layer control The default value is _true_ + Disables/Enables the background layer control The default value is _true_ + + fs-filter ----------- - Disables/Enables the filter The default value is _true_ + Disables/Enables the filter The default value is _true_ + + fs-add-new ------------ - Disables/Enables the 'add new feature'-popup. (A theme without presets might not have it in the first place) The default value is _true_ + Disables/Enables the 'add new feature'-popup. (A theme without presets might not have it in the first place) The default value is _true_ + + fs-welcome-message -------------------- - Disables/enables the help menu or welcome message The default value is _true_ + Disables/enables the help menu or welcome message The default value is _true_ + + fs-iframe-popout ------------------ - Disables/Enables the iframe-popout button. If in iframe mode and the welcome message is hidden, a popout button to the full mapcomplete instance is shown instead (unless disabled with this switch) The default value is _true_ + Disables/Enables the iframe-popout button. If in iframe mode and the welcome message is hidden, a popout button to the full mapcomplete instance is shown instead (unless disabled with this switch) The default value is _true_ + + fs-more-quests ---------------- - Disables/Enables the 'More Quests'-tab in the welcome message The default value is _true_ + Disables/Enables the 'More Quests'-tab in the welcome message The default value is _true_ + + fs-share-screen ----------------- - Disables/Enables the 'Share-screen'-tab in the welcome message The default value is _true_ + Disables/Enables the 'Share-screen'-tab in the welcome message The default value is _true_ + + fs-geolocation ---------------- - Disables/Enables the geolocation button The default value is _true_ + Disables/Enables the geolocation button The default value is _true_ + + fs-all-questions ------------------ - Always show all questions The default value is _false_ + Always show all questions The default value is _false_ + + fs-export ----------- - Enable the export as GeoJSON and CSV button The default value is _false_ + Enable the export as GeoJSON and CSV button The default value is _false_ + + fs-pdf -------- - Enable the PDF download button The default value is _false_ + Enable the PDF download button The default value is _false_ + + backend --------- - The OSM backend to use - can be used to redirect mapcomplete to the testing backend when using 'osm-test' The default value is _osm_ + The OSM backend to use - can be used to redirect mapcomplete to the testing backend when using 'osm-test' The default value is _osm_ + + test ------ - If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the console instead of actually uploaded to osm.org The default value is _false_ + If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the console instead of actually uploaded to osm.org The default value is _false_ + + debug ------- - If true, shows some extra debugging help such as all the available tags on every object The default value is _false_ + If true, shows some extra debugging help such as all the available tags on every object The default value is _false_ + + fake-user ----------- - If true, 'dryrun' mode is activated and a fake user account is loaded The default value is _false_ + If true, 'dryrun' mode is activated and a fake user account is loaded The default value is _false_ + + overpassUrl ------------- - Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter The default value is _https://overpass-api.de/api/interpreter,https://overpass.kumi.systems/api/interpreter,https://overpass.openstreetmap.ru/cgi/interpreter_ + Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter The default value is _https://overpass-api.de/api/interpreter,https://overpass.kumi.systems/api/interpreter,https://overpass.openstreetmap.ru/cgi/interpreter_ + + overpassTimeout ----------------- - Set a different timeout (in seconds) for queries in overpass The default value is _30_ + Set a different timeout (in seconds) for queries in overpass The default value is _30_ + + overpassMaxZoom ----------------- - point to switch between OSM-api and overpass The default value is _17_ + point to switch between OSM-api and overpass The default value is _17_ + + osmApiTileSize ---------------- - Tilesize when the OSM-API is used to fetch data within a BBOX The default value is _18_ + Tilesize when the OSM-API is used to fetch data within a BBOX The default value is _18_ + + background ------------ - The id of the background layer to start with The default value is _osm_ + The id of the background layer to start with The default value is _osm_ + + layer-<layer-id> ------------------------ diff --git a/Logic/ExtraFunctions.ts b/Logic/ExtraFunctions.ts index 55f948c57..ce571546a 100644 --- a/Logic/ExtraFunctions.ts +++ b/Logic/ExtraFunctions.ts @@ -45,7 +45,6 @@ class OverlapFunc implements ExtraFunction { return (...layerIds: string[]) => { const result: { feat: any, overlap: number }[] = [] - console.log("Calculating overlap") const bbox = BBox.get(feat) for (const layerId of layerIds) { diff --git a/Models/ThemeConfig/LayerConfig.ts b/Models/ThemeConfig/LayerConfig.ts index 091422bb6..b67f5f3a7 100644 --- a/Models/ThemeConfig/LayerConfig.ts +++ b/Models/ThemeConfig/LayerConfig.ts @@ -23,6 +23,10 @@ import List from "../../UI/Base/List"; import Link from "../../UI/Base/Link"; import {Utils} from "../../Utils"; import * as icons from "../../assets/tagRenderings/icons.json" +import {TagsFilter} from "../../Logic/Tags/TagsFilter"; +import Table from "../../UI/Base/Table"; +import Svg from "../../Svg"; +import Img from "../../UI/Base/Img"; export default class LayerConfig extends WithContextLoader { @@ -32,11 +36,11 @@ export default class LayerConfig extends WithContextLoader { public readonly source: SourceConfig; public readonly calculatedTags: [string, string, boolean][]; public readonly doNotDownload: boolean; - public readonly passAllFeatures: boolean; + public readonly passAllFeatures: boolean; public readonly isShown: TagRenderingConfig; public minzoom: number; public minzoomVisible: number; - public readonly maxzoom: number; + public readonly maxzoom: number; public readonly title?: TagRenderingConfig; public readonly titleIcons: TagRenderingConfig[]; @@ -75,10 +79,10 @@ export default class LayerConfig extends WithContextLoader { throw "Layer " + this.id + " does not define a osmTags in the source section - these should always be present, even for geojson layers (" + context + ")" } - if(json.id.toLowerCase() !== json.id){ + if (json.id.toLowerCase() !== json.id) { throw `${context}: The id of a layer should be lowercase: ${json.id}` } - if(json.id.match(/[a-z0-9-_]/) == null){ + if (json.id.match(/[a-z0-9-_]/) == null) { throw `${context}: The id of a layer should match [a-z0-9-_]*: ${json.id}` } @@ -138,7 +142,7 @@ export default class LayerConfig extends WithContextLoader { const index = kv.indexOf("="); let key = kv.substring(0, index); const isStrict = key.endsWith(':') - if(isStrict){ + if (isStrict) { key = key.substr(0, key.length - 1) } const code = kv.substring(index + 1); @@ -174,7 +178,7 @@ export default class LayerConfig extends WithContextLoader { preferredBackground: undefined } } - + let snapToLayers: string[]; if (typeof pr.preciseInput.snapToLayer === "string") { snapToLayers = [pr.preciseInput.snapToLayer] @@ -395,7 +399,7 @@ export default class LayerConfig extends WithContextLoader { const textToReplace = rewriteGroup.rewrite.sourceString const targets = rewriteGroup.rewrite.into for (const target of targets) { - const parsedRenderings = this.ParseTagRenderings(tagRenderings, { + const parsedRenderings = this.ParseTagRenderings(tagRenderings, { prepConfig: tr => prepConfig(textToReplace, target, tr) }) @@ -434,13 +438,13 @@ export default class LayerConfig extends WithContextLoader { if (addedByDefault) { extraProps.push("**This layer is included automatically in every theme. This layer might contain no points**") } - if(this.shownByDefault === false){ + if (this.shownByDefault === false) { extraProps.push('This layer is not visible by default and must be enabled in the filter by the user. ') } if (this.title === undefined) { extraProps.push("This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable.") } - if(this.title === undefined && this.shownByDefault === false){ + if (this.title === undefined && this.shownByDefault === false) { extraProps.push("This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-<id>=true") } if (this.name === undefined) { @@ -449,6 +453,10 @@ export default class LayerConfig extends WithContextLoader { if (this.mapRendering.length === 0) { extraProps.push("Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`") } + + if (this.source.geojsonSource !== undefined) { + extraProps.push("<img src='../warning.svg' height='1rem'/> This layer is loaded from an external source, namely `" + this.source.geojsonSource + "`") + } } else { extraProps.push("This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data.") } @@ -462,22 +470,70 @@ export default class LayerConfig extends WithContextLoader { } for (const dep of dependencies) { - extraProps.push(new Combine(["This layer will automatically load ", new Link(dep.neededLayer, "#"+dep.neededLayer)," into the layout as it depends on it: ", dep.reason, "("+dep.context+")"])) + extraProps.push(new Combine(["This layer will automatically load ", new Link(dep.neededLayer, "./" + dep.neededLayer + ".md"), " into the layout as it depends on it: ", dep.reason, "(" + dep.context + ")"])) } - - for(const revDep of layerIsNeededBy?.get(this.id) ?? []){ - extraProps.push(new Combine(["This layer is needed as dependency for layer",new Link(revDep, "#"+revDep)])) + + for (const revDep of layerIsNeededBy?.get(this.id) ?? []) { + extraProps.push(new Combine(["This layer is needed as dependency for layer", new Link(revDep, "#" + revDep)])) + } + + const icon = Array.from(this.mapRendering[0]?.icon?.ExtractImages(true) ?? [])[0] + let iconImg = "" + if (icon !== undefined) { + iconImg = `<img src='https://mapcomplete.osm.be/${icon}' height="100px"> ` + } + + let neededTags: TagsFilter[] = [this.source.osmTags] + if (this.source.osmTags["and"] !== undefined) { + neededTags = this.source.osmTags["and"] + } + + let tableRows = Utils.NoNull(this.tagRenderings.map(tr => tr.FreeformValues()) + .map(values => { + if (values == undefined) { + return undefined + } + const embedded: (Link | string)[] = values.values?.map(v => Link.OsmWiki(values.key, v, true)) ?? ["_no preset options defined, or no values in them_"] + return [ + new Combine([ + new Link( + "<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>", + "https://taginfo.openstreetmap.org/keys/"+values.key+"#values" + ),Link.OsmWiki(values.key) + ]), + values.type === undefined ? "Multiple choice" : new Link(values.type, "../SpecialInputElements.md#" + values.type), + new Combine(embedded) + ]; + })) + + let quickOverview: BaseUIElement = undefined; + if (tableRows.length > 0) { + quickOverview = new Combine([ + "**Warning** This quick overview is incomplete", + new Table(["attribute", "type", "values which are supported by this layer"], tableRows) + ]).SetClass("flex-col flex") } return new Combine([ - new Title(this.id, 3), - this.description, + new Combine([ + new Title(this.id, 1), + iconImg, + this.description, + "\n" + ]).SetClass("flex flex-col"), + new List(extraProps), + ...usingLayer, new Link("Go to the source code", `../assets/layers/${this.id}/${this.id}.json`), - new List(extraProps), - ...usingLayer - ]).SetClass("flex flex-col") + new Title("Basic tags for this layer", 2), + "Elements must have the all of following tags to be shown on this layer:", + new List(neededTags.map(t => t.asHumanString(true, false, {}))), + + new Title("Supported attributes", 2), + quickOverview, + ...this.tagRenderings.map(tr => tr.GenerateDocumentation()) + ]).SetClass("flex-col") } public CustomCodeSnippets(): string[] { @@ -486,10 +542,10 @@ export default class LayerConfig extends WithContextLoader { } return this.calculatedTags.map((code) => code[1]); } - - AllTagRenderings(): TagRenderingConfig[]{ - return Utils.NoNull([...this.tagRenderings, ...this.titleIcons, this.title, this.isShown]) -} + + AllTagRenderings(): TagRenderingConfig[] { + return Utils.NoNull([...this.tagRenderings, ...this.titleIcons, this.title, this.isShown]) + } public ExtractImages(): Set<string> { const parts: Set<string>[] = []; diff --git a/Models/ThemeConfig/TagRenderingConfig.ts b/Models/ThemeConfig/TagRenderingConfig.ts index c9674097f..f4c4b6bf5 100644 --- a/Models/ThemeConfig/TagRenderingConfig.ts +++ b/Models/ThemeConfig/TagRenderingConfig.ts @@ -7,6 +7,11 @@ import {And} from "../../Logic/Tags/And"; import ValidatedTextField from "../../UI/Input/ValidatedTextField"; import {Utils} from "../../Utils"; import {Tag} from "../../Logic/Tags/Tag"; +import BaseUIElement from "../../UI/BaseUIElement"; +import Combine from "../../UI/Base/Combine"; +import Title from "../../UI/Base/Title"; +import Link from "../../UI/Base/Link"; +import List from "../../UI/Base/List"; /*** * The parsed version of TagRenderingConfigJSON @@ -397,7 +402,7 @@ export default class TagRenderingConfig { EnumerateTranslations(): Translation[] { const translations: Translation[] = [] for (const key in this) { - if(!this.hasOwnProperty(key)){ + if (!this.hasOwnProperty(key)) { continue; } const o = this[key] @@ -420,5 +425,74 @@ export default class TagRenderingConfig { return usedIcons; } + FreeformValues(): { key: string, type?: string, values?: string [] } { + try { + const key = this.freeform?.key + if (key === undefined) { + + let values: { k: string, v: string }[][] = Utils.NoNull(this.mappings?.map(m => m.if.asChange({})) ?? []) + if (values.length === 0) { + return; + } + + const allKeys = values.map(arr => arr.map(o => o.k)) + let common = allKeys[0]; + for (const keyset of allKeys) { + common = common.filter(item => keyset.indexOf(item) >= 0) + } + const commonKey = common[0] + if (commonKey === undefined) { + return undefined; + } + return { + key: commonKey, + values: Utils.NoNull(values.map(arr => arr.filter(item => item.k === commonKey)[0]?.v)) + } + + } + + let values = Utils.NoNull(this.mappings?.map(m => m.if.asChange({}).filter(item => item.k === key)[0]?.v) ?? []) + if (values.length === undefined) { + values = undefined + } + return { + key, + type: this.freeform.type, + values + } + } catch (e) { + console.error("Could not create FreeformValues for tagrendering", this.id) + return undefined + } + } + + GenerateDocumentation(): BaseUIElement { + + let withRender: (BaseUIElement | string)[] = []; + if (this.freeform?.key !== undefined) { + withRender = [ + `This rendering asks information about the property `, + Link.OsmWiki(this.freeform.key), + `\nThis is rendered with \`${this.render.txt}\`` + + ] + } + + let mappings: BaseUIElement = undefined; + if (this.mappings !== undefined) { + mappings = new List( + this.mappings.map(m => + "**" + m.then.txt + "** corresponds with " + m.if.asHumanString(true, false, {}) + ) + ) + } + + return new Combine([ + new Title(this.id, 3), + this.question !== undefined ? "The question is **" + this.question.txt + "**" : "_This tagrendering has no question and is thus read-only_", + new Combine(withRender), + mappings + ]).SetClass("flex-col"); + } } \ No newline at end of file diff --git a/UI/Base/Combine.ts b/UI/Base/Combine.ts index 3c3cb0c7f..2e84ee81b 100644 --- a/UI/Base/Combine.ts +++ b/UI/Base/Combine.ts @@ -17,7 +17,11 @@ export default class Combine extends BaseUIElement { } AsMarkdown(): string { - return this.uiElements.map(el => el.AsMarkdown()).join(this.HasClass("flex-col") ? "\n\n" : " "); + let sep = " "; + if(this.HasClass("flex-col")){ + sep = "\n\n" + } + return this.uiElements.map(el => el.AsMarkdown()).join(sep); } Destroy() { diff --git a/UI/Base/Img.ts b/UI/Base/Img.ts index 7104dfeb2..ecaee76db 100644 --- a/UI/Base/Img.ts +++ b/UI/Base/Img.ts @@ -53,5 +53,17 @@ export default class Img extends BaseUIElement { } return el; } + + AsMarkdown(): string { + if(this._rawSvg === true){ + console.warn("Converting raw svgs to markdown is not supported"); + return undefined + } + let src = this._src + if(this._src.startsWith("./")){ + src = "https://mapcomplete.osm.be/"+src + } + return ""; + } } diff --git a/UI/Base/Link.ts b/UI/Base/Link.ts index cf5f41a9f..a4cdae117 100644 --- a/UI/Base/Link.ts +++ b/UI/Base/Link.ts @@ -13,6 +13,9 @@ export default class Link extends BaseUIElement { this._embeddedShow = Translations.W(embeddedShow); this._href = href; this._newTab = newTab; + if(this._embeddedShow === undefined){ + throw "Error: got a link where embeddedShow is undefined" + } } @@ -40,5 +43,16 @@ export default class Link extends BaseUIElement { el.appendChild(embeddedShow) return el; } + + public static OsmWiki(key: string, value?: string, hideKey = false){ + if(value !== undefined){ + let k = ""; + if(!hideKey){ + k = key+"=" + } + return new Link(k+value,`https://wiki.openstreetmap.org/wiki/Tag:${key}%3D${value}`) + } + return new Link(key, "https://wiki.openstreetmap.org/wiki/Key:" + key) + } } \ No newline at end of file diff --git a/UI/Base/VariableUIElement.ts b/UI/Base/VariableUIElement.ts index 6798a11f2..e5d76d5db 100644 --- a/UI/Base/VariableUIElement.ts +++ b/UI/Base/VariableUIElement.ts @@ -1,5 +1,6 @@ import {UIEventSource} from "../../Logic/UIEventSource"; import BaseUIElement from "../BaseUIElement"; +import Combine from "./Combine"; export class VariableUiElement extends BaseUIElement { private readonly _contents: UIEventSource<string | BaseUIElement | BaseUIElement[]>; @@ -46,4 +47,15 @@ export class VariableUiElement extends BaseUIElement { }); return el; } + + AsMarkdown(): string { + const d = this._contents.data; + if(typeof d === "string"){ + return d; + } + if(d instanceof BaseUIElement){ + return d.AsMarkdown() + } + return new Combine(<BaseUIElement[]>d).AsMarkdown() + } } diff --git a/assets/layers/bench/bench.json b/assets/layers/bench/bench.json index 0352bafcc..0d88a0f89 100644 --- a/assets/layers/bench/bench.json +++ b/assets/layers/bench/bench.json @@ -633,7 +633,7 @@ "mapRendering": [ { "icon": { - "render": "circle:#FE6F32;./assets/layers/bench/bench.svg" + "render": "./assets/layers/bench/bench.svg" }, "iconSize": { "render": "35,35,center" diff --git a/scripts/generateDocs.ts b/scripts/generateDocs.ts index c1b1ca500..9e6bee37d 100644 --- a/scripts/generateDocs.ts +++ b/scripts/generateDocs.ts @@ -1,24 +1,23 @@ -import SpecialVisualizations from "../UI/SpecialVisualizations"; -import SimpleMetaTagger from "../Logic/SimpleMetaTagger"; import Combine from "../UI/Base/Combine"; -import {ExtraFunctions} from "../Logic/ExtraFunctions"; -import ValidatedTextField from "../UI/Input/ValidatedTextField"; import BaseUIElement from "../UI/BaseUIElement"; import Translations from "../UI/i18n/Translations"; import {writeFileSync} from "fs"; -import {QueryParameters} from "../Logic/Web/QueryParameters"; -import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; -import Minimap from "../UI/Base/Minimap"; -import FeatureSwitchState from "../Logic/State/FeatureSwitchState"; import {AllKnownLayouts} from "../Customizations/AllKnownLayouts"; import TableOfContents from "../UI/Base/TableOfContents"; +import SimpleMetaTaggers, {SimpleMetaTagger} from "../Logic/SimpleMetaTagger"; +import ValidatedTextField from "../UI/Input/ValidatedTextField"; +import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; +import SpecialVisualizations from "../UI/SpecialVisualizations"; +import FeatureSwitchState from "../Logic/State/FeatureSwitchState"; +import {ExtraFunctions} from "../Logic/ExtraFunctions"; import Title from "../UI/Base/Title"; +import Minimap from "../UI/Base/Minimap"; +import {QueryParameters} from "../Logic/Web/QueryParameters"; import QueryParameterDocumentation from "../UI/QueryParameterDocumentation"; function WriteFile(filename, html: BaseUIElement, autogenSource: string[]): void { if (html instanceof Combine) { - const toc = new TableOfContents(html); const els = html.getElements(); html = new Combine( @@ -26,19 +25,32 @@ function WriteFile(filename, html: BaseUIElement, autogenSource: string[]): void toc, ...els ] - ) + ).SetClass("flex flex-col") } - writeFileSync(filename, new Combine([Translations.W(html), + let md = new Combine([Translations.W(html), "\n\nThis document is autogenerated from " + autogenSource.join(", ") - ]).AsMarkdown()); + ]).AsMarkdown() + + md.replace(/\n\n\n+/g, "\n\n"); + + writeFileSync(filename, md); } +console.log("Starting documentation generation...") +AllKnownLayouts.GenOverviewsForSingleLayer((layer, element) => { + console.log("Exporting ", layer.id) + WriteFile("./Docs/Layers/" + layer.id + ".md", element, [`assets/layers/${layer.id}/${layer.id}.json`]) + +}) WriteFile("./Docs/SpecialRenderings.md", SpecialVisualizations.HelpMessage(), ["UI/SpecialVisualisations.ts"]) -WriteFile("./Docs/CalculatedTags.md", new Combine([new Title("Metatags", 1), SimpleMetaTagger.HelpText(), ExtraFunctions.HelpText()]).SetClass("flex-col"), +WriteFile("./Docs/CalculatedTags.md", new Combine([new Title("Metatags", 1), + SimpleMetaTaggers.HelpText(), ExtraFunctions.HelpText()]).SetClass("flex-col"), ["SimpleMetaTagger", "ExtraFunction"]) WriteFile("./Docs/SpecialInputElements.md", ValidatedTextField.HelpText(), ["ValidatedTextField.ts"]); WriteFile("./Docs/BuiltinLayers.md", AllKnownLayouts.GenLayerOverviewText(), ["AllKnownLayers.ts"]) + + Minimap.createMiniMap = _ => { console.log("Not creating a minimap, it is disabled"); return undefined