This is a vanilla HTML/CSS/JavaScript version of the Phoenix Code website, No framework line angular/react for simplicity.
- HTML5 - Semantic markup
- CSS3 - Vanilla CSS with CSS custom properties (no SCSS compilation needed)
- JavaScript (ES6+) - Vanilla JS with no framework dependencies
- Bootstrap 4.6.2 - Hosted locally in
thirdparty/for offline development
phcode.io-website/
├── index.html # Landing page
├── about.html # About page
├── privacy.html # Privacy policy
├── terms-of-service.html # Terms of service
├── css/
│ └── styles.css # Main styles
├── js/
│ ├── index.js # Landing page functionality
│ └── navbar.js # Navigation behavior
├── assets/
│ ├── images/ # All image assets
│ └── fonts/ # Font files
├── thirdparty/ # Third-party dependencies (auto-generated)
│ ├── bootstrap/ # Bootstrap CSS
│ └── licenses/ # Third-party licenses
├── scripts/
│ └── build.js # Build script to copy dependencies
├── docs/ # Production build output (auto-generated)
├── vite.config.js # Vite build configuration
└── package.json # NPM dependencies and scripts
All features from the Angular version have been preserved:
- ✅ Mouse-move parallax animations on banner (stars, clouds, logo)
- ✅ Shooting star CSS animations
- ✅ Smooth scroll-based navbar transitions
- ✅ Hover effects on buttons and links
- ✅ Gradient backgrounds
- ✅ Platform detection for downloads (Windows, Mac, Linux, Chrome OS)
- ✅ Download button with dropdown menu
- ✅ Linux installation script with copy-to-clipboard
- ✅ Mobile device detection and responsive behavior
- ✅ Navigation menu toggle for mobile
- ✅ Scroll-based fixed navigation
- ✅ Dynamic video overlay loading
- ✅ API integration for download URLs and counts
- ✅ Landing page with all sections
- ✅ About page
-
Install dependencies:
npm install
-
Pull in third-party dependencies:
npm run build
This copies Bootstrap CSS and licenses from
node_modules/tothirdparty/for local development. -
Start developing:
- Recommended: Open the project in Phoenix Code and use Live Preview
- Alternative: Use
npm run serveif you don't have Phoenix Code
The site uses vanilla HTML/CSS/JS with no build step during development.
Recommended: Use Phoenix Code
The easiest way to develop this site is using Phoenix Code with its built-in live preview:
- Open the project folder in Phoenix Code
- Edit HTML/CSS/JS files and see changes instantly
Alternative: Use npm serve script
If you don't have Phoenix Code, you can use the Node.js development server:
npm run serveThen open http://localhost:8000 in your browser.
Development workflow:
- Edit HTML/CSS/JS files directly
- Changes update automatically (Phoenix Code) or refresh browser (npm serve)
- No compilation or bundling required during development
To create an optimized production build in the docs/ folder:
npm run release:prodThis command:
- Copies Bootstrap dependencies to
thirdparty/ - Builds and minifies all HTML, CSS, and JS files using Vite
- Outputs the production-ready site to
docs/folder
Preview production build locally:
npm run serveDocsThen open http://localhost:8000 to preview the production build.
The docs/ folder can be deployed to:
- GitHub Pages (configure to deploy from
/docsfolder) - Netlify
- Vercel
- AWS S3
- Any static hosting service
The site supports all modern browsers:
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
npm run build- Copy Bootstrap dependencies from node_modules to thirdparty/npm run serve- Start local development server at http://localhost:8000npm run serveDocs- Preview production build from docs/ folder at http://localhost:8000npm run release:prod- Create production build in docs/ folder with minification
To add a new third-party library:
-
Install via npm:
npm install library-name
-
Update
scripts/build.jsto copy the library files tothirdparty/ -
Update
vite.config.jsif needed for production builds -
Reference the library in your HTML files from
thirdparty/
- Create a new HTML file in the root
- Include Bootstrap CSS:
<link href="thirdparty/bootstrap/bootstrap.min.css" rel="stylesheet"> - Include your custom CSS:
<link rel="stylesheet" href="css/styles.css"> - Add to
vite.config.jsunderrollupOptions.inputfor production builds - Include necessary JS files as ES6 modules
Edit css/styles.css to change component styles and global CSS variables.
This vanilla version is lighter and faster for development:
- No framework overhead (~500KB+ Angular bundle eliminated)
- Faster initial page load
- Better SEO (fully static HTML)
- Smaller total bundle size