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 -
languages
was added - Dicussions - Commit - 2014-07-30 -
hobbies
was renamed tointerests
- 2014-07-30 -
volunteer
was added - Discussion - Commit - 2014-07-30 -
summary
was added toawards
- Discussion - Commit - 2014-07-30 -
summary
was added topublications
- Discussion - Commit - 2014-07-22 -
bio
was renamed tobasics
- Discussion - Commit - 2014-07-22 -
profiles
was changed to a type array instead of an object - Discussion - Commit - 2014-07-15 -
address
andpostalCode
were added tolocation
- Discussion - Commit - 2014-07-15 -
awardDate
was changed todate
- Discussion - Commit - 2014-07-13 -
websites
was changed towebsite
, changed from object into string - Discussion - Commit - 2014-07-13 - specified that
countryCode
conforms to ISO standard - Discussion - Commit - 2014-07-13 -
region
replacedstate
as the default - Discussion - Commit - 2014-07-12 -
picture
was added to thebio
object - Discussion - Commit - 2014-07-12 -
gpa
was added toeducation
objects - Discussion - Commit - 2014-07-12 -
email
andphone
were changed from objects into strings - Discussion - Commit - 2014-07-12 -
firstName
andlastName
were 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