diff --git a/img/blue_plaque.svg b/img/blue_plaque.svg new file mode 100644 index 0000000..ffc85b7 --- /dev/null +++ b/img/blue_plaque.svg @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="15" + height="15" + viewBox="0 0 15 15" + id="svg2" + version="1.1" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="blue_plaque.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="35.4" + inkscape:cx="7.5" + inkscape:cy="7.5" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1366" + inkscape:window-height="712" + inkscape:window-x="0" + inkscape:window-y="28" + inkscape:window-maximized="1" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ebene 1" + inkscape:groupmode="layer" + id="layer1"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4136" + width="10" + height="14" + x="2.5" + y="0.5" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4157" + width="10" + height="9" + x="2.5" + y="3" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4157-3" + width="5" + height="14" + x="5" + y="0.5" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:2.65248108px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.4973402;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + x="2.9953218" + y="6.4278626" + id="text4520" + transform="scale(0.99468037,1.0053481)"><tspan + sodipodi:role="line" + id="tspan4518" + x="2.9953218" + y="6.4278626" + style="stroke-width:0.4973402">Ab Cde</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:1.60000002px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="2.2923846" + y="9.1671877" + id="text4524"><tspan + sodipodi:role="line" + id="tspan4522" + x="2.2923846" + y="9.1671877">Lorem ipsum</tspan></text> + </g> +</svg> diff --git a/img/plaque.svg b/img/plaque.svg new file mode 100644 index 0000000..5aa441c --- /dev/null +++ b/img/plaque.svg @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="15" + height="15" + viewBox="0 0 15 15" + id="svg2" + version="1.1" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="plaque.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="35.4" + inkscape:cx="7.5" + inkscape:cy="7.5" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1366" + inkscape:window-height="712" + inkscape:window-x="0" + inkscape:window-y="28" + inkscape:window-maximized="1" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ebene 1" + inkscape:groupmode="layer" + id="layer1"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4136" + width="10" + height="14" + x="2.5" + y="0.5" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4157" + width="10" + height="9" + x="2.5" + y="3" /> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4157-3" + width="5" + height="14" + x="5" + y="0.5" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:2.65248108px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.4973402;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + x="2.9953218" + y="6.4278626" + id="text4520" + transform="scale(0.99468037,1.0053481)"><tspan + sodipodi:role="line" + id="tspan4518" + x="2.9953218" + y="6.4278626" + style="stroke-width:0.4973402">Ab Cde</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:1.60000002px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="2.2923846" + y="9.1671877" + id="text4524"><tspan + sodipodi:role="line" + id="tspan4522" + x="2.2923846" + y="9.1671877">Lorem ipsum</tspan></text> + </g> +</svg> diff --git a/memorial.json b/memorial.json index bd5b942..5c75c4b 100644 --- a/memorial.json +++ b/memorial.json @@ -25,14 +25,34 @@ }, "feature": { "pre": [ - "{% set value = tags.historic %}", - "{% if tags.historic == 'memorial' and tags.memorial %}", - " {% set value = tags.historic ~ ' memorial=' ~ tags.memorial %}", - "{% elseif tags.historic == 'memorial' and attribute(tags, 'memorial:type') %}", - " {% set value = tags.historic ~ ' memorial=' ~ attribute(tags, 'memorial:type') %}", + "{% set memtype = 'yes' %}", + "{% if tags.memorial %}", + " {% set memtype = tags.memorial %}", + "{% elseif attribute(tags, 'memorial:type') %}", + " {% set memtype = attribute(tags, 'memorial:type') %}", + "{% elseif attribute(tags, 'monument') %}", + " {% set memtype = attribute(tags, 'monument') %}", + "{% elseif attribute(tags, 'memorial_type') %}", + " {% set memtype = attribute(tags, 'memorial_type') %}", + "{% endif %}", + "", + "{% set memgroup = memtype %}", + "{% for value, data in const %}", + "{% if memtype in data.alias %}", + "{% set memgroup = value %}", + "{% endif %}", + "{% endfor %}" + ], + "description": [ + "{{ tagTrans('historic', tags.historic) }}", + "", + "{% if memtype != 'yes' %}", + " ({{ tagTrans('memorial', memtype) }})", "{% endif %}" ], - "description": "{{ tagTransList('historic', value) }}", + "priority": [ + "{% if tags.historic == 'monument' %}0[% else %}1{% endif %}" + ], "body": [ "<ul>", "{% if tags.inscription %}", @@ -73,7 +93,7 @@ "{% endif %}", "</ul>" ], - "markerSign": "{{ const[value].sign|raw }}" + "markerSign": "{{ const[memgroup].sign|raw }}" }, "info": [ "<table>", @@ -81,7 +101,7 @@ "{% if data.zoom <= map.zoom %}", " <tr>", " <td>{{ markerCircle({})|raw }}<div class='sign'>{{ data.sign|raw }}</div></td>", - " <td>{{ tagTrans('historic', value) }}</td>", + " <td>{{ tagTrans('memorial', value) }}{% for alias in data.alias %}, {{ tagTrans('memorial', alias) }}{% endfor %}</td>", " </tr>", "{% endif %}", "{% endfor %}", @@ -94,37 +114,76 @@ "</table>" ], "const": { - "memorial": { - "sign": "<span style='position: relative; top: -2px;'><img src='maki:monument?size=11'></span>", + "plaque": { + "alias": [ "plate" ], + "sign": "<img data-src='img/plaque.svg'>", + "zoom": 14 + }, + "blue_plaque": { + "sign": "<img data-src='img/blue_plaque.svg'>", "zoom": 14 }, - "memorial memorial=plaque": { + "statue": { + "sign": "<i class=\"fas fa-female\"></i>", + "zoom": 14 + }, + "war_memorial": { + "alias": [ "war_monument" ], + "sign": "<img data-src='maki:horse-riding'>", + "zoom": 14 + }, + "stolperstein": { + "sign": "", + "zoom": 14 + }, + "stone": { "sign": "", "zoom": 14 }, - "monument": { - "sign": "<img data-src='maki:monument?size=15'>", - "zoom": 11 + "bust": { + "alias": [ "person" ], + "sign": "<i class=\"fas fa-user-alt\"></i>", + "zoom": 14 + }, + "stele": { + "alias": [ "obelisk" ], + "sign": "", + "zoom": 14 + }, + "sculpture": { + "sign": "", + "zoom": 14 + }, + "ghost_bike": { + "sign": "<i style=\"color: white;\" class=\"fas fa-bicycle\"></i>", + "zoom": 14 + }, + "vehicle": { + "alias": [ "tank" ], + "sign": "<i class=\"fas fa-car\"></i>", + "zoom": 14 + }, + "cross": { + "sign": "<i class=\"fas fa-cross\"></i>", + "zoom": 14 + }, + "flood_mark": { + "alias": [ "high_water_mark" ], + "sign": "<i class=\"fas fa-water\"></i>", + "zoom": 14 + }, + "grave": { + "alias": [ "graveyard" ], + "sign": "", + "zoom": 14 } }, "filter": { "type": { "name": "{{ trans('filter:type') }}", + "show_default": "true", "type": "select", - "values": { - "monument": { - "name": "{{ tagTrans('historic', 'monument') }}", - "query": "nwr[historic=monument]" - }, - "memorial": { - "name": "{{ tagTrans('historic', 'memorial') }}", - "query": "nwr[historic=memorial]" - }, - "stolperstein": { - "name": "{{ tagTrans('historic', 'memorial memorial=stolperstein') }}", - "query": "(nwr[memorial=stolperstein];nwr[\"memorial:type\"=stolperstein];)" - } - } + "values": "{% for k, v in const %}<option value='{{ k }}' query='nwr[~\"^(memorial|memorial:type|memorial_type|monument)$\"~\"^({{ k }}{% for alias in v.alias %}|{{ alias }}{% endfor %})$\"]'>{{ tagTrans('memorial', k) }}{% for alias in v.alias %}, {{ tagTrans('memorial', alias) }}{% endfor %}</option>{% endfor %}" }, "conflict": { "key": "memorial:conflict",