Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
111 lines (110 sloc) 2.46 KB
---
id: page.json
"$schema": "http://json-schema.org/draft-04/schema"
title: Page
description: "A page of content"
type:
- object
properties:
id:
"$ref": "base.json#/definitions/uuid"
path:
description: Path of the page on the site
type: string
example: "index.html"
type:
description: Page type
type: string
example: feeda
siteUrl:
"$ref": "base.json#/definitions/url"
siteId:
"$ref": "base.json#/definitions/uuid"
number:
description: How many items fit on the page
type: integer
ordered:
type: boolean
description: If content must be rendered in order or not
example: false
format:
type: string
description: Expected format for the page output
example: 'html'
site:
description: Site this page belongs to
example: "the-domains/the-grid"
"$ref": "base.json#/definitions/site"
items:
description: Content items in the page
type: array
minItems: 1
uniqueItems: true
items:
"$ref": "item.json"
created_at:
type: string
format: 'date-time'
updated_at:
oneOf:
- { type: 'null' }
- { type: 'string', format: 'date-time' }
config:
"$ref": "siteconfig.json"
style:
description: Style used for rendering the site
example: the-composer
oneOf:
- { type: string }
- { "$ref": "base.json#/definitions/url" }
theme:
description: Family of design systems the style is part of
example: flowerflip
title:
description: Page title
type: string
example: "Home"
navigable:
description: Whether page appears in navigation
type: boolean
navigation:
description: Main navigation entries
type: array
minItems: 0
uniqueItems: true
items:
type: object
properties:
href:
type: string
example: 'index.html'
title:
type: string
example: Home
rel:
type: string
example: home
type:
type: string
example: MainPage
links:
description: Secondary navigation entries
type: array
minItems: 0
uniqueItems: true
items:
type: object
properties:
href:
type: string
example: 'rss.html'
title:
type: string
example: RSS feed
rel:
type: string
example: alternate
type:
type: string
example: 'application/rss+xml'
required: [site, path, items, config]