Personal website source code for Grigory Nigmatkulov.
This is a static multi-page website built with plain HTML, CSS, and JavaScript. The site includes:
- Home page
- CV page
- Research page
- Contact page
- Shared styling and shared theme toggle logic
index.html: Home pagecv.html: CV and professional backgroundresearch.html: Research summarycontact.html: Contact details and mapstyles.css: Global styling, responsive layout, light/dark theme variablesscript.js: Theme toggle button, saved theme preference, active-tab highlighting
Common edits are straightforward:
- Update page text directly in the HTML files.
- Replace the photo placeholder on the home page by editing
index.htmlandstyles.css. - Change colors, spacing, fonts, or theme behavior in
styles.cssandscript.js. - Add or remove tabs by editing the
<nav>section in each page.
The theme toggle is handled in script.js, while the visual appearance of both themes is controlled in styles.css.
The website supports two themes:
- Dark theme (default)
- Light theme
Theme behavior:
- Toggle button appears in the top-right corner
- Theme preference is stored in browser
localStorage - Preference is restored automatically on next visit
Top navigation tabs are shared across all pages:
- Home
- CV
- Research
- Contact
The currently opened tab is highlighted automatically by script.js.
From the repository root, run:
python3 -m http.server 8000Then open:
http://localhost:8000
Stop the server with Ctrl+C.
This repository is intended for GitHub Pages deployment.
Typical workflow:
- Commit your changes locally.
- Push them to the branch configured for GitHub Pages, commonly
main. - In GitHub, verify that Pages is enabled for the correct branch and root folder.
- Wait a minute or two for GitHub Pages to rebuild the site.
The live site will update automatically after the push completes and GitHub Pages finishes building.