Revela

Statistics

The Statistics plugin analyzes EXIF data from your photos and generates statistics pages showing camera usage, lens preferences, aperture distribution, and more.

📷 EXIF Analysis

Camera models, lenses, aperture, ISO, shutter speed, focal lengths, and orientation.

📊 Dashboard

Pure-CSS bar charts with overview cards — no JavaScript required.

📅 Timeline

See how your photography evolves over time, broken down by year and month.

Installation

The Statistics plugin has two parts:

# 1. The plugin (generates statistics data)
revela plugin install Statistics

# 2. The theme extension (renders charts) – recommended
revela plugin install Lumina.Statistics

The plugin generates a statistics.json data file. The Lumina.Statistics extension renders that data as a responsive dashboard with pure-CSS bar charts that inherit the Lumina color scheme.

Without the theme extension, statistics data is still generated – but you'll need custom templates to display it.

Creating a Statistics Page

# Create a statistics page in your source
revela create page statistics

This creates a page with the required frontmatter:

+++
title = "Statistics"
template = "statistics"
data = { statistics = "statistics.json" }
+++

The data.statistics field tells the plugin where to write the JSON data file.

Generating Statistics

# Generate statistics as part of the full pipeline
revela generate all

# Or run only the statistics step
revela generate statistics

The pipeline order is: scan → statistics → pages → images. Statistics runs after scan (which collects EXIF data) and before pages (which renders the HTML).

What Gets Analyzed?

Category Description Example
Cameras Camera body models Sony ILCE-7M4, Canon EOS R5
Lenses Lens models Sony FE 35mm F1.4 GM
Focal Lengths Bucketed by range 18–35, 35–70, 70–135
Apertures f-stop distribution f/1.4-2.0, f/2.8-4.0
ISO Sensitivity ranges ISO 100-400, ISO 800-1600
Shutter Speeds Exposure times 1/500, 1/250, 2s
Orientation Image dimensions Landscape, Portrait, Square
Timeline Photos per year 2024: 120, 2023: 80
Monthly Photos per month January: 45, July: 82

Images without EXIF data are counted in the totals but excluded from category breakdowns.

Configuration

Settings are stored in project.json:

{
  "Spectara.Revela.Plugins.Statistics": {
    "MaxEntriesPerCategory": 15,
    "SortByCount": true
  }
}
Option Default Description
MaxEntriesPerCategory 15 Top N entries per category (0 = unlimited). Remaining entries are aggregated into "Other".
SortByCount true Sort by count (descending) instead of natural order
# Configure interactively
revela config statistics

# Or set specific options
revela config statistics --max-entries 20 --sort-by-count false

Theme Extension

Lumina.Statistics provides a single-page dashboard with:

Install it alongside the plugin:

revela plugin install Lumina.Statistics

CLI Commands

Command Description
revela generate statistics Generate statistics JSON
revela generate all Full pipeline (includes statistics)
revela clean statistics Remove generated statistics files
revela config statistics Configure plugin settings

Requirements