rearrange project to reflect expanded scope

This commit is contained in:
D. Scott Boggs 2025-05-28 09:03:56 -04:00
parent c58323c588
commit f7b7918660
16 changed files with 453 additions and 23 deletions

13
docker-compose.dev.yml Normal file
View file

@ -0,0 +1,13 @@
services:
fnb-website:
build: .
ports:
- 1312:1312
fnb-website-database:
image: mongodb/mongodb-community-server:8.0-ubi8
volumes:
- type: bind
source: ./mounts/database
target: /data/db
ports:
- 27017:27017

View file

@ -1,7 +1,15 @@
services: services:
fnb-redirecter: fnb-website:
build: . build: .
labels: labels:
traefik.enable: true
traefik.http.routers.fnb-redirecter.rule: Host(`rocfnb.org`) traefik.http.routers.fnb-redirecter.rule: Host(`rocfnb.org`)
traefik.http.routers.fnb-redirecter.tls.certresolver: letsencrypt_standalone traefik.http.routers.fnb-redirecter.tls.certresolver: letsencrypt_standalone
networks: [ public ] networks: [ public, fnb-website ]
fnb-website-database:
image: mongodb/mongodb-community-server:8.0-ubi8
networks: [ fnb-website ]
volumes:
- type: bind
source: ./mounts/database
target: /data/db

View file

@ -1 +0,0 @@
from fnb_redirecter.server import app

View file

@ -1,3 +0,0 @@
from os import execlp
execlp('gunicorn', 'gunicorn', '--conf', '/app/wsgi-conf.py', '--bind', '0.0.0.0:1312', 'fnb_redirecter:app')

View file

@ -1,16 +0,0 @@
from flask import Flask, redirect
app = Flask(__name__.split('.')[0])
@app.route('/ig')
def ig_redir():
return redirect('https://instagram.com/RocFNB')
@app.route('/donate')
def donate_redir():
return redirect('https://venmo.com/RocFoodNotBombs')
@app.errorhandler(404)
def redirect_other(_):
return redirect('https://linktr.ee/RocFNB')

View file

@ -3,7 +3,7 @@ requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
[project] [project]
name = "fnb_redirecter" name = "roc_fnb_website"
authors = [{ name = "D. Scott Boggs", email = "scott@techwork.zone" }] authors = [{ name = "D. Scott Boggs", email = "scott@techwork.zone" }]
description = "Temporary placeholder for fnb web site" description = "Temporary placeholder for fnb web site"
readme = "README.md" readme = "README.md"

0
roc_fnb/__init__.py Normal file
View file

3
roc_fnb/__main__.py Normal file
View file

@ -0,0 +1,3 @@
from os import execlp
execlp('gunicorn', 'gunicorn', '--conf', './wsgi-conf.py', '--bind', '0.0.0.0:1312', 'roc_fnb.website:app')

View file

@ -0,0 +1 @@
from roc_fnb.website.server import app

19
roc_fnb/website/server.py Normal file
View file

@ -0,0 +1,19 @@
from flask import Flask, redirect, url_for, request, send_file
app = Flask(
import_name=__name__.split('.')[0],
static_url_path='/'
)
@app.route('/ig')
def ig_redir():
return redirect('https://instagram.com/RocFNB')
@app.route('/donate')
def donate_redir():
return redirect('https://venmo.com/RocFoodNotBombs')
@app.route('/')
def index():
return redirect('/index.html')

View file

@ -0,0 +1,31 @@
<html>
<head>
<link rel="stylesheet" href="style.css">
<title>
Rochester Food Not Bombs
</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Teko:wght@300..700&display=swap" rel="stylesheet">
<script>
function start_animation() {
var element = document.getElementById("biglogo")
element.style.animation = 'none';
element.offsetHeight;
element.style.animation = null;
}
</script>
</head>
<body>
<h1>Blog not bombs ;)</h1>
<div class="flex-container">
</div>
</body>
</html>

View file

@ -0,0 +1,77 @@
<html>
<head>
<link rel="stylesheet" href="style.css">
<title>
Rochester Food Not Bombs
</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Teko:wght@300..700&display=swap" rel="stylesheet">
<script>
function start_animation() {
var element = document.getElementById("biglogo")
element.style.animation = 'none';
element.offsetHeight;
element.style.animation = null;
}
</script>
</head>
<body>
<img id="biglogo" class="spinny" onclick="start_animation()" src="logo.png" alt="logo">
<h1>Rochester Food Not Bombs!</h1>
Solidarity not charity: From Rochester, New York.
<p>Free hot meals are served every Saturday at 6:30PM in front of the <a
href="https://maps.app.goo.gl/gDNseCg1RQyeLKXF8">RTS Transit Center on St. Paul. </a></p>
<p>Help us cook every Saturday at 4PM at the <a href="http://thesquirrel.org/">Flying Squirrel Community Space.</a>
</p>
<div class="flex-container">
<div id="resources-box" class="fancy-border">
<h2>Quick resources</h2>
<ul id="resources-list">
<li><a href="https://docs.google.com/document/d/1UcoQ984Qwq22aR8YgyVk76VepxxFZM1QNllVeaHzWIs/edit?tab=t.0">List
of free food stands</a></li>
<li><a
href="https://www.google.com/maps/d/u/0/viewer?ll=43.19335689697014%2C-77.66649769973144&z=12&mid=1hGQ70VxoHncH6ardfHs6uh3HcrCp7iI">Map
of free food stands</a></li>
<li><a href="https://forms.gle/P3ZNLQe43yZS2MU99">Food Stand Repair and Info Form</a></li>
<li>Email: <a href="mailto:RocFoodNotBombs@proton.me">RocFoodNotBombs@proton.me</a></li>
<li>Instagram: <a href="https://www.instagram.com/rocfnb/">@rocfnb</a></li>
<li>Donate to our Venmo: @rocfoodnotbombs</li>
<li><a href="https://rocresources.anarchyplanet.org/">Other Resources in Rochester</a></li>
</ul>
</div>
<div id="blurb" class="fancy-border">
<p>Rochester Food Not Bombs recovers resources to create free vegetarian and vegan meals in our local
community.
We
are a decentralized all-volunteer run group, with no hierarchy or formal leaders, making decisions based
on
consensus. </p>
<p>
We recognize poverty as a form of violence, and think access to food should be viewed as a right, rather
than a
privilege. In this practice, we strive to reduce waste by turning donated food into productive meals. We
source
food from vendors at the Public Market, as well as relying on donations. Food should be a source of
nutrition
for
people, not profit under capitalism. Through Community organizing and outreach, we support other local
and
national peace and justice groups to create a broader sense of social responsibility -- If you would
like to
get
involved, please reach out to us!
</p>
</div>
</div>
<!--<h2><a href="blog.html">See what we're up to :-)</a></h1>-->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

View file

@ -0,0 +1,65 @@
body {
background-color: #EEEEEE;
text-align: center;
}
#resources-list {
text-align: left;
}
.flex-container {
display: flex;
flex-wrap: wrap;
margin: auto;
align-items: center;
justify-content: center;
}
.fancy-border {
border-width: 0.2em;
border-style: ridge;
border-radius: 1em;
}
#resources-box {
width: 20em;
border-color: #b9539f;
margin: auto;
margin-left: 1rem;
margin-right: 1rem;
margin-top: 2rem;
padding: 1em;
}
#blurb {
width: 40em;
border-color: #f27322;
margin: auto;
margin-top: 2rem;
margin-left: 1rem;
margin-right: 1rem;
text-align: left;
padding: 1em 2em 1em 2em;
}
:is(h1, h2, h3, h4, h5, h6) {
font-family: "Teko", serif;
font-optical-sizing: auto;
font-style: normal;
}
@keyframes logospin {
from {
transform: rotate(-2turn);
}
to {
transform: rotate(0);
}
}
.spinny {
animation-name: logospin;
animation-duration: 2s;
}
.post-container{
padding: 0.5rem;
margin: 0.5rem;
border-color: black;
}

BIN
rocfnb.org_donate_qr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

233
rocfnb.org_donate_qr.svg Normal file
View file

@ -0,0 +1,233 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Created with qrencode 4.1.1 (https://fukuchi.org/works/qrencode/index.html) -->
<svg width="3.07cm" height="3.07cm" viewBox="0 0 29 29" preserveAspectRatio="none" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="QRcode">
<rect x="0" y="0" width="29" height="29" fill="#ffffff"/>
<g id="Pattern" transform="translate(4,4)">
<rect x="0" y="0" width="1" height="1" fill="#000000"/>
<rect x="1" y="0" width="1" height="1" fill="#000000"/>
<rect x="2" y="0" width="1" height="1" fill="#000000"/>
<rect x="3" y="0" width="1" height="1" fill="#000000"/>
<rect x="4" y="0" width="1" height="1" fill="#000000"/>
<rect x="5" y="0" width="1" height="1" fill="#000000"/>
<rect x="6" y="0" width="1" height="1" fill="#000000"/>
<rect x="11" y="0" width="1" height="1" fill="#000000"/>
<rect x="14" y="0" width="1" height="1" fill="#000000"/>
<rect x="15" y="0" width="1" height="1" fill="#000000"/>
<rect x="16" y="0" width="1" height="1" fill="#000000"/>
<rect x="17" y="0" width="1" height="1" fill="#000000"/>
<rect x="18" y="0" width="1" height="1" fill="#000000"/>
<rect x="19" y="0" width="1" height="1" fill="#000000"/>
<rect x="20" y="0" width="1" height="1" fill="#000000"/>
<rect x="0" y="1" width="1" height="1" fill="#000000"/>
<rect x="6" y="1" width="1" height="1" fill="#000000"/>
<rect x="8" y="1" width="1" height="1" fill="#000000"/>
<rect x="9" y="1" width="1" height="1" fill="#000000"/>
<rect x="11" y="1" width="1" height="1" fill="#000000"/>
<rect x="12" y="1" width="1" height="1" fill="#000000"/>
<rect x="14" y="1" width="1" height="1" fill="#000000"/>
<rect x="20" y="1" width="1" height="1" fill="#000000"/>
<rect x="0" y="2" width="1" height="1" fill="#000000"/>
<rect x="2" y="2" width="1" height="1" fill="#000000"/>
<rect x="3" y="2" width="1" height="1" fill="#000000"/>
<rect x="4" y="2" width="1" height="1" fill="#000000"/>
<rect x="6" y="2" width="1" height="1" fill="#000000"/>
<rect x="11" y="2" width="1" height="1" fill="#000000"/>
<rect x="12" y="2" width="1" height="1" fill="#000000"/>
<rect x="14" y="2" width="1" height="1" fill="#000000"/>
<rect x="16" y="2" width="1" height="1" fill="#000000"/>
<rect x="17" y="2" width="1" height="1" fill="#000000"/>
<rect x="18" y="2" width="1" height="1" fill="#000000"/>
<rect x="20" y="2" width="1" height="1" fill="#000000"/>
<rect x="0" y="3" width="1" height="1" fill="#000000"/>
<rect x="2" y="3" width="1" height="1" fill="#000000"/>
<rect x="3" y="3" width="1" height="1" fill="#000000"/>
<rect x="4" y="3" width="1" height="1" fill="#000000"/>
<rect x="6" y="3" width="1" height="1" fill="#000000"/>
<rect x="8" y="3" width="1" height="1" fill="#000000"/>
<rect x="9" y="3" width="1" height="1" fill="#000000"/>
<rect x="10" y="3" width="1" height="1" fill="#000000"/>
<rect x="12" y="3" width="1" height="1" fill="#000000"/>
<rect x="14" y="3" width="1" height="1" fill="#000000"/>
<rect x="16" y="3" width="1" height="1" fill="#000000"/>
<rect x="17" y="3" width="1" height="1" fill="#000000"/>
<rect x="18" y="3" width="1" height="1" fill="#000000"/>
<rect x="20" y="3" width="1" height="1" fill="#000000"/>
<rect x="0" y="4" width="1" height="1" fill="#000000"/>
<rect x="2" y="4" width="1" height="1" fill="#000000"/>
<rect x="3" y="4" width="1" height="1" fill="#000000"/>
<rect x="4" y="4" width="1" height="1" fill="#000000"/>
<rect x="6" y="4" width="1" height="1" fill="#000000"/>
<rect x="14" y="4" width="1" height="1" fill="#000000"/>
<rect x="16" y="4" width="1" height="1" fill="#000000"/>
<rect x="17" y="4" width="1" height="1" fill="#000000"/>
<rect x="18" y="4" width="1" height="1" fill="#000000"/>
<rect x="20" y="4" width="1" height="1" fill="#000000"/>
<rect x="0" y="5" width="1" height="1" fill="#000000"/>
<rect x="6" y="5" width="1" height="1" fill="#000000"/>
<rect x="8" y="5" width="1" height="1" fill="#000000"/>
<rect x="11" y="5" width="1" height="1" fill="#000000"/>
<rect x="12" y="5" width="1" height="1" fill="#000000"/>
<rect x="14" y="5" width="1" height="1" fill="#000000"/>
<rect x="20" y="5" width="1" height="1" fill="#000000"/>
<rect x="0" y="6" width="1" height="1" fill="#000000"/>
<rect x="1" y="6" width="1" height="1" fill="#000000"/>
<rect x="2" y="6" width="1" height="1" fill="#000000"/>
<rect x="3" y="6" width="1" height="1" fill="#000000"/>
<rect x="4" y="6" width="1" height="1" fill="#000000"/>
<rect x="5" y="6" width="1" height="1" fill="#000000"/>
<rect x="6" y="6" width="1" height="1" fill="#000000"/>
<rect x="8" y="6" width="1" height="1" fill="#000000"/>
<rect x="10" y="6" width="1" height="1" fill="#000000"/>
<rect x="12" y="6" width="1" height="1" fill="#000000"/>
<rect x="14" y="6" width="1" height="1" fill="#000000"/>
<rect x="15" y="6" width="1" height="1" fill="#000000"/>
<rect x="16" y="6" width="1" height="1" fill="#000000"/>
<rect x="17" y="6" width="1" height="1" fill="#000000"/>
<rect x="18" y="6" width="1" height="1" fill="#000000"/>
<rect x="19" y="6" width="1" height="1" fill="#000000"/>
<rect x="20" y="6" width="1" height="1" fill="#000000"/>
<rect x="9" y="7" width="1" height="1" fill="#000000"/>
<rect x="0" y="8" width="1" height="1" fill="#000000"/>
<rect x="1" y="8" width="1" height="1" fill="#000000"/>
<rect x="2" y="8" width="1" height="1" fill="#000000"/>
<rect x="3" y="8" width="1" height="1" fill="#000000"/>
<rect x="4" y="8" width="1" height="1" fill="#000000"/>
<rect x="6" y="8" width="1" height="1" fill="#000000"/>
<rect x="7" y="8" width="1" height="1" fill="#000000"/>
<rect x="8" y="8" width="1" height="1" fill="#000000"/>
<rect x="9" y="8" width="1" height="1" fill="#000000"/>
<rect x="11" y="8" width="1" height="1" fill="#000000"/>
<rect x="13" y="8" width="1" height="1" fill="#000000"/>
<rect x="15" y="8" width="1" height="1" fill="#000000"/>
<rect x="17" y="8" width="1" height="1" fill="#000000"/>
<rect x="19" y="8" width="1" height="1" fill="#000000"/>
<rect x="0" y="9" width="1" height="1" fill="#000000"/>
<rect x="1" y="9" width="1" height="1" fill="#000000"/>
<rect x="7" y="9" width="1" height="1" fill="#000000"/>
<rect x="10" y="9" width="1" height="1" fill="#000000"/>
<rect x="13" y="9" width="1" height="1" fill="#000000"/>
<rect x="14" y="9" width="1" height="1" fill="#000000"/>
<rect x="15" y="9" width="1" height="1" fill="#000000"/>
<rect x="16" y="9" width="1" height="1" fill="#000000"/>
<rect x="17" y="9" width="1" height="1" fill="#000000"/>
<rect x="20" y="9" width="1" height="1" fill="#000000"/>
<rect x="1" y="10" width="1" height="1" fill="#000000"/>
<rect x="3" y="10" width="1" height="1" fill="#000000"/>
<rect x="5" y="10" width="1" height="1" fill="#000000"/>
<rect x="6" y="10" width="1" height="1" fill="#000000"/>
<rect x="9" y="10" width="1" height="1" fill="#000000"/>
<rect x="11" y="10" width="1" height="1" fill="#000000"/>
<rect x="12" y="10" width="1" height="1" fill="#000000"/>
<rect x="13" y="10" width="1" height="1" fill="#000000"/>
<rect x="14" y="10" width="1" height="1" fill="#000000"/>
<rect x="17" y="10" width="1" height="1" fill="#000000"/>
<rect x="19" y="10" width="1" height="1" fill="#000000"/>
<rect x="2" y="11" width="1" height="1" fill="#000000"/>
<rect x="3" y="11" width="1" height="1" fill="#000000"/>
<rect x="5" y="11" width="1" height="1" fill="#000000"/>
<rect x="10" y="11" width="1" height="1" fill="#000000"/>
<rect x="11" y="11" width="1" height="1" fill="#000000"/>
<rect x="13" y="11" width="1" height="1" fill="#000000"/>
<rect x="15" y="11" width="1" height="1" fill="#000000"/>
<rect x="16" y="11" width="1" height="1" fill="#000000"/>
<rect x="17" y="11" width="1" height="1" fill="#000000"/>
<rect x="18" y="11" width="1" height="1" fill="#000000"/>
<rect x="20" y="11" width="1" height="1" fill="#000000"/>
<rect x="0" y="12" width="1" height="1" fill="#000000"/>
<rect x="1" y="12" width="1" height="1" fill="#000000"/>
<rect x="6" y="12" width="1" height="1" fill="#000000"/>
<rect x="9" y="12" width="1" height="1" fill="#000000"/>
<rect x="11" y="12" width="1" height="1" fill="#000000"/>
<rect x="13" y="12" width="1" height="1" fill="#000000"/>
<rect x="14" y="12" width="1" height="1" fill="#000000"/>
<rect x="16" y="12" width="1" height="1" fill="#000000"/>
<rect x="8" y="13" width="1" height="1" fill="#000000"/>
<rect x="15" y="13" width="1" height="1" fill="#000000"/>
<rect x="16" y="13" width="1" height="1" fill="#000000"/>
<rect x="18" y="13" width="1" height="1" fill="#000000"/>
<rect x="19" y="13" width="1" height="1" fill="#000000"/>
<rect x="20" y="13" width="1" height="1" fill="#000000"/>
<rect x="0" y="14" width="1" height="1" fill="#000000"/>
<rect x="1" y="14" width="1" height="1" fill="#000000"/>
<rect x="2" y="14" width="1" height="1" fill="#000000"/>
<rect x="3" y="14" width="1" height="1" fill="#000000"/>
<rect x="4" y="14" width="1" height="1" fill="#000000"/>
<rect x="5" y="14" width="1" height="1" fill="#000000"/>
<rect x="6" y="14" width="1" height="1" fill="#000000"/>
<rect x="8" y="14" width="1" height="1" fill="#000000"/>
<rect x="11" y="14" width="1" height="1" fill="#000000"/>
<rect x="12" y="14" width="1" height="1" fill="#000000"/>
<rect x="14" y="14" width="1" height="1" fill="#000000"/>
<rect x="15" y="14" width="1" height="1" fill="#000000"/>
<rect x="17" y="14" width="1" height="1" fill="#000000"/>
<rect x="19" y="14" width="1" height="1" fill="#000000"/>
<rect x="0" y="15" width="1" height="1" fill="#000000"/>
<rect x="6" y="15" width="1" height="1" fill="#000000"/>
<rect x="12" y="15" width="1" height="1" fill="#000000"/>
<rect x="13" y="15" width="1" height="1" fill="#000000"/>
<rect x="15" y="15" width="1" height="1" fill="#000000"/>
<rect x="16" y="15" width="1" height="1" fill="#000000"/>
<rect x="17" y="15" width="1" height="1" fill="#000000"/>
<rect x="18" y="15" width="1" height="1" fill="#000000"/>
<rect x="19" y="15" width="1" height="1" fill="#000000"/>
<rect x="0" y="16" width="1" height="1" fill="#000000"/>
<rect x="2" y="16" width="1" height="1" fill="#000000"/>
<rect x="3" y="16" width="1" height="1" fill="#000000"/>
<rect x="4" y="16" width="1" height="1" fill="#000000"/>
<rect x="6" y="16" width="1" height="1" fill="#000000"/>
<rect x="8" y="16" width="1" height="1" fill="#000000"/>
<rect x="9" y="16" width="1" height="1" fill="#000000"/>
<rect x="10" y="16" width="1" height="1" fill="#000000"/>
<rect x="11" y="16" width="1" height="1" fill="#000000"/>
<rect x="12" y="16" width="1" height="1" fill="#000000"/>
<rect x="14" y="16" width="1" height="1" fill="#000000"/>
<rect x="15" y="16" width="1" height="1" fill="#000000"/>
<rect x="0" y="17" width="1" height="1" fill="#000000"/>
<rect x="2" y="17" width="1" height="1" fill="#000000"/>
<rect x="3" y="17" width="1" height="1" fill="#000000"/>
<rect x="4" y="17" width="1" height="1" fill="#000000"/>
<rect x="6" y="17" width="1" height="1" fill="#000000"/>
<rect x="8" y="17" width="1" height="1" fill="#000000"/>
<rect x="13" y="17" width="1" height="1" fill="#000000"/>
<rect x="15" y="17" width="1" height="1" fill="#000000"/>
<rect x="16" y="17" width="1" height="1" fill="#000000"/>
<rect x="17" y="17" width="1" height="1" fill="#000000"/>
<rect x="18" y="17" width="1" height="1" fill="#000000"/>
<rect x="19" y="17" width="1" height="1" fill="#000000"/>
<rect x="0" y="18" width="1" height="1" fill="#000000"/>
<rect x="2" y="18" width="1" height="1" fill="#000000"/>
<rect x="3" y="18" width="1" height="1" fill="#000000"/>
<rect x="4" y="18" width="1" height="1" fill="#000000"/>
<rect x="6" y="18" width="1" height="1" fill="#000000"/>
<rect x="8" y="18" width="1" height="1" fill="#000000"/>
<rect x="9" y="18" width="1" height="1" fill="#000000"/>
<rect x="10" y="18" width="1" height="1" fill="#000000"/>
<rect x="11" y="18" width="1" height="1" fill="#000000"/>
<rect x="12" y="18" width="1" height="1" fill="#000000"/>
<rect x="13" y="18" width="1" height="1" fill="#000000"/>
<rect x="14" y="18" width="1" height="1" fill="#000000"/>
<rect x="0" y="19" width="1" height="1" fill="#000000"/>
<rect x="6" y="19" width="1" height="1" fill="#000000"/>
<rect x="8" y="19" width="1" height="1" fill="#000000"/>
<rect x="9" y="19" width="1" height="1" fill="#000000"/>
<rect x="11" y="19" width="1" height="1" fill="#000000"/>
<rect x="15" y="19" width="1" height="1" fill="#000000"/>
<rect x="16" y="19" width="1" height="1" fill="#000000"/>
<rect x="17" y="19" width="1" height="1" fill="#000000"/>
<rect x="18" y="19" width="1" height="1" fill="#000000"/>
<rect x="0" y="20" width="1" height="1" fill="#000000"/>
<rect x="1" y="20" width="1" height="1" fill="#000000"/>
<rect x="2" y="20" width="1" height="1" fill="#000000"/>
<rect x="3" y="20" width="1" height="1" fill="#000000"/>
<rect x="4" y="20" width="1" height="1" fill="#000000"/>
<rect x="5" y="20" width="1" height="1" fill="#000000"/>
<rect x="6" y="20" width="1" height="1" fill="#000000"/>
<rect x="8" y="20" width="1" height="1" fill="#000000"/>
<rect x="11" y="20" width="1" height="1" fill="#000000"/>
<rect x="14" y="20" width="1" height="1" fill="#000000"/>
<rect x="16" y="20" width="1" height="1" fill="#000000"/>
<rect x="19" y="20" width="1" height="1" fill="#000000"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB