Official website for the Nodes Plus Unreal Engine plugin.
The Nodes Plus website serves as the official site for the Unreal Engine plugin, hosted on GitHub Pages and built with Vite + React. The site features a streamlined landing page for users interested in the plugin.
- Node.js (version 16 or higher)
- npm
-
Clone the repository
git clone <repository-url> cd NodesPlusWebsite -
Install dependencies
npm install -
Start the development server
npm run dev -
Open your browser and navigate to
http://localhost:5173
nodespluswebsite/
├── public/ # Static assets
│ └── images/ # Images for the website
├── src/ # Source code
│ ├── components/ # Reusable components
│ │ └── common/ # Common components
│ ├── pages/ # Page components
│ ├── styles/ # CSS styles
│ ├── utils/ # Utility functions
│ ├── hooks/ # Custom React hooks
│ ├── context/ # React context providers
│ ├── App.tsx # Main App component with routes
│ └── main.tsx # Entry point with HashRouter
├── scripts/ # Utility scripts
├── .github/ # GitHub configuration
│ └── workflows/ # GitHub Actions workflows
├── index.html # HTML template
└── package.json # Dependencies and scripts
The site uses HashRouter for GitHub Pages compatibility. This means all URLs in the application will be in the format /#/path instead of /path. The main routes are:
/- Home page/features- Feature voting page
All internal navigation links use leading slashes for consistency, even though HashRouter would typically handle other formats.
To build the website for production:
npm run build
The build output will be in the dist directory.
The website is automatically deployed to GitHub Pages when changes are pushed to the main branch.
If you need to deploy manually:
-
Build the project
npm run build -
Create a new branch for GitHub Pages if it doesn't exist
git checkout -b gh-pages -
Add the built files to the branch
git add dist -f git commit -m "Deploy website to GitHub Pages" -
Push to GitHub
git push origin gh-pages -f -
On GitHub, go to repository Settings > Pages and set the source to the gh-pages branch
The repository includes a GitHub Actions workflow in .github/workflows/deploy.yml that automatically builds and deploys the site when changes are pushed to the main branch.
Make sure to enable GitHub Pages in your repository settings and grant the necessary permissions for GitHub Actions.
The website includes several performance optimizations:
-
Code Splitting: Uses React.lazy and Suspense to split the code into smaller chunks that are loaded on demand.
-
Image Optimization: Includes a script to optimize images to WebP format with appropriate sizing:
npm run optimize-images -
Analytics: Includes a lightweight analytics implementation to track page views and important user interactions.
The website follows accessibility best practices:
-
ARIA Attributes: All interactive elements include appropriate ARIA attributes.
-
Keyboard Navigation: The site is fully navigable using keyboard controls.
-
Focus Styles: Visible focus indicators for keyboard users.
-
Screen Reader Support: Includes hidden text specifically for screen readers where necessary.
npm run optimize-images
This script processes images in the public/images directory, converting them to WebP format and resizing them as needed for better performance.
[License details]
For questions or support, please join our Discord server.