1.1.0 • Published 5 years ago

cv-tools v1.1.0

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

cv-tools

A set of gulp tasks to manage, package, and share LaTeX documents.

What is this?

I created this set of gulp tasks to help me manage my CV. I write my CV in LaTeX and publish it on S3 via a password protected zip archive.

I thought this workflow might be helpful to someone else, so I open sourced the tool.

Note that the tool will also work with any LaTeX document that you might want to make publicly available and password protected.

For some context about why I wrote this tool and how I'm using it, check out this article on Medium: https://medium.com/@coaxial/how-i-manage-my-cv-with-latex-gulp-s3-and-bitly-99694c01dd8

Assumptions

  • Your document is written using LaTeX
  • You want a publicly accessible, passworded protected version of your document
  • You want this publicly accessible version to be hosted on S3
  • You have a working npm and node (v4 or v6) install

Configuration

The tool uses two configuration files: config.json and aws_config.json. I suggest you use the example files config.example.json + aws_config.example.json as templates. When you're done, save a copy and remove .example from the filenames.

config.json

Configuration options for the tool itself

OptionUsage
resume_filenameThe LaTeX filename for your resume within src_dir (see below)
archive_filenameName used for the resulting compressed, password protected archive
dist_dirRelative path to the directory where the archive will be saved to
src_dirRelative path to the directory where your LaTeX files live

If you're not using the default for src_dir, remember to add it to your .gitignore

aws_config.json

Contains AWS specific configuration options

OptionUsage
keyYour AWS key
secretYour AWS secret
bucketName for the S3 bucket to upload the archive to
regionWhich AWS region to save your archive in (cf. https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)

If you are unfamiliar with S3, AWS' documentation is a good starting point: https://aws.amazon.com/documentation/s3/

CV files

The tool expects your LaTeX files to be located in the src_dir specified in config.json. You can also add any custom LaTeX document class files needed to build your document in this directory, pdflatex will look for them there.

To illustrate, here is what my src_dir directory looks like:

src/
├── coaxialcv.cls
├── coaxial.pdf
└── coaxial.tex

If you version control your LaTeX files, you can git clone your repo in src_dir with $ git clone user/repo src/. You'll then be able to work on your document from within the tool's repo while committing changes to the documents repo.

Usage

Gulp taskUsage
workGulp will watch for changes in src_dir and recompile to PDF.
publishWill package, password protect, and upload the document to S3

While using the work task, I suggest opening the PDF file in a PDF viewer on half of your monitor, and your text editor on the other half. As you save your document in the text editor, the PDF view will update almost instantly, and you'll see the changes right away without switching windows.

There are a few other plumbing tasks that the porcelain tasks above depend on. All of them are located in tasks/, I modularized to help with maintenance and readability. This is where to look if you're curious about how the tool works under the hood.

Contributions

Yes please! Fork the repo, make your changes, update the README if needed, and make a pull request. Make sure your tests pass against Node v4 and Node v6 both; make sure you use modularization when appropriate, ES6, and promises.

Issues

If you have a question or an issue using the tool, open a GitHub issue for help.

License

MIT (c) Coaxial 2016