mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-17 21:15:40 +02:00
Use supplied Itō PNG logo (#2570)
Replace the generated Itō SVG wordmark with the supplied transparent monogram assets, keep the exact white-and-gold mark for dark mode, add a same-geometry light-mode variant, and refresh the dependency lock entry flagged by CI.
This commit is contained in:
@@ -91,7 +91,7 @@ ECC v2.0.0 adds the public Hermes operator story on top of that reusable layer:
|
||||
<a href="https://www.greptile.com/go/ecc" title="Greptile"><img src="assets/images/sponsors/greptile.png" height="54" alt="Greptile" /></a>
|
||||
<a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=ECC" title="Atlas Cloud"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/atlascloud-dark.svg" /><img src="assets/images/sponsors/atlascloud.svg" width="154" alt="Atlas Cloud" /></picture></a>
|
||||
<a href="https://www.moonshot.ai" title="Moonshot AI — Kimi"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/moonshot-dark.png" /><img src="assets/images/sponsors/moonshot.png" width="132" alt="Moonshot AI — Kimi" /></picture></a>
|
||||
<a href="https://compute.itomarkets.com" title="Itô Markets"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/ito-dark.svg" /><img src="assets/images/sponsors/ito.svg" width="172" alt="Itô Markets" /></picture></a>
|
||||
<a href="https://compute.itomarkets.com" title="Itô Markets"><picture><source media="(prefers-color-scheme: light)" srcset="assets/images/sponsors/ito-transparent-light.png" /><img src="assets/images/sponsors/ito-transparent.png" width="96" alt="Itô Markets" /></picture></a>
|
||||
</p>
|
||||
|
||||
<sub><strong>Community sponsors:</strong> <a href="https://github.com/mikejmorgan-ai">Mike Morgan</a> · <a href="https://github.com/jasonwu513">@jasonwu513</a> · <a href="https://github.com/1anter">@1anter</a> · <a href="https://github.com/massimotodaro">@massimotodaro</a> · <a href="https://github.com/meadmccabe">@meadmccabe</a></sub>
|
||||
@@ -151,7 +151,7 @@ The Kimi Code harness and the model-serving layer are separate. ECC configures t
|
||||
<tr>
|
||||
<td width="33%" align="center">
|
||||
<a href="https://compute.itomarkets.com">
|
||||
<picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/ito-dark.svg" /><img src="assets/images/sponsors/ito.svg" width="164" alt="Itô Markets" /></picture><br />
|
||||
<picture><source media="(prefers-color-scheme: light)" srcset="assets/images/sponsors/ito-transparent-light.png" /><img src="assets/images/sponsors/ito-transparent.png" width="92" alt="Itô Markets" /></picture><br />
|
||||
<strong>1. Get GPU capacity</strong>
|
||||
</a><br />
|
||||
<sub>Use Itô or any GPU provider.</sub>
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ Thank you to everyone funding ECC's open-source work. Your sponsorship is what l
|
||||
| [**Greptile**](https://www.greptile.com/go/ecc) | <img src="assets/images/sponsors/greptile.png" width="60" alt="Greptile logo" /> | 2026 |
|
||||
| [**Atlas Cloud**](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=ECC) | <picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/atlascloud-dark.svg" /><img src="assets/images/sponsors/atlascloud.svg" width="120" alt="Atlas Cloud logo" /></picture> | 2026 |
|
||||
| [**Moonshot AI (Kimi)**](https://www.moonshot.ai) | <picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/moonshot-dark.png" /><img src="assets/images/sponsors/moonshot.png" width="100" alt="Moonshot AI Kimi logo" /></picture> | 2026 |
|
||||
| [**Itô**](https://compute.itomarkets.com) | <picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/ito-dark.svg" /><img src="assets/images/sponsors/ito.svg" width="120" alt="Itô Markets logo" /></picture> | 2026 |
|
||||
| [**Itô**](https://compute.itomarkets.com) | <picture><source media="(prefers-color-scheme: light)" srcset="assets/images/sponsors/ito-transparent-light.png" /><img src="assets/images/sponsors/ito-transparent.png" width="88" alt="Itô Markets logo" /></picture> | 2026 |
|
||||
|
||||
*[Become a Business sponsor](https://github.com/sponsors/affaan-m) to get README sponsor placement + SPONSORS.md listing. Current Business tier is $800/mo. No seats, SLA, custom development, or preferential technical placement is bundled unless separately agreed.*
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="172" height="40" viewBox="0 0 172 40">
|
||||
<defs><style>@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=IBM+Plex+Mono:wght@300;400;500&display=swap');</style></defs>
|
||||
|
||||
<text x="0" y="30" font-family="'Libre Baskerville', serif" font-size="36" font-weight="500" letter-spacing="0.08em">
|
||||
<tspan fill="#F8FAFC">It</tspan><tspan fill="#B5A172">ô</tspan>
|
||||
</text>
|
||||
<line x1="78" y1="10" x2="78" y2="32" stroke="#334155" stroke-width="1"/>
|
||||
<text x="92" y="26" font-family="'IBM Plex Mono', monospace" font-size="11" font-weight="300" fill="#64748B" letter-spacing="0.3em">MARKETS</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 737 B |
Binary file not shown.
|
After Width: | Height: | Size: 465 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 673 KiB |
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="172" height="40" viewBox="0 0 172 40">
|
||||
<defs><style>@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&family=IBM+Plex+Mono:wght@300;400;500&display=swap');</style></defs>
|
||||
|
||||
<text x="0" y="30" font-family="'EB Garamond', serif" font-size="36" font-weight="500" letter-spacing="0.08em">
|
||||
<tspan fill="#111827">It</tspan><tspan fill="#B5A172">ô</tspan>
|
||||
</text>
|
||||
<line x1="78" y1="10" x2="78" y2="32" stroke="#D1D5DB" stroke-width="1"/>
|
||||
<text x="92" y="26" font-family="'IBM Plex Mono', monospace" font-size="11" font-weight="300" fill="#6B7280" letter-spacing="0.3em">MARKETS</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 718 B |
Generated
+4
-4
@@ -543,16 +543,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "5.0.7",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz",
|
||||
"integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==",
|
||||
"version": "5.0.8",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz",
|
||||
"integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"balanced-match": "^4.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "18 || 20 || >=22"
|
||||
"node": "20 || >=22"
|
||||
}
|
||||
},
|
||||
"node_modules/c8": {
|
||||
|
||||
@@ -136,8 +136,9 @@ function main() {
|
||||
}],
|
||||
['README exposes the sponsor logo and honest self-hosting route', () => {
|
||||
const readme = read('README.md');
|
||||
assert.ok(readme.includes('assets/images/sponsors/ito.svg'));
|
||||
assert.ok(readme.includes('assets/images/sponsors/ito-dark.svg'));
|
||||
assert.ok(readme.includes('assets/images/sponsors/ito-transparent.png'));
|
||||
assert.ok(readme.includes('assets/images/sponsors/ito-transparent-light.png'));
|
||||
assert.doesNotMatch(readme, /assets\/images\/sponsors\/ito(?:-dark)?\.svg/);
|
||||
assert.match(readme, /<p align="center" aria-label="Partners and sponsors">/);
|
||||
assert.doesNotMatch(
|
||||
readme,
|
||||
@@ -150,27 +151,12 @@ function main() {
|
||||
readme,
|
||||
/custom API endpoint or model gateway[\s\S]*Run or self-host any open-source model behind that gateway[\s\S]*sponsorship link is passive/
|
||||
);
|
||||
const sponsorMark = read('assets/images/sponsors/ito.svg');
|
||||
const sponsorMarkDark = read('assets/images/sponsors/ito-dark.svg');
|
||||
assert.match(sponsorMark, /viewBox="0 0 172 40"/);
|
||||
assert.match(sponsorMark, />It</);
|
||||
assert.match(sponsorMark, />ô</);
|
||||
assert.match(sponsorMark, />MARKETS</);
|
||||
assert.match(sponsorMarkDark, /viewBox="0 0 172 40"/);
|
||||
assert.match(sponsorMarkDark, />It</);
|
||||
assert.match(sponsorMarkDark, />ô</);
|
||||
assert.match(sponsorMarkDark, />MARKETS</);
|
||||
assert.match(sponsorMarkDark, /fill="#F8FAFC"/i);
|
||||
assert.doesNotMatch(
|
||||
`${sponsorMark}\n${sponsorMarkDark}`,
|
||||
/<script|<foreignObject|\son[a-z]+=|(?:href|xlink:href)=/i
|
||||
const sponsorMark = readPngDimensions('assets/images/sponsors/ito-transparent.png');
|
||||
const sponsorMarkLight = readPngDimensions(
|
||||
'assets/images/sponsors/ito-transparent-light.png'
|
||||
);
|
||||
const sponsorAssetUrls = `${sponsorMark}\n${sponsorMarkDark}`.match(URL_TOKEN_PATTERN) || [];
|
||||
assert.ok(sponsorAssetUrls.length >= 4);
|
||||
assert.ok(sponsorAssetUrls.every((url) => (
|
||||
url.startsWith('http://www.w3.org/2000/svg')
|
||||
|| url.startsWith('https://fonts.googleapis.com/css2?')
|
||||
)));
|
||||
assert.deepStrictEqual(sponsorMark, { width: 1797, height: 1097 });
|
||||
assert.deepStrictEqual(sponsorMarkLight, sponsorMark);
|
||||
}],
|
||||
['README keeps the three primary choices and all three guides inline', () => {
|
||||
const readme = read('README.md');
|
||||
@@ -247,7 +233,7 @@ function main() {
|
||||
const localModelPath = extractNamedTable(readme, 'Local Kimi model path');
|
||||
|
||||
assert.strictEqual((localModelPath.match(/<td\b/g) || []).length, 3);
|
||||
assert.ok(localModelPath.includes('assets/images/sponsors/ito.svg'));
|
||||
assert.ok(localModelPath.includes('assets/images/sponsors/ito-transparent.png'));
|
||||
assert.ok(localModelPath.includes('assets/images/sponsors/moonshot.png'));
|
||||
assert.ok(localModelPath.includes('assets/images/community/ecc-tools-mark.svg'));
|
||||
assert.match(readme, /install\.sh --target kimi --profile minimal/);
|
||||
@@ -359,7 +345,9 @@ function main() {
|
||||
['sponsor roster keeps Itô and Moonshot distinct from node tooling', () => {
|
||||
const sponsors = read('SPONSORS.md');
|
||||
assert.ok(sponsors.includes('[**Itô**]'));
|
||||
assert.ok(sponsors.includes('assets/images/sponsors/ito.svg'));
|
||||
assert.ok(sponsors.includes('assets/images/sponsors/ito-transparent.png'));
|
||||
assert.ok(sponsors.includes('assets/images/sponsors/ito-transparent-light.png'));
|
||||
assert.doesNotMatch(sponsors, /assets\/images\/sponsors\/ito(?:-dark)?\.svg/);
|
||||
assert.ok(sponsors.includes('[**Moonshot AI (Kimi)**]'));
|
||||
assert.ok(sponsors.includes('assets/images/sponsors/moonshot.png'));
|
||||
assert.doesNotMatch(sponsors, /sixtytwo|sixty.?two/i);
|
||||
@@ -430,7 +418,20 @@ function main() {
|
||||
assert.match(packageJson.scripts.welcome, /ecc ito find/i);
|
||||
assert.match(packageJson.scripts.welcome, /submits a live authenticated RFQ/i);
|
||||
assert.match(packageJson.scripts.welcome, /does not reserve capacity/i);
|
||||
assert.ok(fs.existsSync(path.join(REPO_ROOT, 'assets', 'images', 'sponsors', 'ito.svg')));
|
||||
assert.ok(
|
||||
fs.existsSync(path.join(REPO_ROOT, 'assets', 'images', 'sponsors', 'ito-transparent.png'))
|
||||
);
|
||||
assert.ok(
|
||||
fs.existsSync(
|
||||
path.join(REPO_ROOT, 'assets', 'images', 'sponsors', 'ito-transparent-light.png')
|
||||
)
|
||||
);
|
||||
assert.ok(
|
||||
!fs.existsSync(path.join(REPO_ROOT, 'assets', 'images', 'sponsors', 'ito.svg'))
|
||||
);
|
||||
assert.ok(
|
||||
!fs.existsSync(path.join(REPO_ROOT, 'assets', 'images', 'sponsors', 'ito-dark.svg'))
|
||||
);
|
||||
assert.ok(fs.existsSync(path.join(REPO_ROOT, 'assets', 'images', 'sponsors', 'moonshot.png')));
|
||||
}],
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user