Static website for the ValenciaDevOps meetup group, built with Nanoc and deployed to GitHub Pages.
- Generator: Nanoc (Ruby)
- Templating: HAML
- Styling: SCSS compiled with Dart Sass (
nanoc-dart-sass), then minified with Rainpress - Data: YAML files under
data/ - JavaScript: None — the site is 100% JavaScript-free
Build the site to output/:
bundle exec nanocStart the development server with live reload:
bundle exec nanoc viewThen open http://localhost:3000.
data/*.yml ──┐
content/*.haml ──┤──> Rules ──> HAML/Sass filters ──> layouts/default.haml ──> output/*.html
layouts/ ──┘ (wraps with header + footer partials)
| Path | Purpose |
|---|---|
Rules |
Nanoc compilation rules — maps file types to filters and output paths |
nanoc.yaml |
Nanoc config (text extensions, data source, auto-prune) |
content/ |
Pages (index.haml, event.haml, past.haml) + static assets |
layouts/default.haml |
Base HTML shell — includes _header and _footer partials, renders yield |
lib/helpers.rb |
Ruby helpers loaded by Nanoc (data accessor, is_page_selected, rendering) |
data/static.yml |
All translatable strings, nav labels, social links, page copy |
data/default.yml |
Fallback meetup data shown when no active event |
data/archive.yml |
All past meetups with talks, authors, dates, YouTube links |
.github/workflows/publish.yml |
CI: builds site and deploys to GitHub Pages |
Dockerfile |
Multi-stage build: installs gems, builds site, serves via adsf |
The CSS is modern, lightweight, and interaction-rich without any JavaScript:
- Smooth scrolling (
scroll-behavior: smooth) - Subtle hover animations (lift on article cards, scale on buttons, zoom on partner logo)
- Accessible focus-visible rings for keyboard navigation
- Respects
prefers-reduced-motionfor users who disable animations - Sticky footer via CSS flexbox
- Responsive breakpoints: 768px, 896px, 1024px
Automated via GitHub Actions on every push to master:
- Sets up Ruby 3.4 with bundler cache
- Installs gems (excluding development group)
- Runs
bundle exec nanocto build the site - Uploads
output/as a Pages artifact - Deploys to GitHub Pages
Docker alternative:
docker build -t site . && docker run -p 3000:3000 site- Jose Luis Salas
- Omar Lopez
- Salva Ferrando
- Cesar Saez
- Tony Camaiani (tony.camaiani.me)