Decentralized static website for FilOz — built with Hugo, deployed to GitHub Pages and pinned to the Filecoin Onchain Cloud via Filecoin Pin and served over IPFS.
Live site: https://desite.filoz.org
This is a static Hugo clone of the Webflow-hosted filoz.org. It preserves the exact Webflow HTML, CSS, JS, and animations while serving all assets locally with zero external CDN dependencies. The blog section (24 posts migrated from deblog) is integrated at /blog.
| Page | Route | Description |
|---|---|---|
| Home | / |
Hero, sponsors, work tabs, community, team carousel, events, fun facts |
| Events | /events |
Upcoming events with Luma links |
| Resources | /resources |
Links to Lotus, PDP, FEVM, and other project resources |
| Blog | /blog |
24 blog posts covering F3, PDP, Filecoin upgrades, and more |
Common updates (team members, events, blog posts, resources) are documented in RUNBOOK.md. The recommended workflow is to use Claude Code to make changes — describe what you want in natural language and it will edit the correct files.
Requires Hugo Extended v0.139.3.
# Dev server (accessible on LAN)
hugo server -D --bind 0.0.0.0 --disableFastRender
# Production build
hugo --gc --minifyAlways use --disableFastRender — Hugo caches templates otherwise and won't reflect changes.
Fully automated via GitHub Actions on push to main:
- Hugo build with minification
- GitHub Pages deploy → https://desite.filoz.org (HTTPS via Let's Encrypt)
- Filecoin pin via
filecoin-pin(mainnet, Provider ID 1) - DNSLink update at deSEC for IPFS resolution
| Secret | Purpose |
|---|---|
FILECOIN_PRIVATE_KEY |
Wallet key for Filecoin pinning |
DESEC_TOKEN |
deSEC API token for DNSLink TXT updates |
| Record | Provider | Value |
|---|---|---|
NS desite.filoz.org |
GoDaddy | ns1.desec.io / ns2.desec.org |
A desite.filoz.org |
deSEC | GitHub Pages IPs (185.199.108-111.153) |
TXT _dnslink.desite.filoz.org |
deSEC | Updated automatically by deploy workflow |
layouts/
_default/baseof.html # Base template (head, scripts, conditional CSS)
index.html # Homepage (team, events, all sections)
events/list.html # Events page
resources/list.html # Resources page
blog/list.html # Blog listing
blog/single.html # Blog post
partials/ # Nav, footer, global styles, grid animation
content/
_index.md # Homepage frontmatter
events/_index.md # Events frontmatter
resources/_index.md # Resources frontmatter
blog/_index.md # Blog index (wf_page cascades to posts)
blog/*.md # Blog posts (Markdown)
static/
css/ # Webflow CSS, fonts, blog styles
js/ # jQuery, Webflow JS, Finsweet CMS slider
fonts/ # IBM Plex Sans WOFF2
images/ # Team photos, icons, blog images, sponsors
lottie/ # 6 Lottie JSON animations
- Webflow fidelity: All
data-w-id,data-wf-*attributes, and Webflow class names are preserved exactly — they drive animations, responsive behavior, and layout data-wf-page: Each page requires a specific Webflow page ID in frontmatter (wf_page) for the IX2 animation engine. Without it, elements stay invisible. SeeCLAUDE.mdfor the full list.- Blog CSS scoping:
index-custom.cssandsingle-custom.cssare conditionally loaded only on/blogpages to avoid overriding hero styles - IPFS-compatible:
baseURL: ""withrelativeURLs: true— all internal links use.RelPermalink