Skip to content

Commit

Permalink
lets release 4.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
blopa committed May 9, 2021
1 parent 474376b commit c4e6574
Show file tree
Hide file tree
Showing 13 changed files with 212 additions and 20 deletions.
19 changes: 15 additions & 4 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ Older versions: [V1](https://github.com/blopa/Resume-Builder/blob/main/README_V1
- Cover Letter Editor

## JSON Resume Schema
This project uses the [jsonresume/resume-schema](https://github.com/jsonresume/resume-schema) v1.0.0, but due a need to extend some of it's features, we also added 2 new fields: `__translation__` to translate template keys, and `coverLetter` so you can add your own Cover Letter template.
This project uses the [jsonresume/resume-schema](https://github.com/jsonresume/resume-schema) v1.0.0, but due a need to extend some of it's features, we also added 4 new fields:
- `__translation__` to translate template keys.
- `coverLetter` to add your own Cover Letter template.
- `work[].keywords` to add keywords to your work experience.
- `enableSourceDataDownload` to allow the JSON data to be downloaded from the resume itself.

## Online viewer
Create a GitHub repo [like this one](https://github.com/blopa/resume.json) with the name `resume.json` and a file called `resume.json` in a branch called `main` and following the JSON schema from [github.com/jsonresume/resume-schema](https://github.com/jsonresume/resume-schema/tree/v1.0.0) v1.0.0.
Expand Down Expand Up @@ -146,6 +150,10 @@ The following `JSON` is a result of [this Google Spreadsheet](https://docs.googl
"Build an algorithm for artist to detect if their music was violating copy right infringement laws",
"Successfully won Techcrunch Disrupt",
"Optimized an algorithm that holds the current world record for Weisman Scores"
],
"keywords": [
"Javascript",
"React"
]
}
],
Expand Down Expand Up @@ -296,9 +304,12 @@ The following `JSON` is a result of [this Google Spreadsheet](https://docs.googl

## Release Notes
- **v4.0.2:**
- Filter out resume templates that are not ready yet
- Add download link to download the JSON data
- Fix resume viewer
- Filter out resume templates that are not ready yet.
- Add download link to download the JSON data.
- Fix resume viewer.
- Add missing fields on "work" and "projects".
- Small layout fixes in the "Default" template.
- Arrays from the spreadsheet are now parsed using `';'` instead of `','`.
- **v4.0.1:**
- Add visual cue to the cover letter variables.
- **v4.0.0:**
Expand Down
5 changes: 5 additions & 0 deletions gatsby-node.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ exports.onCreateWebpackConfig = async ({
}) => {
const templates = await fs.readdir(TEMPLATES_PATH);

// TODO this fixes the 'React Refresh Babel' error where NODE_ENV is 'local' for some reason
if (process.env.NODE_ENV !== 'production') {
process.env.NODE_ENV = 'development';
}

actions.setWebpackConfig({
plugins: [
plugins.define({
Expand Down
4 changes: 4 additions & 0 deletions resume.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@
"Build an algorithm for artist to detect if their music was violating copy right infringement laws",
"Successfully won Techcrunch Disrupt",
"Optimized an algorithm that holds the current world record for Weisman Scores"
],
"keywords": [
"Javascript",
"React"
]
}
],
Expand Down
60 changes: 60 additions & 0 deletions src/components/ResumeDrawerItems/Items/Work.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,40 @@ function Work({ work: workData }) {
},
};
}

return wrk;
});
setResumeWorkState(newWork);
}, [setResumeWorkState, workData]);

const toggleWorkKeywords = useCallback((oldWork, keyword) => () => {
const newWork = { ...workData };
newWork.value =
newWork?.value.map((wrk) => {
if (JSON.stringify(wrk?.value) === JSON.stringify(oldWork?.value)) {
return {
...wrk,
value: {
...wrk?.value,
keywords: {
...wrk?.value.keywords,
value: [
...wrk?.value.keywords?.value.map((kword) => {
if (JSON.stringify(kword?.value) === JSON.stringify(keyword?.value)) {
return {
...kword,
enabled: !kword?.enabled,
};
}

return kword;
}),
],
},
},
};
}

return wrk;
});
setResumeWorkState(newWork);
Expand All @@ -131,6 +165,7 @@ function Work({ work: workData }) {
endDate,
summary,
highlights,
keywords,
} = work?.value || {};

return (
Expand Down Expand Up @@ -249,6 +284,31 @@ function Work({ work: workData }) {
))}
</ul>
)}
{keywords && (
<ItemsList
label={varNameToString({ keywords })}
checked={keywords?.enabled}
onClick={toggleWorkDetail(
work,
varNameToString({ keywords })
)}
/>
)}
{keywords?.enabled && (
<ul>
{keywords?.value.map((keyword) => (
<ItemsList
label={keyword?.value}
key={uuid()}
checked={keyword?.enabled}
onClick={toggleWorkKeywords(
work,
keyword
)}
/>
))}
</ul>
)}
</ul>
)}
</Fragment>
Expand Down
7 changes: 6 additions & 1 deletion src/components/ResumeTemplates/Default/Sections/Awards.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@ const useStyles = makeStyles((theme) => ({
margin: '0',
padding: '0',
listStyle: 'none',
'& li': { margin: '0 0 10px 0', '&:last-child': { margin: '0' } },
'& li': {
margin: '0 0 10px 0',
'&:last-child': {
margin: '3px 0 0',
},
},
},
contentWrapper: {
marginLeft: '4px',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@ const useStyles = makeStyles((theme) => ({
margin: '0',
padding: '0',
listStyle: 'none',
'& li': { margin: '0 0 10px 0', '&:last-child': { margin: '0' } },
'& li': {
margin: '0 0 10px 0',
'&:last-child': {
margin: '3px 0 0',
},
},
},
contentWrapper: {
marginLeft: '4px',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@ const useStyles = makeStyles((theme) => ({
margin: '0',
padding: '0',
listStyle: 'none',
'& li': { margin: '0 0 10px 0', '&:last-child': { margin: '0' } },
'& li': {
margin: '0 0 10px 0',
'&:last-child': {
margin: '3px 0 0',
},
},
},
coursesDetails: {
display: 'flex',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ const useStyles = makeStyles((theme) => ({
},
languages: {
margin: '0',
'& li': { margin: '0 0 10px 0', '&:last-child': { margin: '0' } },
'& li': {
margin: '0 0 10px 0',
'&:last-child': {
margin: '3px 0 0',
},
},
},
contentWrapper: {
marginLeft: '4px',
Expand Down
41 changes: 40 additions & 1 deletion src/components/ResumeTemplates/Default/Sections/Projects.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,32 @@ const useStyles = makeStyles((theme) => ({
'& li': {
margin: '0 0 10px 0',
'&:last-child': {
margin: '0',
margin: '3px 0 0',
},
},
},
project: {
fontWeight: 'bold',
},
highlights: {
'& li': {
marginBottom: '1px',
fontStyle: 'italic',
},
},
keywords: {
flexWrap: 'wrap',
listStyle: 'none',
paddingLeft: 0,
display: 'inline-flex',
'& li': {
fontStyle: 'italic',
margin: '3px 3px 0 0',
backgroundColor: theme.palette.type === 'dark' ? '#28407b' : '#dae4f4',
borderRadius: '3px',
padding: '1px 3px',
},
},
contentWrapper: {
marginLeft: '4px',
},
Expand Down Expand Up @@ -103,6 +122,26 @@ const Projects = ({ projects }) => {
{entity && entity?.enabled && <p>{entity?.value}</p>}
{(url && url?.enabled && url?.value) && <a href={url.value}>{url.value}</a>}
{description && description?.enabled && <p>{description?.value}</p>}
{highlights?.enabled && (
<ul className={classes.highlights}>
{highlights?.value.map((highlight) =>
highlight?.enabled && (
<li key={uuid()}>
{highlight?.value}
</li>
))}
</ul>
)}
{keywords?.enabled && (
<ul className={classes.keywords}>
{keywords?.value.map((keyword) =>
keyword?.enabled && (
<li key={uuid()}>
{keyword?.value}
</li>
))}
</ul>
)}
</li>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@ const useStyles = makeStyles((theme) => ({
margin: '0',
padding: '0',
listStyle: 'none',
'& li': { margin: '0 0 10px 0', '&:last-child': { margin: '0' } },
'& li': {
margin: '0 0 10px 0',
'&:last-child': {
margin: '3px 0 0',
},
},
},
publication: {
fontWeight: 'bold',
Expand Down
23 changes: 21 additions & 2 deletions src/components/ResumeTemplates/Default/Sections/References.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,22 @@ const useStyles = makeStyles((theme) => ({
margin: '0',
padding: '0',
listStyle: 'none',
'& li': { margin: '0 0 10px 0', '&:last-child': { margin: '0' } },
'& li': {
margin: '0 0 10px 0',
'&:last-child': {
margin: '3px 0 0',
},
},
},
reference: {
fontStyle: 'italic',
textIndent: '15px',
'&:before': {
content: '"❝"',
fontSize: '25px',
margin: '-8px 0 0 -35px',
position: 'absolute',
},
},
contentWrapper: {
marginLeft: '4px',
Expand Down Expand Up @@ -72,7 +87,11 @@ const References = ({ references }) => {
{name?.value}
</p>
)}
{reference?.enabled && <p>{reference?.value}</p>}
{reference?.enabled && (
<p className={classes.reference}>
{reference?.value}
</p>
)}
</li>
);
}
Expand Down
25 changes: 25 additions & 0 deletions src/components/ResumeTemplates/Default/Sections/Work.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ const useStyles = makeStyles((theme) => ({
},
summary: {
whiteSpace: 'break-spaces',
marginBottom: '5px !important',
},
description: {
whiteSpace: 'break-spaces',
Expand All @@ -45,6 +46,19 @@ const useStyles = makeStyles((theme) => ({
fontStyle: 'italic',
},
},
keywords: {
flexWrap: 'wrap',
listStyle: 'none',
paddingLeft: 0,
display: 'inline-flex',
'& li': {
fontStyle: 'italic',
margin: '3px 3px 0 0',
backgroundColor: theme.palette.type === 'dark' ? '#28407b' : '#dae4f4',
borderRadius: '3px',
padding: '1px 3px',
},
},
contentWrapper: {
marginLeft: '4px',
},
Expand Down Expand Up @@ -89,6 +103,7 @@ const Work = ({ work: works }) => {
endDate,
summary,
highlights,
keywords,
} = work?.value || {};

let refProps = {};
Expand Down Expand Up @@ -152,6 +167,16 @@ const Work = ({ work: works }) => {
))}
</ul>
)}
{keywords?.enabled && (
<ul className={classes.keywords}>
{keywords?.value.map((keyword) =>
keyword?.enabled && (
<li key={uuid()}>
{keyword?.value}
</li>
))}
</ul>
)}
</li>
);
}
Expand Down
Loading

0 comments on commit c4e6574

Please sign in to comment.