CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Overview

This is a personal academic homepage for Isaia Nisoli, built with Franklin.jl — a Julia-based static site generator. Content is written in Markdown with Franklin-specific extensions. The site is deployed to GitHub Pages via the gh-pages branch.

Development Commands

Start a local development server (from Julia REPL):

using Pkg; Pkg.activate(".")
using Franklin
serve()

Build and optimize for production (minification + prerendering):

using Pkg; Pkg.activate("."); Pkg.instantiate()
using NodeJS; run(`$(npm_cmd()) install highlight.js`)
using Franklin
optimize()

The optimized site is output to __site/.

Architecture

Content lives in Markdown files with Franklin front matter:

Templates in _layout/ are HTML files with Franklin template syntax ({{...}}):

Static assets in _assets/: images, PDFs, and Julia scripts whose output is embedded in pages.

CSS in _css/: franklin.css (Franklin defaults) and poole_hyde.css (Hyde theme).

Libraries in _libs/: vendored KaTeX and highlight.js.

Franklin-Specific Syntax

Page variables are set with @def:

@def title = "Page Title"
@def hasmath = true

Global variables are defined in config.md and filled in templates with {{fill varname}}.

LaTeX commands defined in config.md (e.g., \newcommand{\R}{\mathbb R}) are available on all pages.

To add a new top-level section, create a directory with an index.md and add a link in _layout/sidebar.html.