Skip to content

MouazSalah/elmentorprogram.github.io

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Elmentor Landing Page

A clean, maintainable landing page for the Elmentor/DevOps Visions community built with React, TypeScript, and Vite.

GitHub Pages License: MIT

CRITICAL NOTE: This repository contains the GitHub Pages website serving as the landing page for our community. The website content and functionality (src/, public/, build config, deployment scripts) must be preserved at all costs. See Contributing Guidelines for more details.

πŸ“‹ Quick Start

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run serve

Temporary Manual Deployment (Codespace) ⚠️

This is a temporary fallback while automated GitHub Actions deployment is unavailable.
It will be removed once CI deployment is restored.

βœ… Prerequisites

  • GitHub Pages is configured to serve from the gh-pages branch (Settings β†’ Pages).
  • The repository already contains the scripts:
    • build (e.g. builds the site into dist)
    • deploy:gh-pages (publishes dist to the gh-pages branch)
  • You have permission to push to the repository.

πŸ†• First-Time Setup in a New Codespace

npm install
npm run build

(Optional) Preview locally if a dev server script exists:

npm run dev

⚑ Everyday Quick Deploy

From the repository root inside the Codespace:

npm run build && npm run deploy:gh-pages

That’s itβ€”once the deploy:gh-pages script completes, the site will update (usually within 1–2 minutes).

πŸ’‘ (Optional) Single Command Helper

If you personally want a one-liner, you can add this to your local package.json (NOT added in the repo yet to keep history minimal):

"scripts": {
  "publish": "npm run build && npm run deploy:gh-pages"
}

Then run:

npm run publish

(Do not commit this unless the team agrees.)

πŸ”„ Cache Busting

If the browser shows an old version, append a query param to assets or page URLs:

https://<your-site>/<path>?v=$(date +%s)

Or manually hard refresh (Ctrl+Shift+R / Cmd+Shift+R).

🧹 Recovery / Clean Rebuild

If builds start failing or output looks stale:

rm -rf node_modules dist package-lock.json
npm install
npm run build

πŸ› οΈ Troubleshooting

Symptom Possible Cause Fix
Site not updating after deploy CDN / browser cache Use cache busting ?v=timestamp or hard refresh
dist folder empty Build failed silently Re-run npm run build and inspect errors
Permission denied pushing to gh-pages Missing repo access Confirm your GitHub role / fork & open PR
tsc: command not found (if TypeScript) Dev deps not installed Run npm install again
Old assets still rendering Service worker or cached JS In DevTools: Application β†’ Clear storage β†’ Hard reload
Deploy script exits early Script expects branch/state Check deploy:gh-pages script body & logs

🧾 Verification Checklist

  1. npm run build finishes with no errors.
  2. npm run deploy:gh-pages pushes a new commit to gh-pages.
  3. Settings β†’ Pages shows β€œPublished”.
  4. Visit the site with ?v=<new timestamp> to confirm changes.

⏳ Temporary Notice

This section is temporary. Once automated GitHub Actions deployment is repaired, these manual steps will no longer be required and this subsection will be removed to reduce noise.

πŸš€ Deployment

To deploy to GitHub Pages:

  1. Update your GitHub username in github-config.txt
  2. Run the deployment script:
    # PowerShell (recommended)
    ./deploy.ps1
    
    # Or using npm
    npm run deploy

πŸ› οΈ Project Structure

elmentor-landing-page-clean/
β”œβ”€β”€ dist/              # Build output
β”œβ”€β”€ docs/              # Documentation
β”‚   β”œβ”€β”€ deployment/    # Deployment documentation
β”‚   β”œβ”€β”€ design/        # Design documents
β”‚   β”œβ”€β”€ development/   # Development guides
β”‚   β”œβ”€β”€ devops-visions-guidance/  # DevOps Visions standards
β”‚   └── legacy/        # Legacy documentation
β”œβ”€β”€ public/            # Static assets [DO NOT MODIFY]
β”œβ”€β”€ scripts/           # Utility scripts
β”‚   β”œβ”€β”€ deployment/    # Deployment scripts [DO NOT MODIFY]
β”‚   β”œβ”€β”€ maintenance/   # Maintenance scripts
β”‚   └── utils/         # Utility scripts
β”œβ”€β”€ .github/           # GitHub templates and workflows
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/ # Issue templates
β”‚   β”œβ”€β”€ PULL_REQUEST_TEMPLATE/ # PR templates
β”‚   └── workflows/     # GitHub Actions workflows
β”œβ”€β”€ .temp/             # Untracked local development files (not in Git)
└── src/               # Source code [DO NOT MODIFY]

🧩 Features

  • Modern React with TypeScript
  • Fast builds with Vite
  • Responsive design
  • Framer Motion animations
  • GitHub Pages deployment

🧰 Maintenance

For repository maintenance tasks:

./maintain.ps1

πŸ”§ Development Utilities

For local development files that shouldn't be committed:

# Move or copy files to untracked .temp directory
./move-to-temp.ps1

The .temp directory is ignored by Git and provides a standardized location for:

  • Development scripts
  • Documentation drafts
  • Temporary build outputs
  • Work-in-progress files

πŸ“š Documentation

For detailed documentation, see the docs directory:

🀝 Contributing

Contributions are welcome! Please read our Contributing Guidelines and Code of Conduct before submitting a pull request.

IMPORTANT: Any changes to the website code, structure, or deployment configuration are subject to strict review and must follow the special guidelines in the contributing document.

πŸ“„ License

This project is licensed under the MIT License .

About

Elmentor Program

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 38.1%
  • CSS 29.7%
  • TypeScript 27.6%
  • JavaScript 2.0%
  • Shell 1.4%
  • Python 0.6%
  • Other 0.6%