Skip to content

Commit f862aa0

Browse files
committed
rework agin
1 parent 3226d3a commit f862aa0

12 files changed

Lines changed: 1987 additions & 1782 deletions

README.md

Lines changed: 44 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,63 @@
1-
# the quantumbagel developer portfolio
1+
# Portfolio template generator
22

3-
Welcome to the repository for my personal portfolio website, hosted at [quantumbagel.github.io](https://quantumbagel.github.io). This is version 2 of my site, rebuilt from the ground up to be more dynamic, modern, and easily maintainable.
3+
This repository builds a static portfolio site for GitHub Pages using:
44

5-
## Overview
5+
1. `site.toml` for all customizable content/configuration
6+
2. HTML templates in `templates/` with placeholders like `{user.name}`
7+
3. `generator.py` to render templates and output `index.html`
68

7-
This website serves as a showcase for my software development projects, experience, and skills. It is designed to be a clean, professional, and dark-mode-ready single-page application.
9+
## Project structure
810

9-
## Tools:
11+
- `site.toml` - template data and options (user info, sections, projects, skills, redirects)
12+
- `templates/index.html` - main page template
13+
- `templates/partials/*.html` - reusable section templates
14+
- `templates/redirect.html` - redirect page template
15+
- `generator.py` - TOML loader + placeholder renderer + static site generator
16+
- `index.html` - generated output file used by GitHub Pages
1017

11-
- **Frontend:**
12-
- [Tailwind CSS](https://tailwindcss.com/) for styling and layout.
13-
- [Ionicons](https://ionicons.com/) for clean, vector-based iconography.
14-
- [Inter Font](https://rsms.me/inter/) for modern typography.
15-
- [Python](https://www.python.org/) script to manage content and generate the static site.
16-
- `htmlmin` for production-ready HTML minification.
17-
- [GitHub Pages](https://pages.github.com/) for seamless deployment.
18+
## Configuration
1819

19-
## cool things it dodes
20+
### Main site data
2021

21-
- Automatically detects user preferences and provides a polished dark experience.
22-
- Interactive filtering for different categories (Discord Bots, Internships, etc.) and project-specific modals for more detail.
23-
- Fully responsive layout that looks okayish on mobile devices.
24-
- Content is decoupled from the layout, allowing for quick updates by editing a single Python file. (and honestly its pretty fun to code in python)
22+
Edit `site.toml` to customize:
2523

26-
## Project Structure
24+
- `user` and `user.social`
25+
- `meta`, `sections`, `contact`, `footer`
26+
- `content.about`, `content.taglines`, `experiences`
27+
- `skills.languages` and `skills.technologies`
28+
- `projects` and `project_filters`
2729

28-
- `generator.py`: The core of the project. All portfolio data (projects, skills, experience) is defined here. When run, it injects this data into an HTML template and outputs a minified `index.html`.
29-
- `index.html`: The final, minified production file used by GitHub Pages.
30-
- `tailwind.js`: tailwind library file
31-
- `font.css`: The fonts
32-
- `pfp.webp`: Profile picture
30+
### Redirects
3331

34-
## If you want to use this
32+
Redirects are generated from `[redirects]` keys:
3533

36-
To update the website or run it locally:
34+
```toml
35+
[redirects]
36+
resume = "https://google.com"
37+
```
38+
39+
This writes `resume/index.html` so `/resume` redirects to that URL.
40+
41+
## Template placeholders
42+
43+
Templates use dot-path placeholders, for example:
44+
45+
- `{user.name}`
46+
- `{meta.description}`
47+
- `{content.project_cards_html}`
48+
49+
The generator replaces these automatically using `site.toml` values and generated HTML blocks.
50+
51+
## Build
52+
53+
Install optional minification dependency:
3754

38-
### Prerequisites
39-
Ensure you have Python installed. You will also need the `htmlmin` library:
4055
```bash
4156
pip install htmlmin
4257
```
4358

44-
### Updating Content
45-
Open `generator.py` and modify the data structures at the top of the file (e.g., `PERSONAL_INFO`, `ABOUT_ME`, `PROJECTS`).
59+
Generate the site:
4660

47-
### Rebuilding the Site
48-
Run the generator script to apply your changes and rebuild the minified `index.html`:
4961
```bash
50-
python generator.py
62+
python3 generator.py
5163
```
52-
53-
*note that even though it is forked from vcard, that was v1 and this is completely original code*

0 commit comments

Comments
 (0)