Merge commit '49190feab6268d64bbb16e332f53d2a66f387d14' as 'Website'

This commit is contained in:
TypeFlu
2025-09-04 15:07:40 +05:30
53 changed files with 4299 additions and 0 deletions

View File

@@ -0,0 +1,192 @@
/* .vitepress/theme/style/custom-block.css */
/* 深浅色卡 */
:root {
--custom-block-info-left: #cccccc;
--custom-block-info-bg: #fafafa;
--custom-block-tip-left: #009400;
--custom-block-tip-bg: #e6f6e6;
--custom-block-warning-left: #e6a700;
--custom-block-warning-bg: #fff8e6;
--custom-block-danger-left: #e13238;
--custom-block-danger-bg: #ffebec;
--custom-block-note-left: #4cb3d4;
--custom-block-note-bg: #eef9fd;
--custom-block-important-left: #a371f7;
--custom-block-important-bg: #f4eefe;
--custom-block-caution-left: #e0575b;
--custom-block-caution-bg: #fde4e8;
}
.dark {
--custom-block-info-left: #cccccc;
--custom-block-info-bg: #474748;
--custom-block-tip-left: #009400;
--custom-block-tip-bg: #003100;
--custom-block-warning-left: #e6a700;
--custom-block-warning-bg: #4d3800;
--custom-block-danger-left: #e13238;
--custom-block-danger-bg: #4b1113;
--custom-block-note-left: #4cb3d4;
--custom-block-note-bg: #193c47;
--custom-block-important-left: #a371f7;
--custom-block-important-bg: #230555;
--custom-block-caution-left: #e0575b;
--custom-block-caution-bg: #391c22;
}
/* 标题字体大小 */
.custom-block-title {
font-size: 16px;
}
/* info容器:背景色、左侧 */
.custom-block.info {
border-left: 5px solid var(--custom-block-info-left);
background-color: var(--custom-block-info-bg);
}
/* info容器:svg图 */
.custom-block.info [class*='custom-block-title']::before {
content: '';
background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E");
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
position: relative;
margin-right: 4px;
left: -5px;
top: -1px;
}
/* 提示容器:边框色、背景色、左侧 */
.custom-block.tip {
/* border-color: var(--custom-block-tip); */
border-left: 5px solid var(--custom-block-tip-left);
background-color: var(--custom-block-tip-bg);
}
/* 提示容器:svg图 */
.custom-block.tip [class*='custom-block-title']::before {
content: '';
background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E");
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
position: relative;
margin-right: 4px;
left: -5px;
top: -2px;
}
/* 警告容器:背景色、左侧 */
.custom-block.warning {
border-left: 5px solid var(--custom-block-warning-left);
background-color: var(--custom-block-warning-bg);
}
/* 警告容器:svg图 */
.custom-block.warning [class*='custom-block-title']::before {
content: '';
background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E");
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
position: relative;
margin-right: 4px;
left: -5px;
}
/* 危险容器:背景色、左侧 */
.custom-block.danger {
border-left: 5px solid var(--custom-block-danger-left);
background-color: var(--custom-block-danger-bg);
}
/* 危险容器:svg图 */
.custom-block.danger [class*='custom-block-title']::before {
content: '';
background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E");
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
position: relative;
margin-right: 4px;
left: -5px;
top: -1px;
}
/* 提醒容器:背景色、左侧 */
.custom-block.note {
border-left: 5px solid var(--custom-block-note-left);
background-color: var(--custom-block-note-bg);
}
/* 提醒容器:svg图 */
.custom-block.note [class*='custom-block-title']::before {
content: '';
background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E");
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
position: relative;
margin-right: 4px;
left: -5px;
top: -1px;
}
/* 重要容器:背景色、左侧 */
.custom-block.important {
border-left: 5px solid var(--custom-block-important-left);
background-color: var(--custom-block-important-bg);
}
/* 重要容器:svg图 */
.custom-block.important [class*='custom-block-title']::before {
content: '';
background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E");
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
position: relative;
margin-right: 4px;
left: -5px;
top: -1px;
}
/* 注意容器:背景色、左侧 */
.custom-block.caution {
border-left: 5px solid var(--custom-block-caution-left);
background-color: var(--custom-block-caution-bg);
}
/* 注意容器:svg图 */
.custom-block.caution [class*='custom-block-title']::before {
content: '';
background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E");
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
position: relative;
margin-right: 4px;
left: -5px;
top: -1px;
}

View File

@@ -0,0 +1,125 @@
#app a:focus-visible,
#app button:focus-visible,
#app input[type='checkbox']:focus-visible {
--at-apply: outline-1 outline-primary ring-2 ring-primary;
}
.VPSidebar::-webkit-scrollbar {
background: transparent;
height: 8px;
width: 8px;
margin-right: 8px;
}
#app > div > div.VPLocalNav > div > div > div.outline {
outline-style: none !important;
}
.vp-doc .color-swatch {
display: inline-block;
width: 0.85em;
height: 0.85em;
min-width: 12px;
min-height: 12px;
font-size: inherit;
border: 0;
border-radius: 2px;
margin: 0 3px 0 6px;
cursor: pointer;
}
.medium-zoom-overlay {
z-index: 20;
}
.medium-zoom-image {
z-index: 21;
}
@keyframes slide-enter {
0% {
transform: translateY(10px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 100;
}
}
@media (prefers-reduced-motion: no-preference) {
html:not(.no-sliding) [slide-enter],
html:not(.no-sliding) .slide-enter,
html:not(.no-sliding) .main > div > *,
html:not(.no-sliding) #VPContent > div > div.VPFeatures.VPHomeFeatures > *,
html:not(.no-sliding) .TeamPage > *,
html:not(.no-sliding) .VPHomeHero > * {
--enter-stage: 0;
--enter-step: 90ms;
--enter-initial: 0ms;
animation: slide-enter 1s both 1;
animation-delay: calc(var(--enter-initial) + var(--enter-stage) * var(--enter-step));
}
.main > div > *:nth-child(1) {
--enter-stage: 1;
}
.main > div > *:nth-child(2) {
--enter-stage: 2;
}
.main > div > *:nth-child(3) {
--enter-stage: 3;
}
.main > div > *:nth-child(4) {
--enter-stage: 4;
}
.main > div > *:nth-child(5) {
--enter-stage: 5;
}
.main > div > *:nth-child(6) {
--enter-stage: 6;
}
.main > div > *:nth-child(7) {
--enter-stage: 7;
}
.main > div > *:nth-child(8) {
--enter-stage: 8;
}
.main > div > *:nth-child(9) {
--enter-stage: 9;
}
.main > div > *:nth-child(10) {
--enter-stage: 10;
}
.main > div > *:nth-child(11) {
--enter-stage: 11;
}
.main > div > *:nth-child(12) {
--enter-stage: 12;
}
.main > div > *:nth-child(13) {
--enter-stage: 13;
}
.main > div > *:nth-child(14) {
--enter-stage: 14;
}
.main > div > *:nth-child(15) {
--enter-stage: 15;
}
.main > div > *:nth-child(16) {
--enter-stage: 16;
}
.main > div > *:nth-child(17) {
--enter-stage: 17;
}
.main > div > *:nth-child(18) {
--enter-stage: 18;
}
.main > div > *:nth-child(19) {
--enter-stage: 19;
}
.main > div > *:nth-child(20) {
--enter-stage: 20;
}
}

View File

@@ -0,0 +1,158 @@
@import './custom-block.css';
@import './doc-fade-in.css';
:root:where(:lang(fa)) {
--vp-font-family-base:
'Vazirmatn', 'Inter', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}
:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff);
--vp-home-hero-image-background-image: linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);
--vp-home-hero-image-filter: blur(44px);
/* Enhanced brand color for better contrast */
--vp-c-brand-1: #1e40af;
--vp-c-brand-2: #2563eb;
--vp-c-brand-3: #3b82f6;
--vp-c-brand-soft: rgba(30, 64, 175, 0.14);
/* Button contrast improvements */
--vp-button-brand-bg: #1e40af;
--vp-button-brand-text: #ffffff;
--vp-button-brand-hover-bg: #1d4ed8;
--vp-button-brand-hover-text: #ffffff;
--vp-button-brand-active-bg: #1e3a8a;
--vp-button-brand-active-text: #ffffff;
}
/* Dark mode color overrides for better contrast */
.dark:root {
--vp-c-brand-1: #60a5fa;
--vp-c-brand-2: #3b82f6;
--vp-c-brand-3: #2563eb;
--vp-c-brand-soft: rgba(96, 165, 250, 0.16);
--vp-button-brand-bg: #3b82f6;
--vp-button-brand-text: #000000;
--vp-button-brand-hover-bg: #60a5fa;
--vp-button-brand-hover-text: #000000;
--vp-button-brand-active-bg: #2563eb;
--vp-button-brand-active-text: #000000;
}
@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}
@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(68px);
}
}
.VPHero .VPImage {
filter: drop-shadow(-2px 4px 6px rgba(0, 0, 0, 0.2));
padding: 18px;
}
/* used in reference/default-theme-search */
img[src='/search.png'] {
width: 100%;
aspect-ratio: 1 / 1;
}
/* Enhanced button contrast for accessibility */
.VPButton.brand {
background-color: var(--vp-button-brand-bg) !important;
color: var(--vp-button-brand-text) !important;
border: none;
font-weight: 600;
text-shadow: none;
}
.VPButton.brand:hover {
background-color: var(--vp-button-brand-hover-bg) !important;
color: var(--vp-button-brand-hover-text) !important;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(30, 64, 175, 0.4);
}
.VPButton.brand:active {
background-color: var(--vp-button-brand-active-bg) !important;
color: var(--vp-button-brand-active-text) !important;
transform: translateY(0);
}
/* Dark mode support for buttons */
.dark .VPButton.brand {
background-color: #3b82f6 !important;
color: #000000 !important;
}
.dark .VPButton.brand:hover {
background-color: #60a5fa !important;
color: #000000 !important;
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
.dark .VPButton.brand:active {
background-color: #2563eb !important;
color: #000000 !important;
}
/* Ensure proper contrast for all text elements */
.VPButton.brand .text {
color: inherit !important;
}
/* Focus states for accessibility */
.VPButton.brand:focus-visible {
outline: 2px solid #ffffff;
outline-offset: 2px;
}
.dark .VPButton.brand:focus-visible {
outline: 2px solid #000000;
outline-offset: 2px;
}
@font-face {
font-family: 'HarmonyOS Sans SC';
src: url('/HarmonyOS_Sans_SC.ttf') format('truetype');
}
body {
font-family: 'HarmonyOS Sans SC', sans-serif;
line-height: 1.8;
letter-spacing: 0.05em;
word-spacing: 0.05em;
}
p,
li,
a,
span,
div,
h1,
h2,
h3,
h4,
h5,
h6 {
word-break: break-word;
text-justify: inter-ideograph;
-ms-text-autospace: ideograph-alpha;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
pre,
code {
letter-spacing: normal;
word-spacing: normal;
}