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.
Changes:
- Build the cv-builder tool using go build instead of mage -compile in the first stage.
- The final docker image is now based on Alpine.
- Create a copy function to copy the final CV from the temporary directory to the final destination.
- Replace os.Rename with the custom copy function to support copying files between different filesystems.