This repository contains the files for Mahmoud Shalash's personal professional multi-page website. It features a responsive design, a 3D protein animation and typed text animations on the homepage, scroll animations, a dark mode toggle, and an embedded Twitter feed on the contact page.
index.html: Home page (includes NGL protein viewer).about.html: About Me page.research.html: Research Focus page.experience.html: Professional Experience page.education.html: Education page.skills.html: Skills page.projects.html: Personal Projects page.publications.html: Publications page.contact.html: Contact page (includes placeholder for Twitter feed).css/style.css: Custom CSS styles for the website.js/script.js: General JavaScript (Typed.js for homepage, dark mode, AOS, active nav link, etc.).js/page-transitions.js: JavaScript for basic page transition effects.images/: Folder for images.- REQUIRED:
profile.jpg(your professional headshot). - REQUIRED:
hero-background.jpg(background for home page hero).
- REQUIRED:
assets/: Folder for other assets.- REQUIRED:
Mahmoud_Shalash_CV.pdf(your CV). - (Optional):
your_protein.pdb(if you choose to load a local PDB file for the homepage animation).
- REQUIRED:
- Create Folders & Files:
- On your computer, create a main folder (e.g.,
mahmoud_shalash_website). - Inside it, create all the subfolders (
css,js,images,assets) and all the HTML files (index.html,about.html, etc.),style.css,script.js,page-transitions.js, and thisREADME.mdfile as listed in the structure above.
- On your computer, create a main folder (e.g.,
- Copy-Paste Code:
- For each file, copy the complete code provided in the instructions and paste it into the corresponding empty file you created. Save each file.
- Add Your Assets (CRITICAL):
- Place your
profile.jpgandhero-background.jpginto theimages/folder. - Place your
Mahmoud_Shalash_CV.pdfinto theassets/folder.
- Place your
- Configure Homepage Protein Animation (CRITICAL):
- Open
index.html. - Find the line in the inline
<script>at the bottom:const proteinToLoad = "rcsb://1UBQ"; - Change
"rcsb://1UBQ"to the 4-character PDB ID of a protein you want to display (e.g.,"rcsb://2N5E"from the RCSB PDB). - OR, if you have your own
.pdbfile (e.g.,myprotein.pdb), put it in theassetsfolder and change the line toconst proteinToLoad = "assets/myprotein.pdb";.
- Open
- Configure Twitter Feed on Contact Page (CRITICAL):
- Open
contact.html. - Find the placeholder comment:
<!-- IMPORTANT: REPLACE THE CODE BELOW... -->. - Go to
https://publish.twitter.com/, enter your Twitter profile URL (https://twitter.com/__shalash__). - Choose the "Embedded Timeline" option.
- Copy the HTML code provided by Twitter.
- Replace the placeholder comment in
contact.htmlwith this copied code.
- Open
- Review Content:
- Open each HTML file and review all text content to ensure it's accurate.
- Check all links (social media, GitHub, internal page links).
- Test Locally:
- Open
index.htmlin your web browser. - Navigate through all pages using the navbar.
- Test dark mode.
- Check animations, protein viewer on the homepage, and the Twitter feed on the contact page.
- Test responsiveness using your browser's developer tools.
- Open
- Create/Use Repository:
- Create a new public repository on GitHub named
YourGitHubUsername.github.io(replaceYourGitHubUsernamewith your actual GitHub username).
- Create a new public repository on GitHub named
- Commit and Push Files:
- Add all the files and folders (
index.html, all other HTML files,css/,js/,images/,assets/,README.md) to this repository. - Commit the changes:
git add .thengit commit -m "Initial multi-page website setup" - Push to GitHub:
git push origin main(ormaster).
- Add all the files and folders (
- Enable GitHub Pages:
- Go to your repository on GitHub -> Settings -> Pages.
- Under "Build and deployment", for "Source", select "Deploy from a branch".
- For "Branch", select your main branch (
mainormaster) and the/(root)folder. Click "Save".
- Access Your Site:
- Your website should be live at
https://YourGitHubUsername.github.iowithin a few minutes.
- Your website should be live at
- Bootstrap 5
- Font Awesome
- Google Fonts
- Typed.js (for homepage text animation)
- AOS (Animate On Scroll)
- NGL Viewer (for homepage protein animation)