Skip to content

Commit 86a3cf7

Browse files
style(docs): align docs frontend with landing page design system
- Add spacing rhythm system (--space-xs to --space-2xl) matching landing page - Implement card-based styling for content sections with 3px border-radius - Unify code blocks with header (colored dots) matching landing page pattern - Add visual separators and section breaks between content blocks - Update typography hierarchy with rhythmic spacing (6rem, 4rem, 2.5rem) - Remove duplicate CSS rules in sidebar styling - Add addCodeHeaders() function to wrap code blocks with headers - Improve responsive breakpoints for consistent mobile experience
1 parent 571a8f7 commit 86a3cf7

2 files changed

Lines changed: 255 additions & 67 deletions

File tree

website/docs/src/main.ts

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,13 +352,41 @@ function sanitizeHtmlFragment(html: string): DocumentFragment {
352352
return fragment;
353353
}
354354

355-
function addCodeCopyButtons(): void {
355+
function addCodeHeaders(): void {
356356
contentEl.querySelectorAll("pre").forEach((pre) => {
357+
// Skip if already wrapped or has header
358+
if (pre.parentElement?.classList.contains("code-wrapper")) {
359+
return;
360+
}
361+
357362
const wrapper = document.createElement("div");
358363
wrapper.className = "code-wrapper";
364+
365+
// Create header with dots
366+
const header = document.createElement("div");
367+
header.className = "code-header";
368+
header.innerHTML = `
369+
<span class="dot dot-red"></span>
370+
<span class="dot dot-yellow"></span>
371+
<span class="dot dot-green"></span>
372+
`;
373+
359374
pre.parentNode?.insertBefore(wrapper, pre);
375+
wrapper.appendChild(header);
360376
wrapper.appendChild(pre);
377+
});
378+
}
361379

380+
function addCodeCopyButtons(): void {
381+
contentEl.querySelectorAll(".code-wrapper").forEach((wrapper) => {
382+
// Skip if button already exists
383+
if (wrapper.querySelector(".copy-code-btn")) {
384+
return;
385+
}
386+
387+
const pre = wrapper.querySelector("pre");
388+
if (!pre) return;
389+
362390
const copyBtn = document.createElement("button");
363391
copyBtn.className = "copy-code-btn";
364392
copyBtn.type = "button";
@@ -450,6 +478,7 @@ function renderPage(pageName: string): void {
450478
}
451479
});
452480

481+
addCodeHeaders();
453482
addCodeCopyButtons();
454483
highlightCode();
455484

0 commit comments

Comments
 (0)