I am building out a number of micro tools on Github lately, and since I'm using a lot of the same features across many different projects, before I implement for any specific solution, I am making sure I develop it as a standalone component. I'm trying to encourage a much more modular approach to how I develop API-centric micro tools, building a whole toolbox of reusable components that I can use in my work and something that I can evolve over time, independently of each project.
One of the modules I developed this last weekend was a Google Spreadsheet to YAML on Jekyll solution. This solution is meant to take any Google Spreadsheet that has been made public, pull it via a simple JavaScript that runs on a Jekyll website running on Github Pages. Once it pulls the JSON from Google it converts it to YAML, and if a valid Github OAuth Token is present, it will save the YAML to the _data folder in the Github repository.
I am using this component in a couple different websites and micro tools that I'm developing. Some of these projects involve a non-developer maintaining data and content via a Google Spreadsheet, then triggering the update of the Jekyll website that presents the data or content via website and application. I am increasingly storing machine-readable data and content as YAML in the _data store of various Github hosted research projects, visualizations, and other applications--so opening up this work to be easily edited via a Google Spreadsheet is an important piece of the puzzle for me.
As with each component, I am developing, you can find the code for this in the Github repository, and leave any feedback as an issue for the work.