Skip to content

Commit ef67bcb

Browse files
committed
feat: Enhance Expressive Code styling with site-consistent design
- Increase code font size to 1.5rem for better readability - Use site's color variables for text markers and focus states - Clean, minimal frame styling matching site containers - Remove shadows and heavy styling for cleaner appearance - Disable copy button and ensure line numbers are enabled
1 parent 9560fa5 commit ef67bcb

File tree

1 file changed

+57
-6
lines changed

1 file changed

+57
-6
lines changed

ec.config.mjs

Lines changed: 57 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,67 @@ export default defineEcConfig({
1010

1111
// Disable Expressive Code's built-in copy button and enable line numbers
1212
defaultProps: {
13-
showCopyToClipboardButton: true,
13+
showCopyToClipboardButton: false,
1414
showLineNumbers: true,
1515
},
1616

17-
// Configuration with proper spacing for text marker labels
17+
// Comprehensive styling to match site's clean, minimal design
1818
styleOverrides: {
19-
// Increase inline padding to prevent label overlap with code
20-
codePaddingInline: "3rem", // Increased from default 1.35rem to accommodate labels
19+
// Core background and text styling - pure white like site
20+
codeBackground: "#ffffff",
21+
codeForeground: "#24292f", // GitHub light theme text color
2122

22-
// Use defaults for text markers
23-
textMarkers: {},
23+
// Typography - match site's exact monospace stack
24+
codeFontFamily: "Menlo, Monaco, Consolas, 'Courier New', monospace",
25+
codeFontSize: "1.5rem", // 24px - much larger, very readable code size
26+
codeLineHeight: "1.5",
27+
28+
// Borders - subtle gray matching site's container styling
29+
borderColor: "#e5e7eb", // rgb(229, 231, 235) - light gray
30+
borderWidth: "1px",
31+
borderRadius: "0.375rem", // Tailwind rounded-md
32+
33+
// Text markers - use site's green color scheme for highlighting
34+
textMarkers: {
35+
// Use the site's actual light green color for highlighting
36+
markBackground: "var(--nextflow-light-green)", // Direct use of site color
37+
markBorderColor: "transparent", // Clean, no borders
38+
39+
// Make highlighting more visible but still clean
40+
backgroundOpacity: "0.4", // More visible highlighting
41+
borderOpacity: "0", // No border opacity
42+
},
43+
44+
// Frames - clean, minimal styling
45+
frames: {
46+
// Remove all shadows and heavy styling
47+
shadowColor: "transparent",
48+
frameBoxShadowCssValue: "none",
49+
50+
// Clean frame styling matching site containers
51+
editorBackground: "#ffffff",
52+
editorActiveTabBackground: "#f9fafb", // Very light gray for active tab
53+
editorActiveTabBorderColor: "#e5e7eb", // Match border color
54+
editorTabBarBackground: "#ffffff",
55+
editorTabBarBorderColor: "#e5e7eb",
56+
57+
// Terminal-style frame styling
58+
terminalBackground: "#ffffff",
59+
terminalTitlebarBackground: "#f9fafb",
60+
terminalTitlebarForeground: "#6b7280", // Subtle gray text
61+
terminalTitlebarBorderColor: "#e5e7eb",
62+
},
63+
64+
// Focus and selection states
65+
focusBorder: "var(--nextflow-green)", // Use site's green for focus
66+
codeSelectionBackground: "var(--nextflow-light-green)", // Use site's light green
67+
68+
// Scrollbar styling
69+
scrollbarThumbColor: "#d1d5db", // Light gray
70+
scrollbarThumbHoverColor: "#9ca3af", // Slightly darker on hover
71+
72+
// Ensure clean, minimal appearance throughout
73+
uiSelectionBackground: "var(--nextflow-light-green)",
74+
uiSelectionForeground: "#1f2937", // Dark text for contrast
2475
},
2576
});

0 commit comments

Comments
 (0)