- Use go generate and a third party tool called jsonschemagen to
auto-generate the CV data type from the JSON schema.
- Update the schema by changing number to integer to ensure that the
integers are set to the correct type.
- Refactor some code.
- feat: add a field for the type of work location (e.g. hybrid)
- refactor: move the Tex and PDF generating code to a new internal
package which also moves the templates there as well.
- fix: add a default value for the --output field for the generate
command.
- fix: add an error for when the user does not specify an input file
when generating the PDF.
- fix: the package name for each of the files in the templateFuncs
package.
Add functionality to display the default help message when running
spruce without any arguments or when the help flag is used.
Customise the help message for the subcommands.
Additional changes:
- Refactor: move the Runner interface to the internal cmd package
- Fix: Add a summary for each of the subcommands.
- Refactor: Use string builder to replace string literals.
- Perf: Use a switch statement to only create the subcommand that the
user calls.
Create new FlagSets to create new subcommands.
- The version subcommand prints the version and build info.
- The generate subcommand generates the CV PDF documentation.
Allow users to limit the amount of employment history shown in the PDF
document by specifying a time range. This is a breaking change as the
structure of the CV needs to slightly change. The employment's start and
end dates need to be represented as integers.
Additional refactoring:
- The CV type is now in the internal cv package.
- The template functions are now in the internal templateFuncs package.