---
id: metadata.json
"$schema": "http://json-schema.org/draft-04/schema"
title: The Grid metadata definition
description: ""
type:
- object
properties:
  "@type":
    name: "@type"
    type: string
    description: Schema.org type the item or block represents
    example: Article
  isBasedOnUrl:
    name: isBasedOnUrl
    oneOf:
    - { type: 'null' }
    - { type: 'string', format: 'uri' }
    description: Source URL for the item or block
    example: "http://www.fastcolabs.com/3016289/how-an-arcane-coding-method-from-1970s-banking-software-could-save-the-sanity-of-web-develop"
  title:
    name: title
    type: string
    description: "Textual title for the entry"
  description:
    name: description
    type: string
    description: "Textual title for the entry"
  permalinkUrl:
    name: permalinkUrl
    type: string
    description: Custom permalink path for the item
    example: "blog/my-cool-article.html"
  inLanguage:
    name: inLanguage
    description: Content language
    example: en
    oneOf:
    - { type: 'null' }
    - { type: 'string', minLength: 2 }
  starred:
    type: boolean
    description: Indicates if an item should be shown on feed or not
    example: false
  emphasis:
    type: number
    description: 'How much emphasis an item has in some context. For example, we
      can say if an image has low emphasis (thumbnail, icon) or high emphasis
      level (a.k.a. "Please, show this image bigger"). Helps to reproduce a
      client - designer feedback cycle: show the client a layout and he can
      say if designer should increase emphasis or decrease it. That is why
      emphasis can be a negative value, in a range from -1.0 to 1.0.'
    example: -1.0
    minimum: -1.0
    maximum: 1.0
  keywords:
    name: keywords
    description: Tags describing the content
    type: array
    uniqueItems: true
    items:
      type: string
    example:
    - design
    - blogs
  publisher:
    name: publisher
    description: Original publisher of the item or block
    type: object
    properties:
      name:
        name: name
        type: string
        description: Human-readable publisher name
        example: Fast Company
      domain:
        name: domain
        description: The publisher's domain name
        example: www.fastcompany.com
        oneOf:
        - { type: 'null' }
        - { "$ref": "base.json#/definitions/hostname" }
      url:
        name: url
        description: URL of the publisher's main page
        example: "http://www.fastcompany.com/"
        oneOf:
        - { type: 'null' }
        - { "$ref": "base.json#/definitions/url" }
      favicon:
        name: favicon
        description: URL of the publisher's favicon
        example: "http://www.fastcompany.com/favicon.ico"
        oneOf:
          - { type: 'null' }
          - { "$ref": "base.json#/definitions/url" }
    additionalProperties: false
  via:
    name: via
    description: Publisher the item was discovered via
    type: object
    properties:
      name:
        name: name
        type: string
        description: Human-readable publisher name
        example: Bergie Today
      domain:
        name: domain
        description: The publisher's domain name
        example: bergie.today
        oneOf:
        - { type: 'null' }
        - { "$ref": "base.json#/definitions/hostname" }
      url:
        name: url
        description: Permalink URL the item was on or URL of the publisher's main page
        example: "https://bergie.today/"
        oneOf:
        - { type: 'null' }
        - { "$ref": "base.json#/definitions/url" }
      favicon:
        name: favicon
        description: "URL of the publisher's favicon"
        example: "https://bergie.today/favicon.ico"
        oneOf:
          - { type: 'null' }
          - { "$ref": "base.json#/definitions/url" }
    additionalProperties: false
  author:
    name: author
    type: array
    description: Authors of the item or block
    items:
      type: object
      properties:
        name:
          name: name
          type: string
          example: Henri Bergius
        url:
          description: Author URL
          example: "http://bergie.iki.fi"
          oneOf:
            - { type: 'null' }
            - { "$ref": "base.json#/definitions/url" }
        email:
          description: Author email address
          example: bergie@iki.fi
          oneOf:
            - { type: 'null' }
            - { "$ref": "base.json#/definitions/email" }
        avatar:
          description: Author avatar image
          "$ref": "media.json#/definitions/cover"
      additionalProperties: false
  coverPrefs:
    name: coverPrefs
    description: Image processing to allow on the cover. All default true.
    type: object
    properties:
      filter:
        name: filter
        type: boolean
        description: Allow image filtering
        example: true
      crop:
        name: crop
        type: boolean
        description: Allow image cropping
        example: true
      overlay:
        name: overlay
        type: boolean
        description: Allow image overlaying
        example: true
  geo:
    "$ref": "base.json#/definitions/geo"
  address:
    name: address
    type: string
    description: Location address
    example: 4242 Blue Street, San Francisco, CA
  hasMap:
    "$ref": "base.json#/definitions/url"
    name: hasMap
    description: Map URL
  dateCreated:
    description: When the entity was created
    oneOf:
    - { type: 'null' }
    - { type: 'string', format: 'date-time' }
  dateModified:
    description: When the entity was last modified
    oneOf:
    - { type: 'null' }
    - { type: 'string', format: 'date-time' }
  datePublished:
    description: When the entity was last published
    oneOf:
    - { type: 'null' }
    - { type: 'string', format: 'date-time' }
  datePublishedOriginal:
    description: When the entity was originally published
    oneOf:
    - { type: 'null' }
    - { type: 'string', format: 'date-time' }

additionalProperties: true
