OPF
SpecDefinition referenceView source

Logo Source

One logo shape: a path or Asset for every background, or { onLight, onDark }. onLight is drawn on light backgrounds (usually dark artwork) and onDark on dark backgrounds (usually light artwork), by each slide's background; a missing one uses the other.

Metadata

Definition
#/$defs/LogoSource
Form
2 alternative forms (oneOf)
Source
spec/schemas/opf.schema.json

Field index

This definition uses the forms or value constraints below.

oneOf 1 · ref:Asset

Referenced Asset · string | object

Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.

oneOf 1 · string

Exact constraints for oneOf 1
oneOf 1 schema
{
  "type": "string",
  "examples": [
    "asset:acme-logo",
    "https://cdn.acme.com/image.png",
    "./assets/image.png",
    "data:image/png;base64,..."
  ]
}

oneOf 2 · object

FieldTypeReq.DefaultDescription
srcstringyes—Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.
altstring——Alternative text for images and other visual assets.
titlestring——Human-readable asset title for editors and asset pickers.
descriptionstring——Optional notes about the asset's contents, provenance, or intended use.
mediaTypestring——Optional MIME media type when it cannot be inferred from src.

src

typestringrequiredyesdefault—

Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.

Field fragment · src.json
{
  "src": "asset:acme-logo"
}

alt

typestringrequirednodefault—

Alternative text for images and other visual assets.

title

typestringrequirednodefault—

Human-readable asset title for editors and asset pickers.

description

typestringrequirednodefault—

Optional notes about the asset's contents, provenance, or intended use.

mediaType

typestringrequirednodefault—

Optional MIME media type when it cannot be inferred from src.

Field fragment · mediaType.json
{
  "mediaType": "image/svg+xml"
}
Exact constraints for oneOf 2
oneOf 2 schema
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "src"
  ],
  "properties": {
    "src": {
      "type": "string",
      "description": "Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.",
      "examples": [
        "asset:acme-logo",
        "./assets/logo.svg",
        "https://cdn.acme.com/logo.png",
        "data:image/svg+xml;base64,...",
        "/Users/alice/decks/data/revenue.csv"
      ]
    },
    "alt": {
      "type": "string",
      "description": "Alternative text for images and other visual assets."
    },
    "title": {
      "type": "string",
      "description": "Human-readable asset title for editors and asset pickers."
    },
    "description": {
      "type": "string",
      "description": "Optional notes about the asset's contents, provenance, or intended use."
    },
    "mediaType": {
      "type": "string",
      "description": "Optional MIME media type when it cannot be inferred from src.",
      "examples": [
        "image/svg+xml",
        "image/png",
        "text/csv",
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
      ]
    }
  }
}
Exact constraints for Referenced Asset
Referenced Asset schema
{
  "description": "Reusable or inline resource. A string is shorthand for { \"src\": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.",
  "oneOf": [
    {
      "type": "string",
      "examples": [
        "asset:acme-logo",
        "https://cdn.acme.com/image.png",
        "./assets/image.png",
        "data:image/png;base64,..."
      ]
    },
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "src"
      ],
      "properties": {
        "src": {
          "type": "string",
          "description": "Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.",
          "examples": [
            "asset:acme-logo",
            "./assets/logo.svg",
            "https://cdn.acme.com/logo.png",
            "data:image/svg+xml;base64,...",
            "/Users/alice/decks/data/revenue.csv"
          ]
        },
        "alt": {
          "type": "string",
          "description": "Alternative text for images and other visual assets."
        },
        "title": {
          "type": "string",
          "description": "Human-readable asset title for editors and asset pickers."
        },
        "description": {
          "type": "string",
          "description": "Optional notes about the asset's contents, provenance, or intended use."
        },
        "mediaType": {
          "type": "string",
          "description": "Optional MIME media type when it cannot be inferred from src.",
          "examples": [
            "image/svg+xml",
            "image/png",
            "text/csv",
            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
          ]
        }
      }
    }
  ]
}
Exact constraints for oneOf 1
oneOf 1 schema
{
  "$ref": "#/$defs/Asset"
}

oneOf 2 · object

FieldTypeReq.DefaultDescription
onLightref:Asset——The logo for light backgrounds, usually dark artwork.
onDarkref:Asset——The logo for dark backgrounds, usually light or white artwork.

onLight

typeref:Assetrequirednodefault—

The logo for light backgrounds, usually dark artwork.

onDark

typeref:Assetrequirednodefault—

The logo for dark backgrounds, usually light or white artwork.

Exact constraints for oneOf 2
oneOf 2 schema
{
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "properties": {
    "onLight": {
      "$ref": "#/$defs/Asset",
      "description": "The logo for light backgrounds, usually dark artwork."
    },
    "onDark": {
      "$ref": "#/$defs/Asset",
      "description": "The logo for dark backgrounds, usually light or white artwork."
    }
  }
}
Complete definition constraints
Exact schema constraints
{
  "description": "One logo shape: a path or Asset for every background, or { onLight, onDark }. onLight is drawn on light backgrounds (usually dark artwork) and onDark on dark backgrounds (usually light artwork), by each slide's background; a missing one uses the other.",
  "oneOf": [
    {
      "$ref": "#/$defs/Asset"
    },
    {
      "type": "object",
      "additionalProperties": false,
      "minProperties": 1,
      "properties": {
        "onLight": {
          "$ref": "#/$defs/Asset",
          "description": "The logo for light backgrounds, usually dark artwork."
        },
        "onDark": {
          "$ref": "#/$defs/Asset",
          "description": "The logo for dark backgrounds, usually light or white artwork."
        }
      }
    }
  ],
  "examples": [
    "./assets/acme-mark.svg",
    {
      "onLight": "./assets/acme-logo.svg",
      "onDark": "./assets/acme-logo-white.svg"
    }
  ]
}