From c9e78a96e5a107f6d0e122ed3ac1a4a64db9362b Mon Sep 17 00:00:00 2001 From: dev-wooyeon Date: Fri, 31 Jul 2026 11:56:28 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(brand):=20Graphite=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=EB=8D=B4=ED=8B=B0=ED=8B=B0=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 차가운 종이와 매화색 팔레트, 로고와 favicon을 Ark에 적용했습니다. IntelliJ Graphite Theme 소스와 Marketplace 자산을 함께 추가했습니다. --- app/api/og/route.tsx | 8 +- app/icon.png | Bin 23797 -> 0 bytes app/icon.svg | 18 ++ app/layout.tsx | 2 +- app/not-found.tsx | 2 +- .../ReadingProgress/ReadingProgress.test.tsx | 2 +- .../ReadingProgress/ReadingProgress.tsx | 2 +- blog/ui/pages/EngineeringPageClient.tsx | 2 +- docs/README.md | 3 +- ...dopt-cool-paper-and-plum-accent-palette.md | 39 ++++ docs/adr/README.md | 3 +- public/brand/graphite-blossom-mark.svg | 20 ++ public/brand/graphite-seal-blossom.svg | 22 ++ site/shell/AppShell/AppShell.test.tsx | 8 + site/shell/AppShell/AppShell.tsx | 10 +- styles/globals.css | 9 +- styles/tokens.css | 38 ++-- styles/tokens.test.ts | 11 +- .../ark-graphite-intellij-theme/.gitignore | 3 + tooling/ark-graphite-intellij-theme/LICENSE | 198 ++++++++++++++++++ tooling/ark-graphite-intellij-theme/README.md | 56 +++++ .../assets/icon-concepts.svg | 71 +++++++ .../assets/overview-kotlin.png | Bin 0 -> 149125 bytes .../assets/plum-to-pink-scale.svg | 23 ++ .../ark-graphite-intellij-theme/package.sh | 20 ++ .../src/main/resources/ArkGraphite.theme.json | 87 ++++++++ .../src/main/resources/ArkGraphite.xml | 83 ++++++++ .../src/main/resources/META-INF/plugin.xml | 33 +++ .../main/resources/META-INF/pluginIcon.svg | 20 ++ ui/Button/Button.tsx | 4 +- 30 files changed, 759 insertions(+), 38 deletions(-) delete mode 100644 app/icon.png create mode 100644 app/icon.svg create mode 100644 docs/adr/0054-adopt-cool-paper-and-plum-accent-palette.md create mode 100644 public/brand/graphite-blossom-mark.svg create mode 100644 public/brand/graphite-seal-blossom.svg create mode 100644 tooling/ark-graphite-intellij-theme/.gitignore create mode 100644 tooling/ark-graphite-intellij-theme/LICENSE create mode 100644 tooling/ark-graphite-intellij-theme/README.md create mode 100644 tooling/ark-graphite-intellij-theme/assets/icon-concepts.svg create mode 100644 tooling/ark-graphite-intellij-theme/assets/overview-kotlin.png create mode 100644 tooling/ark-graphite-intellij-theme/assets/plum-to-pink-scale.svg create mode 100755 tooling/ark-graphite-intellij-theme/package.sh create mode 100644 tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.theme.json create mode 100644 tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.xml create mode 100644 tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/plugin.xml create mode 100644 tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/pluginIcon.svg diff --git a/app/api/og/route.tsx b/app/api/og/route.tsx index 95efc5c2..b6f63950 100644 --- a/app/api/og/route.tsx +++ b/app/api/og/route.tsx @@ -40,7 +40,7 @@ export async function GET(req: NextRequest) { flexDirection: 'column', alignItems: 'flex-start', justifyContent: 'center', - backgroundImage: 'linear-gradient(to bottom right, #EAEBEA, #E0E1E3)', + backgroundImage: 'linear-gradient(to bottom right, #ECEEEF, #E1E4E7)', padding: '80px', }} > @@ -86,8 +86,8 @@ export async function GET(req: NextRequest) { key={tag} style={{ display: 'flex', - backgroundColor: '#E0E1E3', - color: '#3F3F46', + backgroundColor: '#E1E4E7', + color: '#A6294D', padding: '8px 24px', borderRadius: '50px', fontSize: '24px', @@ -114,7 +114,7 @@ export async function GET(req: NextRequest) { style={{ fontSize: '32px', fontWeight: 700, - color: '#3F3F46', + color: '#A6294D', fontFamily: 'Pretendard', }} > diff --git a/app/icon.png b/app/icon.png deleted file mode 100644 index 0d48fbca478201c50286d5a238e97275ec316eef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23797 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 diff --git a/app/icon.svg b/app/icon.svg new file mode 100644 index 00000000..a78cbb89 --- /dev/null +++ b/app/icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/layout.tsx b/app/layout.tsx index 7cecc553..44d4d429 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -56,7 +56,7 @@ export const metadata: Metadata = { }; export const viewport: Viewport = { - themeColor: '#EAEBEA', + themeColor: '#ECEEEF', width: 'device-width', initialScale: 1, }; diff --git a/app/not-found.tsx b/app/not-found.tsx index 6d7012d4..022e77bf 100644 --- a/app/not-found.tsx +++ b/app/not-found.tsx @@ -17,7 +17,7 @@ export default function NotFound() {

홈으로 돌아가기 diff --git a/blog/ui/components/ReadingProgress/ReadingProgress.test.tsx b/blog/ui/components/ReadingProgress/ReadingProgress.test.tsx index bb755773..076e9a00 100644 --- a/blog/ui/components/ReadingProgress/ReadingProgress.test.tsx +++ b/blog/ui/components/ReadingProgress/ReadingProgress.test.tsx @@ -26,7 +26,7 @@ vi.mock('framer-motion', () => ({ }) => { const className = props.className as string; const testId = - className.includes('bg-[var(--color-accent)]') && + className.includes('bg-[var(--color-accent-fill)]') && className.includes('h-full') ? 'reading-progress-bar' : 'reading-progress-root'; diff --git a/blog/ui/components/ReadingProgress/ReadingProgress.tsx b/blog/ui/components/ReadingProgress/ReadingProgress.tsx index 632b485d..9ac8373b 100644 --- a/blog/ui/components/ReadingProgress/ReadingProgress.tsx +++ b/blog/ui/components/ReadingProgress/ReadingProgress.tsx @@ -39,7 +39,7 @@ export default function ReadingProgress() { > diff --git a/blog/ui/pages/EngineeringPageClient.tsx b/blog/ui/pages/EngineeringPageClient.tsx index f11684f9..cbb4c2fa 100644 --- a/blog/ui/pages/EngineeringPageClient.tsx +++ b/blog/ui/pages/EngineeringPageClient.tsx @@ -114,7 +114,7 @@ export default function EngineeringPageClient({ className={clsx( 'rounded border px-3 py-1.5 transition-colors', page === currentPage - ? 'border-[var(--color-accent)] bg-[var(--color-accent)] text-[var(--color-accent-foreground)]' + ? 'border-[var(--color-accent-fill)] bg-[var(--color-accent-fill)] text-[var(--color-accent-foreground)]' : 'border-[var(--color-grey-200)] bg-[var(--color-bg-primary)] text-[var(--color-grey-700)] hover:bg-[var(--color-grey-50)]' )} > diff --git a/docs/README.md b/docs/README.md index 5c283d91..dbb7ec2b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ # 문서 인덱스 -Last updated: 2026-07-28 +Last updated: 2026-07-31 이 인덱스는 현재 코드베이스와 함께 유지해야 하는 문서만 추적한다. 계속 업데이트할 문서가 아니라면 삭제하거나, 오래 남겨야 하는 결정만 ADR로 옮긴다. @@ -51,6 +51,7 @@ Last updated: 2026-07-28 - `docs/adr/0050-retire-series-navigation-and-enforce-listed-post-policy.md` - `docs/adr/0052-use-repo-local-public-writing-review-workflow.md` - `docs/adr/0053-use-inline-table-of-contents-for-article-reading.md` +- `docs/adr/0054-adopt-cool-paper-and-plum-accent-palette.md` - `docs/blog-quality-guide.md` - `docs/content-publication-candidates.md` - `docs/database/db-schema.md` diff --git a/docs/adr/0054-adopt-cool-paper-and-plum-accent-palette.md b/docs/adr/0054-adopt-cool-paper-and-plum-accent-palette.md new file mode 100644 index 00000000..45bdd4a9 --- /dev/null +++ b/docs/adr/0054-adopt-cool-paper-and-plum-accent-palette.md @@ -0,0 +1,39 @@ +# 0054. 차가운 종이와 매화색 포인트 팔레트를 채택한다 + +Date: 2026-07-31 +Status: Accepted + +## 배경 + +Ark의 기존 무채색 Graphite Ink 지면은 차분하지만 행동 요소와 링크가 본문 +잉크에 묻혔다. 배경은 노란 기를 더하지 않은 종이색으로 유지하고, 매화에서 +가져온 홍자주를 단일 포인트로 사용한다. + +## 결정 + +- 기본 지면과 surface는 `#ECEEEF`로 둔다. +- 본문과 링크 텍스트에는 `#A6294D`를 사용한다. `#ECEEEF` 위 대비는 5.92:1이다. +- 버튼, 진행 표시, 선택된 페이지에는 `#D02D60`을 사용하고, 글자는 흰색으로 + 둔다. 흰색 위 대비는 4.97:1이다. +- hover와 고대비 모드에서는 더 어두운 `#8F2044`를 사용한다. +- 기존 Graphite Ink의 무채색 보조 텍스트와 구조선은 유지한다. + +## 결과 + +- 긴 읽기 지면은 쿨그레이 톤을 유지한다. +- 행동, 링크, 포커스가 한 가지 매화색 계열로 연결된다. +- 같은 색을 텍스트와 버튼 배경에 무리하게 재사용하지 않아 접근성 대비를 + 유지한다. + +## 검토한 대안 + +- `#D02D60` 단일 토큰: 버튼에는 적합하지만 `#ECEEEF` 위 본문 링크 대비가 + 4.27:1로 부족하다. +- `#DC2A61`: 매화 인상은 강하지만 버튼 배경과 흰색 글자 대비가 4.62:1로 + 경계선에 가깝다. +- 기존 무채색 포인트: 안전하지만 새 테마의 매화색 정체성이 드러나지 않는다. + +## Related History + +- [ADR 0034](0034-adopt-the-graphite-ink-palette.md): 기존 무채색 Graphite Ink + 팔레트 diff --git a/docs/adr/README.md b/docs/adr/README.md index 48a94020..087b5777 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -1,6 +1,6 @@ # Architecture Decision Records -Last updated: 2026-07-24 +Last updated: 2026-07-31 이 디렉터리는 커밋 히스토리에서 복원한 아키텍처 의사결정을 기록한다. ADR은 AI 협업 가이드와 별개의 문서다. 사람이 결정했든 AI가 초안을 @@ -71,6 +71,7 @@ ADR은 AI 협업 가이드와 별개의 문서다. 사람이 결정했든 AI가 | [0051](0051-use-viewport-specific-reading-layout-and-type-scale.md) | Accepted | viewport별 읽기 레이아웃과 타이포그래피 스케일을 사용한다 | | [0052](0052-use-repo-local-public-writing-review-workflow.md) | Accepted | 공개 글 검토에 repo-local writing review workflow를 사용한다 | | [0053](0053-use-inline-table-of-contents-for-article-reading.md) | Accepted | 글 읽기 흐름에 인라인 목차를 사용한다 | +| [0054](0054-adopt-cool-paper-and-plum-accent-palette.md) | Accepted | 차가운 종이와 매화색 포인트 팔레트를 채택한다 | ## 작성 조건 diff --git a/public/brand/graphite-blossom-mark.svg b/public/brand/graphite-blossom-mark.svg new file mode 100644 index 00000000..4db3d185 --- /dev/null +++ b/public/brand/graphite-blossom-mark.svg @@ -0,0 +1,20 @@ + + Graphite blossom mark + A transparent five-petal graphite plum blossom with a plum center. + + + + + + + + + + + + + + + + + diff --git a/public/brand/graphite-seal-blossom.svg b/public/brand/graphite-seal-blossom.svg new file mode 100644 index 00000000..4a1bcf3e --- /dev/null +++ b/public/brand/graphite-seal-blossom.svg @@ -0,0 +1,22 @@ + + Graphite seal blossom + An original five-petal plum blossom impressed into a graphite seal. + + + + + + + + + + + + + + + + + + + diff --git a/site/shell/AppShell/AppShell.test.tsx b/site/shell/AppShell/AppShell.test.tsx index 87cfce33..f7267ba4 100644 --- a/site/shell/AppShell/AppShell.test.tsx +++ b/site/shell/AppShell/AppShell.test.tsx @@ -27,6 +27,10 @@ describe('AppShell', () => { primaryNavigation.queryByRole('link', { name: 'Tech' }) ).not.toBeInTheDocument(); expect(screen.getAllByLabelText('Ark 외부 링크')).toHaveLength(1); + expect(screen.getByRole('link', { name: 'ark 홈으로 이동' })).toHaveTextContent( + 'ark' + ); + expect(screen.queryByAltText('')).not.toBeInTheDocument(); expect(container.querySelector('footer')).toContainElement( screen.getByLabelText('Ark 외부 링크') ); @@ -47,5 +51,9 @@ describe('AppShell', () => { 'aria-current', 'page' ); + expect(screen.getByAltText('')).toHaveAttribute( + 'src', + '/brand/graphite-blossom-mark.svg' + ); }); }); diff --git a/site/shell/AppShell/AppShell.tsx b/site/shell/AppShell/AppShell.tsx index 745d0b58..ab3bb730 100644 --- a/site/shell/AppShell/AppShell.tsx +++ b/site/shell/AppShell/AppShell.tsx @@ -81,7 +81,15 @@ export default function AppShell({ children }: AppShellProps) { aria-label="ark 홈으로 이동" className="ark-site-brand-link transition-colors hover:text-[var(--color-text-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-accent)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--color-bg-primary)]" > - ark + {pathname !== '/' ? ( + + ) : null} + ark diff --git a/styles/globals.css b/styles/globals.css index da59496b..231bd7e1 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -45,6 +45,7 @@ .ark-site-brand-link { display: flex; align-items: center; + gap: var(--space-2); min-height: 3rem; color: var(--color-text-primary); font-size: var(--text-base); @@ -54,6 +55,12 @@ pointer-events: auto; } +.ark-site-brand-mark { + width: 1.75rem; + height: 1.75rem; + flex: none; +} + .ark-site-content { grid-column: 2; grid-row: 1; @@ -893,7 +900,7 @@ .prose .workflow-scroll-fill { height: 100%; - background: var(--color-accent); + background: var(--color-accent-fill); transition: width 180ms ease; } diff --git a/styles/tokens.css b/styles/tokens.css index 39f1d674..a6f158ba 100644 --- a/styles/tokens.css +++ b/styles/tokens.css @@ -6,9 +6,10 @@ /* === Colors === */ /* Accent */ - --color-accent: #3f3f46; - --color-accent-hover: #252525; - --color-accent-foreground: #eaebea; + --color-accent: #a6294d; + --color-accent-fill: #d02d60; + --color-accent-hover: #8f2044; + --color-accent-foreground: #ffffff; /* Grey Scale */ --color-grey-900: #252525; @@ -28,10 +29,10 @@ --color-text-tertiary: #62626a; --color-text-disabled: #94949a; - --color-bg-primary: #eaebea; - --color-bg-secondary: #e2e2e5; - --color-bg-tertiary: #d8d8dc; - --color-surface: #eaebea; + --color-bg-primary: #eceeef; + --color-bg-secondary: #e2e4e7; + --color-bg-tertiary: #d8dade; + --color-surface: #eceeef; --color-border: #c8c8cc; --color-border-hover: #94949a; @@ -46,22 +47,22 @@ --mobile-nav-shadow: 0 8px 24px rgba(37, 37, 37, 0.12); --mobile-nav-text: var(--color-text-secondary); --mobile-nav-active-text: var(--color-text-primary); - --mobile-nav-active-bg: #e0e1e3; + --mobile-nav-active-bg: #e1e4e7; --mobile-nav-active-border: var(--color-border); --mobile-nav-hover-bg: var(--color-bg-secondary); - --mobile-nav-focus-ring: var(--color-accent); + --mobile-nav-focus-ring: var(--color-accent-fill); --mobile-nav-focus-offset: var(--mobile-nav-bg); /* Code Block Colors */ - --color-code-bg: #3f3f46; - --color-code-fg: #e2e2e5; + --color-code-bg: #252525; + --color-code-fg: #eceeef; --color-code-inline-bg: #d8d8dc; --color-code-inline-fg: #52525b; - --color-code-title-bg: #52525b; - --color-code-title-fg: #eaebea; - --color-code-highlight: rgba(234, 235, 234, 0.12); - --color-code-divider: rgba(234, 235, 234, 0.16); - --shiki-dark: #eaebea; + --color-code-title-bg: #3f3f46; + --color-code-title-fg: #eceeef; + --color-code-highlight: rgba(236, 238, 239, 0.12); + --color-code-divider: rgba(236, 238, 239, 0.16); + --shiki-dark: #eceeef; /* Feedback Colors */ --color-success: #3f3f46; @@ -254,7 +255,8 @@ --color-border: #62626a; --color-border-hover: #3f3f46; --color-divider: #94949a; - --color-accent: #252525; - --color-accent-hover: #252525; + --color-accent: #8f2044; + --color-accent-fill: #a6294d; + --color-accent-hover: #8f2044; } } diff --git a/styles/tokens.test.ts b/styles/tokens.test.ts index 55f2e14e..d733140e 100644 --- a/styles/tokens.test.ts +++ b/styles/tokens.test.ts @@ -31,17 +31,18 @@ describe('Ark paper token definitions', () => { expect(tokensContent).toContain('--mobile-nav-focus-offset'); }); - it('uses the Graphite Ink palette instead of dark-mode overrides', () => { - expect(tokensContent).toContain('--color-bg-primary: #eaebea;'); + it('uses the cool-paper and plum palette instead of dark-mode overrides', () => { + expect(tokensContent).toContain('--color-bg-primary: #eceeef;'); expect(tokensContent).toContain('--color-text-primary: #252525;'); - expect(tokensContent).toContain('--color-accent: #3f3f46;'); - expect(tokensContent).toContain('--color-surface: #eaebea;'); + expect(tokensContent).toContain('--color-accent: #a6294d;'); + expect(tokensContent).toContain('--color-accent-fill: #d02d60;'); + expect(tokensContent).toContain('--color-surface: #eceeef;'); expect(tokensContent).not.toContain('.dark {'); }); it('reuses the accent token for mobile navigation focus', () => { expect(tokensContent).toContain( - '--mobile-nav-focus-ring: var(--color-accent);' + '--mobile-nav-focus-ring: var(--color-accent-fill);' ); }); }); diff --git a/tooling/ark-graphite-intellij-theme/.gitignore b/tooling/ark-graphite-intellij-theme/.gitignore new file mode 100644 index 00000000..2c301d7e --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/.gitignore @@ -0,0 +1,3 @@ +/build/ +/dist/ +.DS_Store diff --git a/tooling/ark-graphite-intellij-theme/LICENSE b/tooling/ark-graphite-intellij-theme/LICENSE new file mode 100644 index 00000000..3732ca22 --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/LICENSE @@ -0,0 +1,198 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2026 Eunwoo Park + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/tooling/ark-graphite-intellij-theme/README.md b/tooling/ark-graphite-intellij-theme/README.md new file mode 100644 index 00000000..02777798 --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/README.md @@ -0,0 +1,56 @@ +# Graphite Theme + +![Graphite Theme Kotlin editor preview](assets/overview-kotlin.png) + +## English + +Graphite Theme is a quiet paper-and-ink theme for IntelliJ Platform IDEs. + +Built from the design system of my personal blog, it pairs a soft paper +background with graphite ink. When the code gets loud, the screen stays +calm—one small aid for becoming the developer who does not get angry at the +compiler. :) + +## 한국어 + +개인 블로그를 운영하며 사용하던 디자인 시스템을 IntelliJ Platform 테마로 +만들었습니다. + +종이 배경에 먹색을 조합한 차분한 테마입니다. 코드가 시끄러워질수록 화면은 +조용하게. 컴파일러에게 화내지 않는 개발자가 되기 위한 작은 장치입니다. :) + +## Features + +- IntelliJ Light 기반 Paper / Graphite Ink palette +- D2Coding 13px editor and console scheme +- Paper-like editor background, graphite UI, low-saturation syntax colors + +## Install + +Install **Graphite Theme** from the JetBrains Marketplace: + +1. Open `Settings | Plugins | Marketplace`. +2. Search for `Graphite Theme` and install it. +3. Restart the IDE if prompted. +4. Select `Graphite Theme` from + `Settings | Appearance & Behavior | Appearance`. + +For offline installation, download the ZIP from [Releases](../../releases), +then choose `Plugins | ⚙ | Install Plugin from Disk...`. + +`D2Coding`이 설치되어 있지 않으면 IDE 기본 monospace font를 사용한다. + +## Build + +```sh +./package.sh +``` + +`dist/graphite-theme.zip`이 생성된다. 이 플러그인은 코드나 외부 +의존성이 없는 리소스 전용 테마다. + +## License + +Copyright 2026 Eunwoo Park. + +Distributed under the [Apache License 2.0](LICENSE). diff --git a/tooling/ark-graphite-intellij-theme/assets/icon-concepts.svg b/tooling/ark-graphite-intellij-theme/assets/icon-concepts.svg new file mode 100644 index 00000000..b824d8f7 --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/assets/icon-concepts.svg @@ -0,0 +1,71 @@ + + Graphite Theme icon concepts + Eight original icon directions using paper, graphite, and plum colors. + + + Graphite Theme — icon concept board + paper · graphite · plum / original reinterpretations of a five-petal rotation + + + + 01Ink-line plum + + + quiet, most legible + + + + 02Dry-brush plum + brush gesture, airy + + + + 03Seal blossom + + + stamp-like, strongest badge + + + + 04Graphite fracture + + + name-driven, distinctive + + + + 05Code blossom + + + developer signal, minimal + + + + 06Brush orbit + + + one stroke, restrained motion + + + + 07Moon branch + + + + calmest, editorial feel + + + + 08Window lattice + + + + architectural, most abstract + diff --git a/tooling/ark-graphite-intellij-theme/assets/overview-kotlin.png b/tooling/ark-graphite-intellij-theme/assets/overview-kotlin.png new file mode 100644 index 0000000000000000000000000000000000000000..46f059dc9230fe9118d1706934336019983c1fae GIT binary patch literal 149125 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�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 + 10-step scale from #963B5E to #FF2262 + + + #963B5E → #FF2262 / 10 steps + + 01#963B5E + 02#A2385E + 03#AD355F + 04#B9335F + 05#C53060 + 06#D02D60 + 07#DC2A61 + 08#E82861 + 09#F32562 + 10#FF2262 + + diff --git a/tooling/ark-graphite-intellij-theme/package.sh b/tooling/ark-graphite-intellij-theme/package.sh new file mode 100755 index 00000000..6d5e5ece --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/package.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -eu + +root_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) +build_dir="$root_dir/build/ark-graphite-intellij-theme" +dist_dir="$root_dir/dist" + +rm -rf "$build_dir" +mkdir -p "$build_dir/lib" "$dist_dir" + +( + cd "$root_dir/src/main/resources" + jar --create --file "$build_dir/lib/ark-graphite-intellij-theme.jar" . +) + +rm -f "$dist_dir/graphite-theme.zip" "$dist_dir/ark-graphite-intellij-theme.zip" +( + cd "$root_dir/build" + zip -qr "$dist_dir/graphite-theme.zip" ark-graphite-intellij-theme +) diff --git a/tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.theme.json b/tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.theme.json new file mode 100644 index 00000000..94a3d238 --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.theme.json @@ -0,0 +1,87 @@ +{ + "name": "Graphite Theme", + "author": "Eunwoo Park", + "dark": false, + "editorScheme": "/ArkGraphite.xml", + "ui": { + "*": { + "background": "#eaebea", + "foreground": "#252525" + }, + "Panel.background": "#eaebea", + "Editor.background": "#eaebea", + "Editor.foreground": "#252525", + "EditorPane.background": "#eaebea", + "TextField.background": "#f2f2f3", + "TextField.foreground": "#252525", + "TextField.inactiveBackground": "#e2e2e5", + "TextField.selectionBackground": "#d8d8dc", + "TextField.selectionForeground": "#252525", + "PasswordField.background": "#f2f2f3", + "ComboBox.background": "#f2f2f3", + "ComboBox.foreground": "#252525", + "ComboBox.disabledBackground": "#e2e2e5", + "Button.background": "#e2e2e5", + "Button.foreground": "#252525", + "Button.focusedBorderColor": "#3f3f46", + "Button.default.background": "#3f3f46", + "Button.default.foreground": "#eaebea", + "Component.borderColor": "#c8c8cc", + "Component.focusedBorderColor": "#3f3f46", + "Component.disabledBorderColor": "#d8d8dc", + "Focus.borderColor": "#3f3f46", + "Separator.foreground": "#d8d8dc", + "Separator.background": "#eaebea", + "ScrollBar.background": "#eaebea", + "ScrollBar.thumb": "#c8c8cc", + "ScrollBar.hoverTrackColor": "#e2e2e5", + "ScrollBar.hoverThumbColor": "#94949a", + "ToolTip.background": "#252525", + "ToolTip.foreground": "#eaebea", + "ToolTip.borderColor": "#3f3f46", + "List.background": "#eaebea", + "List.foreground": "#252525", + "List.selectionBackground": "#d8d8dc", + "List.selectionForeground": "#252525", + "Tree.background": "#eaebea", + "Tree.foreground": "#252525", + "Tree.selectionBackground": "#d8d8dc", + "Tree.selectionForeground": "#252525", + "Table.background": "#eaebea", + "Table.foreground": "#252525", + "Table.selectionBackground": "#d8d8dc", + "Table.selectionForeground": "#252525", + "TableHeader.background": "#e2e2e5", + "TableHeader.foreground": "#252525", + "Menu.background": "#f2f2f3", + "Menu.foreground": "#252525", + "MenuItem.background": "#f2f2f3", + "MenuItem.foreground": "#252525", + "MenuItem.selectionBackground": "#d8d8dc", + "MenuItem.selectionForeground": "#252525", + "PopupMenu.background": "#f2f2f3", + "Popup.border": "#c8c8cc", + "StatusBar.background": "#e2e2e5", + "StatusBar.foreground": "#52525b", + "ToolWindow.Header.background": "#eaebea", + "ToolWindow.Header.inactiveBackground": "#eaebea", + "ToolWindow.Header.borderColor": "#d8d8dc", + "ToolWindow.Button.selectedBackground": "#d8d8dc", + "ToolWindow.Button.selectedForeground": "#252525", + "ToolWindow.Button.hoverBackground": "#e2e2e5", + "EditorTabs.background": "#e2e2e5", + "EditorTabs.inactiveBackground": "#e2e2e5", + "EditorTabs.selectedBackground": "#eaebea", + "EditorTabs.selectedForeground": "#252525", + "EditorTabs.inactiveForeground": "#62626a", + "EditorTabs.underlinedTabBackground": "#eaebea", + "EditorTabs.underlineColor": "#3f3f46", + "EditorTabs.borderColor": "#c8c8cc", + "Notification.background": "#f2f2f3", + "Notification.borderColor": "#c8c8cc", + "Notification.foreground": "#252525", + "ProgressBar.background": "#e2e2e5", + "ProgressBar.foreground": "#3f3f46", + "VersionControl.Log.CommitGraph.color": "#3f3f46" + } +} diff --git a/tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.xml b/tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.xml new file mode 100644 index 00000000..deeae44f --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/src/main/resources/ArkGraphite.xml @@ -0,0 +1,83 @@ + + diff --git a/tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/plugin.xml b/tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/plugin.xml new file mode 100644 index 00000000..3e732d74 --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/plugin.xml @@ -0,0 +1,33 @@ + + io.github.devwooyeon.graphite + Graphite Theme + 1.0.5 + Eunwoo Park (박은우) + + Graphite Theme is a quiet paper-and-ink theme for IntelliJ Platform IDEs.

+

Built from the design system of my personal blog, it pairs a soft paper + background with graphite ink. When the code gets loud, the screen stays + calm—one small aid for becoming the developer who does not get angry at the + compiler. :)

+
+

한국어

+

개인 블로그를 운영하며 사용하던 디자인 시스템을 IntelliJ Platform 테마로 + 만들었습니다.

+

종이 배경에 먹색을 조합한 차분한 테마입니다. 코드가 시끄러워질수록 화면은 + 조용하게. 컴파일러에게 화내지 않는 개발자가 되기 위한 작은 장치입니다. :)

+ ]]>
+ + + + + com.intellij.modules.platform + + + + +
diff --git a/tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/pluginIcon.svg b/tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/pluginIcon.svg new file mode 100644 index 00000000..801cd435 --- /dev/null +++ b/tooling/ark-graphite-intellij-theme/src/main/resources/META-INF/pluginIcon.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ui/Button/Button.tsx b/ui/Button/Button.tsx index 394e043a..b71f96a7 100644 --- a/ui/Button/Button.tsx +++ b/ui/Button/Button.tsx @@ -12,7 +12,7 @@ import { const variantStyles: Record = { primary: - 'bg-[var(--color-accent)] text-[var(--color-accent-foreground)] hover:opacity-80 active:scale-[0.98]', + 'bg-[var(--color-accent-fill)] text-[var(--color-accent-foreground)] hover:bg-[var(--color-accent-hover)] active:scale-[0.98]', secondary: 'bg-[var(--color-grey-100)] text-[var(--color-grey-900)] hover:bg-[var(--color-grey-200)] active:scale-[0.98]', tertiary: @@ -44,7 +44,7 @@ const Button = forwardRef( 'inline-flex items-center justify-center gap-2', 'font-medium transition-all', 'duration-[var(--duration-150)] ease-[var(--ease-default)]', - 'focus-visible:outline-2 focus-visible:outline-[var(--color-accent)] focus-visible:outline-offset-2', + 'focus-visible:outline-2 focus-visible:outline-[var(--color-accent-fill)] focus-visible:outline-offset-2', 'disabled:opacity-40 disabled:cursor-not-allowed disabled:pointer-events-none', variantStyles[variant], sizeStyles[size], From 926269855f2afdb20cef160bc2cf777582e490e6 Mon Sep 17 00:00:00 2001 From: dev-wooyeon Date: Fri, 31 Jul 2026 16:17:56 +0900 Subject: [PATCH 2/2] =?UTF-8?q?test(styles):=20Graphite=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EB=B0=B0=EA=B2=BD=20=EA=B8=B0=EB=8C=80=EA=B0=92=20?= =?UTF-8?q?=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- styles/globals.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/styles/globals.test.ts b/styles/globals.test.ts index bf953d15..7278af69 100644 --- a/styles/globals.test.ts +++ b/styles/globals.test.ts @@ -92,7 +92,7 @@ describe('globals styles', () => { it('keeps inline code lighter than fenced code blocks', () => { expect(tokensContent).toContain('--color-code-inline-bg: #d8d8dc;'); expect(tokensContent).toContain('--color-code-inline-fg: #52525b;'); - expect(tokensContent).toContain('--color-code-bg: #3f3f46;'); + expect(tokensContent).toContain('--color-code-bg: #252525;'); expect(globalsContent).toContain( '.prose :not(pre) > code {\n background-color: var(--color-code-inline-bg);' );