{"id":50977203,"url":"https://github.com/hmziqrs/cv","last_synced_at":"2026-06-19T09:32:34.402Z","repository":{"id":358662752,"uuid":"962596880","full_name":"hmziqrs/cv","owner":"hmziqrs","description":"Personal CV build with dioxus SSG","archived":false,"fork":false,"pushed_at":"2026-05-18T13:16:31.000Z","size":9492,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-18T14:06:06.811Z","etag":null,"topics":["dioxus","dioxus-icons","dioxus-simple","dioxus-ssg","dioxus-web","rust","rust-front","rust-ssr"],"latest_commit_sha":null,"homepage":"https://cv.hmziq.rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hmziqrs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-08T11:48:16.000Z","updated_at":"2026-05-18T13:17:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hmziqrs/cv","commit_stats":null,"previous_names":["hmziqrs/cv"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/hmziqrs/cv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmziqrs%2Fcv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmziqrs%2Fcv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmziqrs%2Fcv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmziqrs%2Fcv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hmziqrs","download_url":"https://codeload.github.com/hmziqrs/cv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmziqrs%2Fcv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34526065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dioxus","dioxus-icons","dioxus-simple","dioxus-ssg","dioxus-web","rust","rust-front","rust-ssr"],"created_at":"2026-06-19T09:32:33.086Z","updated_at":"2026-06-19T09:32:34.384Z","avatar_url":"https://github.com/hmziqrs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hamza Iqbal's CV Website\n\nA modern, responsive CV/portfolio website built with Rust and Dioxus. This project showcases a clean and professional design, using Tailwind CSS for styling and hmziq-dioxus-free-icons for custom icon components.\n\n## Features\n\n- **Responsive Design**: Optimized for desktop, tablet, and mobile viewing\n- **Light/Dark Mode**: Auto-detects system preference with smooth theme transitions\n- **Print-Friendly**: Special layout optimizations for PDF export and printing\n- **SEO Optimized**: Structured metadata for better search engine visibility\n- **Component-Based Architecture**: Modular components for maintainability\n- **Static Site Generation**: Fast loading, SEO-friendly static HTML output\n\n## Project Structure\n\n```\ncv/\n├── components/           # UI components\n│   ├── download.rs       # PDF download section\n│   ├── experience.rs     # Work experience timeline\n│   ├── footer.rs         # Site footer with social links\n│   ├── header.rs         # Profile header section\n│   ├── project.rs        # Project showcases\n│   ├── skills.rs         # Skills section\n│   ├── spacer.rs         # Layout spacing component\n│   └── mod.rs            # Component exports\n├── screens/              # Page layouts\n│   ├── home.rs           # Main CV page\n│   └── mod.rs            # Screen exports\n├── scripts/              # Utility scripts\n│   ├── chrome_capture.rs # PDF/JPEG generation script\n│   ├── stripper.rs       # HTML/CSS optimization tool\n│   └── stripper.legacy   # Legacy HTML cleanup tool\n├── router.rs             # URL routing\n├── metadata.rs           # SEO metadata\n├── main.rs               # Application entry point\n├── public/               # Static assets\n└── assets/               # Compiled assets\n```\n\n## Utility Scripts\n\nThis project includes several utility scripts in the `scripts/` directory:\n\n### chrome_capture.rs\n\nA headless Chrome automation script that generates PDF and JPEG versions of the CV in both light and dark themes.\n\n- Automatically starts a local server when needed\n- Captures high-quality PDF files optimized for printing\n- Generates JPEG screenshots of the entire page\n- Supports different environments (local, dev, prod)\n\n### stripper.rs\n\nAn optimization tool that prepares the generated HTML for production by:\n\n- Removing unnecessary hydration data and scripts\n- Cleaning up Dioxus-specific attributes\n- Minifying the final HTML output\n- Finding and optimizing CSS assets\n\n### stripper.legacy\n\nA legacy version of the HTML cleanup tool that uses regex patterns to remove specific tags from the generated HTML output.\n\n## Technology Stack\n\n- **Rust**: Fast and reliable systems programming language\n- **Dioxus**: React-inspired UI library for Rust\n- **Tailwind CSS**: Utility-first CSS framework\n- **hmziq-dioxus-free-icons**: Icon component library\n- **Static Site Generation**: Pre-rendered HTML for better performance\n\n## Deployment\n\nThis project uses GitHub Actions for automated deployment. The deployment pipeline builds the site, optimizes the output, generates PDF/JPEG versions of the CV, and deploys to multiple platforms.\n\n### Deployment Infrastructure\n\n- **GitHub Pages**: Primary hosting for the static site\n- **Cloudflare Pages**: Secondary deployment location for enhanced performance\n- **GitHub Actions**: CI/CD pipeline automation\n\n### Deployment Workflow\n\nThe deployment process is managed through several GitHub Actions workflows:\n\n1. **Deploy (`deploy.yml`)**: Main deployment workflow that:\n   - Builds the site with Dioxus and Tailwind CSS\n   - Downloads the latest utility binaries (stripper and chrome_capture)\n   - Optimizes HTML output with the stripper tool\n   - Generates PDF and JPEG versions of the CV\n   - Deploys to both GitHub Pages and Cloudflare Pages\n   - Uploads PDF/JPEG artifacts for download\n\n2. **Build Tools**: Separate workflows that build and release the utility scripts:\n   - `build-stripper.yml`: Builds the HTML optimization tool for multiple platforms\n   - `build-chrome-capture.yml`: Builds the PDF/JPEG generation tool for multiple platforms\n\n### Running Deployments Manually\n\nYou can trigger a manual deployment through the GitHub Actions interface by selecting the \"Deploy Rust CV to Pages\" workflow and clicking \"Run workflow\".\n\n## Getting Started\n\n### Prerequisites\n\n- Rust toolchain (1.65+)\n- Dioxus CLI\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/hmziqrs/cv.git\n   cd cv\n   ```\n\n2. Install Dioxus CLI:\n\n   ```bash\n   cargo install dioxus-cli\n   ```\n\n3. Install Tailwind dependencies:\n   ```bash\n   npm install\n   ```\n\n### Development\n\nRun the Tailwind CSS watcher:\n\n```bash\nnpm run tailwind\n```\n\nStart the development server:\n\n```bash\ndx serve\n```\n\n### Building for Production\n\nBuild static site:\n\n```bash\ndx build --platform web --release --ssg\n```\n\n### Hosting\n\nTo locally host the static site:\n\n1. Install simple-http-server:\n\n   ```bash\n   cargo install simple-http-server\n   ```\n\n2. Serve the built files:\n   ```bash\n   simple-http-server target/dx/cv/release/web/public -i\n   ```\n\n2.a Serve the built files (windows):\n   ```bash\n   simple-http-server.exe --ip 127.0.0.1 .\\target\\dx\\cv\\release\\web\\public -i\n   ```\n\n## Customization\n\n- Edit content in component files to update CV information\n- Modify styles in `input.css` and component classes for design changes\n- Add new sections by creating components and adding them to the main layout\n\n## License\n\nThis project is available as open source under the terms of the [MIT License](LICENSE).\n\n## Author\n\nHamza Iqbal - [Portfolio](https://hmziq.rs) - [GitHub](https://github.com/hmziqrs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmziqrs%2Fcv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhmziqrs%2Fcv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmziqrs%2Fcv/lists"}