Skip to content
This repository was archived by the owner on Dec 10, 2025. It is now read-only.

exergyadmin/website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EXERGY - Heat That Pays

A comprehensive website for Exergy LLC, the leader in Hashrate Heating system feasibility modeling, design and integration. This modern React application showcases our products, services, and expertise in Bitcoin mining heat reuse technology.

Features

  • πŸŒ™ Dark/Light Mode Support - Automatic system detection with manual override
  • πŸ“± Fully Responsive Design - Optimized for all device sizes
  • 🎨 Modern UI with Dynamic Animations - Framer Motion powered interactions
  • 🧭 Intuitive Navigation - Clean, accessible navigation structure
  • πŸ’» Interactive Components - Engaging user interface elements
  • πŸ” Search Functionality - Searchable FAQ and blog content
  • πŸ“Š Interactive Calculators - Coming soon: ROI and savings calculators
  • πŸ“ Contact Forms - HubSpot integrated contact and booking forms
  • πŸ“… Booking System - Integrated HubSpot meetings for consultations
  • πŸ“° Markdown-based Blog System - Dynamic blog with category filtering
  • 🏭 Product Catalog - Comprehensive hashrate heating product showcase
  • 🎯 SEO Optimized - Complete meta tags, structured data, and sitemap
  • πŸ“ˆ Media Integration - Featured press coverage carousel
  • πŸ”§ Service Showcase - Detailed service offerings with interactive elements

Tech Stack

  • Framework: React 18 with TypeScript
  • Routing: React Router v6 with scroll restoration
  • Styling: Tailwind CSS with Typography plugin
  • Icons: Lucide React
  • Animations: Framer Motion
  • Build Tool: Vite with optimized chunking
  • Type Checking: TypeScript with strict mode
  • Linting: ESLint with React hooks plugin
  • Content Management: Markdown with Gray Matter
  • Markdown Parsing: Marked
  • SEO: React Helmet Async
  • Forms: HubSpot integration
  • Fonts: Futura PT with system fallbacks

Project Structure

src/
β”œβ”€β”€ blog-posts/         # Markdown blog posts
β”‚   β”œβ”€β”€ book-ch1.md    # Chapter 1: Why Hashrate Heaters Make Sense
β”‚   └── book-ch2.md    # Chapter 2: Hashrate Heating for Homes and Businesses
β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”œβ”€β”€ Footer.tsx     # Site footer with comprehensive links
β”‚   β”œβ”€β”€ MediaHighlights.tsx  # Auto-scrolling media coverage carousel
β”‚   β”œβ”€β”€ Navbar.tsx     # Main navigation with responsive mobile menu
β”‚   β”œβ”€β”€ ProjectCarousel.tsx  # Interactive project showcase
β”‚   β”œβ”€β”€ ScrollToTop.tsx      # Route change scroll restoration
β”‚   └── ThemeToggle.tsx      # Dark/light/system mode switcher
β”œβ”€β”€ contexts/          # React context providers
β”‚   └── ThemeContext.tsx     # Theme management with system detection
β”œβ”€β”€ data/              # Static data and configurations
β”‚   β”œβ”€β”€ mediaHighlights.ts   # Press coverage data
β”‚   └── portfolioProjects.ts # Project showcase data
β”œβ”€β”€ hooks/            # Custom React hooks
β”‚   └── useTypewriter.ts     # Typewriter animation effect
β”œβ”€β”€ pages/            # Page components
β”‚   β”œβ”€β”€ About.tsx     # Company information and team
β”‚   β”œβ”€β”€ Blog.tsx      # Blog listing with search and filtering
β”‚   β”œβ”€β”€ BlogPostDetail.tsx  # Individual blog post viewer
β”‚   β”œβ”€β”€ BookCall.tsx  # HubSpot meetings integration
β”‚   β”œβ”€β”€ Calculators.tsx  # Coming soon calculators page
β”‚   β”œβ”€β”€ Contact.tsx   # Contact form and information
β”‚   β”œβ”€β”€ Docs.tsx      # Documentation and legal pages
β”‚   β”œβ”€β”€ Education.tsx # Educational resources and content
β”‚   β”œβ”€β”€ FAQ.tsx       # Searchable frequently asked questions
β”‚   β”œβ”€β”€ Home.tsx      # Landing page with hero and features
β”‚   β”œβ”€β”€ Learn.tsx     # Technology learning hub
β”‚   β”œβ”€β”€ Portfolio.tsx # Project showcase and case studies
β”‚   β”œβ”€β”€ PrivacyPolicy.tsx  # Privacy policy and data protection
β”‚   β”œβ”€β”€ Products.tsx  # Product catalog with filtering
β”‚   └── Services.tsx  # Service offerings with interactive elements
β”œβ”€β”€ types/            # TypeScript type definitions
β”‚   └── cal.d.ts      # Cal.com integration types
β”œβ”€β”€ utils/            # Utility functions
β”‚   └── blogLoader.ts # Blog post loading and parsing utilities
β”œβ”€β”€ App.tsx           # Main app component with routing
β”œβ”€β”€ index.css         # Global styles and Tailwind configuration
└── main.tsx          # Application entry point

Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/yourusername/exergy-website.git
cd exergy-website
  1. Install dependencies
npm install
  1. Install terser for production builds (required for Vite 3+)
npm install terser --save-dev
  1. Start the development server
npm run dev

The application will be available at http://localhost:5173

Building for Production

npm run build

The built files will be in the dist directory with serve.json automatically copied for SPA routing.

Serving Production Build

npm run serve

This serves the production build locally on port 3000 with proper SPA routing.

Blog System

The blog system uses Markdown files with front matter for easy content management.

Adding a New Blog Post

  1. Create a new .md file in src/blog-posts/
  2. Add front matter at the top:
---
id: 'unique-post-id'
title: 'Your Blog Post Title'
excerpt: 'A compelling description of your blog post content.'
author: 'Author Name'
date: 'YYYY-MM-DD'
category: ['category1', 'category2']
image: 'https://images.pexels.com/photos/...'
readTime: 'X min read'
---

Your blog content goes here in Markdown format.

## Subheading

You can use **bold text**, *italic text*, [links](https://example.com), and images.

- List item 1
- List item 2

Blog Features

  • Automatic category detection: New categories are automatically added to filter options
  • Search functionality: Search through titles, excerpts, and authors
  • Responsive design: Optimized for all device sizes
  • SEO-friendly URLs: Clean URLs for each blog post with proper meta tags
  • Full Markdown support: Including images, links, and formatting
  • Dynamic loading: Vite's import.meta.glob for efficient loading

Product Catalog

The product catalog supports multiple categories with filtering:

  • Space Heating: Standalone heating solutions
  • Forced Air: HVAC integrated systems
  • Hydronic & Water: Water-based heating solutions
  • Control Systems: Smart control hardware
  • Commercial & Industrial: Large-scale solutions

Adding Products

Products are defined in src/pages/Products.tsx with comprehensive specifications, pricing, and feature details.

SEO Optimization

The website includes comprehensive SEO features:

  • Meta Tags: Title, description, keywords for all pages
  • Open Graph: Social media optimization with dynamic images
  • Structured Data: Organization schema in index.html
  • Sitemap: Auto-generated XML sitemap
  • Canonical URLs: Proper canonical link tags
  • Performance: Optimized images and code splitting

Deployment

Static Hosting (Recommended)

The project includes serve.json for proper SPA routing on static hosts like Netlify or Vercel.

Server Deployment

For server deployment, use the included Express server:

node server.js

Or use the systemd service file in admin/exergy-website.service for production servers.

Development

Code Style

  • React Best Practices: Functional components with hooks
  • TypeScript: Strict type checking enabled
  • Responsive Design: Mobile-first approach
  • Accessibility: ARIA labels and semantic HTML
  • Performance: Lazy loading and code splitting

Key Components

  • Navbar - Responsive navigation with mobile menu
  • Footer - Comprehensive site footer with links
  • ProjectCarousel - Auto-advancing project showcase
  • MediaHighlights - Auto-scrolling press coverage
  • ThemeToggle - System-aware theme switching
  • Blog - Dynamic blog with search and filtering
  • BlogPostDetail - Individual post viewer with SEO

Performance Optimizations

  • Font Loading: Optimized with system fallbacks
  • Image Optimization: Lazy loading for non-critical images
  • Code Splitting: Vite-powered bundle optimization
  • Minification: Terser for production builds
  • Caching: Proper cache headers for static assets
  • Bundle Analysis: Optimized chunk splitting

Integrations

  • HubSpot Forms: Contact and newsletter signup
  • HubSpot Meetings: Consultation booking system
  • External Links: Press coverage and partner sites
  • Social Media: X (Twitter) and GitHub links

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a pull request

License

This project is proprietary software. All rights reserved.

Contact

For inquiries about the website or hashrate heating solutions:


Built with ⚑ by EXERGY LLC - Heat That Pays

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5