Scott Scoble personal brand website — blog, speaking, consulting, fractional
**#51** — Speaker Profile PDF exists and is linked ✓ - PDF at /downloads/Scott-Scoble-Human-Cultivation-Expert-Speaker-Profile.pdf - Added download tracking **#54** — Performance optimizations: - Preload hints for hero images (responsive) - Font preconnect optimized - Moved font loading before other resources **#55** — Umami event tracking added: - hero-cta-book, hero-cta-explore (homepage) - speaking-cta-book, speaking-download-pdf - consulting-cta-schedule |
||
|---|---|---|
| .astro | ||
| .forgejo/workflows | ||
| public | ||
| src | ||
| .ci-enabled | ||
| .gitignore | ||
| astro.config.mjs | ||
| EOF | ||
| flake.nix | ||
| one-sheet.typ | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| RESOLVED-48-62.md | ||
| tsconfig.json | ||
Scott Scoble — Speaker Website
Professional speaker/consultant website for Scott Scoble.
Stack
- Framework: Astro 5
- Hosting: Storj (S3-compatible static hosting)
- Domain: scott.scoble.me
- CI/CD: Forgejo Actions
Development
npm install
npm run dev
Build
npm run build
Output goes to dist/.
Deploy
Deployment is automatic on push to main via Forgejo Actions.
Manual Setup
-
Add secrets to Forgejo repo:
STORJ_ACCESS_KEY— Storj S3 access keySTORJ_SECRET_KEY— Storj S3 secret keySTORJ_BUCKET— Bucket name (e.g.,brand-site)
-
Ensure bucket exists in Storj with public access and custom domain configured.
PDF Generation
nix-shell -p typst --run "typst compile one-sheet.typ one-sheet.pdf"
Project Structure
src/
components/ # Reusable Astro components
layouts/ # Page layouts
pages/ # Route pages
content/ # Content collections (future)
styles/ # Global CSS
public/
images/ # Static images
downloads/ # Downloadable files (PDFs)
.forgejo/
workflows/ # CI/CD workflows
License
MIT