Doodle manifest

June 10, 2015 ยท View on GitHub

Each submitted doodle is required to have a complete manifest JSON, this provides author details and doodle meta data. For ease of generation, would recommend using the interactive CLI tool supplied in the repo ./utils/createDoodle.js which will auto-generate the manifest / correct directory structure for you.

Schema

{
	"name" : "STRING|REQUIRED",
	"author" : {
		"name" : "STRING|REQUIRED",
		"github" : "STRING|REQUIRED",
		"website" : "STRING-URL|REQUIRED",
		"twitter" : "STRING|OPTIONAL"
	},
	"description" : "ESCAPED-HTML|REQUIRED",
	"tags" : [ "STRING|OPTIONAL" ... ],
	"interaction" : {
		"mouse" : BOOL|REQUIRED,
		"keyboard" : BOOL|REQUIRED,
		"touch" : BOOL|REQUIRED
	},
	"instructions" : "STRING|REQUIRED",
	"colour_scheme" : "light/dark|REQUIRED",
	"mobile_friendly" : BOOL|REQUIRED,
	"slug" : "STRING|REQUIRED"
}

Sample

{
	"name" : "Particles",
	"author" : {
		"name" : "Joe Bloggs",
		"github" : "joebloggs",
		"website" : "http://joecodes.com",
		"twitter" : "joebloggs"
	},
	"description" : "Just playing around with some webGL particles, see the explanation on <a href=\"http://joecodes.com/particles-source\">my site</a>.",
	"tags" : [ "webGL", "particles" ],
	"interaction" : {
		"mouse" : true,
		"keyboard" : false,
		"touch" : true
	},
	"instructions" : "swipe / move your mouse",
	"colour_scheme" : "dark",
	"mobile_friendly" : true,
	"slug" : "joebloggs/particles"
}

Breakdown

PropertyDescriptionTypeRequired
nameTitle of the doodleStringyes
author.nameAuthor's full nameStringyes
author.githubAuthor's github username, must be same user that submits pull request for authenticityStringyes
author.websiteFull URL for author's siteStringyes
author.twitterTwitter handle (without "@")Stringno
descriptionEscaped HTML string containing description of the doodle, additional instructions, links to source / blog posts / more feature-rich version etcStringyes
tagsTech / visual keywords to associate with the doodleArray of Stringsyes
interaction.mouseWhether or not the doodle can be interacted with by mouseBooleanyes
interaction.keyboardWhether or not the doodle can be interacted with by keyboardBooleanyes
interaction.touchWhether or not the doodle can be interacted with by touch inputBooleanyes
instructionsBrief instructions on how to interact with the doodleString - max length 35 charsyes
colour_schemeWill control the UI colour when doodle is displayed. Eg, if you doodle uses a black background, select "dark" as colour_scheme so the UI will be in contrast and thus accessibleString - "light" or "dark"yes
mobile_friendlyWhether or not the doodle is usable on mobileBooleanyes
slugThe directory path within ./doodles, this should be comprised of <github-username>/<doodle-name>, containing no url invalid characters.Stringyes