net.wireservice.stylesheet

wireservice.net

Documentation

A publication-level stylesheet record providing default named layouts, styles, and text styles, plus typography and color palette defaults. Documents reference a stylesheet by AT URI to inherit its named entries. Document-level entries with the same name override the stylesheet's entry wholesale (including its conditional overrides).

main record

A publication-level stylesheet record providing default named layouts, styles, and text styles, plus typography and color palette defaults. Documents reference a stylesheet by AT URI to inherit its named entries. Document-level entries with the same name override the stylesheet's entry wholesale (including its conditional overrides).

Record Key tid Timestamp-based ID

Properties

description string Optional

Optional human-readable description of the stylesheet (e.g., 'Longform features', 'Daily news').

maxLength: 5000 bytesmaxGraphemes: 500 graphemes
fonts array of ref #fontFace Optional

Font faces this stylesheet uses. Renderers load them before falling back to locally installed fonts. Use a blob only for fonts whose license allows redistribution: PDS blobs are public.

palette ref #palette Optional

Color palette with light and (optionally) dark color schemes. Renderers use these for fallback colors in components that don't set explicit colors via componentStyles or componentTextStyles. Complements site.standard.theme.basic, which is the ecosystem-shared four-color brand palette and remains on the publication record.

typography ref #typography Optional

Typography defaults: bodies, headings, captions, type scale. Renderers fall back to these for text components that don't reference an explicit textStyle, and for fields a textStyle leaves unset.

View raw schema
{
  "description": "A publication-level stylesheet record providing default named layouts, styles, and text styles, plus typography and color palette defaults. Documents reference a stylesheet by AT URI to inherit its named entries. Document-level entries with the same name override the stylesheet's entry wholesale (including its conditional overrides).",
  "key": "tid",
  "record": {
    "properties": {
      "componentLayouts": {
        "description": "Named layout definitions inherited by documents that reference this stylesheet.",
        "items": {
          "ref": "net.wireservice.content#namedComponentLayout",
          "type": "ref"
        },
        "type": "array"
      },
      "componentStyles": {
        "description": "Named style definitions inherited by documents that reference this stylesheet.",
        "items": {
          "ref": "net.wireservice.content#namedComponentStyle",
          "type": "ref"
        },
        "type": "array"
      },
      "componentTextStyles": {
        "description": "Named text style definitions inherited by documents that reference this stylesheet.",
        "items": {
          "ref": "net.wireservice.content#namedTextStyle",
          "type": "ref"
        },
        "type": "array"
      },
      "description": {
        "description": "Optional human-readable description of the stylesheet (e.g., 'Longform features', 'Daily news').",
        "maxGraphemes": 500,
        "maxLength": 5000,
        "type": "string"
      },
      "fonts": {
        "description": "Font faces this stylesheet uses. Renderers load them before falling back to locally installed fonts. Use a blob only for fonts whose license allows redistribution: PDS blobs are public.",
        "items": {
          "ref": "#fontFace",
          "type": "ref"
        },
        "type": "array"
      },
      "layout": {
        "description": "Default document grid for documents that don't define their own. The document-level layout overrides this if both are present.",
        "ref": "net.wireservice.content#documentLayout",
        "type": "ref"
      },
      "palette": {
        "description": "Color palette with light and (optionally) dark color schemes. Renderers use these for fallback colors in components that don't set explicit colors via componentStyles or componentTextStyles. Complements site.standard.theme.basic, which is the ecosystem-shared four-color brand palette and remains on the publication record.",
        "ref": "#palette",
        "type": "ref"
      },
      "typography": {
        "description": "Typography defaults: bodies, headings, captions, type scale. Renderers fall back to these for text components that don't reference an explicit textStyle, and for fields a textStyle leaves unset.",
        "ref": "#typography",
        "type": "ref"
      }
    },
    "type": "object"
  },
  "type": "record"
}
colorScheme object

A set of color roles for a single color scheme (light or dark). Background, foreground, accent, and accentForeground are required and parallel site.standard.theme.basic; the remaining roles add richer vocabulary for editorial layouts.

Properties

View raw schema
{
  "description": "A set of color roles for a single color scheme (light or dark). Background, foreground, accent, and accentForeground are required and parallel site.standard.theme.basic; the remaining roles add richer vocabulary for editorial layouts.",
  "properties": {
    "accent": {
      "description": "Color for links and interactive elements.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    },
    "accentForeground": {
      "description": "Text color on accent backgrounds.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    },
    "background": {
      "description": "Primary background color.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    },
    "border": {
      "description": "Color for borders and dividers.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    },
    "foreground": {
      "description": "Primary text color.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    },
    "muted": {
      "description": "Background color for muted/secondary areas.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    },
    "mutedForeground": {
      "description": "Text color for captions, bylines, and secondary content.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    },
    "surface": {
      "description": "Background color for cards and container surfaces.",
      "refs": [
        "site.standard.theme.color#rgb"
      ],
      "type": "union"
    }
  },
  "required": [
    "background",
    "foreground",
    "accent",
    "accentForeground"
  ],
  "type": "object"
}
fontFace object

One font face (a family at one weight and style). Exactly one of url or blob should be set.

Properties

blob blob Optional

The font file, for openly licensed fonts. WOFF2 is preferred.

maxSize: 2.0 MB
family string Required

Family name, matched against fontFamily and fontSpec.family.

maxLength: 256 bytes
style string Optional

No description available.

maxLength: 64 bytes
Known values: normal, italic
url string uri Optional

URL of the font file, for licensed fonts served by a foundry or the publication (WOFF2 preferred).

weight integer Optional

No description available.

minimum: 100maximum: 900
View raw schema
{
  "description": "One font face (a family at one weight and style). Exactly one of url or blob should be set.",
  "properties": {
    "blob": {
      "accept": [
        "font/woff2",
        "font/woff",
        "font/ttf",
        "font/otf"
      ],
      "description": "The font file, for openly licensed fonts. WOFF2 is preferred.",
      "maxSize": 2000000,
      "type": "blob"
    },
    "family": {
      "description": "Family name, matched against fontFamily and fontSpec.family.",
      "maxLength": 256,
      "type": "string"
    },
    "style": {
      "knownValues": [
        "normal",
        "italic"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "url": {
      "description": "URL of the font file, for licensed fonts served by a foundry or the publication (WOFF2 preferred).",
      "format": "uri",
      "type": "string"
    },
    "weight": {
      "maximum": 900,
      "minimum": 100,
      "type": "integer"
    }
  },
  "required": [
    "family"
  ],
  "type": "object"
}
fontSpec object

A font specification with family, weight, and style.

Properties

family string Required

Font family name (e.g., 'Georgia', 'Helvetica Neue').

maxLength: 256 bytes
style string Optional

No description available.

maxLength: 64 bytes
Known values: normal, italic
weight integer Optional

Font weight (100-900).

minimum: 100maximum: 900
View raw schema
{
  "description": "A font specification with family, weight, and style.",
  "properties": {
    "family": {
      "description": "Font family name (e.g., 'Georgia', 'Helvetica Neue').",
      "maxLength": 256,
      "type": "string"
    },
    "style": {
      "knownValues": [
        "normal",
        "italic"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "weight": {
      "description": "Font weight (100-900).",
      "maximum": 900,
      "minimum": 100,
      "type": "integer"
    }
  },
  "required": [
    "family"
  ],
  "type": "object"
}
palette object

Color palette with light and optionally dark schemes.

Properties

dark ref #colorScheme Optional

Color scheme for dark mode. When omitted, renderers may derive a dark scheme or fall back to the light scheme.

light ref #colorScheme Required

Color scheme for light mode.

View raw schema
{
  "description": "Color palette with light and optionally dark schemes.",
  "properties": {
    "dark": {
      "description": "Color scheme for dark mode. When omitted, renderers may derive a dark scheme or fall back to the light scheme.",
      "ref": "#colorScheme",
      "type": "ref"
    },
    "light": {
      "description": "Color scheme for light mode.",
      "ref": "#colorScheme",
      "type": "ref"
    }
  },
  "required": [
    "light"
  ],
  "type": "object"
}
typography object

Typography defaults for the publication.

Properties

bodyFont ref #fontSpec Optional

Default font for body text.

bodyFontSize integer Optional

Default body font size in points.

minimum: 8maximum: 72
bodyLineHeight integer Optional

Default body line height in points.

minimum: 8maximum: 120
captionFont ref #fontSpec Optional

Default font for captions and secondary text.

headingFont ref #fontSpec Optional

Default font for headings.

headingScale string Optional

Type scale ratio for heading sizes relative to body.

maxLength: 64 bytes
Known values: minor-third, major-third, perfect-fourth, golden-ratio
View raw schema
{
  "description": "Typography defaults for the publication.",
  "properties": {
    "bodyFont": {
      "description": "Default font for body text.",
      "ref": "#fontSpec",
      "type": "ref"
    },
    "bodyFontSize": {
      "description": "Default body font size in points.",
      "maximum": 72,
      "minimum": 8,
      "type": "integer"
    },
    "bodyLineHeight": {
      "description": "Default body line height in points.",
      "maximum": 120,
      "minimum": 8,
      "type": "integer"
    },
    "captionFont": {
      "description": "Default font for captions and secondary text.",
      "ref": "#fontSpec",
      "type": "ref"
    },
    "headingFont": {
      "description": "Default font for headings.",
      "ref": "#fontSpec",
      "type": "ref"
    },
    "headingScale": {
      "description": "Type scale ratio for heading sizes relative to body.",
      "knownValues": [
        "minor-third",
        "major-third",
        "perfect-fourth",
        "golden-ratio"
      ],
      "maxLength": 64,
      "type": "string"
    }
  },
  "type": "object"
}

Lexicon Garden

@