Crazy to think that, even though I have had a GitHub account for 5 years and have poked, played and forked things, I have never made a pull request and contributed something to another project until today.
I attribute that mostly to the fact that I stopped actually developing and writing code right around the same time as I signed up for a GitHub account, and the fact that it took me a long time to grok how GitHub works. Honestly, I am still not totally sure I understand how GitHub works, but after a great session with Paul Hibbitts at the Festival of Learning last week where I had a chance to dig into both Grav and GitHub, I finally feel like I can work around GitHub with some level of confidence. Enough that when I saw an opportunity to contribute to a project earlier today I thought, “I can help!”
The trigger was a tweet from the web annotation project Hypothes.is. I’ve been playing with Hypothes.is since hearing about the project from David Wiley a few years ago. It is maturing into a really great annotation system that has found some use among educators, including Robin DeRosa who is using Hypothes.is as an annotation tool on an open textbook she has published in PressBooks.
The tweet from Hypothes.is pointed me to a small project that Kris Shaffer is working on – a WordPress plugin that will allow you to aggregate your Hypothes.is annotations on a page or post on your WordPress site.
Hypothes.is Aggregator ? a WordPress plugin, by @krisshaffer https://t.co/nmXWTqndm6 #DoOO #IndieWeb #IndieEdTech
— UMW Learning Tech (@umwdtlt) June 16, 2016
As Kris points out on his blog post about the plugin, there are some compelling use cases
I envision a number of possible uses for Hypothes.is Aggregator. As I write in my post on hypothes.is as a public research notebook, you can use this plugin to make a public research notebook on your WordPress site. Read something interesting, annotate it, and aggregate those annotations ? perhaps organized by topic ? on your domain. They will automatically update. Just set it and leave it alone.
I also see this as a tool for a class. Many instructors already use hypothes.is by assigning a reading that students will annotate together. Hyopthes.is Aggregator makes it easy to assign a topic, rather than a reading, and ask students to find their own readings on the web, annotate them, and tag them with the course tag. Then Hypothes.is Aggregator can collect all the annotations with the class tag in one place, so students and instructors can see and follow-up on each other’s annotations. Similar activities can be done by a collaborative research group or in an unconference session.
I went to his GitHub site, downloaded the plugin and fired it up. It worked (although the Cover theme I am using has done some funky formatting to it, which i need to adjust). But when I took a look at the GitHub site, I noticed that Kris had no README file on the Github site and the actual instructions on how to install and use the plugin were only on his blog post. Aha! A chance for me to actually contribute something to a project! So, I fired up my Atom editor, forked his repo and added a README.md file with instructions that i copied and pasted from his blog post on how to install and use the plugin.
So far so good. Now to figure out how to actually do a pull request. i thought that, before I do this (and not knowing exactly what might happen when I hit the Pull Request button) I should check with Kris. So I fire him off a tweet.
@clintlalonde Absolutely! Thanks.
— Kris Shaffer (@krisshaffer) June 16, 2016
Ok, all good. I used these instructions from GitHub on how to launch a pull request and a few minutes late, my README file was sitting in Kris’s GitHub repo.
I am still not totally sure what I am doing, but having that first pull request under my belt has given me a boost of GitHub confidence.
Image: GitHub (cropped from original) by Ben Nuttall CC-BY-SA GitHub (crop) used here released under same CC-BY-SA license.
My first pull request by Clint Lalonde is licensed under a Creative Commons Attribution 4.0 International License.