Reorder script

This commit is contained in:
Pieter Vander Vennet 2023-10-30 18:08:49 +01:00
parent e13e9f652c
commit c274a01965
8 changed files with 628 additions and 570 deletions

View file

@ -10073,6 +10073,10 @@
"if": "value=hydrant",
"then": "hydrant - Map layer to show fire hydrants."
},
{
"if": "value=ice_cream",
"then": "ice_cream - A place where ice cream is sold over the counter"
},
{
"if": "value=icons",
"then": "icons - A layer acting as library for icon-tagrenderings, especially to show as badge next to a POI"
@ -10221,6 +10225,10 @@
"if": "value=recycling",
"then": "recycling - A layer with recycling containers and centres"
},
{
"if": "value=route_marker",
"then": "route_marker - Route markers are small markers often found along official hiking/cycling/riding/skiing routes to indicate the direction of the route."
},
{
"if": "value=school",
"then": "school - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles"

View file

@ -19,34 +19,6 @@
"type": "string",
"description": "The id is a unique string to identify the theme\nIt should be\n- in english\n- describe the theme in a single word (or a few words)\n- all lowercase and with only [a-z] or underscores (_)\nThis is used as hashtag in the changeset message, which will read something like \"Adding data with #mapcomplete for theme #<the theme id>\"\nOn official themes, it'll become the name of the page, e.g.\n'cyclestreets' which become 'cyclestreets.html'"
},
{
"path": [
"credits"
],
"required": false,
"hints": {},
"type": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"description": "Who helped to create this theme and should be attributed?"
},
{
"path": [
"mustHaveLanguage"
],
"required": false,
"hints": {},
"type": "array",
"description": "Only used in 'generateLayerOverview': if present, every translation will be checked to make sure it is fully translated.\nThis must be a list of two-letter, lowercase codes which identifies the language, e.g. \"en\", \"nl\", ..."
},
{
"path": [
"title"
@ -68,21 +40,12 @@
},
{
"path": [
"shortDescription"
"mustHaveLanguage"
],
"required": false,
"hints": {
"group": "hidden"
},
"type": [
{
"$ref": "#/definitions/Record<string,string>"
},
{
"type": "string"
}
],
"description": "A short description, showed as social description and in the 'more theme'-buttons.\nNote that if this one is not defined, the first sentence of 'description' is used"
"hints": {},
"type": "array",
"description": "Only used in 'generateLayerOverview': if present, every translation will be checked to make sure it is fully translated.\nThis must be a list of two-letter, lowercase codes which identifies the language, e.g. \"en\", \"nl\", ..."
},
{
"path": [
@ -103,6 +66,24 @@
],
"description": "The description, as shown in the welcome message and the more-screen"
},
{
"path": [
"shortDescription"
],
"required": false,
"hints": {
"group": "hidden"
},
"type": [
{
"$ref": "#/definitions/Record<string,string>"
},
{
"type": "string"
}
],
"description": "A short description, showed as social description and in the 'more theme'-buttons.\nNote that if this one is not defined, the first sentence of 'description' is used"
},
{
"path": [
"descriptionTail"
@ -148,6 +129,111 @@
"type": "string",
"description": "This is included as og:image-tag on official themes.\nSee https://www.h3xed.com/web-and-internet/how-to-use-og-image-meta-tag-facebook-reddit for more information"
},
{
"path": [
"extraLink"
],
"required": false,
"hints": {
"group": "advanced",
"question": "should an extra help button be shown in certain circumstances?",
"ifunset": "show a link to open MapComplete full screen if used in an iframe"
},
"type": "object",
"description": "Adds an additional button on the top-left of the application.\nThis can link to an arbitrary location.\nFor example {icon: \"./assets/svg/pop-out.svg\", href: 'https://mapcomplete.org/{theme}.html?lat={lat}&lon={lon}&z={zoom}, requirements: [\"iframe\",\"no-welcome-message]},"
},
{
"path": [
"extraLink",
"icon"
],
"required": false,
"hints": {
"typehint": "icon",
"question": "What icon should be shown in the link button?",
"ifunset": "do not show an icon"
},
"type": "string",
"description": ""
},
{
"path": [
"extraLink",
"text"
],
"required": false,
"hints": {
"question": "What text should be shown in the link icon?",
"ifunset": "do not show a text"
},
"type": [
{
"$ref": "#/definitions/Record<string,string>"
},
{
"type": "string"
}
],
"description": "Note that {lat},{lon},{zoom}, {language} and {theme} will be replaced"
},
{
"path": [
"extraLink",
"href"
],
"required": true,
"hints": {
"typehint": "url",
"question": "if clicked, what webpage should open?"
},
"type": "string",
"description": "Note that {lat},{lon},{zoom}, {language} and {theme} will be replaced"
},
{
"path": [
"extraLink",
"newTab"
],
"required": false,
"hints": {
"question": "Should the link open in a new tab?",
"iftrue": "Open in a new tab",
"iffalse": "do not open in a new tab",
"ifunset": "do not open in a new tab"
},
"type": "boolean",
"description": ""
},
{
"path": [
"extraLink",
"requirements"
],
"required": false,
"hints": {
"question": "When should the extra button be shown?",
"suggestions": [
{
"if": "value=iframe",
"then": "When shown in an iframe"
},
{
"if": "value=no-iframe",
"then": "When shown as stand-alone webpage"
},
{
"if": "value=welcome-message",
"then": "When the welcome messages are enabled"
},
{
"if": "value=iframe",
"then": "When the welcome messages are disabled"
}
]
},
"type": "array",
"description": ""
},
{
"path": [
"startZoom"
@ -190,44 +276,6 @@
"type": "number",
"description": "Default location and zoom to start.\nNote that this is barely used. Once the user has visited mapcomplete at least once, the previous location of the user will be used"
},
{
"path": [
"widenFactor"
],
"required": false,
"hints": {},
"type": "number",
"description": "When a query is run, the data within bounds of the visible map is loaded.\nHowever, users tend to pan and zoom a lot. It is pretty annoying if every single pan means a reloading of the data.\nFor this, the bounds are widened in order to make a small pan still within bounds of the loaded data.\nIF widenfactor is 1, this feature is disabled. A recommended value is between 1 and 3"
},
{
"path": [
"overpassMaxZoom"
],
"required": false,
"hints": {},
"type": "number",
"description": "At low zoom levels, overpass is used to query features.\nAt high zoom level, the OSM api is used to fetch one or more BBOX aligning with a slippy tile.\nThe overpassMaxZoom controls the flipoverpoint: if the zoom is this or lower, overpass is used."
},
{
"path": [
"osmApiTileSize"
],
"required": false,
"hints": {
"default": "overpassMaxZoom + 1"
},
"type": "number",
"description": "When the OSM-api is used to fetch features, it does so in a tiled fashion.\nThese tiles are using a ceratin zoom level, that can be controlled here"
},
{
"path": [
"overrideAll"
],
"required": false,
"hints": {},
"type": "object",
"description": "An override applied on all layers of the theme.\nE.g.: if there are two layers defined:\n```\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ...}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ...}}\n]\n```\nand overrideAll is specified:\n```\n\"overrideAll\": {\n \"osmSource\":{\"geoJsonSource\":\"xyz\"}\n}\nthen the result will be that all the layers will have these properties applied and result in:\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ..., \"geoJsonSource\":\"xyz\"}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ..., \"geoJsonSource\":\"xyz\"}}\n]\n```\nIf the overrideAll contains a list where the keys starts with a plus, the values will be appended (instead of discarding the old list), for example\n\"overrideAll\": {\n \"+tagRenderings\": [ { ... some tagrendering ... }]\n}\nIn the above scenario, `sometagrendering` will be added at the beginning of the tagrenderings of every layer"
},
{
"path": [
"defaultBackgroundId"
@ -239,29 +287,31 @@
},
{
"path": [
"tileLayerSources"
"credits"
],
"required": false,
"hints": {},
"type": "array",
"description": "Define some (overlay) slippy map tilesources"
},
{
"path": [
"tileLayerSources",
"name"
],
"required": true,
"hints": {},
"type": [
{
"$ref": "#/definitions/Record<string,string>"
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"description": "The name of the imagery source"
"description": "Who helped to create this theme and should be attributed?"
},
{
"path": [
"hideFromOverview"
],
"required": false,
"hints": {},
"type": "boolean",
"description": "If set to true, this layout will not be shown in the overview with more themes"
},
{
"path": [
@ -530,6 +580,10 @@
"if": "value=hydrant",
"then": "hydrant - Map layer to show fire hydrants."
},
{
"if": "value=ice_cream",
"then": "ice_cream - A place where ice cream is sold over the counter"
},
{
"if": "value=icons",
"then": "icons - A layer acting as library for icon-tagrenderings, especially to show as badge next to a POI"
@ -678,6 +732,10 @@
"if": "value=recycling",
"then": "recycling - A layer with recycling containers and centres"
},
{
"if": "value=route_marker",
"then": "route_marker - Route markers are small markers often found along official hiking/cycling/riding/skiing routes to indicate the direction of the route."
},
{
"if": "value=school",
"then": "school - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles"
@ -12109,6 +12167,10 @@
"if": "value=hydrant",
"then": "hydrant - Map layer to show fire hydrants."
},
{
"if": "value=ice_cream",
"then": "ice_cream - A place where ice cream is sold over the counter"
},
{
"if": "value=icons",
"then": "icons - A layer acting as library for icon-tagrenderings, especially to show as badge next to a POI"
@ -12257,6 +12319,10 @@
"if": "value=recycling",
"then": "recycling - A layer with recycling containers and centres"
},
{
"if": "value=route_marker",
"then": "route_marker - Route markers are small markers often found along official hiking/cycling/riding/skiing routes to indicate the direction of the route."
},
{
"if": "value=school",
"then": "school - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles"
@ -28998,6 +29064,10 @@
"if": "value=hydrant",
"then": "hydrant - Map layer to show fire hydrants."
},
{
"if": "value=ice_cream",
"then": "ice_cream - A place where ice cream is sold over the counter"
},
{
"if": "value=icons",
"then": "icons - A layer acting as library for icon-tagrenderings, especially to show as badge next to a POI"
@ -29146,6 +29216,10 @@
"if": "value=recycling",
"then": "recycling - A layer with recycling containers and centres"
},
{
"if": "value=route_marker",
"then": "route_marker - Route markers are small markers often found along official hiking/cycling/riding/skiing routes to indicate the direction of the route."
},
{
"if": "value=school",
"then": "school - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles"
@ -35394,6 +35468,41 @@
"type": "array",
"description": "TagRenderings with any of these labels will be removed from the layer.\nNote that the 'id' and 'group' are considered labels too"
},
{
"path": [
"overrideAll"
],
"required": false,
"hints": {},
"type": "object",
"description": "An override applied on all layers of the theme.\nE.g.: if there are two layers defined:\n```\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ...}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ...}}\n]\n```\nand overrideAll is specified:\n```\n\"overrideAll\": {\n \"osmSource\":{\"geoJsonSource\":\"xyz\"}\n}\nthen the result will be that all the layers will have these properties applied and result in:\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ..., \"geoJsonSource\":\"xyz\"}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ..., \"geoJsonSource\":\"xyz\"}}\n]\n```\nIf the overrideAll contains a list where the keys starts with a plus, the values will be appended (instead of discarding the old list), for example\n\"overrideAll\": {\n \"+tagRenderings\": [ { ... some tagrendering ... }]\n}\nIn the above scenario, `sometagrendering` will be added at the beginning of the tagrenderings of every layer"
},
{
"path": [
"tileLayerSources"
],
"required": false,
"hints": {},
"type": "array",
"description": "Define some (overlay) slippy map tilesources"
},
{
"path": [
"tileLayerSources",
"name"
],
"required": true,
"hints": {},
"type": [
{
"$ref": "#/definitions/Record<string,string>"
},
{
"type": "string"
}
],
"description": "The name of the imagery source"
},
{
"path": [
"customCss"
@ -35405,15 +35514,6 @@
"type": "string",
"description": "The URL of a custom CSS stylesheet to modify the layout"
},
{
"path": [
"hideFromOverview"
],
"required": false,
"hints": {},
"type": "boolean",
"description": "If set to true, this layout will not be shown in the overview with more themes"
},
{
"path": [
"lockLocation"
@ -35466,111 +35566,6 @@
],
"description": "If set to true, the basemap will not scroll outside of the area visible on initial zoom.\nIf set to [[lon, lat], [lon, lat]], the map will not scroll outside of those bounds.\nOff by default, which will enable panning to the entire world"
},
{
"path": [
"extraLink"
],
"required": false,
"hints": {
"group": "advanced",
"question": "should an extra help button be shown in certain circumstances?",
"ifunset": "show a link to open MapComplete full screen if used in an iframe"
},
"type": "object",
"description": "Adds an additional button on the top-left of the application.\nThis can link to an arbitrary location.\nFor example {icon: \"./assets/svg/pop-out.svg\", href: 'https://mapcomplete.org/{theme}.html?lat={lat}&lon={lon}&z={zoom}, requirements: [\"iframe\",\"no-welcome-message]},"
},
{
"path": [
"extraLink",
"icon"
],
"required": false,
"hints": {
"typehint": "icon",
"question": "What icon should be shown in the link button?",
"ifunset": "do not show an icon"
},
"type": "string",
"description": ""
},
{
"path": [
"extraLink",
"text"
],
"required": false,
"hints": {
"question": "What text should be shown in the link icon?",
"ifunset": "do not show a text"
},
"type": [
{
"$ref": "#/definitions/Record<string,string>"
},
{
"type": "string"
}
],
"description": "Note that {lat},{lon},{zoom}, {language} and {theme} will be replaced"
},
{
"path": [
"extraLink",
"href"
],
"required": true,
"hints": {
"typehint": "url",
"question": "if clicked, what webpage should open?"
},
"type": "string",
"description": "Note that {lat},{lon},{zoom}, {language} and {theme} will be replaced"
},
{
"path": [
"extraLink",
"newTab"
],
"required": false,
"hints": {
"question": "Should the link open in a new tab?",
"iftrue": "Open in a new tab",
"iffalse": "do not open in a new tab",
"ifunset": "do not open in a new tab"
},
"type": "boolean",
"description": ""
},
{
"path": [
"extraLink",
"requirements"
],
"required": false,
"hints": {
"question": "When should the extra button be shown?",
"suggestions": [
{
"if": "value=iframe",
"then": "When shown in an iframe"
},
{
"if": "value=no-iframe",
"then": "When shown as stand-alone webpage"
},
{
"if": "value=welcome-message",
"then": "When the welcome messages are enabled"
},
{
"if": "value=iframe",
"then": "When the welcome messages are disabled"
}
]
},
"type": "array",
"description": ""
},
{
"path": [
"enableUserBadge"
@ -35778,6 +35773,35 @@
"type": "number",
"description": "If a query takes too long, the overpass-server will abort.\nOnce can set the amount of time before overpass gives up here."
},
{
"path": [
"widenFactor"
],
"required": false,
"hints": {},
"type": "number",
"description": "When a query is run, the data within bounds of the visible map is loaded.\nHowever, users tend to pan and zoom a lot. It is pretty annoying if every single pan means a reloading of the data.\nFor this, the bounds are widened in order to make a small pan still within bounds of the loaded data.\nIF widenfactor is 1, this feature is disabled. A recommended value is between 1 and 3"
},
{
"path": [
"overpassMaxZoom"
],
"required": false,
"hints": {},
"type": "number",
"description": "At low zoom levels, overpass is used to query features.\nAt high zoom level, the OSM api is used to fetch one or more BBOX aligning with a slippy tile.\nThe overpassMaxZoom controls the flipoverpoint: if the zoom is this or lower, overpass is used."
},
{
"path": [
"osmApiTileSize"
],
"required": false,
"hints": {
"default": "overpassMaxZoom + 1"
},
"type": "number",
"description": "When the OSM-api is used to fetch features, it does so in a tiled fashion.\nThese tiles are using a ceratin zoom level, that can be controlled here"
},
{
"path": [
"enableNodeDatabase"