How santhoshclx/personalportfolio works
Purpose and runtime
This repository is a static personal portfolio site for presenting resume content, projects, and technical blogs. It runs entirely in the browser: HTML, CSS, and vanilla JavaScript, with no backend, build system, database, or server-side runtime. It is deployable to any static host.
Primary entry point: index.html.
Application shell and content sections
index.html is the portfolio shell and canonical source for the About, Resume, Projects, Blog, and Contact sections. It contains the navigation targets and links that connect portfolio cards to detail documents.
Key path:
• index.html
Client-side interaction and navigation
The browser-side controller in assets/js/script.js implements responsive navigation, section/view transitions, dynamic project/blog loading via loadProjectContent(), and copy-to-clipboard behavior for embedded code examples. This is the main control boundary between the persistent portfolio shell and fetched detail content.
Key paths:
• assets/js/script.js
• index.html
Styling and responsive presentation
A single global stylesheet defines theme variables, layout, responsive breakpoints, animations, component styling, and code/content presentation. CSS custom properties provide the site’s visual theming boundary.
Key paths:
• assets/css/style.css
• assets/images
Dynamically loaded project content
Project detail pages are standalone HTML fragments/documents retrieved by the client script and integrated into the portfolio experience without a full-page navigation. Existing projects span DevOps, ML, regex, and the portfolio itself.
Key paths:
• projects/AWSCodePipelineCICD.html
• projects/LinearRegressionFromSCRATCH.html
• projects/PatternMatchingRegEx.html
• projects/PersonalPortfolioWebsite.html
Blog content pipeline
Technical posts are static HTML documents under blogs/. Navigation from the main shell selects a post; the JavaScript content loader fetches and displays it in the portfolio interface. Blog pages may contain code blocks that participate in the shared clipboard interaction.
Key paths:
• blogs/RegularExpressionsGuide.html
• blogs/AWSCodePipeline.html
• blogs/AWSCloudWatchAgent.html
• blogs/AWSSystemsManager.html
External dependencies and delivery
The site relies on browser-native APIs, notably fetch for dynamic content and the Clipboard API for code copying. External presentation services include Google Fonts (Poppins) and Ionicons. Assets are served as static files; local development can use any static HTTP server. GitHub Actions contains a static-site workflow, indicating CI/static validation or deployment automation.
Key paths:
• .github/workflows/static.yml
• assets/css/style.css
• assets/js/script.js
Main entry points: script.js Client controller · index.html Portfolio shell · style.css Global styles · images Image assets
Components 15
Browser app
Static portfolio runtime.
- Portfolio shell · Canonical sections and navigation targets.
index.html - Client controller · Handles navigation, fetched views, and clipboard actions.
assets/js/script.js - Global styles · Responsive layout, components, and theme variables.
assets/css/style.css - Image assets
assets/images - Fetch API · Retrieves selected detail content.
- Clipboard API · Copies embedded code examples.
Static content
Fetched portfolio detail documents.
- CI/CD project
projects/AWSCodePipelineCICD.html - Linear regression project
projects/LinearRegressionFromSCRATCH.html - Regex project
projects/PatternMatchingRegEx.html - Portfolio project
projects/PersonalPortfolioWebsite.html - Technical blog posts · Static posts selected and displayed in the shell.
blogs/RegularExpressionsGuide.html
Delivery
Static hosting and automation.
- Static host · Serves shell, assets, and content files.
- Static-site workflow · Automates static-site validation or deployment.
.github/workflows/static.yml - Google Fonts · Provides Poppins.
- Ionicons · Provides interface icons.
Connections 17
- Static host → Portfolio shell: serves
- Static host → Client controller: serves
- Static host → Global styles: serves
- Static host → Image assets: serves
- Portfolio shell → Client controller: loads
- Portfolio shell → Global styles: applies
- Global styles → Image assets: presents
- Client controller → Fetch API: uses
- Client controller → Clipboard API: uses
- Client controller → CI/CD project: loads
- Client controller → Linear regression project: loads
- Client controller → Regex project: loads
- Client controller → Portfolio project: loads
- Client controller → Technical blog posts: loads
- Global styles → Google Fonts: uses
- Portfolio shell → Ionicons: uses
- Static-site workflow → Static host: deploys or validates