141 lines
3.4 KiB
Markdown
141 lines
3.4 KiB
Markdown
# Portfolio Landing Page + Git Instance Visuals
|
|
|
|
## Architecture
|
|
|
|
- **Root domain** (`https://gabrielpereira.me/`) → Portfolio landing page
|
|
- **Git subdomain** (`https://git.gabrielpereira.me/`) → Gitea/Forgejo instance
|
|
|
|
This separation means visitors hit the curated portfolio first, then choose which repository to explore.
|
|
|
|
---
|
|
|
|
## 1. Portfolio Landing Page
|
|
|
|
The file `index.html` is a self-contained, single-file portfolio landing page.
|
|
|
|
### Deployment: Static Host (Recommended)
|
|
|
|
**GitHub Pages**
|
|
- Create repo `gabrielpereira/gabrielpereira.me`
|
|
- Commit `index.html` as the repo root (or in `/docs` folder)
|
|
- Enable Pages → deploy from root (or `/docs`)
|
|
- In repo Settings → Pages, add custom domain `gabrielpereira.me`
|
|
- Add DNS A record pointing to GitHub Pages IPs
|
|
|
|
**Cloudflare Pages**
|
|
- Drag `index.html` into Cloudflare Pages dashboard
|
|
- Custom domain: `gabrielpereira.me`
|
|
|
|
**Netlify / Vercel**
|
|
- Drag the `portfolio/` folder into deploy UI
|
|
- Set custom domain to `gabrielpereira.me`
|
|
|
|
### Deployment: Self-Hosted (Nginx/Caddy)
|
|
|
|
Place `index.html` at:
|
|
```
|
|
/var/www/gabrielpereira.me/index.html
|
|
```
|
|
|
|
Nginx config:
|
|
```nginx
|
|
server {
|
|
listen 443 ssl;
|
|
server_name gabrielpereira.me;
|
|
root /var/www/gabrielpereira.me;
|
|
index index.html;
|
|
|
|
location / {
|
|
try_files $uri $uri/ =404;
|
|
}
|
|
}
|
|
|
|
server {
|
|
listen 443 ssl;
|
|
server_name git.gabrielpereira.me;
|
|
|
|
location / {
|
|
proxy_pass http://localhost:3000; # your Gitea/Forgejo
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
}
|
|
}
|
|
```
|
|
|
|
Caddyfile:
|
|
```
|
|
gabrielpereira.me {
|
|
root * /var/www/gabrielpereira.me
|
|
file_server
|
|
}
|
|
|
|
git.gabrielpereira.me {
|
|
reverse_proxy localhost:3000
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Gitea / Forgejo Visual Improvements
|
|
|
|
The file `git-custom-header.html` contains both **CSS overrides** and an **HTML banner**.
|
|
|
|
### How to apply
|
|
|
|
**Forgejo / Gitea v1.20+ (Admin Panel)**
|
|
1. Log in as admin → Site Administration → Customizations
|
|
2. Paste the `<style>` block into "Custom Header" (or "Custom CSS" if available)
|
|
3. If your version supports HTML injection, also paste the banner `<div>` block
|
|
4. Save
|
|
|
|
**Direct file (self-hosted server access)**
|
|
Create the custom templates directory for your instance:
|
|
```bash
|
|
# For Gitea/Forgejo installed from package
|
|
sudo mkdir -p /etc/gitea/templates/custom
|
|
|
|
# Or if installed from binary in /opt
|
|
sudo mkdir -p /opt/gitea/custom/templates/custom
|
|
```
|
|
|
|
Create `header.tmpl`:
|
|
```bash
|
|
sudo tee /etc/gitea/templates/custom/header.tmpl << 'EOF'
|
|
{{/* Paste the contents of git-custom-header.html here */}}
|
|
EOF
|
|
```
|
|
|
|
Restart Gitea/Forgejo:
|
|
```bash
|
|
sudo systemctl restart gitea
|
|
# or
|
|
sudo systemctl restart forgejo
|
|
```
|
|
|
|
### What the CSS changes
|
|
- Darker, more cohesive color palette matching the portfolio page
|
|
- Repository cards with rounded corners and hover effects
|
|
- Better typography and spacing
|
|
- A subtle "Open Evidence" badge concept on the homepage
|
|
- Improved navbar and footer styling
|
|
|
|
---
|
|
|
|
## 3. DNS Configuration
|
|
|
|
| Record | Type | Target |
|
|
|--------|------|--------|
|
|
| `gabrielpereira.me` | A | Your static host IP (GitHub Pages / server / CDN) |
|
|
| `git.gabrielpereira.me` | CNAME or A | Your Gitea/Forgejo server |
|
|
|
|
---
|
|
|
|
## Files
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `index.html` | Portfolio landing page (single file, no build step) |
|
|
| `git-custom-header.html` | CSS + HTML for Gitea/Forgejo customizations |
|
|
| `DEPLOY.md` | This file — deployment instructions |
|