Hydejack Theme Architecture
Overview
Jekyll-theme-hydejack v9 - Academic/professional theme with advanced features.
Theme files embedded in #jekyll-theme-hydejack/ directory (not gem-based).
Layout System
Base Layouts
base.html- Foundation with version checkingdefault.html- Standard pagescompress.html- HTML minification wrapper
Content Layouts
home.html- Homepagepage.html- Static pagespost.html- Blog postsblog.html- Blog listingnews.html- News feed
Specialized
people.html- Team listingsprojects.html- Portfolio gridresume.html- CV/resumewelcome.html- Landing page
Component Architecture
Navigation
- Drawer-based sidebar (
<hy-drawer>custom element) - Mobile-responsive menu system
- Dynamic page loading (push state)
Includes Organization
_includes/
├── body/ # Page structure
├── components/ # Reusable UI elements
├── head/ # Meta, SEO, assets
├── pro/ # Premium features
├── js/ # JavaScript workers
└── scripts/ # Loading utilities
Styling System
SASS Structure
- Variables - Colors, spacing, typography
- Mixins - Reusable style functions
- Inline vs Link - Performance optimization modes
- Dark Mode - Dynamic theme switching (PRO)
CSS Strategy
- Mobile-first responsive design
- Critical CSS inlining option
- Component-based architecture
- Bootstrap integration (forms/grid)
Performance Features
Optimization
- Lazy loading images (
<hy-img>) - Service worker for offline support
- HTML compression
- Critical CSS inlining
- Dynamic content loading
Build Options
hydejack:
no_inline_css: false # Inline critical CSS
no_page_style: false # Per-page styling
no_break_layout: true # Content width control
no_push_state: false # Dynamic loading
Customization Points
Site-Level
_includes/my-head.html- Custom head content_includes/my-body.html- Custom body scripts_sass/my-style.scss- Custom styles (heavily customized)_sass/my-inline.scss- Critical custom CSS
Custom Style Implementation (_sass/my-style.scss)
Major customizations include:
Layout & Content Width
- Landscape Mode Fixes: Responsive padding-left calculations to prevent sidebar overlap
- Content Width Control: Uses
calc()functions with sidebar width (21rem) + spacing - Breakpoint-based Adjustments: Different spacing for 64em, 86em, 120em, 160em screens
- Full-width Content: Overrides theme’s max-width constraints for landscape orientation
People Cards Redesign
- Layout Transform: Changed from vertical grid cards to horizontal list layout
- Circular Profile Photos: Border-radius: 50% for profile images with object-fit: cover
- Flexible Layout: Uses CSS flexbox with image (80px) + text content areas
- Hover Effects: TranslateX and box-shadow animations for interactivity
- Responsive Columns: 1 column on mobile, 2 columns on large landscape screens
Latest Highlights Section
- Visual Design: Semi-transparent background with accent color left border
- Two-column Layout: Date badges + content with flexbox
- Responsive Behavior: Stacks vertically on mobile, horizontal on desktop
- Color Alternation: Alternating date badge colors (accent + orange) on large screens
- Interactive Links: Dotted borders with hover color transitions
Typography & Accessibility
- Word Wrapping: Comprehensive word-break rules for long titles
- Overflow Prevention: Multiple CSS properties to handle text overflow
- Hyphenation: Auto-hyphenation for better text flow
Configuration
accent_color- Primary brand colortheme_color- Browser UI colorgoogle_fonts- Typographyhydejack- Feature toggles
Collections Support
- _people/ - Team members
- _projects/ - Portfolio items
- _news/ - Announcements
- Custom collection layouts
Pro Features
- Dark mode with syntax highlighting
- Built-in search
- Newsletter integration
- Advanced project cards
- Resume printing
- Cookie banners
- Grid layouts
JavaScript Components
- hy-drawer - Touch-enabled drawer
- hy-push-state - SPA-like navigation
- hy-img - Lazy loading images
- Search worker - Client-side search
- Service worker - Offline support
SEO & Meta
- Schema.org structured data
- Open Graph tags
- Twitter cards
- JSON-LD integration
- Sitemap generation
Browser Support
- Progressive enhancement
- Works without JavaScript
- Text browser compatible (w3m)
- PWA capabilities
- Print stylesheet support