GitHub all the things09 Aug 2012
I've GitHubbed all the things today—more on that shortly—and while I was doing that, I broke the Internet for a decent amount of folks. I apologize for that and will do my best to ensure it won't happen again. Here's some background and an explanation for what happened.
Previously, my blog used WordPress and was hosted on Media Temple. Everything was version controlled with git already, making things relatively straightforward in case something went wrong, but it was still a pain. Hosting and updating my blog was tedious, having to install WordPress and it's plugins, pushing code, FTPing in case something broke, and SSHing into my server to pull it down. Not so simple.
Fellow Twit and broheim Dave Gamache also has a nice write-up on using GitHub Pages, so be sure to check that out. His blog setup was the inspiration for this entire endeavor and his support in the process was invaluable.
I broke the Internet
No joke, I messed some stuff up, and again, I apologize for that. Here's what happened as succinctly and accurately as I can recall.
- Early Wednesday morning I created a new GitHub user page using the repo name
markdotto.github.com. At this point, all is well.
- To make the new GitHub page point to my domain, I added a custom domain. At this point, the shit starts hitting the fan: all my projects are now being pointed to markdotto.com.
- As the DNS propagated, the URLs of my Unofficial GitHub Buttons began to change from
markdotto.github.com/github-buttonsto redirect to
markdotto.com/github-buttons, resulting in security errors as the URLs of the
iframewere no longer resolving. To make matters worse, once I noticed the problem and attempted to resolve, some of those URLs were still being cached.
- At this point I figured out the problem: despite what the GitHub Pages docs say, you cannot use a custom domain on your user page without it affecting your project pages.
- To fix all these issues, I have nuked the
markdotto.github.comrepo and created a new
markdotto.github.com/mdoone to point to my personal domain. Alongside that, I bought a new domain and pointed the GitHub Buttons project to that using the same technique.
- This change requires everyone using the buttons to update the
iframeto begin with
And that brings us to now. Caching might still present security warnings for folks, but there isn't much I can do about that at this point. From here on out, the core issues should be resolved.
Despite all the hiccups on the GitHub buttons, I did manage to roll out some updates for it tonight:
- Retina icons for in the buttons
- Changed "Watch" button's text to "Star" (the type is still going to be
watchin the code until the API changes)
- Added caret to the count like on GitHub.com
- Overhauled CSS better match GitHub.com buttons
Check it out at http://ghbtns.com.
I also pushed some changes to this blog and, after some miscellaneous cleanup on the code, will be propgating them to the Bootstrap blog shortly since it uses the same template. New to the blog are larger tweet buttons on articles (better for mobile), related posts on each post page, and a streamlined homepage for faster loading. More changes to come, so stay tuned.