Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
229 lines (228 sloc) 5.55 KB
---
id: "siteconfig.json"
"$schema": "http://json-schema.org/draft-04/schema"
title: Site config
description: Configuration of a single site
type: object
properties:
name:
type: string
description: Website name
title:
type: [string, "null"]
description: Website title
description:
type: [string, "null"]
description: Website tagline
style:
type: string
description: Layout filter selected for the site
example: taylor
default: 'the-composer'
favicon:
description: Favicon URL
oneOf:
- { type: 'null' }
- { "$ref": "base.json#/definitions/url" }
logo:
description: SVG logo URL
oneOf:
- { type: 'null' }
- { "$ref": "base.json#/definitions/url" }
cta:
type: object
properties:
domain:
name: domain
description: CDN to serve the CtA from
oneOf:
- { type: 'null' }
- { "$ref": "base.json#/definitions/hostname" }
bucket:
name: bucket
description: S3 bucket to serve the CtA from
type: [string, "null"]
version:
name: version
description: CtA version to use on site
example: '1.0.0'
type: [string, "null"]
analytics:
type: object
properties:
google:
name: google
description: Google Analytics ID for the site
type: [string, "null"]
facebook:
name: facebook
description: Facebook tracking ID for the site
type: [string, "null"]
twitter:
name: twitter
description: Twitter tracking ID for the site
type: [string, "null"]
image_filters:
type: object
properties:
server:
description: 'URL to the imgflo.org server'
"$ref": "base.json#/definitions/url"
key:
type: string
description: 'imgflo API key'
secret:
type: string
description: 'imgflo API secret'
required: ['server', 'key', 'secret']
opengraph:
type: object
properties:
image:
name: image
description: Default image to use when sharing the website
oneOf:
- { type: 'null' }
- { "$ref": "base.json#/definitions/url" }
type:
type: [string, "null"]
description: Type of the website
appId:
type: [string, "null"]
description: Facebook App ID associated with the site
content_rating:
type: object
properties:
adult:
name: adult
description: Whether the site contains adult content
type: boolean
collections:
type: array
minItems: 1
uniqueItems: true
items:
"$ref": "collection.json"
color:
type: object
properties:
brandColors:
type: array
default: []
items:
"$ref": "base.json#/definitions/hexcolor"
minItems: 1
maxItems: 5
description: "The user-selected brand colors for the site"
brandStrength:
type: number
default: 0.0
minimum: 0.0
maximum: 1.0
description: "How strongly to tend towards brandColors, as opposed to content colors (adaptive)"
lightness:
type: number
default: 0.5
minimum: 0.0
maximum: 1.0
saturation:
type: number
default: 0.5
minimum: 0.0
maximum: 1.0
rhythmicContrast:
description: "The amount of color variation"
type: number
default: 0.5
minimum: 0.0
maximum: 1.0
layout_spectrum:
type: number
description: "Site layout spectrum"
default: 0.5
minimum: 0.0
maximum: 1.0
typography_spectrum:
type: number
description: "Site typography spectrum"
default: 0.5
minimum: 0.0
maximum: 1.0
site_lang:
type: [string, "null"]
description: Primary site content langauge; ISO 693-1 format
example: ar
default: en
author:
type: object
properties:
name:
oneOf:
- { type: 'null' }
- { type: string }
email:
oneOf:
- { type: 'null' }
- { "$ref": "base.json#/definitions/email" }
url:
oneOf:
- { type: 'null' }
- { "$ref": "base.json#/definitions/url" }
navigation:
type: array
description: "External links to include in site navigation"
default: []
minItems: 0
uniqueItems: true
items:
"$ref": "navigationentry.json"
profiles:
type: array
description: "Social media profile links associated with the site"
default: []
minItems: 0
uniqueItems: true
items:
"$ref": "navigationentry.json"
auto_approve:
description: Whether to publish site changes without design review
type: boolean
coverPrefs:
name: coverPrefs
description: Image processing to allow on the site. 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
purpose:
description: Site purposes
type: array
minItems: 0
maxItems: 2
uniqueItems: true
items:
"$ref": "sitepurpose.json"
content:
description: Site media content blocks
type: array
minItems: 0
uniqueItems: true
items:
"$ref": "contentblock.json"
github:
description: Whether to synchronize site to GitHub
type: boolean
default: false