JSON Resume Schema
Standard, Specification, Schema
We are still currently un-versioned, some core changes are being pushed out, and a version 0.0.0 will be released following Semantic Versioning 2.0.0 best practices. We will be experimenting with a migration.js system, where each change below will be represented with a function that can update an older version of resume.json to the newer versions.
Major versions
There will be a learning curve for the next few months as to how the ecosystem will revolve around versions.
To keep things simple, JSON Resume tools are only expected to react to major version changes, everything will follow suit only after we reach version 1.0.0. The process for patches and fixes will be informal, and we will try to make everything work for major versions.
Change log
- 2014-07-30 -
languageswas added - Dicussions - Commit - 2014-07-30 -
hobbieswas renamed tointerests - 2014-07-30 -
volunteerwas added - Discussion - Commit - 2014-07-30 -
summarywas added toawards- Discussion - Commit - 2014-07-30 -
summarywas added topublications- Discussion - Commit - 2014-07-22 -
biowas renamed tobasics- Discussion - Commit - 2014-07-22 -
profileswas changed to a type array instead of an object - Discussion - Commit - 2014-07-15 -
addressandpostalCodewere added tolocation- Discussion - Commit - 2014-07-15 -
awardDatewas changed todate- Discussion - Commit - 2014-07-13 -
websiteswas changed towebsite, changed from object into string - Discussion - Commit - 2014-07-13 - specified that
countryCodeconforms to ISO standard - Discussion - Commit - 2014-07-13 -
regionreplacedstateas the default - Discussion - Commit - 2014-07-12 -
picturewas added to thebioobject - Discussion - Commit - 2014-07-12 -
gpawas added toeducationobjects - Discussion - Commit - 2014-07-12 -
emailandphonewere changed from objects into strings - Discussion - Commit - 2014-07-12 -
firstNameandlastNamewere merged intoname- Discussion - Commit
Gitter
Everyone working on the early stages of the project should join our gitter channel gitter.im/jsonresume/public.
Getting started
npm install --save resume-schema
To use
var resumeSchema = require('resume-schema');
resumeSchema.validate({ name: "Thomas" }, function (err, report) {
if (err) {
console.error('The resume was invalid:', err);
return;
}
console.log('Resume validated successfully:', report);
});
More likely
var fs = require('fs');
var resumeSchema = require('resume-schema');
var resumeObject = JSON.parse(fs.readFileSync('resume.json', 'utf8'));
resumeSchema.validate(resumeObject);
The JSON Resume schema is available from:
require('resume-schema').schema;
People
- Julian Shapiro for early prototype revisions
Contribute
We encourage anyone who's interested in participating in the formation of this standard, to join us on Gitter, and/or to join the discussions here on GitHub. Also feel free to fork this project and submit new ideas to add to the JSON Resume Schema standard. To make sure all formatting is kept in check, please install the EditorConfig plugin for your editor of choice.
Versioning
JSON Resume Schema adheres to Semantic Versioning 2.0.0. If there is a violation of
this scheme, report it as a bug. Specifically, if a patch or minor version is
released and breaks backward compatibility, that version should be immediately
yanked and/or a new version should be immediately released that restores
compatibility. Any change that breaks the public API will only be introduced at
a major-version release. As a result of this policy, you can (and should)
specify any dependency on JSON Resume Schema by using the Pessimistic Version
Constraint with two digits of precision.
Research
Proposals to reinvestigate
- #69 - Standard format for phone numbers
- #44 - Person-Job Fit
- #12 - geotag location in work
- #51 - Support multiple positions within one job