chore: continued redesign readme
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="1120" viewBox="0 0 860 1120">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="1120" viewBox="0 0 780 1120">
|
||||
<defs>
|
||||
<style>
|
||||
.cb { fill: none; stroke: #F39044; stroke-opacity: 0.22; stroke-width: 1; }
|
||||
@@ -9,107 +9,107 @@
|
||||
</defs>
|
||||
|
||||
<!-- R1C1: SSH Terminal Access y=0..130 -->
|
||||
<rect x="0" y="0" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="0" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="0" width="3" height="130" class="ca"/>
|
||||
<text x="18" y="22" class="ft">SSH Terminal Access</text>
|
||||
<text x="18" y="40" class="fb">Full-featured terminal with split-screen support (up to 4 panels)</text>
|
||||
<text x="18" y="55" class="fb">with a browser-like tab system. Includes support for customizing</text>
|
||||
<text x="18" y="70" class="fb">the terminal including common terminal themes, fonts, and other</text>
|
||||
<text x="18" y="85" class="fb">components.</text>
|
||||
<text x="16" y="22" class="ft">SSH Terminal Access</text>
|
||||
<text x="16" y="40" class="fb">Full-featured terminal with split-screen support (up to 4 panels)</text>
|
||||
<text x="16" y="55" class="fb">with a browser-like tab system. Includes support for customizing</text>
|
||||
<text x="16" y="70" class="fb">the terminal including common terminal themes, fonts, and other</text>
|
||||
<text x="16" y="85" class="fb">components.</text>
|
||||
|
||||
<!-- R1C2: Remote Desktop Access y=0..130 -->
|
||||
<rect x="442" y="0" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="442" y="0" width="3" height="130" class="ca"/>
|
||||
<text x="460" y="22" class="ft">Remote Desktop Access</text>
|
||||
<text x="460" y="40" class="fb">RDP, VNC, and Telnet support over the browser with complete</text>
|
||||
<text x="460" y="55" class="fb">customization and split screening.</text>
|
||||
<rect x="402" y="0" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="402" y="0" width="3" height="130" class="ca"/>
|
||||
<text x="418" y="22" class="ft">Remote Desktop Access</text>
|
||||
<text x="418" y="40" class="fb">RDP, VNC, and Telnet support over the browser with complete</text>
|
||||
<text x="418" y="55" class="fb">customization and split screening.</text>
|
||||
|
||||
<!-- R2C1: SSH Tunnel Management y=160..290 -->
|
||||
<rect x="0" y="160" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="160" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="160" width="3" height="130" class="ca"/>
|
||||
<text x="18" y="182" class="ft">SSH Tunnel Management</text>
|
||||
<text x="18" y="200" class="fb">Create and manage server-to-server SSH tunnels with automatic</text>
|
||||
<text x="18" y="215" class="fb">reconnection, health monitoring, and local, remote, or dynamic</text>
|
||||
<text x="18" y="230" class="fb">SOCKS forwarding. C2S preset snapshots can be saved, renamed,</text>
|
||||
<text x="18" y="245" class="fb">loaded, or deleted across clients.</text>
|
||||
<text x="16" y="182" class="ft">SSH Tunnel Management</text>
|
||||
<text x="16" y="200" class="fb">Create and manage server-to-server SSH tunnels with automatic</text>
|
||||
<text x="16" y="215" class="fb">reconnection, health monitoring, and local, remote, or dynamic</text>
|
||||
<text x="16" y="230" class="fb">SOCKS forwarding. C2S preset snapshots can be saved, renamed,</text>
|
||||
<text x="16" y="245" class="fb">loaded, or deleted across clients.</text>
|
||||
|
||||
<!-- R2C2: Remote File Manager y=160..290 -->
|
||||
<rect x="442" y="160" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="442" y="160" width="3" height="130" class="ca"/>
|
||||
<text x="460" y="182" class="ft">Remote File Manager</text>
|
||||
<text x="460" y="200" class="fb">Manage files directly on remote servers with support for viewing</text>
|
||||
<text x="460" y="215" class="fb">and editing code, images, audio, and video. Upload, download,</text>
|
||||
<text x="460" y="230" class="fb">rename, delete, and move files seamlessly with sudo support.</text>
|
||||
<rect x="402" y="160" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="402" y="160" width="3" height="130" class="ca"/>
|
||||
<text x="418" y="182" class="ft">Remote File Manager</text>
|
||||
<text x="418" y="200" class="fb">Manage files directly on remote servers with support for viewing</text>
|
||||
<text x="418" y="215" class="fb">and editing code, images, audio, and video. Upload, download,</text>
|
||||
<text x="418" y="230" class="fb">rename, delete, and move files seamlessly with sudo support.</text>
|
||||
|
||||
<!-- R3C1: Docker Management y=320..450 -->
|
||||
<rect x="0" y="320" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="320" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="320" width="3" height="130" class="ca"/>
|
||||
<text x="18" y="342" class="ft">Docker Management</text>
|
||||
<text x="18" y="360" class="fb">Start, stop, pause, remove containers. View container stats.</text>
|
||||
<text x="18" y="375" class="fb">Control containers using docker exec terminal. Not a replacement</text>
|
||||
<text x="18" y="390" class="fb">for Portainer or Dockge, built for managing, not creating.</text>
|
||||
<text x="16" y="342" class="ft">Docker Management</text>
|
||||
<text x="16" y="360" class="fb">Start, stop, pause, remove containers. View container stats.</text>
|
||||
<text x="16" y="375" class="fb">Control containers using docker exec terminal. Not a replacement</text>
|
||||
<text x="16" y="390" class="fb">for Portainer or Dockge, built for managing, not creating.</text>
|
||||
|
||||
<!-- R3C2: SSH Host Manager y=320..450 -->
|
||||
<rect x="442" y="320" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="442" y="320" width="3" height="130" class="ca"/>
|
||||
<text x="460" y="342" class="ft">SSH Host Manager</text>
|
||||
<text x="460" y="360" class="fb">Save, organize, and manage your SSH connections with tags and</text>
|
||||
<text x="460" y="375" class="fb">folders. Save reusable login info and automate the deployment</text>
|
||||
<text x="460" y="390" class="fb">of SSH keys.</text>
|
||||
<rect x="402" y="320" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="402" y="320" width="3" height="130" class="ca"/>
|
||||
<text x="418" y="342" class="ft">SSH Host Manager</text>
|
||||
<text x="418" y="360" class="fb">Save, organize, and manage your SSH connections with tags and</text>
|
||||
<text x="418" y="375" class="fb">folders. Save reusable login info and automate the deployment</text>
|
||||
<text x="418" y="390" class="fb">of SSH keys.</text>
|
||||
|
||||
<!-- R4C1: Server Stats y=480..610 -->
|
||||
<rect x="0" y="480" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="480" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="480" width="3" height="130" class="ca"/>
|
||||
<text x="18" y="502" class="ft">Server Stats</text>
|
||||
<text x="18" y="520" class="fb">View CPU, memory, and disk usage along with network, uptime,</text>
|
||||
<text x="18" y="535" class="fb">system information, firewall, and port monitor on most Linux</text>
|
||||
<text x="18" y="550" class="fb">based servers.</text>
|
||||
<text x="16" y="502" class="ft">Server Stats</text>
|
||||
<text x="16" y="520" class="fb">View CPU, memory, and disk usage along with network, uptime,</text>
|
||||
<text x="16" y="535" class="fb">system information, firewall, and port monitor on most Linux</text>
|
||||
<text x="16" y="550" class="fb">based servers.</text>
|
||||
|
||||
<!-- R4C2: User Authentication y=480..610 -->
|
||||
<rect x="442" y="480" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="442" y="480" width="3" height="130" class="ca"/>
|
||||
<text x="460" y="502" class="ft">User Authentication</text>
|
||||
<text x="460" y="520" class="fb">Secure user management with admin controls and OIDC (with</text>
|
||||
<text x="460" y="535" class="fb">access control) and 2FA (TOTP) support. View active sessions</text>
|
||||
<text x="460" y="550" class="fb">across all platforms and link OIDC/Local accounts together.</text>
|
||||
<rect x="402" y="480" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="402" y="480" width="3" height="130" class="ca"/>
|
||||
<text x="418" y="502" class="ft">User Authentication</text>
|
||||
<text x="418" y="520" class="fb">Secure user management with admin controls and OIDC (with</text>
|
||||
<text x="418" y="535" class="fb">access control) and 2FA (TOTP) support. View active sessions</text>
|
||||
<text x="418" y="550" class="fb">across all platforms and link OIDC/Local accounts together.</text>
|
||||
|
||||
<!-- R5C1: RBAC y=640..770 -->
|
||||
<rect x="0" y="640" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="640" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="640" width="3" height="130" class="ca"/>
|
||||
<text x="18" y="662" class="ft">RBAC</text>
|
||||
<text x="18" y="680" class="fb">Create roles and share hosts across users and roles.</text>
|
||||
<text x="16" y="662" class="ft">RBAC</text>
|
||||
<text x="16" y="680" class="fb">Create roles and share hosts across users and roles.</text>
|
||||
|
||||
<!-- R5C2: Database Encryption y=640..770 -->
|
||||
<rect x="442" y="640" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="442" y="640" width="3" height="130" class="ca"/>
|
||||
<text x="460" y="662" class="ft">Database Encryption</text>
|
||||
<text x="460" y="680" class="fb">Backend stored as encrypted SQLite database files.</text>
|
||||
<rect x="402" y="640" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="402" y="640" width="3" height="130" class="ca"/>
|
||||
<text x="418" y="662" class="ft">Database Encryption</text>
|
||||
<text x="418" y="680" class="fb">Backend stored as encrypted SQLite database files.</text>
|
||||
|
||||
<!-- R6C1: Network Graph y=800..930 -->
|
||||
<rect x="0" y="800" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="800" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="800" width="3" height="130" class="ca"/>
|
||||
<text x="18" y="822" class="ft">Network Graph</text>
|
||||
<text x="18" y="840" class="fb">Customize your Dashboard to visualize your homelab based off</text>
|
||||
<text x="18" y="855" class="fb">your SSH connections with status support.</text>
|
||||
<text x="16" y="822" class="ft">Network Graph</text>
|
||||
<text x="16" y="840" class="fb">Customize your Dashboard to visualize your homelab based off</text>
|
||||
<text x="16" y="855" class="fb">your SSH connections with status support.</text>
|
||||
|
||||
<!-- R6C2: SSH Tools y=800..930 -->
|
||||
<rect x="442" y="800" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="442" y="800" width="3" height="130" class="ca"/>
|
||||
<text x="460" y="822" class="ft">SSH Tools</text>
|
||||
<text x="460" y="840" class="fb">Create reusable command snippets that execute with a single</text>
|
||||
<text x="460" y="855" class="fb">click. Run one command simultaneously across multiple terminals.</text>
|
||||
<rect x="402" y="800" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="402" y="800" width="3" height="130" class="ca"/>
|
||||
<text x="418" y="822" class="ft">SSH Tools</text>
|
||||
<text x="418" y="840" class="fb">Create reusable command snippets that execute with a single</text>
|
||||
<text x="418" y="855" class="fb">click. Run one command simultaneously across multiple terminals.</text>
|
||||
|
||||
<!-- R7C1: Persistent Tabs y=960..1090 -->
|
||||
<rect x="0" y="960" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="960" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="960" width="3" height="130" class="ca"/>
|
||||
<text x="18" y="982" class="ft">Persistent Tabs</text>
|
||||
<text x="18" y="1000" class="fb">SSH sessions and tabs stay open across devices and refreshes</text>
|
||||
<text x="18" y="1015" class="fb">if enabled in user profile.</text>
|
||||
<text x="16" y="982" class="ft">Persistent Tabs</text>
|
||||
<text x="16" y="1000" class="fb">SSH sessions and tabs stay open across devices and refreshes</text>
|
||||
<text x="16" y="1015" class="fb">if enabled in user profile.</text>
|
||||
|
||||
<!-- R7C2: Languages y=960..1090 -->
|
||||
<rect x="442" y="960" width="418" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="442" y="960" width="3" height="130" class="ca"/>
|
||||
<text x="460" y="982" class="ft">Languages</text>
|
||||
<text x="460" y="1000" class="fb">Built-in support for ~30 languages, managed by Crowdin.</text>
|
||||
<rect x="402" y="960" width="378" height="130" fill="transparent" class="cb"/>
|
||||
<rect x="402" y="960" width="3" height="130" class="ca"/>
|
||||
<text x="418" y="982" class="ft">Languages</text>
|
||||
<text x="418" y="1000" class="fb">Built-in support for ~30 languages, managed by Crowdin.</text>
|
||||
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.2 KiB |
@@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Features</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 268 B After Width: | Height: | Size: 268 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Installation</text>
|
||||
<rect x="0" y="32" width="860" height="1" fill="#F39044" opacity="0.2"/>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.2"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 347 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">License</text>
|
||||
<rect x="0" y="32" width="860" height="1" fill="#F39044" opacity="0.2"/>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.2"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 342 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Overview</text>
|
||||
<rect x="0" y="32" width="860" height="1" fill="#F39044" opacity="0.2"/>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.2"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 343 B After Width: | Height: | Size: 343 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Planned Features</text>
|
||||
<rect x="0" y="32" width="860" height="1" fill="#F39044" opacity="0.2"/>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.2"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 351 B |
@@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Platform Support</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 276 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Screenshots</text>
|
||||
<rect x="0" y="32" width="860" height="1" fill="#F39044" opacity="0.2"/>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.2"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 346 B After Width: | Height: | Size: 346 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Sponsors</text>
|
||||
<rect x="0" y="32" width="860" height="1" fill="#F39044" opacity="0.2"/>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.2"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 343 B After Width: | Height: | Size: 343 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="36" viewBox="0 0 860 36">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="36" viewBox="0 0 780 36">
|
||||
<text x="0" y="24" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" font-weight="700" fill="#F39044">Support</text>
|
||||
<rect x="0" y="32" width="860" height="1" fill="#F39044" opacity="0.2"/>
|
||||
<rect x="0" y="32" width="780" height="1" fill="#F39044" opacity="0.2"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 342 B |
@@ -1,56 +1,56 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="860" height="220" viewBox="0 0 860 220">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="780" height="220" viewBox="0 0 780 220">
|
||||
<defs>
|
||||
<style>
|
||||
.card-border { fill: none; stroke: #F39044; stroke-opacity: 0.22; stroke-width: 1; }
|
||||
.card-accent { fill: #F39044; }
|
||||
.plat-name { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; fill: #F39044; }
|
||||
.plat-sub { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 11px; fill: #8b949e; }
|
||||
.plat-dist { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 11.5px; fill: #8b949e; }
|
||||
.cb { fill: none; stroke: #F39044; stroke-opacity: 0.22; stroke-width: 1; }
|
||||
.ca { fill: #F39044; }
|
||||
.pn { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; fill: #F39044; }
|
||||
.ps { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 11px; fill: #8b949e; }
|
||||
.pd { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; font-size: 11.5px; fill: #8b949e; }
|
||||
</style>
|
||||
</defs>
|
||||
|
||||
<!-- Row 1, Col 1: Web -->
|
||||
<rect x="0" y="0" width="272" height="100" fill="transparent" class="card-border"/>
|
||||
<rect x="0" y="0" width="272" height="3" class="card-accent"/>
|
||||
<text x="136" y="28" text-anchor="middle" class="plat-name">Web</text>
|
||||
<text x="136" y="50" text-anchor="middle" class="plat-dist">Any modern browser</text>
|
||||
<text x="136" y="66" text-anchor="middle" class="plat-dist">(Chrome, Safari, Firefox) · PWA</text>
|
||||
<!-- R1C1: Web y=0..100 -->
|
||||
<rect x="0" y="0" width="245" height="100" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="0" width="245" height="3" class="ca"/>
|
||||
<text x="122" y="28" text-anchor="middle" class="pn">Web</text>
|
||||
<text x="122" y="50" text-anchor="middle" class="pd">Any modern browser</text>
|
||||
<text x="122" y="66" text-anchor="middle" class="pd">(Chrome, Safari, Firefox) · PWA</text>
|
||||
|
||||
<!-- Row 1, Col 2: Windows -->
|
||||
<rect x="294" y="0" width="272" height="100" fill="transparent" class="card-border"/>
|
||||
<rect x="294" y="0" width="272" height="3" class="card-accent"/>
|
||||
<text x="430" y="24" text-anchor="middle" class="plat-name">Windows</text>
|
||||
<text x="430" y="40" text-anchor="middle" class="plat-sub">x64 / ia32</text>
|
||||
<text x="430" y="60" text-anchor="middle" class="plat-dist">Portable · MSI Installer</text>
|
||||
<text x="430" y="76" text-anchor="middle" class="plat-dist">Chocolatey</text>
|
||||
<!-- R1C2: Windows y=0..100 -->
|
||||
<rect x="267" y="0" width="245" height="100" fill="transparent" class="cb"/>
|
||||
<rect x="267" y="0" width="245" height="3" class="ca"/>
|
||||
<text x="389" y="24" text-anchor="middle" class="pn">Windows</text>
|
||||
<text x="389" y="40" text-anchor="middle" class="ps">x64 / ia32</text>
|
||||
<text x="389" y="60" text-anchor="middle" class="pd">Portable · MSI Installer</text>
|
||||
<text x="389" y="76" text-anchor="middle" class="pd">Chocolatey</text>
|
||||
|
||||
<!-- Row 1, Col 3: Linux -->
|
||||
<rect x="588" y="0" width="272" height="100" fill="transparent" class="card-border"/>
|
||||
<rect x="588" y="0" width="272" height="3" class="card-accent"/>
|
||||
<text x="724" y="24" text-anchor="middle" class="plat-name">Linux</text>
|
||||
<text x="724" y="40" text-anchor="middle" class="plat-sub">x64 / ia32</text>
|
||||
<text x="724" y="60" text-anchor="middle" class="plat-dist">Portable · AUR · AppImage</text>
|
||||
<text x="724" y="76" text-anchor="middle" class="plat-dist">Deb · Flatpak</text>
|
||||
<!-- R1C3: Linux y=0..100 -->
|
||||
<rect x="535" y="0" width="245" height="100" fill="transparent" class="cb"/>
|
||||
<rect x="535" y="0" width="245" height="3" class="ca"/>
|
||||
<text x="657" y="24" text-anchor="middle" class="pn">Linux</text>
|
||||
<text x="657" y="40" text-anchor="middle" class="ps">x64 / ia32</text>
|
||||
<text x="657" y="60" text-anchor="middle" class="pd">Portable · AUR · AppImage</text>
|
||||
<text x="657" y="76" text-anchor="middle" class="pd">Deb · Flatpak</text>
|
||||
|
||||
<!-- Row 2, Col 1: macOS -->
|
||||
<rect x="0" y="120" width="272" height="100" fill="transparent" class="card-border"/>
|
||||
<rect x="0" y="120" width="272" height="3" class="card-accent"/>
|
||||
<text x="136" y="144" text-anchor="middle" class="plat-name">macOS</text>
|
||||
<text x="136" y="160" text-anchor="middle" class="plat-sub">x64 / ia32 · v12.0+</text>
|
||||
<text x="136" y="180" text-anchor="middle" class="plat-dist">Apple App Store · DMG · Homebrew</text>
|
||||
<!-- R2C1: macOS y=120..220 -->
|
||||
<rect x="0" y="120" width="245" height="100" fill="transparent" class="cb"/>
|
||||
<rect x="0" y="120" width="245" height="3" class="ca"/>
|
||||
<text x="122" y="144" text-anchor="middle" class="pn">macOS</text>
|
||||
<text x="122" y="160" text-anchor="middle" class="ps">x64 / ia32 · v12.0+</text>
|
||||
<text x="122" y="180" text-anchor="middle" class="pd">Apple App Store · DMG · Homebrew</text>
|
||||
|
||||
<!-- Row 2, Col 2: iOS/iPadOS -->
|
||||
<rect x="294" y="120" width="272" height="100" fill="transparent" class="card-border"/>
|
||||
<rect x="294" y="120" width="272" height="3" class="card-accent"/>
|
||||
<text x="430" y="144" text-anchor="middle" class="plat-name">iOS / iPadOS</text>
|
||||
<text x="430" y="160" text-anchor="middle" class="plat-sub">v15.1+</text>
|
||||
<text x="430" y="180" text-anchor="middle" class="plat-dist">Apple App Store · IPA</text>
|
||||
<!-- R2C2: iOS/iPadOS y=120..220 -->
|
||||
<rect x="267" y="120" width="245" height="100" fill="transparent" class="cb"/>
|
||||
<rect x="267" y="120" width="245" height="3" class="ca"/>
|
||||
<text x="389" y="144" text-anchor="middle" class="pn">iOS / iPadOS</text>
|
||||
<text x="389" y="160" text-anchor="middle" class="ps">v15.1+</text>
|
||||
<text x="389" y="180" text-anchor="middle" class="pd">Apple App Store · IPA</text>
|
||||
|
||||
<!-- Row 2, Col 3: Android -->
|
||||
<rect x="588" y="120" width="272" height="100" fill="transparent" class="card-border"/>
|
||||
<rect x="588" y="120" width="272" height="3" class="card-accent"/>
|
||||
<text x="724" y="144" text-anchor="middle" class="plat-name">Android</text>
|
||||
<text x="724" y="160" text-anchor="middle" class="plat-sub">v7.0+</text>
|
||||
<text x="724" y="180" text-anchor="middle" class="plat-dist">Google Play Store · APK</text>
|
||||
<!-- R2C3: Android y=120..220 -->
|
||||
<rect x="535" y="120" width="245" height="100" fill="transparent" class="cb"/>
|
||||
<rect x="535" y="120" width="245" height="3" class="ca"/>
|
||||
<text x="657" y="144" text-anchor="middle" class="pn">Android</text>
|
||||
<text x="657" y="160" text-anchor="middle" class="ps">v7.0+</text>
|
||||
<text x="657" y="180" text-anchor="middle" class="pd">Google Play Store · APK</text>
|
||||
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.2 KiB |