opengraph stuff

This commit is contained in:
2026-02-24 21:47:36 +00:00
parent 05f0d0e8f7
commit e36908cb0b
61 changed files with 5870 additions and 178 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

-56
View File
@@ -1,56 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
<defs>
<filter id="shadow3d-favicon">
<feOffset dx="4" dy="4" in="SourceGraphic" result="offset1"/>
<feFlood flood-color="#14532D" flood-opacity="1" result="color1"/>
<feComposite in="color1" in2="offset1" operator="in" result="shadow1"/>
<feOffset dx="8" dy="8" in="SourceGraphic" result="offset2"/>
<feFlood flood-color="rgba(0,0,0,0.3)" flood-opacity="1" result="color2"/>
<feComposite in="color2" in2="offset2" operator="in" result="shadow2"/>
<feMerge>
<feMergeNode in="shadow2"/>
<feMergeNode in="shadow1"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<pattern id="gridPatternFavicon" patternUnits="userSpaceOnUse" width="12" height="12">
<rect width="12" height="12" fill="transparent"/>
<line x1="0" y1="0" x2="12" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
<line x1="0" y1="6" x2="12" y2="6" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
<line x1="0" y1="0" x2="0" y2="12" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
<line x1="6" y1="0" x2="6" y2="12" stroke="rgba(0,0,0,0.15)" stroke-width="1"/>
</pattern>
<mask id="textMaskFavicon">
<g transform="skewY(-2)">
<text x="256" y="310" text-anchor="middle" class="favicon-text" fill="white">O</text>
</g>
</mask>
<style>
.favicon-text {
font-family: system-ui, -apple-system, sans-serif;
font-size: 320px;
font-weight: 900;
fill: #F4C430;
stroke: #14532D;
stroke-width: 3;
paint-order: stroke fill;
}
</style>
</defs>
<!-- Background with rounded corners -->
<rect width="512" height="512" rx="64" fill="#E7D4B5"/>
<!-- Text content -->
<g transform="skewY(-2)">
<text x="256" y="310" text-anchor="middle" class="favicon-text" filter="url(#shadow3d-favicon)">O</text>
</g>
<!-- Grid pattern overlay on text -->
<rect x="0" y="0" width="512" height="512" fill="url(#gridPatternFavicon)" mask="url(#textMaskFavicon)"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

-49
View File
@@ -1,49 +0,0 @@
<svg width="500" height="540" viewBox="0 0 500 540" xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="shadow3d-officer-square">
<feOffset dx="6" dy="6" in="SourceGraphic" result="offset1"/>
<feFlood flood-color="#14532D" flood-opacity="1" result="color1"/>
<feComposite in="color1" in2="offset1" operator="in" result="shadow1"/>
<feOffset dx="12" dy="12" in="SourceGraphic" result="offset2"/>
<feFlood flood-color="rgba(0,0,0,0.3)" flood-opacity="1" result="color2"/>
<feComposite in="color2" in2="offset2" operator="in" result="shadow2"/>
<feMerge>
<feMergeNode in="shadow2"/>
<feMergeNode in="shadow1"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<pattern id="gridPatternOfficerSquare" patternUnits="userSpaceOnUse" width="20" height="20">
<rect width="20" height="20" fill="transparent"/>
<line x1="0" y1="0" x2="20" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
<line x1="0" y1="10" x2="20" y2="10" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
<line x1="0" y1="0" x2="0" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
<line x1="10" y1="0" x2="10" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
</pattern>
<mask id="textMaskOfficerSquare">
<text x="250" y="320" text-anchor="middle" class="officer-text-square" fill="white">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
</mask>
<style>
.officer-text-square {
font-family: system-ui, -apple-system, sans-serif;
font-size: 140px;
font-weight: 900;
fill: #F4C430;
stroke: #14532D;
stroke-width: 3;
paint-order: stroke fill;
letter-spacing: -2px;
text-transform: lowercase;
}
</style>
</defs>
<text x="250" y="320" text-anchor="middle" class="officer-text-square" filter="url(#shadow3d-officer-square)">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
<rect x="0" y="0" width="500" height="540" fill="url(#gridPatternOfficerSquare)" mask="url(#textMaskOfficerSquare)"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

-49
View File
@@ -1,49 +0,0 @@
<svg width="600" height="440" viewBox="-50 -20 600 440" xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="shadow3d-main-sq-officer">
<feOffset dx="6" dy="6" in="SourceGraphic" result="offset1"/>
<feFlood flood-color="#14532D" flood-opacity="1" result="color1"/>
<feComposite in="color1" in2="offset1" operator="in" result="shadow1"/>
<feOffset dx="12" dy="12" in="SourceGraphic" result="offset2"/>
<feFlood flood-color="rgba(0,0,0,0.3)" flood-opacity="1" result="color2"/>
<feComposite in="color2" in2="offset2" operator="in" result="shadow2"/>
<feMerge>
<feMergeNode in="shadow2"/>
<feMergeNode in="shadow1"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<pattern id="gridPatternSqOfficer" patternUnits="userSpaceOnUse" width="20" height="20">
<rect width="20" height="20" fill="transparent"/>
<line x1="0" y1="0" x2="20" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
<line x1="0" y1="10" x2="20" y2="10" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
<line x1="0" y1="0" x2="0" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
<line x1="10" y1="0" x2="10" y2="20" stroke="rgba(0,0,0,0.15)" stroke-width="1.5"/>
</pattern>
<mask id="textMaskSqOfficer">
<text x="300" y="250" text-anchor="middle" class="officer-text-main-sq" fill="white">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
</mask>
<style>
.officer-text-main-sq {
font-family: system-ui, -apple-system, sans-serif;
font-size: 140px;
font-weight: 900;
fill: #F4C430;
stroke: #14532D;
stroke-width: 3;
paint-order: stroke fill;
letter-spacing: -2px;
text-transform: lowercase;
}
</style>
</defs>
<text x="300" y="250" text-anchor="middle" class="officer-text-main-sq" filter="url(#shadow3d-main-sq-officer)">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer</tspan></text>
<rect x="0" y="0" width="500" height="420" fill="url(#gridPatternSqOfficer)" mask="url(#textMaskSqOfficer)"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

+2 -2
View File
@@ -25,7 +25,7 @@
</pattern>
<mask id="textMaskOfficer">
<text x="580" y="220" text-anchor="middle" class="officer-text-main" fill="white">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer.dev</tspan></text>
<text x="580" y="220" text-anchor="middle" class="officer-text-main" fill="white">o<tspan dx="6" dy="30" letter-spacing="14">ff</tspan><tspan dx="-2" dy="-30">icer.dev</tspan></text>
</mask>
<style>
@@ -43,7 +43,7 @@
</style>
</defs>
<text x="580" y="220" text-anchor="middle" class="officer-text-main" filter="url(#shadow3d-main-officer)">o<tspan dx="6" dy="30" letter-spacing="7">ff</tspan><tspan dx="-2" dy="-30">icer.dev</tspan></text>
<text x="580" y="220" text-anchor="middle" class="officer-text-main" filter="url(#shadow3d-main-officer)">o<tspan dx="6" dy="30" letter-spacing="14">ff</tspan><tspan dx="-2" dy="-30">icer.dev</tspan></text>
<rect x="0" y="0" width="1160" height="300" fill="url(#gridPatternOfficer)" mask="url(#textMaskOfficer)"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 KiB

+1 -1
View File
@@ -1 +1 @@
{"name":"Rubber Duck Software","short_name":"pastilhas","icons":[{"src":"/static/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/static/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
{"name":"Officer Dev","short_name":"Officer","icons":[{"src":"https://static.officerdev.com/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"https://static.officerdev.com/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#1F2620","background_color":"#1F2620","display":"standalone"}