Wrote a script to autofix issues with themes, applied this on the hailhydrant theme

This commit is contained in:
pietervdvn 2021-04-11 14:11:02 +02:00
parent dec565fc12
commit 1c902ca9c5
14 changed files with 910 additions and 53 deletions

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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"
xml:space="preserve"
style="overflow:visible;enable-background:new 0 0 999.9995117 1000;"
viewBox="0 0 999.9995117 1000"
height="1000"
width="999.9995117"
id="Layer_1"
version="1.1"><metadata
id="metadata2412"><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><defs
id="defs2410" />
<path
id="path2401"
d="M10.8823242,473.7929688 c-14.5214844,14.5185547-14.5214844,37.9072266,0.0688477,52.4277344l462.8369141,462.9238281 c14.4873047,14.4853516,37.9770508,14.4501953,52.3920898,0.0351563l462.9082031-462.9941406 c14.5205078-14.4501953,14.5527344-37.8740234,0.0703125-52.3574219L526.1801758,10.8339844 c-14.4501953-14.4511719-37.9047852-14.4511719-52.3920898,0.0341797L10.8823242,473.7929688z"
style="fill-rule:evenodd;clip-rule:evenodd;fill:#fed55a;fill-opacity:1" />
<path
id="path2403"
d="M17.7241211,480.7016602L480.6660156,17.7460938 c10.6782227-10.6826172,27.9223633-10.6826172,38.6381836-0.0361328l462.9765625,462.9916992 c10.6123047,10.6831055,10.6123047,27.925293-0.0351563,38.6430664L519.3041992,982.3017578 c-10.6455078,10.6474609-27.9599609,10.6474609-38.6381836-0.0351563L17.7929688,519.3798828 C7.0410156,508.6269531,7.0776367,491.3496094,17.7241211,480.7016602 M28.019043,491 c-4.9897461,4.9912109-4.9897461,13.0224609,0,18.0107422l462.9428711,462.9599609 c4.9912109,4.9912109,13.090332,4.9912109,18.0444336,0.0351563l462.9775391-462.9951172 c4.9912109-4.9882813,4.9208984-13.0195313,0-18.0107422L509.0063477,28.0083008 c-4.9912109-4.921875-13.0532227-5.0273438-18.0444336,0.0327148L28.019043,491"
style="fill-rule:evenodd;clip-rule:evenodd;" />
<path
id="path2405"
d="M677.3510742,418.4443359l-47.8935547,3.6821289 l31.3828125-24.9536133c3.0703125-2.4628906,2.3203125-7.3071289-1.25-8.8862305l-43.4765625-19.2382813l45.9238281-4.7094727 c3.9316406-0.3847656,5.8681641-4.7578125,3.9267578-8.1381836l-19.0097656-33.1225586l29.1679688,24.2412109 c2.9912109,2.4931641,7.6660156,1.1391602,8.6337891-2.7089844l14.5859375-56.3037109l14.7880859,56.2944336 c0.9726563,3.737793,5.4550781,5.1806641,8.3896484,2.6889648l28.8916016-24.1811523l-18.7548828,33.1010742 c-1.8798828,3.3779297,0.0048828,7.753418,3.9365234,8.1425781l45.6826172,4.6206055l-43.2050781,19.3276367 c-3.5986328,1.605957-3.9824219,6.4208984-0.9628906,8.8320313l31.3515625,24.9912109l-48.0898438-3.7109375 c-0.0263672-0.2475586-0.0263672-0.4150391-0.0283203-0.581543c0.0214844-12.1538086-9.8388672-22.0151367-21.9658203-22.0219727 c-12.125-0.0073242-22.0039063,9.8706055-21.9990234,21.9985352 C677.3764648,418.0283203,677.3793945,418.1948242,677.3510742,418.4443359"
style="fill-rule:evenodd;clip-rule:evenodd;fill:#ef0c23;fill-opacity:1" />
<path
id="path2407"
d="M683.0004883,420.0986328 c-0.0869141-0.7607422-0.1503906-1.5004883-0.1289063-2.2836914c-0.0185547-9.0639648,7.4013672-16.4833984,16.4853516-16.4873047 c9.0859375-0.0019531,16.4609375,7.4140625,16.4560547,16.4990234c0,0.762207-0.0419922,1.5229492-0.1054688,2.262207h2.6210938 l-0.0019531,5.3242188l1.6904297-0.0024414l67.7421875-0.0166016l0.0185547,5.8959961l-12.8046875,0.0024414l0.0029297,63.4985352 l16.4970703,30.3154297l0.0019531,72.3310547l-33.6826172,0.0087891 c-1.2304688,24.640625-21.6474609,44.2128906-46.5810547,44.2207031 c-24.3427734,0.0039063-44.4521484-18.7548828-46.4091797-42.6103516l-275.5546875-0.0322266 c-2.078125,23.7919922-22.0913086,42.4570313-46.4331055,42.4638672 c-24.1308594,0.0048828-44.0302734-18.3720703-46.3500977-41.9111328l-118.15625-0.0117188l24.4345703-115.3989258 l25.546875,0.0141602l0.0244141-10.6713867l-39.9150391-0.0117188l-0.0185547-11.1352539l11.7075195-0.0024414l-0.019043-12.1923828 l0.0024414-12.0029297l-11.684082-0.0161133l0.0024414-11.1577148l345.1772461-0.0083008l-0.0654297,10.6713867 l-6.9111328-0.0200195l-0.0019531,12.5522461l0.0585938,12.6992188l6.9101563,0.0195313l-0.0039063,10.609375l-34.3134766-0.0351563 l0.0185547,10.125l42.2578125,0.027832l-0.0253906-57.1791992l26.0732422-0.0068359l0.0068359,138.574707l51.3017578-0.0136719 l0.0195313-139.6103516l61.421875,0.0048828l0.0019531-5.3251953L683.0004883,420.0986328 M238.0239258,484.2133789h252.6640625 l-0.0332031-10.6523438l-252.6308594-0.0327148V484.2133789 M729.4311523,513.1630859 c14.7695313-0.0351563,27.8994141-0.0351563,38.828125,8.5185547l0.0351563-72.8061523l-38.8632813-0.0327148V513.1630859 M643.8979492,513.4277344h35.0566406v-64.1103516h-35.0566406V513.4277344z M686.6713867,513.1669922h34.8505859 l0.0322266-63.8681641l-34.8828125,0.0351563V513.1669922 M306.7055664,462.34375l0.0361328-12.1879883v-12.012207 l-17.8432617,0.0351563V462.34375H306.7055664 M516.2055664,462.3789063l0.0322266-12.1879883v-12.012207l-17.8417969,0.0341797 v24.1660156H516.2055664 M463.8481445,462.34375l0.0327148-12.1879883v-12.012207l-17.8398438,0.0351563V462.34375H463.8481445 M359.0976563,462.34375l-0.0341797-12.1879883v-12.012207l-17.7739258,0.0351563V462.34375H359.0976563 M411.3857422,462.3764648 l0.0336914-12.1855469v-12.012207l-17.8432617,0.0341797v24.1635742H411.3857422 M385.1357422,462.34375v-12.222168 l0.0361328-11.9780273l-17.5644531,0.0351563V462.34375H385.1357422 M228.0302734,462.34375l-0.0341797-12.1879883v-12.012207 l-17.5644531,0.0351563V462.34375H228.0302734 M437.527832,462.34375v-12.222168l0.0361328-11.9780273l-17.5629883,0.0351563 l-0.0024414,24.1650391H437.527832 M280.3886719,462.3764648l-0.0366211-12.1855469v-12.012207l-17.5620117,0.0341797v24.1635742 H280.3886719 M332.7446289,462.3764648v-12.2207031l0.0351563-11.9770508l-17.5644531,0.0341797v24.1660156L332.7446289,462.3764648 M489.9750977,462.3950195L489.9375,450.2084961v-12.012207l-17.5629883,0.0351563v24.1635742H489.9750977 M254.3496094,462.3764648 l-0.0366211-12.1855469v-12.012207l-17.5620117,0.0341797v24.1635742H254.3496094"
style="fill-rule:evenodd;clip-rule:evenodd;" />
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path d="m9.3 52.5v4.2c0 2.4 10.2 4.3 22.7 4.3s22.7-1.9 22.7-4.2v-4.2l-45.4-.1" fill="#3e4347"/><path d="m12.8 52.5v4.2c0 2.3 8.6 4.2 19.2 4.2s19.2-1.9 19.2-4.2v-4.2h-38.4" fill="#62696d"/><path fill="#c94747" d="m54.7 52.5h-45.4l5-25.1h35.4z"/><ellipse cx="32" cy="52.5" rx="22.7" ry="4.2" fill="#b23838"/><path d="m51.2 52.2l-4.2-24.8h-30l-4.2 24.9c0 .1 0 .2 0 .3 0 2.3 8.6 4.2 19.2 4.2s19.2-1.9 19.2-4.2c0-.2 0-.3 0-.4" opacity=".3" fill="#ffc7ce"/><ellipse cx="32" cy="27.4" rx="17.7" ry="4.2" fill="#ed4c5c"/><g opacity=".5"><path d="m17.2 27.8c0-.7.6-1.2 1.2-1.5.6-.4 1.2-.6 1.8-.9 1.3-.4 2.6-.7 3.9-1 2.6-.5 5.3-.6 7.9-.7 2.6 0 5.3.2 7.9.7 1.3.2 2.6.5 3.9 1 .6.2 1.2.5 1.8.9.5.3 1.2.8 1.2 1.5-.1-.7-.8-1-1.3-1.3-.6-.3-1.2-.5-1.8-.6-1.3-.3-2.5-.5-3.8-.7-2.6-.3-5.2-.4-7.8-.4-2.6 0-5.2.1-7.8.4-1.3.1-2.6.4-3.8.7-.6.2-1.3.3-1.8.6-.7.3-1.4.7-1.5 1.3" fill="#c94747"/></g><ellipse cx="32" cy="40.2" rx="13.5" ry="13.4" opacity=".3" fill="#ffc7ce"/><path fill="#ffe6ea" d="m44.7 40.2l-7.8-2 4.3-7.2-7.2 4.4-2-7.9-2 7.9-7.2-4.4 4.3 7.2-7.8 2 7.8 2-4.3 7.2 7.2-4.3 2 7.8 2-7.8 7.2 4.3-4.3-7.2z"/><g fill="#f15744"><path d="m56.9 8l-7.9 11.9 12.8-7z"/><path d="m7.1 8l7.9 11.9-12.8-7z"/><path d="m0 23.1l12 4-12 1.7z"/><path d="m64 23.1l-12 4 12 1.7z"/><path d="M17.2 4 25.3 18.2 23.7 3z"/><path d="M46.8 4 38.7 18.2 40.3 3z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,526 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.0"
width="48"
height="48"
id="svg2"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Hydrant.svg">
<metadata
id="metadata153">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1600"
inkscape:window-height="845"
id="namedview151"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="25.613907"
inkscape:cy="26.000953"
inkscape:window-x="-2"
inkscape:window-y="-3"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4">
<linearGradient
id="lg1">
<stop
id="stop5"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop7"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
id="lg2">
<stop
style="stop-color:#eeeeec;stop-opacity:1"
offset="0"
id="stop8" />
<stop
style="stop-color:#eeeeec;stop-opacity:0"
offset="1"
id="stop10" />
</linearGradient>
<linearGradient
id="lg3">
<stop
style="stop-color:#000000;stop-opacity:1"
offset="0"
id="stop13" />
<stop
style="stop-color:#000000;stop-opacity:0"
offset="1"
id="stop15" />
</linearGradient>
<linearGradient
id="lg4">
<stop
style="stop-color:#cc0000;stop-opacity:1"
offset="0"
id="stop18" />
<stop
style="stop-color:#ff9494;stop-opacity:1"
offset="1"
id="stop20" />
</linearGradient>
<linearGradient
id="lg5">
<stop
style="stop-color:#a40000;stop-opacity:1"
offset="0"
id="stop23" />
<stop
style="stop-color:#ff6767;stop-opacity:1"
offset="0.62"
id="stop25" />
<stop
style="stop-color:#cc0000;stop-opacity:1"
offset="1"
id="stop27" />
</linearGradient>
<linearGradient
id="lg6">
<stop
style="stop-color:#ff7171;stop-opacity:1"
offset="0"
id="stop30" />
<stop
style="stop-color:#cc0000;stop-opacity:1"
offset="1"
id="stop32" />
</linearGradient>
<linearGradient
id="lg7">
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop35" />
<stop
style="stop-color:#ffffff;stop-opacity:0"
offset="1"
id="stop37" />
</linearGradient>
<linearGradient
id="lg8">
<stop
style="stop-color:#f24e4e;stop-opacity:1"
offset="0"
id="stop40" />
<stop
style="stop-color:#c10000;stop-opacity:1"
offset="1"
id="stop42" />
</linearGradient>
<linearGradient
x1="0.016"
y1="24.5"
x2="15.5"
y2="27.78"
id="lg9"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.5,0,0,0.833,26.75,2.75)" />
<linearGradient
x1="30"
y1="7.9"
x2="30"
y2="10.433"
id="lg10"
xlink:href="#lg8"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.333,0,0,2.088,-6.5,9)" />
<linearGradient
x1="6.5"
y1="30.3"
x2="15.5"
y2="31"
id="lg11"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.5,0,0,0.833,6.748,2.75)" />
<linearGradient
x1="30"
y1="7.9"
x2="30"
y2="10.433"
id="lg12"
xlink:href="#lg8"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.333,0,0,2.088,-26.5,9)" />
<linearGradient
x1="-6.6"
y1="-26.95"
x2="4.3"
y2="-16"
id="lg13"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.25,0,0,1.25,22.25,53.5)" />
<linearGradient
x1="-1.277"
y1="-24.137"
x2="1"
y2="-15.62"
id="lg14"
xlink:href="#lg6"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.2,0,0,1.2,22.3,52.5)" />
<linearGradient
x1="22"
y1="25"
x2="17"
y2="25"
id="lg15"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.277,0,0,1,3.22,-2.3)" />
<linearGradient
x1="22"
y1="29"
x2="18"
y2="29"
id="lg16"
xlink:href="#lg2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.5,0,0,1.14,-1,-3.7)" />
<linearGradient
x1="22"
y1="25"
x2="17"
y2="25"
id="lg17"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.277,0,0,1.135,-0.77,-2.87)" />
<linearGradient
x1="22"
y1="29"
x2="18"
y2="29"
id="lg18"
xlink:href="#lg2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.5,0,0,1.14,-5,-4.3)" />
<linearGradient
x1="22"
y1="25"
x2="17"
y2="25"
id="lg19"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.277,0,0,1,-4.77,-2.3)" />
<linearGradient
x1="22"
y1="29"
x2="18"
y2="29"
id="lg20"
xlink:href="#lg2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.5,0,0,1.14,-9,-3.79)" />
<linearGradient
x1="18.25"
y1="16.375"
x2="46.33"
y2="16.375"
id="lg21"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.19,0,0,0.122,18.8,4.4)" />
<linearGradient
x1="43.3"
y1="11.686"
x2="5.25"
y2="11.686"
id="lg22"
xlink:href="#lg5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.194,0,0,0.213,18.8,3)" />
<linearGradient
x1="19.5"
y1="22.64"
x2="36.06"
y2="22.64"
id="lg3927"
xlink:href="#lg6"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.534,0,0,0.355,11.5,3)" />
<linearGradient
x1="16"
y1="9.5"
x2="32"
y2="9.5"
id="lg3929"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.928,0,0,0.906,1.24,1.4)" />
<linearGradient
x1="19.5"
y1="22.64"
x2="36.06"
y2="22.64"
id="lg3932"
xlink:href="#lg6"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.54,0,0,0.359,11.4,3)" />
<radialGradient
cx="18"
cy="27.858"
r="15.45"
fx="17.592"
fy="24.538"
id="radialGradient3935"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.123,-0.149,-0.007,0.24,0.806,13.95)" />
<linearGradient
x1="18.25"
y1="16.375"
x2="46.33"
y2="16.375"
id="lg3938"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.62,0,0,0.843,8.6,3.18)" />
<linearGradient
x1="29.731"
y1="17"
x2="21"
y2="1.828"
id="lg3941"
xlink:href="#lg4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.613,0,0,0.75,8.8,4.13)" />
<linearGradient
x1="43.3"
y1="11.686"
x2="5.25"
y2="11.686"
id="lg3944"
xlink:href="#lg5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65,0,0,0.867,8,2.86)" />
<radialGradient
cx="24"
cy="18.4675"
r="14"
fx="24"
fy="18.4675"
id="radialGradient3947"
xlink:href="#lg3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7,0,0,0.214,7.214,16)" />
<linearGradient
x1="5.66"
y1="19.392"
x2="40.25"
y2="38.896"
id="lg3950"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.5,0,0,0.75,11.068,5)" />
<linearGradient
x1="45.63"
y1="17.86"
x2="6.123"
y2="17.86"
id="lg3953"
xlink:href="#lg5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.5,0,0,0.75,10.25,5)" />
<radialGradient
cx="18"
cy="27.858"
r="15.45"
fx="17.592"
fy="24.538"
id="radialGradient3956"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.123,-0.149,-0.007,0.24,0.806,36.95)" />
<linearGradient
x1="18.25"
y1="16.375"
x2="46.3278"
y2="16.375"
id="lg3959"
xlink:href="#lg7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.62,0,0,0.843,8.62,26)" />
<linearGradient
x1="29.731"
y1="17"
x2="21"
y2="1.828"
id="lg3962"
xlink:href="#lg4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.613,0,0,0.75,8.8,27.13)" />
<linearGradient
x1="43.3"
y1="11.686"
x2="5.25"
y2="11.686"
id="lg3965"
xlink:href="#lg5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65,0,0,0.867,8,26)" />
<radialGradient
cx="24"
cy="18.4675"
r="14"
fx="24"
fy="18.4675"
id="radialGradient3968"
xlink:href="#lg3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7,0,0,0.214,7.214,39)" />
<radialGradient
cx="23.97"
cy="12.22"
r="15"
fx="23.97"
fy="12.22"
id="radialGradient3971"
xlink:href="#lg3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.75,0,0,0.348,5.83,37.25)" />
<linearGradient
x1="22.14"
y1="6.3"
x2="27.6"
y2="6.3"
id="lg3261"
xlink:href="#lg1"
gradientUnits="userSpaceOnUse" />
</defs>
<path
d="M 36,41.5 C 36,44.538 30.627,47 24,47 C 17.3726,47 12,44.537 12,41.5 C 12,38.462 17.3726,36 24,36 C 30.627,36 36,38.462 36,41.5 z"
style="opacity:0.9;fill:url(#radialGradient3971)"
id="path75" />
<path
d="M 22.949,40 C 19.09,40.055 15.77,40.67 14,41.559 L 14,44.442 C 15.85,45.37 19.409,46 23.5,46 C 27.6,46 31.149,45.37 33,44.4426 L 33,41.559 C 31.149,40.634 27.6,40 23.5,40 C 23.3127,40 23.134,40 22.949,40 z"
style="opacity:0.56;fill:url(#radialGradient3968)"
id="path77" />
<path
d="M 22.481,31.5 C 17.44,31.774 13.5,34 13.5,36.689 L 13.5,39.3 C 13.5,42.163 18,44.5 23.5,44.5 C 29,44.5 33.5,42.163 33.5,39.3 L 33.5,36.68 C 33.5,33.818 29,31.5 23.5,31.5 C 23.145,31.5 22.817,31.49 22.481,31.5 z"
style="fill:url(#lg3965);stroke:#a40000"
id="path79" />
<path
d="M 33,36.66 C 33,39.144 28.745,41 23.5,41 C 18.26,41 13.804,38.976 14,36.5 C 14.1,35.357 15.196,34.194 16.93,33.337 C 18.624,32.5 20.92,31.954 23.5,32 C 26.081,32.05 28.405,32.5125 30.109,33.389 C 31.928,34.324 33,35.578 33,36.66 z"
style="fill:url(#lg3962)"
id="path81" />
<path
d="M 22.581,32.5 C 18.04,32.73 14.36,34.664 14.5,36.89 L 14.5,39.094 C 14.3426,41.409 18.523,43.5 23.489,43.5 C 28.454,43.5 32.728,41.397 32.5,39.093 L 32.5,36.89 C 32.643,34.568 28.455,32.508 23.489,32.5 C 23.178,32.5 22.883,32.5 22.581,32.5 z"
style="opacity:0.56;fill:none;stroke:url(#lg3959)"
id="path83" />
<path
d="M 32.44,36 C 33.072,38.567 28.65,40.555 23.514,40.5 C 18.408,40.4426 13.8,38.350 14.59,36 C 15.375,33.66 18.587,31.5 23.514,31.5 C 28.441,31.5 32.44,33.516 32.44,36 z"
style="fill:none;stroke:url(#radialGradient3956)"
id="path85" />
<path
d="M 22.672,10.5 C 18.94,10.68 15.5,12.2 15.5,14.287 C 15.5,16 15.5,32.983 15.5,34.717 C 15.5,36.81 19.05,38.5 23.4828,38.5 C 27.912,38.5 31.5,36.809 31.5,34.717 C 31.5,33.036 31.5,15.967 31.5,14.287 C 31.5,12.2 27.912,10.5 23.4828,10.5 C 23.275,10.5 23.066,10.5 22.862,10.5 C 22.797,10.5 22.737,10.5 22.672,10.5 z"
style="fill:url(#lg3953);stroke:#a40000"
id="path87" />
<path
d="M 22.951,11.5 C 19.54,11.62 16.819,12.946 16.517,14.486 C 16.5,14.5326 16.513,34.481 16.5,34.53 C 16.32,36 19.752,37.5 23.485,37.5 C 27.304,37.5 30.65,36 30.5,34.53 C 30.5,34.5 30.5,14.6 30.5,14.567 C 30.3527,12.871 27.262,11.5 23.485,11.5 C 23.304,11.5 23.129,11.497 22.951,11.5 z"
style="opacity:0.7;fill:none;stroke:url(#lg3950)"
id="path89" />
<path
d="M 22.949,17 C 19.1,17.055 15.77,17.67 14,18.559 L 14,21.4426 C 15.85,22.37 19.409,23 23.5,23 C 27.6,23 31.149,22.37 33,21.4426 L 33,18.559 C 31.149,17.634 27.6,17 23.5,17 C 23.3127,17 23.134,17 22.949,17 z"
style="opacity:0.5;fill:url(#radialGradient3947)"
id="path91" />
<path
d="M 22.481,8.508 C 17.44,8.774 13.5,11 13.5,13.689 L 13.5,16.3 C 13.5,19.163 18,21.5 23.5,21.5 C 29,21.5 33.5,19.163 33.5,16.3 L 33.5,13.68 C 33.5,10.818 29,8.508 23.5,8.508 C 23.145,8.5 22.82,8.5 22.5,8.51 z"
style="fill:url(#lg3944);stroke:#a40000"
id="path93" />
<path
d="M 33,13.66 C 33,16.144 28.745,18 23.5,18 C 18.26,18 13.804,15.975 14,13.5 C 14.1,12.357 15.196,11.194 16.93,10.337 C 18.624,9.5 20.92,8.954 23.5,9 C 26.081,9.05 28.405,9.5125 30.109,10.389 C 31.928,11.324 33,12.578 33,13.66 z"
style="fill:url(#lg3941)"
id="path95" />
<path
d="M 22.581,9.5 C 18.04,9.73 14.360,11.66 14.5,13.89 L 14.5,16.093 C 14.3426,18.409 18.5,20.5 23.489,20.5 C 28.454,20.5 32.728,18.397 32.5,16.094 L 32.5,13.890 C 32.643,11.568 28.455,9.508 23.489,9.5 C 23.178,9.5 22.88,9.5 22.581,9.5 z"
style="opacity:0.56;fill:none;stroke:url(#lg3938)"
id="path97" />
<path
d="M 32.44,13 C 33.072,15.567 28.65,17.556 23.514,17.5 C 18.408,17.4426 13.8,15.350 14.589,13 C 15.375,10.661 18.587,8.5 23.514,8.5 C 28.441,8.5 32.44,10.516 32.44,13 z"
style="fill:none;stroke:url(#radialGradient3935)"
id="path99" />
<path
d="M 23.47,4.5 C 22.863,4.5 22.255,4.608 21.66,4.8 C 21.347,4.89 21.061,5 20.758,5.167 C 20.75,5.171 20.73,5.163 20.73,5.167 C 19.262,5.9 17.965,7.2 17.142,9.144 C 17.142,9.144 16.769,10.634 16.587,11.727 C 16.519,12.076 16.5,12.405 16.5,12.627 C 16.5,14.408 19.626,15.5 23.5,15.5 C 24,15.5 24.4,15.5 24.9,15.471 C 28.096,15.235 30.5,14.185 30.5,12.627 C 30.5,12.405 30.48,12.076 30.4,11.727 C 30.23,10.63 29.86,9.14 29.86,9.14 C 29.036,7.2 27.738,5.9 26.27,5.167 C 26.26,5.163 26.25,5.17 26.24,5.167 C 25.94,5 25.65,4.887 25.33,4.8 C 25.053,4.7 24.75,4.635 24.4,4.58 C 24.4,4.58 24.4,4.58 24.4,4.587 C 24.094,4.54 23.784,4.5 23.471,4.5 z"
style="fill:url(#lg3932);stroke:#a40000"
id="path101" />
<path
d="M 20,7.279 C 20,7.279 21.198,6.059 21.18,6.066 C 19.94,6.67 18.81,7.792 18.079,9.519 C 18.042,9.671 17.746,10.886 17.58,11.84 C 17.5,12 17.5,12.35 17.5,12.6 C 17.5,12.773 17.57,12.897 17.79,13.114 C 18,13.33 18.37,13.58 18.9,13.8 C 20,14.214 21.67,14.5 23.5,14.5 C 24,14.5 24.4,14.5 24.83,14.472 C 26.33,14.362 27.6,14.05 28.427,13.65 C 29.25,13.25 29.5,12.9 29.5,12.6 C 29.5,12.438 29.465,12.132 29.4,11.868 C 29.3,11 29,10.3 28.92,9.52 C 28.18,7.8 27,6.58 25.68,6 C 25.6,6 27,7.33 27,7.33 C 25.9,8.837 20.892,8.86 20,7.28 z"
style="fill:url(#lg3927);stroke:url(#lg3929)"
id="path103" />
<path
d="M 23.2,2.502 C 21.681,2.568 20.5,3.1129 20.5,3.773 L 20.5,6.22 C 20.5,6.927 21.84,7.5 23.5,7.5 C 25.153,7.5 26.5,6.927 26.5,6.22 L 26.5,3.773 C 26.5,3.07 25.153,2.5 23.5,2.5 C 23.4,2.5 23.295,2.5 23.2,2.502 z"
style="fill:url(#lg22);stroke:#a40000"
id="path105" />
<path
d="M 23.2,5.547 C 22.651,5.562 22.124,5.64 21.8,5.723 C 21.48,5.8 21.5,5.55 21.5,5.5 L 21.5,6.04 C 21.679,6.285 22.6,6.5 23.5,6.5 C 24.061,6.5 25,6.376 25.5,6.04 L 25.5,5.5 C 25.5,5.56 25.5,5.792 25.127,5.707 C 24.758,5.622 24.17,5.548 23.5,5.547 C 23.38,5.547 23.312,5.546 23.262,5.547 z"
style="opacity:0.56;fill:none;stroke:url(#lg21)"
id="path107" />
<path
d="M 23.2,2.502 C 21.681,2.567 20.5,3.1125 20.5,3.7728 L 20.5,4.22 C 20.5,4.93 21.84,5.5 23.5,5.5 C 25.153,5.5 26.5,4.92 26.5,4.222 L 26.5,3.7728 C 26.5,3.07 25.153,2.5 23.5,2.5 C 23.4,2.5 23.295,2.5 23.194,2.5 z"
style="fill:none;stroke:#a40000"
id="path109" />
<path
d="M 13.5,20.5 C 14.608,20.5 15.5,21.107 15.5,21.86 L 15.5,31.14 C 15.5,31.893 14.608,32.5 13.5,32.5 C 12.392,32.5 11.5,31.893 11.5,31.14 L 11.5,21.86 C 11.5,21.107 12.392,20.5 13.5,20.5 z"
style="fill:url(#lg12);stroke:#a40000"
id="path137" />
<path
d="M 13.25,21.5 L 13.75,21.5 C 14.166,21.5 14.5,21.67 14.5,21.884 L 14.5,31.116 C 14.5,31.329 14.166,31.5 13.75,31.5 L 13.25,31.5 C 12.835,31.5 12.5,31.33 12.5,31.116 L 12.5,21.884 C 12.5,21.67 12.835,21.5 13.25,21.5 z"
style="fill:none;stroke:url(#lg11)"
id="path139" />
<path
d="M 33.5,20.5 C 34.608,20.5 35.5,21.107 35.5,21.86 L 35.5,31.14 C 35.5,31.893 34.608,32.5 33.5,32.5 C 32.392,32.5 31.5,31.893 31.5,31.14 L 31.5,21.86 C 31.5,21.107 32.392,20.5 33.5,20.5 z"
style="fill:url(#lg10);stroke:#a40000"
id="path141" />
<path
d="M 33.25,21.5 L 33.75,21.5 C 34.166,21.5 34.5,21.67 34.5,21.884 L 34.5,31.116 C 34.5,31.33 34.166,31.5 33.75,31.5 L 33.25,31.5 C 32.835,31.5 32.5,31.33 32.5,31.116 L 32.5,21.884 C 32.5,21.67 32.835,21.5 33.25,21.5 z"
style="fill:none;stroke:url(#lg9)"
id="path143" />
<path
d="M 11,24 C 11.554,24 12,24.446 12,25 L 12,28 C 12,28.554 11.554,29 11,29 C 10.446,29 10,28.554 10,28 L 10,25 C 10,24.446 10.446,24 11,24 z"
style="fill:#a40000"
id="path145" />
<path
d="M 36,24 C 36.554,24 37,24.446 37,25 L 37,28 C 37,28.554 36.554,29 36,29 C 35.446,29 35,28.554 35,28 L 35,25 C 35,24.446 35.446,24 36,24 z"
style="fill:#a40000"
id="path147" />
<path
d="M 21.075,3.655 C 20.94,3.78 20.95,4.225 21.07,4.345 C 22.02,5.264 25.29,5.21 25.94,4.29 C 26.054,4.13 26,3.784 25.9,3.66 C 25,2.77 22,2.77 21,3.65 z"
style="opacity:0.46;fill:url(#lg3261)"
id="path149" />
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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="90.597931"
height="90.597931"
viewBox="0 0 255.68748 255.68749"
version="1.1"
id="svg2"
inkscape:version="0.48.2 r9819"
sodipodi:docname="MUTCD RS-080.svg">
<metadata
id="metadata62">
<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>
<defs
id="defs60">
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath3564">
<path
inkscape:connector-curvature="0"
d="m 63,43 512.622,0 0,313.129 L 63,356.129 63,43 z"
id="path3566" />
</clipPath>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="1004"
id="namedview58"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="4"
inkscape:cx="48.704041"
inkscape:cy="45.520564"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
showguides="true"
inkscape:guide-bbox="true" />
<polygon
points="235,375 315,205 395,375 315,545 "
id="polygon10"
style="fill:none;stroke:#ffffff;stroke-width:40"
transform="translate(17618.396,14343.442)" />
<!-- draw the bicycle -->
<!-- RIGHT -->
<!-- LANE -->
<!-- ONLY -->
<path
inkscape:connector-curvature="0"
d="m 22.008538,254.83715 211.663112,0 c 5.57389,0 11.02432,-2.2578 14.97188,-6.2089 3.94054,-3.937 6.19479,-9.3839 6.19479,-14.9578 l 0,-211.6667 c 0,-5.5738 -2.25425,-11.0207 -6.19479,-14.9718 -3.94756,-3.937 -9.39799,-6.1948 -14.97188,-6.1948 l -211.663112,0 c -5.57036,0 -11.02078,2.2578 -14.9577796,6.1948 -3.94758,3.9511 -6.20888999,9.398 -6.20888999,14.9718 l 0,211.6667 c 0,7.2531 3.85232999,14.1111 9.96244959,18.0058 3.48897,2.2154 7.16844,2.734 11.20422,3.1609"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.69333331;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3060" />
<path
inkscape:connector-curvature="0"
d="m 22.008538,249.54545 c -3.15384,0 -5.80672,-0.7126 -8.36084,-2.3319 -4.6249096,-2.9421 -7.5141596,-8.135 -7.5141596,-13.5431 l 0,-211.6667 c 0,-4.1698 1.69333,-8.2655 4.6566596,-11.2289 2.94217,-2.9421 7.0485,-4.6461 11.21834,-4.6461 l 211.663112,0 c 4.18394,0 8.29028,1.6934 11.23244,4.6461 2.95628,2.9422 4.64256,7.0485 4.64256,11.2289 l 0,211.6667 c 0,4.1663 -1.70038,8.2726 -4.64256,11.2148 -2.96333,2.9669 -7.05554,4.6602 -11.23244,4.6602 l -211.663112,0 z"
style="fill:#713907;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path3084" />
<path
d="M 104.77993,61.493895 C 89.165989,65.39209 83.9096,73.537728 79.224711,80.173478 74.54335,86.812756 65.427573,81.252978 68.743684,74.610173 71.135517,67.653395 83.232267,56.219868 92.252794,52.886118 89.977378,51.520868 87.4021,47.506257 87.4021,43.018923 c 0,-9.450916 7.263694,-15.723305 15.28939,-15.723305 8.24089,0 14.0335,6.850945 14.0335,12.181416 l 6.82978,0 0,8.586611 23.62552,0 0,-5.471583 58.09897,-8.438444 0,39.863888 -58.09897,-8.777111 0,-5.076472 -23.73489,0 -0.0353,8.205611 c 6.51934,1.220611 23.62553,11.662833 23.62553,31.968726 l 0,117.96183 c 0,2.921 -1.36525,7.80697 -7.22136,7.80697 l -51.957109,0 c -5.856111,0 -7.221361,-4.88597 -7.221361,-7.80697 l 0,-117.96183 c 0,-20.305893 17.727083,-30.748115 24.17233,-31.968726 l -0.0282,-6.875639 z m -2.31069,-12.597694 c 3.71475,0 6.73453,-3.009194 6.73453,-6.723944 0,-3.721806 -3.01978,-6.723944 -6.73453,-6.723944 -3.711224,0 -6.723946,3.002138 -6.723946,6.723944 0,3.71475 3.012722,6.723944 6.723946,6.723944"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path3642"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -27,11 +27,6 @@
"en": "Map of hydrants" "en": "Map of hydrants"
}, },
"minzoom": 14, "minzoom": 14,
"overpassTags": {
"and": [
"emergency=fire_hydrant"
]
},
"title": { "title": {
"render": { "render": {
"en": "Hydrant" "en": "Hydrant"
@ -92,7 +87,7 @@
] ]
}, },
"then": { "then": {
"en": "<img style=\"width:20px\" src=\"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_pillar.svg\" /> Pillar type." "en": "<img style=\"width:20px\" src=\"hydrant_pillar.svg\" /> Pillar type."
} }
}, },
{ {
@ -102,7 +97,7 @@
] ]
}, },
"then": { "then": {
"en": "<img style=\"width:20px\" src=\"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_unknown.svg\" /> Pipe type." "en": "<img style=\"width:20px\" src=\"hydrant_unknown.svg\" /> Pipe type."
} }
}, },
{ {
@ -112,7 +107,7 @@
] ]
}, },
"then": { "then": {
"en": "<img style=\"width:20px\" src=\"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_unknown.svg\" /> Wall type." "en": "<img style=\"width:20px\" src=\"hydrant_unknown.svg\" /> Wall type."
} }
}, },
{ {
@ -122,7 +117,7 @@
] ]
}, },
"then": { "then": {
"en": "<img style=\"width:20px\" src=\"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_underground.svg\" /> Underground type." "en": "<img style=\"width:20px\" src=\"hydrant_underground.svg\" /> Underground type."
} }
} }
] ]
@ -175,7 +170,7 @@
], ],
"hideUnderlayingFeaturesMinPercentage": 0, "hideUnderlayingFeaturesMinPercentage": 0,
"icon": { "icon": {
"render": "https://upload.wikimedia.org/wikipedia/commons/6/66/Hydrant_02.svg" "render": "Hydrant_02.svg"
}, },
"width": { "width": {
"render": "8" "render": "8"
@ -206,6 +201,13 @@
"emergency=fire_hydrant" "emergency=fire_hydrant"
] ]
} }
},
"source": {
"osmTags": {
"and": [
"emergency=fire_hydrant"
]
}
} }
}, },
{ {
@ -214,11 +216,6 @@
"en": "Map of fire extinguishers." "en": "Map of fire extinguishers."
}, },
"minzoom": 14, "minzoom": 14,
"overpassTags": {
"and": [
"emergency=fire_extinguisher"
]
},
"title": { "title": {
"render": { "render": {
"en": "Extinguishers" "en": "Extinguishers"
@ -264,7 +261,7 @@
], ],
"hideUnderlayingFeaturesMinPercentage": 0, "hideUnderlayingFeaturesMinPercentage": 0,
"icon": { "icon": {
"render": "https://upload.wikimedia.org/wikipedia/commons/e/e8/MUTCD_RS-090.svg" "render": "MUTCD_RS-090.svg"
}, },
"width": { "width": {
"render": "8" "render": "8"
@ -295,6 +292,13 @@
"emergency=fire_extinguisher" "emergency=fire_extinguisher"
] ]
} }
},
"source": {
"osmTags": {
"and": [
"emergency=fire_extinguisher"
]
}
} }
}, },
{ {
@ -303,11 +307,6 @@
"en": "Map of fire stations" "en": "Map of fire stations"
}, },
"minzoom": 12, "minzoom": 12,
"overpassTags": {
"and": [
"amenity=fire_station"
]
},
"title": { "title": {
"render": { "render": {
"en": "Fire Station" "en": "Fire Station"
@ -419,7 +418,7 @@
], ],
"hideUnderlayingFeaturesMinPercentage": 0, "hideUnderlayingFeaturesMinPercentage": 0,
"icon": { "icon": {
"render": "https://upload.wikimedia.org/wikipedia/commons/8/84/British_Columbia_W-318-L.svg" "render": "British_Columbia_W-318-L.svg"
}, },
"width": { "width": {
"render": "8" "render": "8"
@ -449,6 +448,13 @@
"amenity=fire_station" "amenity=fire_station"
] ]
} }
},
"source": {
"osmTags": {
"and": [
"amenity=fire_station"
]
}
} }
}, },
{ {
@ -457,11 +463,6 @@
"en": "Map of rescue stations" "en": "Map of rescue stations"
}, },
"minzoom": 12, "minzoom": 12,
"overpassTags": {
"and": [
"amenity=rescue_station"
]
},
"title": { "title": {
"render": { "render": {
"en": "Rescue Station" "en": "Rescue Station"
@ -473,7 +474,7 @@
"tagRenderings": [], "tagRenderings": [],
"hideUnderlayingFeaturesMinPercentage": 0, "hideUnderlayingFeaturesMinPercentage": 0,
"icon": { "icon": {
"render": "https://upload.wikimedia.org/wikipedia/commons/1/1e/Emojione_1F6A8.svg" "render": "Emojione_1F6A8.svg"
}, },
"width": { "width": {
"render": "8" "render": "8"
@ -503,11 +504,15 @@
"amenity=rescue_station" "amenity=rescue_station"
] ]
} }
},
"source": {
"osmTags": {
"and": [
"amenity=rescue_station"
]
}
} }
} }
], ],
"roamingRenderings": [
{}
],
"defaultBackgroundId": "HDM_HOT" "defaultBackgroundId": "HDM_HOT"
} }

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18" height="18" version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="m9 2c-1.662 0-3 1.338-3 3v1h-1c-0.277 0-0.5 0.223-0.5 0.5v3c0 0.277 0.223 0.5 0.5 0.5h1v6l-1 1h8l-1-1v-6h1c0.277 0 0.5-0.223 0.5-0.5v-3c0-0.277-0.223-0.5-0.5-0.5h-1v-1c0-1.662-1.338-3-3-3z" fill="#f00" stroke="#000" stroke-dashoffset="2.3036" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" style="paint-order:stroke fill markers"/>
<path d="m7 11v5h1v-2h2v2h1v-5h-1v2h-2v-2z" fill="#fff" style="paint-order:stroke fill markers"/>
</svg>

After

Width:  |  Height:  |  Size: 602 B

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18" height="18" version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="m1.5 3.5v2h4.1484a7.5 4.75 0 0 0-4.1484 4.25 7.5 4.75 0 0 0 7.5 4.75 7.5 4.75 0 0 0 7.5-4.75 7.5 4.75 0 0 0-4.1543-4.25h4.1543v-2h-15z" fill="#f00" stroke="#000" stroke-dashoffset="2.3036" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" style="paint-order:stroke fill markers"/>
<path d="m7 7v5h1v-2h2v2h1v-5h-1v2h-2v-2z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 507 B

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18" height="18" version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<circle cx="9" cy="9" r="6" fill="#f00" stroke="#000" stroke-width="2" style="paint-order:stroke fill markers"/>
<path d="m7 6v5h1v-2h2v2h1v-5h-1v2h-2v-2z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 316 B

View file

@ -1,50 +1,118 @@
[ [
{ {
"authors": ["https://openclipart.org/artist/rones"], "authors": [
"https://openclipart.org/artist/rones"
],
"path": "extinguisher.svg", "path": "extinguisher.svg",
"license": "CC0", "license": "CC0",
"sources": [ "sources": [
"https://openclipart.org/detail/315876/fire-extinguisher" "https://openclipart.org/detail/315876/fire-extinguisher"
] ]
}, },
{ {
"authors": ["https://openclipart.org/artist/j4p4n"], "authors": [
"https://openclipart.org/artist/j4p4n"
],
"path": "yellowfirehydrant.svg", "path": "yellowfirehydrant.svg",
"license": "CC0", "license": "CC0",
"sources": [ "sources": [
"https://openclipart.org/detail/326295/yellow-fire-hydrant" "https://openclipart.org/detail/326295/yellow-fire-hydrant"
] ]
}, },
{ {
"authors": ["https://openclipart.org/artist/TVLuke"], "authors": [
"https://openclipart.org/artist/TVLuke"
],
"path": "fire_brigade.svg", "path": "fire_brigade.svg",
"license": "CC0", "license": "CC0",
"sources": [ "sources": [
"https://openclipart.org/detail/318142/fire-brigade" "https://openclipart.org/detail/318142/fire-brigade"
] ]
}, },
{ {
"authors": ["https://openclipart.org/artist/qubodup"], "authors": [
"https://openclipart.org/artist/qubodup"
],
"path": "blue-signal-light.svg", "path": "blue-signal-light.svg",
"license": "CC0", "license": "CC0",
"sources": [ "sources": [
"https://openclipart.org/detail/177928/blue-signal-light" "https://openclipart.org/detail/177928/blue-signal-light"
] ]
}, },
{ {
"authors": ["https://www.mapbox.com/maki-icons/"], "authors": [
"https://www.mapbox.com/maki-icons/"
],
"path": "fire-station-15.svg", "path": "fire-station-15.svg",
"license": "CC0", "license": "CC0",
"sources": [ "sources": [
"https://openclipart.org/detail/260728/firestation15" "https://openclipart.org/detail/260728/firestation15"
] ]
}, },
{ {
"authors": ["https://openclipart.org/artist/rdevries"], "authors": [
"https://openclipart.org/artist/rdevries"
],
"path": "Fire-truck.svg", "path": "Fire-truck.svg",
"license": "CC0", "license": "CC0",
"sources": [ "sources": [
"https://openclipart.org/detail/190874/fire-truck" "https://openclipart.org/detail/190874/fire-truck"
] ]
},
{
"path": "hydrant_pillar.svg",
"license": "",
"authors": [],
"sources": [
"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_pillar.svg"
]
},
{
"path": "hydrant_unknown.svg",
"license": "",
"authors": [],
"sources": [
"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_unknown.svg"
]
},
{
"path": "hydrant_underground.svg",
"license": "",
"authors": [],
"sources": [
"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_underground.svg"
]
},
{
"path": "Hydrant_02.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/6/66/Hydrant_02.svg"
]
},
{
"path": "MUTCD_RS-090.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/e/e8/MUTCD_RS-090.svg"
]
},
{
"path": "British_Columbia_W-318-L.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/8/84/British_Columbia_W-318-L.svg"
]
},
{
"path": "Emojione_1F6A8.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/1/1e/Emojione_1F6A8.svg"
]
} }
] ]

View file

@ -0,0 +1,58 @@
[
{
"path": "hydrant_pillar.svg",
"license": "",
"authors": [],
"sources": [
"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_pillar.svg"
]
},
{
"path": "hydrant_unknown.svg",
"license": "",
"authors": [],
"sources": [
"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_unknown.svg"
]
},
{
"path": "hydrant_underground.svg",
"license": "",
"authors": [],
"sources": [
"https://mapcomplete.braindeaddev.com/assets/layers/fire/hydrant_underground.svg"
]
},
{
"path": "Hydrant_02.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/6/66/Hydrant_02.svg"
]
},
{
"path": "MUTCD_RS-090.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/e/e8/MUTCD_RS-090.svg"
]
},
{
"path": "British_Columbia_W-318-L.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/8/84/British_Columbia_W-318-L.svg"
]
},
{
"path": "Emojione_1F6A8.svg",
"license": "",
"authors": [],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/1/1e/Emojione_1F6A8.svg"
]
}
]

View file

@ -8,7 +8,7 @@
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"increase-memory": "export NODE_OPTIONS=--max_old_space_size=4096", "increase-memory": "export NODE_OPTIONS=--max_old_space_size=4096",
"start": "ts-node scripts/generateLayerOverview.ts && npm run increase-memory && parcel *.html UI/** Logic/** assets/** assets/**/** assets/**/**/** vendor/* vendor/*/*", "start": "ts-node scripts/generateLayerOverview.ts --no-fail && npm run increase-memory && parcel *.html UI/** Logic/** assets/** assets/**/** assets/**/**/** vendor/* vendor/*/*",
"test": "ts-node test/Tag.spec.ts && ts-node test/TagQuestion.spec.ts && ts-node test/ImageSearcher.spec.ts && ts-node test/ImageAttribution.spec.ts", "test": "ts-node test/Tag.spec.ts && ts-node test/TagQuestion.spec.ts && ts-node test/ImageSearcher.spec.ts && ts-node test/ImageAttribution.spec.ts",
"generate:editor-layer-index": "cd assets/ && wget https://osmlab.github.io/editor-layer-index/imagery.geojson --output-document=editor-layer-index.json", "generate:editor-layer-index": "cd assets/ && wget https://osmlab.github.io/editor-layer-index/imagery.geojson --output-document=editor-layer-index.json",
"generate:images": "ts-node scripts/generateIncludedImages.ts", "generate:images": "ts-node scripts/generateIncludedImages.ts",

63
scripts/fixTheme.ts Normal file
View file

@ -0,0 +1,63 @@
/*
* This script attempt to automatically fix some basic issues when a theme from the custom generator is loaded
*/
import {Utils} from "../Utils"
Utils.runningFromConsole = true;
import {readFileSync, writeFileSync} from "fs";
import {LayoutConfigJson} from "../Customizations/JSON/LayoutConfigJson";
import {Layer} from "leaflet";
import LayerConfig from "../Customizations/JSON/LayerConfig";
import SmallLicense from "../Models/smallLicense";
if(process.argv.length == 2){
console.log("USAGE: ts-node scripts/fixTheme <path to theme>")
throw "No path specified"
}
const path = process.argv[2]
console.log("Fixing up ", path)
const themeConfigJson : LayoutConfigJson = JSON.parse(readFileSync(path, "UTF8"))
const linuxHints = []
const licenses : SmallLicense[] = []
const replacements: {source: string, destination: string}[] = []
for (const layerConfigJson of themeConfigJson.layers) {
if(typeof (layerConfigJson) === "string"){
continue;
}
if(layerConfigJson["overpassTags"] !== undefined){
const tags = layerConfigJson["overpassTags"];
layerConfigJson["overpassTags"] = undefined;
layerConfigJson["source"] = { osmTags : tags}
}
// @ts-ignore
const layerConfig = new LayerConfig(layerConfigJson, true)
const images : string[] = Array.from(layerConfig.ExtractImages())
const remoteImages = images.filter(img => img.startsWith("http"))
for (const remoteImage of remoteImages) {
linuxHints.push("wget " + remoteImage)
const imgPath = remoteImage.substring(remoteImage.lastIndexOf("/") + 1)
licenses.push({
path: imgPath,
license: "",
authors: [],
sources: [remoteImage]
})
replacements.push({source: remoteImage, destination: imgPath})
}
}
let fixedThemeJson = JSON.stringify(themeConfigJson, null , " ")
for (const replacement of replacements) {
fixedThemeJson = fixedThemeJson.replace(new RegExp(replacement.source, "g"), replacement.destination)
}
const dir = path.substring(0, path.lastIndexOf("/"))
writeFileSync(dir + "/generated.license_info.json", JSON.stringify(licenses, null, " "))
writeFileSync(dir + "/fix_script_"+path.replace(/\//g,"_")+".sh", linuxHints.join("\n"))
writeFileSync(path+".autofixed.json", fixedThemeJson)

View file

@ -51,8 +51,6 @@ for (const i in licenses) {
} }
const knownPaths = new Set<string>(licensePaths) const knownPaths = new Set<string>(licensePaths)
const linuxHints = []
function validateLayer(layerJson: LayerConfigJson, context?: string): string[] { function validateLayer(layerJson: LayerConfigJson, context?: string): string[] {
let errorCount = []; let errorCount = [];
if (layerJson["overpassTags"] !== undefined) { if (layerJson["overpassTags"] !== undefined) {
@ -65,9 +63,7 @@ function validateLayer(layerJson: LayerConfigJson, context?: string): string[] {
for (const remoteImage of remoteImages) { for (const remoteImage of remoteImages) {
errorCount.push("Found a remote image: " + remoteImage + " in layer " + layer.id + ", please download it.") errorCount.push("Found a remote image: " + remoteImage + " in layer " + layer.id + ", please download it.")
const path = remoteImage.substring(remoteImage.lastIndexOf("/") + 1) const path = remoteImage.substring(remoteImage.lastIndexOf("/") + 1)
linuxHints.push("wget " + remoteImage) }
linuxHints.push(`echo '{"path":"${path}", "license": "<insert license here>", "authors": [ "<insert author(s) here"], "sources": [${remoteImage}] > ${path}.license_info.json`)
}
for (const image of images) { for (const image of images) {
if (!knownPaths.has(image)) { if (!knownPaths.has(image)) {
const ctx = context === undefined ? "" : ` in a layer defined in the theme ${context}` const ctx = context === undefined ? "" : ` in a layer defined in the theme ${context}`
@ -129,7 +125,6 @@ if (layerErrorCount.length + themeErrorCount.length == 0) {
console.log(errors) console.log(errors)
const msg = (`Found ${layerErrorCount.length} errors in the layers; ${themeErrorCount.length} errors in the themes`) const msg = (`Found ${layerErrorCount.length} errors in the layers; ${themeErrorCount.length} errors in the themes`)
console.log(msg) console.log(msg)
console.log(linuxHints.join("\n"))
if (process.argv.indexOf("--report") >= 0) { if (process.argv.indexOf("--report") >= 0) {
console.log("Writing report!") console.log("Writing report!")
writeFileSync("layer_report.txt", errors) writeFileSync("layer_report.txt", errors)

View file

@ -193,17 +193,18 @@ writeFileSync("./assets/generated/license_info.json", JSON.stringify(licenseInfo
const artwork = contents.filter(pth => pth.match(/(.svg|.png|.jpg)$/i) != null) const artwork = contents.filter(pth => pth.match(/(.svg|.png|.jpg)$/i) != null)
const missingLicenses = missingLicenseInfos(licenseInfos, artwork) const missingLicenses = missingLicenseInfos(licenseInfos, artwork)
const invalidLicenses = licenseInfos.filter(l => (l.license ?? "") === "").map(l => `License for artwork ${l.path} is empty string or undefined`)
if (process.argv.indexOf("--prompt") >= 0 || process.argv.indexOf("--query") >= 0) { if (process.argv.indexOf("--prompt") >= 0 || process.argv.indexOf("--query") >= 0) {
queryMissingLicenses(missingLicenses) queryMissingLicenses(missingLicenses)
} }
if (missingLicenses.length > 0) { if (missingLicenses.length > 0) {
const msg = `There are ${missingLicenses.length} licenses missing.` const msg = `There are ${missingLicenses.length} licenses missing and ${invalidLicenses.length} invalid licenses.`
console.log( missingLicenses.concat(invalidLicenses).join("\n"))
console.error(msg) console.error(msg)
if (process.argv.indexOf("--report") >= 0) { if (process.argv.indexOf("--report") >= 0) {
console.log("Writing report!") console.log("Writing report!")
writeFileSync("missing_licenses.txt", missingLicenses.join("\n")) writeFileSync("missing_licenses.txt", missingLicenses.concat(invalidLicenses).join("\n"))
} }
if (process.argv.indexOf("--no-fail") < 0) { if (process.argv.indexOf("--no-fail") < 0) {
throw msg throw msg