Initial commit
Test / test (push) Successful in 7m5s
Release / gates (push) Successful in 7m28s
Release / build (amd64, freebsd) (push) Successful in 2m52s
Release / build (amd64, linux) (push) Successful in 2m46s
Release / build (arm64, freebsd) (push) Successful in 2m22s
Release / build (arm64, linux) (push) Successful in 2m38s
Release / build (loong64, linux) (push) Successful in 2m7s
Release / build (riscv64, linux) (push) Successful in 2m17s
Release / release (push) Successful in 1m0s

Assisted-by: GLM 5.3
This commit is contained in:
2026-09-29 10:03:32 +02:00
commit f8ed33df83
206 changed files with 44165 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+331
View File
@@ -0,0 +1,331 @@
/* Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0 */
/* Ubuntu and Ubuntu Mono, self-hosted from the same subsets the author's
website carries: latin and latin-ext only, which is all Czech and English
need, and the unicode-range keeps a page from downloading a face it does
not render. Licence: Ubuntu Font Licence 1.0. */
@font-face {
font-family: "Ubuntu";
font-style: italic;
font-weight: 400;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-italic-400-latin-ext.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu";
font-style: italic;
font-weight: 400;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-italic-400-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-normal-400-latin-ext.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-normal-400-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-normal-500-latin-ext.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-normal-500-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-normal-700-latin-ext.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-normal-700-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-mono-normal-400-latin-ext.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-mono-normal-400-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-mono-normal-700-latin-ext.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("/admin/assets/fonts/ubuntu-mono-normal-700-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
+104
View File
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org) -->
<!-- SPDX-License-Identifier: CC-BY-NC-4.0 -->
<svg xmlns="http://www.w3.org/2000/svg">
<title>Graphis, the house frontend icon set</title>
<desc>Stroke-only interface glyphs drawn in one hand style, geometry without presentation attributes, the look carried by the consuming sheet.</desc>
<symbol id="menu" viewBox="0 0 24 24"><path d="M3.5 7h17M3.5 12h17M3.5 17h17"/></symbol>
<symbol id="chevron-up" viewBox="0 0 24 24"><path d="M6.5 14.5 12 9l5.5 5.5"/></symbol>
<symbol id="chevron-down" viewBox="0 0 24 24"><path d="M6.5 9.5 12 15l5.5-5.5"/></symbol>
<symbol id="arrow-right" viewBox="0 0 24 24"><path d="M4.5 12h15M13 5.5 19.5 12 13 18.5"/></symbol>
<symbol id="arrow-up" viewBox="0 0 24 24"><path d="M12 19.5V5M5.5 11.5 12 5l6.5 6.5"/></symbol>
<symbol id="sort" viewBox="0 0 24 24"><path d="M4.5 9.5h15l-3.5-3.5M19.5 14.5h-15l3.5 3.5"/></symbol>
<symbol id="external-link" viewBox="0 0 24 24"><path d="M13.5 4.5h6v6M19.5 4.5 11 13M19.5 13v5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 5.5 18V7A1.5 1.5 0 0 1 7 5.5h6"/></symbol>
<symbol id="link" viewBox="0 0 24 24"><path d="M10.5 13.5a3.54 3.54 0 0 0 5 0l3-3a3.54 3.54 0 0 0-5-5l-1.5 1.5M13.5 10.5a3.54 3.54 0 0 0-5 0l-3 3a3.54 3.54 0 0 0 5 5l1.5-1.5"/></symbol>
<symbol id="code" viewBox="0 0 24 24"><path d="M8 5l-5 7 5 7M16 5l5 7-5 7"/></symbol>
<symbol id="sidebar" viewBox="0 0 24 24"><rect x="3.5" y="4.5" width="17" height="15" rx="2"/><path d="M10 4.5v15M15.5 9 13 12l2.5 3"/></symbol>
<symbol id="log-in" viewBox="0 0 24 24"><path d="M15 4.5h3A1.5 1.5 0 0 1 19.5 6v12a1.5 1.5 0 0 1-1.5 1.5h-3"/><path d="M8.5 8.5 12.5 12l-4 3.5M12.5 12H3"/></symbol>
<symbol id="log-out" viewBox="0 0 24 24"><path d="M9 4.5H6A1.5 1.5 0 0 0 4.5 6v12A1.5 1.5 0 0 0 6 19.5h3"/><path d="M15.5 8.5 19.5 12l-4 3.5M19.5 12H9.5"/></symbol>
<symbol id="chart" viewBox="0 0 24 24"><path d="M4 19.5V4.5M4 19.5h16"/><path d="M7.5 15.5l4-5 3 2.5 4.5-6"/></symbol>
<symbol id="activity" viewBox="0 0 24 24"><path d="M3.5 12h4l3-7 4 14 3-7h3"/></symbol>
<symbol id="gauge" viewBox="0 0 24 24"><path d="M4.5 17.5a8.5 8.5 0 1 1 15 0M12.9 12.6 16 8M12 14h.01"/></symbol>
<symbol id="target" viewBox="0 0 24 24"><circle cx="12" cy="12" r="3"/><circle cx="12" cy="12" r="9"/><path d="M12 3v2M12 19v2M3 12h2M19 12h2"/></symbol>
<symbol id="file" viewBox="0 0 24 24"><path d="M6 3.5h9L19.5 8v12.5H6V3.5z"/><path d="M14.5 3.5V8h5"/></symbol>
<symbol id="file-text" viewBox="0 0 24 24"><path d="M6 3.5h9L19.5 8v12.5H6V3.5z"/><path d="M14.5 3.5V8h5M9 12.5h6.5M9 16h6.5"/></symbol>
<symbol id="file-check" viewBox="0 0 24 24"><path d="M6 3.5h9L19.5 8v12.5H6V3.5z"/><path d="M14.5 3.5V8h5"/><path d="M9 13.5l2 2 4-4"/></symbol>
<symbol id="image" viewBox="0 0 24 24"><rect x="3.5" y="4.5" width="17" height="15" rx="2"/><circle cx="8.75" cy="9.75" r="1.5"/><path d="M20.5 15.5l-4.5-4.5-9 9"/></symbol>
<symbol id="copy" viewBox="0 0 24 24"><rect x="8.5" y="8.5" width="12" height="12" rx="2"/><path d="M15.5 8.5V5.5a1 1 0 0 0-1-1h-9a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1H8.5"/></symbol>
<symbol id="save" viewBox="0 0 24 24"><path d="M4.5 4.5h11l4 4v11h-15V4.5zM8.5 4.5v5h7v-5M8.5 19.5v-6h7v6"/></symbol>
<symbol id="upload" viewBox="0 0 24 24"><path d="M12 3.5V14.5M7 8.5l5-5 5 5"/><path d="M19.5 15v4.5h-15V15"/></symbol>
<symbol id="download" viewBox="0 0 24 24"><path d="M12 3.5V14.5M7 9.5l5 5 5-5"/><path d="M19.5 15v4.5h-15V15"/></symbol>
<symbol id="trash" viewBox="0 0 24 24"><path d="M4.5 7h15M9.5 7V4.5h5V7"/><path d="M6.5 7l1 13h9l1-13"/><path d="M10.5 10.5v6M13.5 10.5v6"/></symbol>
<symbol id="box" viewBox="0 0 24 24"><path d="M12 3.5l7.5 4v9l-7.5 4-7.5-4v-9z"/><path d="M4.5 7.5l7.5 4 7.5-4M12 11.5v9"/></symbol>
<symbol id="plus" viewBox="0 0 24 24"><path d="M12 5.5v13M5.5 12h13"/></symbol>
<symbol id="check" viewBox="0 0 24 24"><path d="M5 12.5l4.5 4.5L19 6.5"/></symbol>
<symbol id="x" viewBox="0 0 24 24"><path d="M6.5 6.5l11 11M17.5 6.5l-11 11"/></symbol>
<symbol id="search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="6.5"/><path d="M15.6 15.6 20 20"/></symbol>
<symbol id="eye" viewBox="0 0 24 24"><path d="M3 12s3.5-6.5 9-6.5 9 6.5 9 6.5-3.5 6.5-9 6.5-9-6.5-9-6.5z"/><circle cx="12" cy="12" r="3"/></symbol>
<symbol id="settings" viewBox="0 0 24 24"><path d="M4.5 8.5h7M15.5 8.5h4M4.5 15.5h4M12.5 15.5h7"/><circle cx="13.5" cy="8.5" r="2"/><circle cx="8.5" cy="15.5" r="2"/></symbol>
<symbol id="clock" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5V12l3.5 2"/></symbol>
<symbol id="history" viewBox="0 0 24 24"><path d="M12 7.5V12l3.5 2"/><path d="M19.6 16.2A8.5 8.5 0 1 1 12 3.5a8.5 8.5 0 0 1 8.2 6.2"/><path d="M20 9.7h-4M20 9.7V5.7"/></symbol>
<symbol id="refresh" viewBox="0 0 24 24"><path d="M19.5 12a7.5 7.5 0 1 1-2.2-5.3"/><path d="M17.5 3.5V7h-3.5"/></symbol>
<symbol id="sync" viewBox="0 0 24 24"><path d="M19.5 10a7.7 7.7 0 0 0-14.6-2M4.9 4.6V8h3.4M4.5 14a7.7 7.7 0 0 0 14.6 2M19.1 19.4V16h-3.4"/></symbol>
<symbol id="repeat" viewBox="0 0 24 24"><path d="M4.5 8.5h13M14.5 4.5l4 4-4 4M19.5 15.5h-13M9.5 11.5l-4 4 4 4"/></symbol>
<symbol id="compare" viewBox="0 0 24 24"><path d="M8.5 4.5v15M5 16l3.5 3.5L12 16M15.5 19.5v-15M12 8l3.5-3.5L19 8"/></symbol>
<symbol id="user" viewBox="0 0 24 24"><circle cx="12" cy="8" r="3.5"/><path d="M5.5 19.5a6.5 6.5 0 0 1 13 0"/></symbol>
<symbol id="users" viewBox="0 0 24 24"><circle cx="9.5" cy="8" r="3.5"/><path d="M3.5 19.5a6 6 0 0 1 12 0"/><path d="M16 5.5a3.5 3.5 0 0 1 0 5M17.5 14.5a6 6 0 0 1 3 5"/></symbol>
<symbol id="lock" viewBox="0 0 24 24"><rect x="4.5" y="10.5" width="15" height="9.5" rx="2"/><path d="M8 10.5V7.5a4 4 0 0 1 8 0v3"/></symbol>
<symbol id="shield" viewBox="0 0 24 24"><path d="M12 3.5l7.5 3.5v5c0 4.5-3.2 7.5-7.5 8.5-4.3-1-7.5-4-7.5-8.5v-5L12 3.5z"/><path d="M9 12l2.2 2.2L15.5 9.7"/></symbol>
<symbol id="alert-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5v5M12 16.5h.01"/></symbol>
<symbol id="alert-triangle" viewBox="0 0 24 24"><path d="M12 4.5 21 19.5H3z"/><path d="M12 10v4M12 17h.01"/></symbol>
<symbol id="check-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.5"/><path d="M8.5 12.25 11 14.75l4.75-5.25"/></symbol>
<symbol id="plus-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.5"/><path d="M12 8.5v7M8.5 12h7"/></symbol>
<symbol id="sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4.3"/><path d="M12 2.4v2.3M12 19.3v2.3M4.2 4.2l1.6 1.6M18.2 18.2l1.6 1.6M2.4 12h2.3M19.3 12h2.3M4.2 19.8l1.6-1.6M18.2 5.8l1.6-1.6"/></symbol>
<symbol id="moon" viewBox="0 0 24 24"><path d="M20.5 13.4A8.8 8.8 0 0 1 10.6 3.5a8.8 8.8 0 1 0 9.9 9.9z"/></symbol>
<symbol id="monitor" viewBox="0 0 24 24"><rect x="3.5" y="4.5" width="17" height="12" rx="2"/><path d="M9 20.5h6M12 16.5v4"/></symbol>
<symbol id="droplet" viewBox="0 0 24 24"><path d="M12 3s6 6.6 6 11a6 6 0 0 1-12 0c0-4.4 6-11 6-11z"/></symbol>
<symbol id="type" viewBox="0 0 24 24"><path d="M5.5 6.5v-2h13v2M12 4.5v15M8.5 19.5h7"/></symbol>
<symbol id="keyboard" viewBox="0 0 24 24"><rect x="3" y="6.5" width="18" height="11" rx="2"/><path d="M7 10h.01M11 10h.01M15 10h.01M17 10h.01M7 13.5h10"/></symbol>
<symbol id="chevron-left" viewBox="0 0 24 24"><path d="M14.5 6.5 9 12l5.5 5.5"/></symbol>
<symbol id="chevron-right" viewBox="0 0 24 24"><path d="M9.5 6.5 15 12l-5.5 5.5"/></symbol>
<symbol id="calendar" viewBox="0 0 24 24"><rect x="3.5" y="5.5" width="17" height="15" rx="2"/><path d="M8 3.5v4M16 3.5v4M3.5 10.5h17"/></symbol>
<symbol id="key" viewBox="0 0 24 24"><circle cx="15.5" cy="8.5" r="4.5"/><path d="M12.35 11.65 4.5 19.5M7 17l2 2M9.75 14.25l2 2"/></symbol>
<symbol id="server" viewBox="0 0 24 24"><rect x="3.5" y="4.5" width="17" height="6.5" rx="1.5"/><rect x="3.5" y="13" width="17" height="6.5" rx="1.5"/><path d="M7 7.75h.01M7 16.25h.01M16 7.75h2M16 16.25h2"/></symbol>
<symbol id="cpu" viewBox="0 0 24 24"><rect x="6.5" y="6.5" width="11" height="11" rx="2"/><rect x="10" y="10" width="4" height="4"/><path d="M9.5 4v2.5M14.5 4v2.5M9.5 17.5V20M14.5 17.5V20M4 9.5h2.5M4 14.5h2.5M17.5 9.5H20M17.5 14.5H20"/></symbol>
<symbol id="browser" viewBox="0 0 24 24"><rect x="3.5" y="4.5" width="17" height="15" rx="2"/><path d="M3.5 8.5h17"/><path d="M6.5 6.5h.01M9 6.5h.01M11.5 6.5h.01"/></symbol>
<symbol id="compass" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.5"/><path d="M15.5 8.5l-2.1 4.9-4.9 2.1 2.1-4.9z"/></symbol>
<symbol id="play" viewBox="0 0 24 24"><path d="M8.5 5.5v13l10-6.5z"/></symbol>
<symbol id="arrow-left" viewBox="0 0 24 24"><path d="M19.5 12h-15M11 5.5 4.5 12 11 18.5"/></symbol>
<symbol id="info-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.5"/><path d="M12 11v5M12 8h.01"/></symbol>
<symbol id="globe" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.5"/><path d="M3.5 12h17"/><path d="M12 3.5c2.5 2.3 3.9 5.2 3.9 8.5S14.5 18.2 12 20.5c-2.5-2.3-3.9-5.2-3.9-8.5S9.5 5.8 12 3.5z"/></symbol>
<symbol id="unlock" viewBox="0 0 24 24"><rect x="4.5" y="10.5" width="15" height="9.5" rx="2"/><path d="M8 10.5V7.5a4 4 0 0 1 7.7-1.5"/></symbol>
<symbol id="table" viewBox="0 0 24 24"><rect x="3.5" y="4.5" width="17" height="15" rx="2"/><path d="M3.5 9.5h17M3.5 14.5h17M9 9.5v10"/></symbol>
<symbol id="star" viewBox="0 0 24 24"><path d="M12 3.5l2.5 5.1 5.6.8-4.1 4 1 5.6-5-2.7-5 2.7 1-5.6-4.1-4 5.6-.8z"/></symbol>
<symbol id="music" viewBox="0 0 24 24"><path d="M9 17.5V6l9-2v11.5"/><circle cx="6.5" cy="17.5" r="2.5"/><circle cx="15.5" cy="15.5" r="2.5"/></symbol>
<symbol id="database" viewBox="0 0 24 24"><path d="M20 6c0 1.7-3.6 3-8 3S4 7.7 4 6s3.6-3 8-3 8 1.3 8 3z"/><path d="M4 6v6c0 1.7 3.6 3 8 3s8-1.3 8-3V6"/><path d="M4 12v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6"/></symbol>
<symbol id="file-import" viewBox="0 0 24 24"><path d="M6 3.5h9L19.5 8v12.5H6V3.5z"/><path d="M14.5 3.5V8h5"/><path d="M12 11v4.5M9.75 13.25 12 15.5l2.25-2.25"/></symbol>
<symbol id="merge" viewBox="0 0 24 24"><circle cx="17.5" cy="6.5" r="2.5"/><circle cx="17.5" cy="17.5" r="2.5"/><circle cx="6.5" cy="12" r="2.5"/><path d="M15.4 7.8C11 9 9.6 10.4 9 12M15.4 16.2C11 15 9.6 13.6 9 12"/></symbol>
<symbol id="trophy" viewBox="0 0 24 24"><path d="M8 4.5h8v4a4 4 0 0 1-8 0z"/><path d="M8 5.5H5a3 3 0 0 0 3 5M16 5.5h3a3 3 0 0 1-3 5"/><path d="M12 12.5v3.5M8.5 19.5h7M10 16h4l1 3.5h-6z"/></symbol>
<symbol id="medal" viewBox="0 0 24 24"><circle cx="12" cy="15" r="5"/><path d="M9.3 10.8 6.5 4h3.6l2 3.8L14 4h3.6l-2.8 6.8"/></symbol>
<symbol id="gamepad" viewBox="0 0 24 24"><path d="M7 8.5h10a4 4 0 0 1 4 4.3l-.4 3a2.2 2.2 0 0 1-3.9 1.1L15.3 15H8.7l-1.4 1.9a2.2 2.2 0 0 1-3.9-1.1l-.4-3A4 4 0 0 1 7 8.5z"/><path d="M7.5 11.5v2.5M6.25 12.75h2.5"/><path d="M15.5 12h.01M17.75 14h.01"/></symbol>
<symbol id="home" viewBox="0 0 24 24"><path d="m4.5 10.5 7.5-6.5 7.5 6.5V19a1.5 1.5 0 0 1-1.5 1.5H6A1.5 1.5 0 0 1 4.5 19z"/><path d="M10 20.5V14h4v6.5"/></symbol>
<symbol id="pause" viewBox="0 0 24 24"><path d="M9.5 5v14M14.5 5v14"/></symbol>
<symbol id="volume" viewBox="0 0 24 24"><path d="M4.5 9.5H8l4-4v13l-4-4H4.5z"/><path d="M15.5 9.75a3.4 3.4 0 0 1 0 4.5M18 7a7 7 0 0 1 0 10"/></symbol>
<symbol id="fast-forward" viewBox="0 0 24 24"><path d="m4.5 6.5 6.5 5.5-6.5 5.5zM12.5 6.5 19 12l-6.5 5.5z"/></symbol>
<symbol id="fire" viewBox="0 0 24 24"><path d="M12 3.5c2.5 3 4 5 4 7.5 0 1.2-.5 2.2-1.2 3 .1-1.3-.6-2.6-1.8-3.4.2 2.4-1 3.4-2.2 4.4C9.4 12.6 9 11 9 9.5c-1.2 1.2-2 2.9-2 4.5A5 5 0 0 0 12 20.5a5 5 0 0 0 5-5c0-4-3-6.5-5-8.5z"/></symbol>
<symbol id="bolt" viewBox="0 0 24 24"><path d="M13.5 3.5 6 13h4.5l-1 7.5L18 11h-4.5z"/></symbol>
<symbol id="pencil" viewBox="0 0 24 24"><path d="M14.5 5.5l4 4L8 20.5H3.5V16z"/><path d="M12.5 7.5l4 4M3.5 16l4.5 4.5"/></symbol>
<symbol id="filter" viewBox="0 0 24 24"><path d="M3.5 5h17l-6.5 7.5v6L10 20.5v-8z"/></symbol>
<symbol id="tag" viewBox="0 0 24 24"><path d="M4.5 4.5H12l7.5 7.5a2 2 0 0 1 0 2.8l-4.7 4.7a2 2 0 0 1-2.8 0L4.5 12z"/><path d="M8.5 8.5h.01"/></symbol>
<symbol id="hyperspace" viewBox="0 0 24 24"><path d="M13 4.5 19.5 12 13 19.5 6.5 12z"/><path d="M4.5 9.5H2M5.5 14.5H2"/></symbol>
<symbol id="hold" viewBox="0 0 24 24"><path d="M6 4.5v15M18 4.5v15"/><rect x="9.5" y="10" width="5" height="4"/></symbol>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org) -->
<!-- SPDX-License-Identifier: CC-BY-NC-4.0 -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512" role="img" aria-labelledby="title desc">
<title id="title">Volumen, a lightweight publishing platform for scientists</title>
<desc id="desc">An open volume, two white pages carrying indigo text lines and tilted apart from an indigo spine, an amber bookmark hanging from the spine, on an indigo badge.</desc>
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#818CF8"/>
<stop offset="1" stop-color="#312E81"/>
</linearGradient>
<radialGradient id="halo" cx="0.5" cy="0.5" r="0.5">
<stop offset="0" stop-color="#EEF2FF" stop-opacity="0.12"/>
<stop offset="0.6" stop-color="#EEF2FF" stop-opacity="0.04"/>
<stop offset="1" stop-color="#EEF2FF" stop-opacity="0"/>
</radialGradient>
<filter id="shadowBook" x="-40%" y="-40%" width="180%" height="180%">
<feDropShadow dx="0" dy="9" stdDeviation="11" flood-color="#1E1B4B" flood-opacity="0.45"/>
</filter>
</defs>
<rect width="512" height="512" rx="112" fill="url(#bg)"/>
<rect x="1.5" y="1.5" width="509" height="509" rx="110.5" fill="none" stroke="#A5B4FC" stroke-width="3" opacity="0.5"/>
<circle cx="256" cy="256" r="225" fill="url(#halo)"/>
<g filter="url(#shadowBook)">
<g transform="rotate(-6 190 270)">
<rect x="126" y="172" width="128" height="196" rx="14" fill="#FFFFFF"/>
<g fill="#312E81">
<rect x="146" y="204" width="92" height="12" rx="6"/>
<rect x="146" y="232" width="92" height="12" rx="6"/>
<rect x="146" y="260" width="64" height="12" rx="6"/>
</g>
</g>
<g transform="rotate(6 322 270)">
<rect x="258" y="172" width="128" height="196" rx="14" fill="#FFFFFF"/>
<g fill="#312E81">
<rect x="274" y="204" width="92" height="12" rx="6"/>
<rect x="274" y="232" width="92" height="12" rx="6"/>
<rect x="302" y="260" width="64" height="12" rx="6"/>
</g>
</g>
<rect x="247" y="178" width="18" height="180" rx="9" fill="#312E81"/>
<path d="M236 164 H276 V248 L256 228 L236 248 Z" fill="#FCD34D"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB