resume-schema: Fix the date problem
There are about three or so issues that are related to date parsing that will require changes to the schema and the parser in tandem.
-
Seasons should be allowed in dates, #180.Rejected - Dates in
YYYY-MM
andYYYY
should be valid, #142. - Allows the empty string in
endDate
to represent the present, #150. -
Add custom date parser (maybe?), #150.Rejected. However, we still might be able to salvage some of the PRed code. - Figure out how to represent ongoing work, #199.
This is the “master issue” I’ll use to keep track of what they are.
About this issue
- Original URL
- State: closed
- Created 9 years ago
- Comments: 59 (34 by maintainers)
Commits related to this issue
- Update photo and hack current work date. https://github.com/jsonresume/resume-schema/issues/198 for hack... — committed to drover25/resume by drover25 6 years ago
Tomorrow we will be in 2019 and we still can’t represent a current job.
It’s been 2+ years and this still hasn’t been resolved.
I’m able to represent current work with @rbardini/resume-cli, which uses jsonresume-theme-even by default. You can see an example here.
I’ve opened a few PRs to resume-cli integrating most changes from the fork, which may help solving this.
@stp-ip https://github.com/jsonresume/resume-schema/issues/198#issuecomment-302588018
Bit annoying that nobody mentioned this in 3 years but if you’re like me and don’t really care if it’s machine readable, you can use the
--force
flag to skip validation, eg,resume export --force resume_fr.html --theme Fr_flat
EDIT: my bad, doesn’t seem to work for export
As a workaround I modified
/usr/local/lib/node_modules/resume-cli/lib/pre-flow
and removed the linevalidateSchema: ['getResume', validateSchema],
Thanks @HyShai for taking a continued look into jsonresume. Jsonresume is an open source project and has limited capacity. Having an issue open for 2+ years also means that noone contributed a fix in 2+ years. We are working hard to iterate on jsonresume with a new project called github.com/resumic/schema. We are happily taking contributions over there and still take contributions here.
+1 for Output as-is when the date can’t be parsed to JS
date
object. We are already in 2017. I guess time to make a decision…Not sure what the status on this is, but it seems partial dates don’t validate like
2017-01
or2017
and adding “Present” obviously doesn’t work either.It doesn’t allow an empty string but will allow the field to be removed completely.
Interesting. I’m not sure I like the way this strong-arms you into to providing a specific date down to the exact day.
Because a Date object is not a string. We have to serialize it into string because JSON has no Date type. We could have serialized it into unix-time, but it would be not human-editable. So we stick to the standard used in JS to parse and serialize dates to avoid problems. JSONResume is about defining everything in standard way, not about writing any kind of free-form shit everywhere you want, because computers cannot understand free-formed texts good enough and reproducibly enough.
Without looking into the code, I can’t say whether this is straight forward or not, but from a user’s point of view, I want to add a date OR I want to specify a non-date like “Present”.
@chrisdotcode - What’s not machine readable about a string?
@adrianblynch: We prefer not to take that approach because we favor machine readability.
Could dates that can’t be parsed simply be output as-is?
So as a user who wants to make a resume without being a contributor, what is the best way to represent an ongoing job? This could be a deal breaker if there won’t be a way to represent ongoing work.
@KOLANICH I prefer @stp-ip’s suggestion of just using a
null
, because using a tuple complicates the schema a lot.