Skip to content

lbenicio/lbenicio.github.io

AboutMe β€” Personal Website

GitHub License GitHub Release Deploy

Personal website built with Hugo and the aboutme-v2-theme. No Node.js required β€” SCSS is compiled natively by Hugo Pipes.

πŸš€ Quick Start

Prerequisites

  • Hugo Extended v0.163.0 or higher
  • Go 1.23+ (for module resolution)

Run locally

git clone https://github.com/lbenicio/lbenicio.github.io.git
cd lbenicio.github.io
hugo server

That's it. No npm install, no node_modules. Hugo handles everything β€” SCSS compilation, CSS minification, and asset fingerprinting.

πŸ“ Project Structure

.
β”œβ”€β”€ content/                  # All page content (front matter driven)
β”‚   β”œβ”€β”€ _index.md            # Homepage (heading, subtitle, avatar, socials)
β”‚   β”œβ”€β”€ about/index.md       # About page (name, role, skills, certifications)
β”‚   β”œβ”€β”€ contact/index.md     # Contact page (postUrl, email, pgpKey)
β”‚   β”œβ”€β”€ timeline/index.md    # Timeline milestones
β”‚   β”œβ”€β”€ publications/        # Academic publications
β”‚   └── reading/             # Reading list
β”œβ”€β”€ static/
β”‚   └── static/              # Static assets β†’ /static/ URL prefix
β”‚       β”œβ”€β”€ images/          # Profile pictures, institution logos
β”‚       β”œβ”€β”€ files/           # PDFs, sheets
β”‚       └── pgp/             # PGP public key
β”œβ”€β”€ hugo.toml                # Site configuration
β”œβ”€β”€ go.mod                   # Hugo module dependencies
└── .github/workflows/       # CI/CD (build β†’ obfuscate β†’ deploy)

βš™οΈ Configuration

All page content is sourced from front matter, not site config. The hugo.toml only holds global defaults:

[params]
  appMode = "ABOUT_ONLY"       # Render mode
  siteUrl = "https://lbenicio.dev"
  githubHandler = "lbenicio"   # Social defaults (overridable per page)
  linkedinHandler = "leonardo-benicio"
  twitterHandler = "lbenicio_"

Page front matter examples

Homepage (content/_index.md):

heading: "About Leonardo Benicio"
subtitle: "Personal tagline"
avatar: "static/images/avatar/profile-picture.png"
github: "lbenicio"

About (content/about/index.md):

name: "Leonardo Benicio"
role: "Computer Scientist"
skills: ["Algorithms", "Distributed Systems", ...]
certifications:
  - id: aws-cloud-practitioner
    name: AWS Certified Cloud Practitioner
    ...

Contact (content/contact/index.md):

email: "hi@lbenicio.dev"
postUrl: "https://formbold.com/s/..."
pgpKey: "/static/pgp/public.asc"

πŸ”’ Security

  • Class/ID obfuscation: All HTML, CSS, and JS identifiers are deterministically obfuscated post-build.
  • PGP encryption: Contact form supports OpenPGP encryption via openpgp.js.
  • No external scripts: Only self-hosted assets (except Umami analytics).

🚒 Deployment

Pushes to main trigger the deploy workflow:

  1. Install Go + Hugo dependencies
  2. Build with Hugo (--minify --environment production)
  3. Obfuscate class/id/data-* names
  4. Deploy to GitHub Pages

Manual build:

hugo --minify --environment production

πŸ“¦ Dependencies

Zero Node.js dependencies. The only requirement is Hugo Extended (for SCSS compilation via LibSass).

require github.com/lbenicio/aboutme-v2-theme v0.3.0

πŸ“§ Contact


Built with Hugo + aboutme-v2-theme β€’ Β© 2026 Leonardo Benicio

About

A modern, fast, and accessible personal website built with Hugo and the aboutme-v2-theme.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors