A modern, responsive website built with Jekyll for the NEARWEEK community. Features dark/light theme switching, interactive 3D carousel, and optimized performance.
- Modern Design: Clean, professional aesthetic with smooth animations
- Theme Switching: Dark/light mode with persistent user preference
- Interactive Elements: 3D merchandise carousel with touch support
- Responsive Design: Optimized for desktop, tablet, and mobile
- Performance Optimized: Fast loading with lazy loading and efficient CSS
- Content Management: Easy content updates via YAML data files
- Jekyll: Static site generator
- GitHub Pages: Hosting and deployment
- CSS Custom Properties: Modern theming system
- Vanilla JavaScript: No external dependencies
- Semantic HTML: Accessible and SEO-friendly
testsite/
├── _data/ # Content management
│ ├── cards.yml # Cards marquee data
│ ├── feature.yml # Merchandise carousel data
│ └── ...
├── _includes/ # Reusable components
│ ├── header.html # Site header with navigation
│ ├── footer.html # Site footer
│ ├── hero.html # Hero section
│ ├── cards-marquee.html # Horizontal scrolling cards
│ └── feature-section.html # 3D merchandise carousel
├── _layouts/ # Page templates
│ └── default.html # Main layout with theme system
├── assets/ # Static assets
│ └── styles.css # Main stylesheet
├── images/ # Image assets
└── index.html # Homepage
The website uses a sophisticated theme system with CSS custom properties:
- Light Theme: Clean white background with dark text
- Dark Theme: Dark background with light text
- Video Switching: Theme-specific video content
- Persistent Storage: User preference saved in localStorage
:root {
--bg: #ffffff;
--text: #0a0a0a;
--muted: #6b7280;
--card: #ffffff;
--border: rgba(0, 0, 0, 0.12);
--accent: #0ea5e9;
}- Large video background with theme switching
- Call-to-action with animated button
- Responsive text layout
- Horizontal scrolling card display
- Touch-friendly on mobile
- Pause on hover for desktop
- 3D perspective carousel
- Touch/swipe support on mobile
- Auto-rotation with manual override
- Clean background items (images only)
- Grid layout for blog posts
- Responsive card design
- Hover effects and transitions
- Ruby 2.7+ (for Jekyll)
- Bundler gem
# Clone the repository
git clone https://github.com/b4ltasar/testsite.git
cd testsite
# Install dependencies
bundle install
# Serve locally
bundle exec jekyll serve
# Open in browser
open http://localhost:4000# Watch for changes
bundle exec jekyll serve --livereload
# Build for production
bundle exec jekyll buildEdit _data/cards.yml:
items:
- title: "New Card"
text: "Description"
image: "/images/card-image.png"
link: "https://example.com"Edit _data/feature.yml:
items:
- title: "New Product"
description: "Product description"
image: "/images/product.png"
link: "https://shop.example.com"
button_text: "BUY NOW"Create new files in _posts/ with Jekyll front matter.
Update CSS custom properties in assets/styles.css:
:root {
--accent: #your-color;
}Modify font families in the CSS variables section.
Adjust spacing and sizing using the CSS custom properties system.
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
- Automatic detection of system preference
- Manual toggle with persistent storage
- Video content switching based on theme
- 3D perspective transforms
- Touch/swipe gestures on mobile
- Keyboard navigation (arrow keys)
- Auto-rotation with pause on interaction
- Lazy loading for images
- Efficient event listeners
- Debounced resize handlers
The site is automatically deployed to GitHub Pages on every push to the main branch.
# Build the site
bundle exec jekyll build
# Deploy to GitHub Pages
git add .
git commit -m "Deploy updates"
git push origin main-
Video not switching themes
- Check browser console for JavaScript errors
- Verify video files exist in
/images/
-
Carousel not working
- Ensure JavaScript is enabled
- Check for console errors
-
Styles not loading
- Clear browser cache
- Check file paths in
_layouts/default.html
This project is proprietary to NEARWEEK.
For internal development, please:
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For technical issues, contact the development team.
Built for the NEARWEEK community