Color Palette
SSH Portfolio uses the Catppuccin Mocha color palette, a soothing pastel theme designed for the morning cat. All colors are defined inui/theme.go:
Core Colors
ui/theme.go
Text Colors
ui/theme.go
Accent Colors
ui/theme.go
Surface Colors
ui/theme.go
Where Colors Are Used
Tab Bar
The tab bar at the top of the UI uses different colors for active and inactive states:ui/model.go
Home Page
The home page displays your ASCII art and introduction:ui/home.go
Skills Page
The skills page uses colors to differentiate categories and items:ui/skills.go
Projects Page
Projects use distinct colors for different elements:ui/projects.go
Contact Page
The contact page uses a centered card layout:ui/contact.go
Status Bar
The status bar at the bottom shows keyboard hints:ui/model.go
Modifying the Theme
Changing Individual Colors
To change colors, edit the constants inui/theme.go:
ui/theme.go
Using a Different Palette
Catppuccin offers four flavors. To switch to a different one, replace all color values:- Mocha (current): Dark theme with warm tones
- Macchiato: Slightly lighter than Mocha
- Frappé: Medium contrast
- Latte: Light theme
Creating a Custom Theme
- Replace color constants in
ui/theme.gowith your hex values - Ensure sufficient contrast between:
- Text colors and backgrounds (Text, Subtext0, Subtext1 vs Base, Surface0, Mantle)
- Active vs inactive states (e.g., Blue vs Overlay1)
- Borders and backgrounds (Surface1 vs Base)
- Test in your terminal to ensure colors render correctly
- Rebuild the application:
Tips
- Keep accent colors distinct for different UI elements (skills vs projects vs links)
- Maintain consistent use of colors across pages for better UX
- Test your theme in different terminal emulators (some may not support true color)
- Use lighter colors for text on dark backgrounds
- Keep borders subtle with Surface1 or similar muted colors