This assignment aims to teach you how to use scripted programs to convert marked-up document source files into multiple output formats. Its larger purpose is to demonstrate that you can automate your workflows so that you will save yourself time and energy in creating documents for your courses or work going forward. This assignment is also intended to show you that you do not need to have expensive software suites in order to produce high-quality, well-formed documents.
We will use Pandoc, TeXLive, and Bash scripts to complete this assignment.
You will be exposed to the following skillsets;
- Converting between document types (Pandoc)
- Tweaking and fixing markup (Markdown, Pandoc, and TeXLive)
- Installing software (Linux, Apt)
- Writing a script to automate multiple outputs from source files (Bash)
I expect you to create a set of well-formed documents which contain original content (i.e. - your own writing). You will create multiple document types from a markdown source file. The markdown source file will contain a piece of writing that you have done for another class or an original piece for this class.
You will need to have Pandoc and TeXLive installed on your Cloud9 workspace. Pandoc can convert most input formats to most other output formats on its own. Pandoc uses TeXLive to produce PDFs, so we have to install this in order to fulfill one of the targets of the assignment.
You will need to do the following for this assignment to be considered complete.
- Fork and clone your fork of this repository into your Cloud9 container.
- Rename the script
convert-docs.sh
, contained in this repository, toYOUR-GITHUB-USERNAME-convert-docs.sh
. - Edit the script (which has only comments currently) to include commands and make sure that it can be executed.
- In your script, you need to include the following output formats:
- DOCX
- ODT
- HTML
- Place a markdown version of a piece of your original writing into your forked repository.
- Test, tweak and then run your script to produce the four output formats listed above.
- Add, commit, and push all of your changes.
- Once you are satisfied with your outputs, create a new blog post on your website and include the following:
- A brief description (abstract) of your written work
- A description of what you did to get it into multiple formats
- A list of the files in your blog post.
- Links to all of your source and output files, and your script on Github.
- Share your Cloud9 workspace with me and place a link to your Editor in the post
- Reflections on any challenges you encountered, 'aha' moments you had, etc.