Portfolio site for Mariam Dikhaminjia (Sifrifana) — video editing and cinematic work.
Live: sifrifana.pro
- Static HTML + CSS + vanilla JS (ES modules)
- Three.js for WebGL background and 3D software cubes
- No build tools or frameworks
The site uses a two-step deployment process:
Videos are hosted on Cloudflare R2, not in the git repo. To add a new video:
./scripts/upload-video.sh <youtube-url-or-id>This will:
- Download the video and thumbnail using yt-dlp
- Upload both to the R2 bucket
- Print the
srcandposterURLs to use inindex.html
Prerequisites: yt-dlp, wrangler (authenticated), curl
Update index.html with the R2 URLs, commit, and push to main. GitHub Actions automatically deploys to Cloudflare Pages.
index.html Static markup
assets/
css/main.css All styles
js/ ES modules (app.js, config.js, three-bg.js, three-software.js)
img/ Images, software logos, platform logos
scripts/
upload-video.sh Video upload helper
videos/ Local video workspace (gitignored)
| Service | Purpose |
|---|---|
| Cloudflare Pages | Site hosting (auto-deploy from main) |
| Cloudflare R2 | Video and thumbnail storage |
| GitHub Actions | CI/CD pipeline |