Skip to content

Instantly share code, notes, and snippets.

@lf-araujo
Last active March 31, 2019 10:39
Show Gist options
  • Save lf-araujo/c35d5e9a9d34ea314019635bc3de60ac to your computer and use it in GitHub Desktop.
Save lf-araujo/c35d5e9a9d34ea314019635bc3de60ac to your computer and use it in GitHub Desktop.
Collaborating and Serving Pandoc via Dropbox

It is possible to keep working in a pandoc project even if one is away from the computer. It is even better if this also allows for remote collaboration. There is a hackish way of doing that, of course mighy_make is essential part for the workflow. The below instructions will allow you to copy a markdown text into your Dropbox, which will trigger GNUMake to process the source and generate the output (pdf, epub, Word), which can be then on forwarded. The steps are:

  1. Create a directory in your dropbox folder (I name it mighty_make) and cd into it
  2. Download mighty_make with: wget http://tiny.cc/mighty_test -O Makefile
  3. Prepare the folder structure with make prepare
  4. Optional (for collaboration): Log into your dropbox account and share the directory with your collaborator

Now you need to set the server up, meaning go to the computer in your household that stays online the longer (must be Linux or Mac) and set up a crontab rule. This is done with the command crontab -e and add the following to the file (substituting DIR with the complete path to the Makefile within the folder created in the last step):

*/30 * * * * /usr/bin/make -C DIR

Every thirty minutes your document will be built, if you follow the above rule. Note that whatever you set as the default target within the Makefile. You can find instructions on how to change the default target here. Note that as long as the folder structure is kept the same, you can ask your collaborator to edit the files within /source and the output will be rendered allowing access to all users involved in the work.

It is also possible to get notified whenever a collaborator creates an edit of the file. Dropbox has its builtin service, which you can activate in its App, however I find much more convenient to be notified with an IFTTT rule. In order to do this, one can set up it here so to point to the correct folder within your Dropbox and notify whenever it changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment