From 6f31929435a113015c38ed2d45913cd75382858a Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 21 Oct 2026 20:37:13 +0800 Subject: [PATCH] docs(brand): adopt cradle identity in readme and docs --- README.md | 11 ++- README_CN.md | 11 ++- docs/assets/Inter-OFL.txt | 93 +++++++++++++++++++ docs/assets/arknet-icon-dark.svg | 1 + docs/assets/arknet-icon-mono.svg | 1 + docs/assets/arknet-icon.svg | 1 + docs/assets/arknet-wordmark-dark.svg | 1 + docs/assets/arknet-wordmark-light.svg | 1 + docs/assets/arknet-wordmark-mono.svg | 1 + docs/site/public/brand/Inter-OFL.txt | 93 +++++++++++++++++++ docs/site/public/brand/arknet-logo-dark.svg | 1 + docs/site/public/brand/arknet-logo-light.svg | 1 + docs/site/public/brand/arknet-logo-mono.svg | 1 + docs/site/public/favicon.ico | Bin 4286 -> 18291 bytes docs/site/public/favicon.svg | 1 + docs/site/scripts/ci-workflow.test.mjs | 2 +- docs/site/src/components/Header.astro | 7 +- docs/site/src/styles/globals.css | 4 + 18 files changed, 224 insertions(+), 7 deletions(-) create mode 100644 docs/assets/Inter-OFL.txt create mode 100644 docs/assets/arknet-icon-dark.svg create mode 100644 docs/assets/arknet-icon-mono.svg create mode 100644 docs/assets/arknet-icon.svg create mode 100644 docs/assets/arknet-wordmark-dark.svg create mode 100644 docs/assets/arknet-wordmark-light.svg create mode 100644 docs/assets/arknet-wordmark-mono.svg create mode 100644 docs/site/public/brand/Inter-OFL.txt create mode 100644 docs/site/public/brand/arknet-logo-dark.svg create mode 100644 docs/site/public/brand/arknet-logo-light.svg create mode 100644 docs/site/public/brand/arknet-logo-mono.svg create mode 100644 docs/site/public/favicon.svg diff --git a/README.md b/README.md index dc6707e..4fe8dd7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,15 @@ # arknet -[![Merge queue checks](https://github.com/OpenArkStudio/arknet/actions/workflows/ci.yml/badge.svg?event=merge_group)](https://github.com/OpenArkStudio/arknet/actions/workflows/ci.yml?query=event%3Amerge_group) +

+ + + arknet + +

+ +

+ Merge queue checks +

[中文](README_CN.md) diff --git a/README_CN.md b/README_CN.md index 6a777a3..52e660d 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,6 +1,15 @@ # arknet -[![合并队列检查](https://github.com/OpenArkStudio/arknet/actions/workflows/ci.yml/badge.svg?event=merge_group)](https://github.com/OpenArkStudio/arknet/actions/workflows/ci.yml?query=event%3Amerge_group) +

+ + + arknet + +

+ +

+ 合并队列检查 +

[English](README.md) diff --git a/docs/assets/Inter-OFL.txt b/docs/assets/Inter-OFL.txt new file mode 100644 index 0000000..21f6aff --- /dev/null +++ b/docs/assets/Inter-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs/assets/arknet-icon-dark.svg b/docs/assets/arknet-icon-dark.svg new file mode 100644 index 0000000..effaab9 --- /dev/null +++ b/docs/assets/arknet-icon-dark.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/assets/arknet-icon-mono.svg b/docs/assets/arknet-icon-mono.svg new file mode 100644 index 0000000..2ac2ac0 --- /dev/null +++ b/docs/assets/arknet-icon-mono.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/assets/arknet-icon.svg b/docs/assets/arknet-icon.svg new file mode 100644 index 0000000..fdc7cc1 --- /dev/null +++ b/docs/assets/arknet-icon.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/assets/arknet-wordmark-dark.svg b/docs/assets/arknet-wordmark-dark.svg new file mode 100644 index 0000000..accd89a --- /dev/null +++ b/docs/assets/arknet-wordmark-dark.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/assets/arknet-wordmark-light.svg b/docs/assets/arknet-wordmark-light.svg new file mode 100644 index 0000000..271bcbc --- /dev/null +++ b/docs/assets/arknet-wordmark-light.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/assets/arknet-wordmark-mono.svg b/docs/assets/arknet-wordmark-mono.svg new file mode 100644 index 0000000..6cc36a7 --- /dev/null +++ b/docs/assets/arknet-wordmark-mono.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/site/public/brand/Inter-OFL.txt b/docs/site/public/brand/Inter-OFL.txt new file mode 100644 index 0000000..21f6aff --- /dev/null +++ b/docs/site/public/brand/Inter-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs/site/public/brand/arknet-logo-dark.svg b/docs/site/public/brand/arknet-logo-dark.svg new file mode 100644 index 0000000..accd89a --- /dev/null +++ b/docs/site/public/brand/arknet-logo-dark.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/site/public/brand/arknet-logo-light.svg b/docs/site/public/brand/arknet-logo-light.svg new file mode 100644 index 0000000..271bcbc --- /dev/null +++ b/docs/site/public/brand/arknet-logo-light.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/site/public/brand/arknet-logo-mono.svg b/docs/site/public/brand/arknet-logo-mono.svg new file mode 100644 index 0000000..6cc36a7 --- /dev/null +++ b/docs/site/public/brand/arknet-logo-mono.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/site/public/favicon.ico b/docs/site/public/favicon.ico index 5ba3ef46246c74477149267cf35d51bfafb2c95f..d872f520a913f14319c283bf0e64b445894b0457 100644 GIT binary patch literal 18291 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 A=Kufz literal 4286 zcmeHLSx-|z6uv&IiHV8NKKe8KCGZ4)0wvKWd;z4`7OI4VHI{CyElWX`wm{edkv##V zg(j?F575u^oqC&wpcaYk3q$74y)$#qcg}adncKlI9?9R!mj#K|6c3s>$mdr^WO^klf1mVx3jaeC&*$+ zBoZKIK|w)LU0q#_&)F`-Y;0`&A$(^a{8zA&?*#Lmt72;H0Y5hkJn)~~>vF?BQu}PC z_}nv2PEIg4H;0Ld32bj~!`!390${Ae@^;w~>Q!(y?( z?RKU79UB|N=;$a0zkP$KNy5feEjsO5{}OfRLPj^vubB^a}%eh zrzv03@yX-r>M8<(0Ob3G%1R5Y5~syd0l&mJCU}uZ1mSQPq0k7zp-}3X_sRZbJ0yIx zw))W4)`rfG4m60p4O(sI($W&%zk8?ScDoIoot^OcyzqEE@Oa!B z7k%rJ{@&hR#WOJ@kuW0S7oU0G-Y&Q@Z)RpjdFp6yM_*qb=I6hop`k(jq66vp0|Nt^ z-?g>;)7cDpgEe1tG8yaxh))q>CGgV*a-ou-JE zn}vl1_1oogsr{SyM@L7>m3)uk_xrK2v7!3DzP?tC(}$In6}_jnnwy(JoO?*C616)U3UwntUA*bWxc6NmA)xLQE_+=r+Ivz(uwi>6yOXY`SINcYX0ceBkD-+Yhz675n$+z+|FX@gqi z`Z4oh&i`9`SNwE))G5~pwLncWA9pSH!M`ikZSx=SbN~B;XMo#slZ`&fe}ZSAf6?xJ y{UavNemn#6ESPN{1oK$VzHfL2mb361o{7!%@Sod+>|L8Y^9%M<{SQD6FFyfPYTID| diff --git a/docs/site/public/favicon.svg b/docs/site/public/favicon.svg new file mode 100644 index 0000000..fdc7cc1 --- /dev/null +++ b/docs/site/public/favicon.svg @@ -0,0 +1 @@ +arknetSelected cradle direction with Inter 600; visible contours determine scale, gap and baseline. diff --git a/docs/site/scripts/ci-workflow.test.mjs b/docs/site/scripts/ci-workflow.test.mjs index 8294f46..9b2c73b 100644 --- a/docs/site/scripts/ci-workflow.test.mjs +++ b/docs/site/scripts/ci-workflow.test.mjs @@ -127,7 +127,7 @@ test("documentation publishing retains its separate main-push workflow", async ( test("both README badges describe and select merge-group checks", async () => { for (const [file, label] of [["README.md", "Merge queue checks"], ["README_CN.md", "合并队列检查"]]) { const source = await readFile(new URL(`../../../${file}`, import.meta.url), "utf8"); - assert.ok(source.includes(`[![${label}]`), file); + assert.ok(source.includes(`alt="${label}"`), file); assert.ok(source.includes("ci.yml/badge.svg?event=merge_group"), file); assert.ok(source.includes("ci.yml?query=event%3Amerge_group"), file); } diff --git a/docs/site/src/components/Header.astro b/docs/site/src/components/Header.astro index 353c597..2872302 100644 --- a/docs/site/src/components/Header.astro +++ b/docs/site/src/components/Header.astro @@ -44,10 +44,9 @@ const resolveSectionHref = (href: string): string =>
- - - {config.title} - + + {config.title} + diff --git a/docs/site/src/styles/globals.css b/docs/site/src/styles/globals.css index 17d9dea..53c78a3 100644 --- a/docs/site/src/styles/globals.css +++ b/docs/site/src/styles/globals.css @@ -641,3 +641,7 @@ body:not(:has([data-mobile-sidebar])) [data-menu-btn] { animation: none; } } + +/* The archived brand lockup follows the site's explicit theme setting. */ +html[data-mode="dark"] .site-brand-light { display: none; } +html[data-mode="dark"] .site-brand-dark { display: block; }