Create a central webpage for projects and likewise

Change-Id: If5b218fcb7cd223029bccdfac5ee9ea4e86ddf38
Reviewed-on: https://git.clicks.codes/c/Coded/thecoded.prof/+/673
Reviewed-by: Samuel Shuert <coded@clicks.codes>
Tested-by: Samuel Shuert <coded@clicks.codes>
diff --git a/sites/main/public/favicon.svg b/sites/main/public/favicon.svg
new file mode 100644
index 0000000..86a5632
--- /dev/null
+++ b/sites/main/public/favicon.svg
@@ -0,0 +1,114 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="2048" xmlns="http://www.w3.org/2000/svg" height="2048"
+    id="screenshot-575c1a2e-27e8-80c7-8003-2584dd2a8ab9" viewBox="0 0 2048 2048"
+    style="-webkit-print-color-adjust: exact;" fill="none" version="1.1">
+    <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8ab9">
+        <defs>
+            <clipPath class="frame-clip-def frame-clip"
+                id="frame-clip-575c1a2e-27e8-80c7-8003-2584dd2a8ab9-rumext-id-1">
+                <rect rx="0" ry="0" x="0" y="0" width="2048" height="2048"
+                    transform="matrix(1.000000, 0.000000, -0.000000, 1.000000, 0.000022, -0.000022)" />
+            </clipPath>
+        </defs>
+        <g clip-path="url(#frame-clip-575c1a2e-27e8-80c7-8003-2584dd2a8ab9-rumext-id-1)" fill="none">
+            <clipPath class="frame-clip-def frame-clip"
+                id="frame-clip-575c1a2e-27e8-80c7-8003-2584dd2a8ab9-rumext-id-1">
+                <rect rx="0" ry="0" x="0" y="0" width="2048" height="2048"
+                    transform="matrix(1.000000, 0.000000, -0.000000, 1.000000, 0.000022, -0.000022)" />
+            </clipPath>
+            <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8ab9">
+                <rect rx="0" ry="0" x="0" y="0"
+                    transform="matrix(1.000000, 0.000000, -0.000000, 1.000000, 0.000022, -0.000022)" width="2048"
+                    height="2048" class="frame-background" />
+            </g>
+            <g class="frame-children">
+                <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8aba" rx="0" ry="0">
+                    <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8abb">
+                        <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8abb">
+                            <path rx="0" ry="0"
+                                d="M1024.000,714.000C1195.094,714.000,1334.000,852.906,1334.000,1024.000C1334.000,1195.094,1195.094,1334.000,1024.000,1334.000C852.906,1334.000,714.000,1195.094,714.000,1024.000C714.000,852.906,852.906,714.000,1024.000,714.000Z" />
+                        </g>
+                        <g id="strokes-575c1a2e-27e8-80c7-8003-2584dd2a8abb" class="strokes">
+                            <g class="inner-stroke-shape">
+                                <defs>
+                                    <clipPath id="inner-stroke-rumext-id-3-575c1a2e-27e8-80c7-8003-2584dd2a8abb-0">
+                                        <use href="#stroke-shape-rumext-id-3-575c1a2e-27e8-80c7-8003-2584dd2a8abb-0" />
+                                    </clipPath>
+                                    <path rx="0" ry="0"
+                                        d="M1024.000,714.000C1195.094,714.000,1334.000,852.906,1334.000,1024.000C1334.000,1195.094,1195.094,1334.000,1024.000,1334.000C852.906,1334.000,714.000,1195.094,714.000,1024.000C714.000,852.906,852.906,714.000,1024.000,714.000Z"
+                                        id="stroke-shape-rumext-id-3-575c1a2e-27e8-80c7-8003-2584dd2a8abb-0"
+                                        style="fill: none; stroke-width: 125; stroke: rgb(237, 197, 117); stroke-opacity: 1;" />
+                                </defs>
+                                <use href="#stroke-shape-rumext-id-3-575c1a2e-27e8-80c7-8003-2584dd2a8abb-0"
+                                    clip-path="url('#inner-stroke-rumext-id-3-575c1a2e-27e8-80c7-8003-2584dd2a8abb-0')" />
+                            </g>
+                        </g>
+                    </g>
+                    <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8abc" rx="0" ry="0">
+                        <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8abf">
+                            <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8abf">
+                                <ellipse rx="504.99999999999955" ry="505.00110958512687" cx="1024.0000248384572"
+                                    cy="1024.001124635316"
+                                    transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, -0.000000, 0.000000)" />
+                            </g>
+                        </g>
+                        <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8ac0">
+                            <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8ac0">
+                                <path rx="0" ry="0"
+                                    d="M1389.486,675.650C1475.910,766.293,1529.000,888.994,1529.000,1023.998C1529.000,1302.715,1302.717,1528.998,1024.000,1528.998C745.283,1528.998,519.000,1302.715,519.000,1023.998C519.000,888.994,572.090,766.293,658.514,675.650" />
+                            </g>
+                            <g id="strokes-575c1a2e-27e8-80c7-8003-2584dd2a8ac0" class="strokes">
+                                <g class="stroke-shape">
+                                    <path rx="0" ry="0"
+                                        d="M1389.486,675.650C1475.910,766.293,1529.000,888.994,1529.000,1023.998C1529.000,1302.715,1302.717,1528.998,1024.000,1528.998C745.283,1528.998,519.000,1302.715,519.000,1023.998C519.000,888.994,572.090,766.293,658.514,675.650"
+                                        style="fill: none; stroke-width: 75; stroke: rgb(237, 197, 117); stroke-opacity: 1;" />
+                                </g>
+                            </g>
+                        </g>
+                    </g>
+                    <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8abd" rx="0" ry="0">
+                        <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8ac1">
+                            <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8ac1">
+                                <ellipse rx="700" ry="700" cx="1024" cy="1024"
+                                    transform="matrix(1.000000, 0.000000, -0.000000, 1.000000, 0.000015, -0.000015)" />
+                            </g>
+                        </g>
+                        <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8ac2">
+                            <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8ac2">
+                                <path rx="0" ry="0"
+                                    d="M517.386,1506.376C397.591,1380.784,324.000,1210.772,324.000,1023.715C324.000,637.532,637.659,324.000,1024.000,324.000C1410.341,324.000,1724.000,637.532,1724.000,1023.715C1724.000,1210.772,1650.409,1380.784,1530.614,1506.376" />
+                            </g>
+                            <g id="strokes-575c1a2e-27e8-80c7-8003-2584dd2a8ac2" class="strokes">
+                                <g class="stroke-shape">
+                                    <path rx="0" ry="0"
+                                        d="M517.386,1506.376C397.591,1380.784,324.000,1210.772,324.000,1023.715C324.000,637.532,637.659,324.000,1024.000,324.000C1410.341,324.000,1724.000,637.532,1724.000,1023.715C1724.000,1210.772,1650.409,1380.784,1530.614,1506.376"
+                                        style="fill: none; stroke-width: 87.5; stroke: rgb(237, 197, 117); stroke-opacity: 1;" />
+                                </g>
+                            </g>
+                        </g>
+                    </g>
+                    <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8abe" rx="0" ry="0">
+                        <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8ac3">
+                            <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8ac3">
+                                <ellipse rx="895" ry="895" cx="1024" cy="1024"
+                                    transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" />
+                            </g>
+                        </g>
+                        <g id="shape-575c1a2e-27e8-80c7-8003-2584dd2a8ac4">
+                            <g class="fills" id="fills-575c1a2e-27e8-80c7-8003-2584dd2a8ac4">
+                                <path rx="0" ry="0"
+                                    d="M1671.742,407.240C1824.909,567.819,1919.000,785.192,1919.000,1024.359C1919.000,1518.123,1517.964,1918.997,1024.000,1918.997C530.036,1918.997,129.000,1518.123,129.000,1024.359C129.000,785.192,223.091,567.819,376.258,407.240" />
+                            </g>
+                            <g id="strokes-575c1a2e-27e8-80c7-8003-2584dd2a8ac4" class="strokes">
+                                <g class="stroke-shape">
+                                    <path rx="0" ry="0"
+                                        d="M1671.742,407.240C1824.909,567.819,1919.000,785.192,1919.000,1024.359C1919.000,1518.123,1517.964,1918.997,1024.000,1918.997C530.036,1918.997,129.000,1518.123,129.000,1024.359C129.000,785.192,223.091,567.819,376.258,407.240"
+                                        style="fill: none; stroke-width: 100; stroke: rgb(237, 197, 117); stroke-opacity: 1;" />
+                                </g>
+                            </g>
+                        </g>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file