Skip to content

Configuration

Andreas Duschl edited this page Jun 5, 2026 · 13 revisions

cr4te ships with defaults and can load partial JSON config files. CLI options can then override selected behavior.

Print a Config

To inspect the resolved default config:

cr4te print-config

To print a domain-specific config:

cr4te print-config --domain music

Save it if you want a self-contained starting point:

cr4te print-config --domain music > cr4te.config.json

Then build with it:

cr4te build -i path/to/Musicians -o path/to/site --config cr4te.config.json

Config Sections

The top-level sections are:

  • site_labels: generated page labels, control labels, metadata labels, and project facet labels.
  • site_rendering: visible fields, gallery layout, media ordering, metadata rendering, and portrait display.
  • media_rules: scan rules, image sampling, naming rules, and creator/project discovery behavior.

Unknown top-level sections and unknown nested keys are rejected.

Partial Configs

Config files can be partial. Nested sections under site_labels and site_rendering merge recursively into defaults. media_rules merges at the section level.

Example:

{
  "site_labels": {
    "entity": {
      "creator": "Artist",
      "creators": "Artists"
    }
  }
}

Gallery Settings

Overview card galleries and media galleries are configured under site_rendering.galleries.

Gallery strategies:

  • aspect: fixed aspect-ratio grid.
  • justified: row-based justified image layout.

Example:

{
  "site_rendering": {
    "galleries": {
      "project_cards": {
        "building_strategy": "aspect",
        "aspect_ratio": "1/1",
        "page_size": 100,
        "image_max_height": 350,
        "creator_page_image_max_height": 450
      }
    }
  }
}

Project Metadata Rendering

Project facet rendering is configured under site_rendering.project_metadata.

{
  "site_rendering": {
    "project_metadata": {
      "defaults": {
        "separator": ", ",
        "searchable": false,
        "clickable": false,
        "tags": false
      },
      "fields": {
        "genres": {
          "searchable": true,
          "clickable": true,
          "tags": true
        }
      }
    }
  }
}

Meanings:

  • searchable: values are added to overview search text.
  • clickable: values render as links to a filtered project overview.
  • tags: values appear on tag pages and tag lists.
  • separator: controls how multiple values render.

Media Rules

Important defaults:

  • max_search_depth: 5
  • image_gallery_sample_max: 20
  • image_gallery_sample_strategy: spread
  • global_exclude_prefix: _
  • metadata_folder_name: meta
  • collaboration_separators: ["&", ","]
  • portrait_basename: portrait
  • cover_basename: cover
  • auto_find_portraits: false

CLI Overrides

Build and print-config support:

  • --domain
  • --image-sample-strategy
  • --portrait-strategy

When a CLI domain override is applied, it replaces the active project facet field set rather than merging with the existing field set.

Custom Theme Folder

The custom theme folder is deliberately not stored in the JSON configuration because it is an external, potentially machine-specific path. Select it explicitly for a build:

cr4te build -i path/to/Creators -o path/to/site --config cr4te.config.json --themes-dir path/to/themes

See Custom Themes for details.

Clone this wiki locally