Tools & Services
Interview with Parker Moore from Jekyll
While there is a constantly growing roster of static web tools available for developers of both the professional and amateur stripe, none swings as much weight or garners as much attention as Jekyll.
Its popularity is no surprise, considering Jekyll was created by one of the cofounders of GitHub and is the engine that powers GitHub pages.
Recently we witnessed the launch of Jekyll 3.0, with the final commit being pushed live during a talk by current Jekyll lead Parker Moore at the October edition of the Static Web MeetUp in Wikia's San Francisco office. After his talk, Moore took some time to chat with Aaron from Netlify about Jekyll, development and the future of static web tech.
Aaron: What you do outside of working on Jekyll?
Parker: I’m a software engineer at GitHub, where I help build GitHub Pages. My work also includes maintaining Jekyll and helping grow the community surrounding the project.
Can you tell us a little bit about how you got involved with Jekyll, and how you got to the point where you now are the one who is pushing Jekyll 3.0 live?
It was an interesting process. I used it over the summer for work that I was doing at Cornell. I was working on the new cals.cornell.edu, and we were interested in building a new site, and we wanted to do it quickly. We wanted to take what we already had and move it over. We had new designs and some new content. I had heard about and used Jekyll a little bit, and convinced my boss somehow--I don't know how I did this--that we should use Jekyll, a system that I knew, so that I would be a useful employee for that summer. It was something that fit the bill...it just had to serve content. We actually even used Jekyll to generate PHP pages, which then, on this LAMP server could do stuff like send an email or generate a PDF. I used it a little bit there and really liked it.
I looked at the issues and there were so many of them, six, seven, eight hundred issues on the repository, which is a lot. Way more than any major open source project should have, in my opinion. I saw a need, I guess, and decided that I had enough free time--even though I didn't--to work on it. Right before I left to go to Germany to work for a company called 6 Wunderkinder--they make Wunderlist--I emailed Tom, and emailed him again, and emailed him again. Finally I wrote an open letter on my blog, which was silly and slightly immature, but it worked. Eventually after that, giving him the shortest email I possibly could that could get my point across, he wrote me back and said "Hey, I'm interested in talking with you, it seems like you are really interested, what do you think?"
I'd just talked to Brandon Mathis, who works on Octopress, and he had just added me as a contributor to Octopress, and so I could say "look, I'm also contributing to Octopress", I know static sites. Brandon did a bit of the legwork to vet me, I guess. Came out a couple of weeks later to visit my sister in San Francisco, and met up with Tom at the GitHub headquarters, talked about Jekyll for an hour. He gave me access, I cleaned up a lot of the issues, and just started working on Jekyll 1.
And you came in at 0.12.1?
Yeah. I'd been using that, and it was just broken in so many ways. I knew I could fix it, and I knew Ruby--I'd done Ruby on Rails stuff before, so I'd learned a lot about web development that way.
What was your first coding experience?
My first coding experience was at the Rochester Institute of Technology. I took a day to go with some other students to go to a tech / computer science kind of day of learning for middle school students. I was 13. One of the classes was 30 minutes on HTML. I just ate it up. I printed out my HTML and I loved it. I wrote it over and over. I changed the background color with the tag attribute...I just did all this silly, mundane stuff.
What was your first encounter with modern static web tech?
I can remember up until I used Jekyll--and convinced my boss to use Jekyll--I think I was looking for several different--I knew a static site would work, because I had done HTML and CSS and JavaScript and I knew what they were doing at Cornell. So I sort of decided from there and looked at various technologies, and Jekyll was the one with the most stars and forks on GitHub. It seemed like the most popular. People were writing about it and using it. GitHub Pages existed at the time. So I went in that direction.
So it was a critical mass type thing? There were a lot of people there, so you knew it was alive and vibrant.
You go to the club that's the most bumping, you know? I figured there would be contributors. An open source project needs people more than it needs anything else, because it needs code.
The worst thing that you can do on a forum or a message board is to ask a question and then go back every day for three weeks and, while people have read it, no one has commented.
No one has commented!
What are your biggest wishes for static web tech?
It needs to be better understood. I understand it and you understand it, but I would love to see a world where...and I bet this will happen, because computer science is becoming a subject people learn earlier and earlier and get familiar with, and websites are a great way in general to learn about code and those sorts of things. My biggest wish is that it becomes more generally understood as a real, honest, production-ready solution for companies interested in making websites.
So how do people go about doing that?
One thing I've talked with [Netlify founders — ed.] Christian and Matt about is the idea that static website, static website generator, static generator, static site sounds so boring, it's very technical sounding...
Dynamic sounds so much interesting!
Right! So Drupal and WordPress, it's "one-click-install!", and wordpress.com you can get one for free and it already has a theme...there are all these little barriers that aren't necessarily a big deal by themselves but add up to a lot. So I think it's accessibility. I think people are working on that. Netlify is working on that, Cloud Cannon is working on that. Series of different companies are working on making it easier to learn and to build static sites. I think we have to change the conversation and use words that aren't as intimidating to people who are learning about what is now static site generation and static sites in general. What does it mean to be a static site? It's pretty self explanatory--static site. But you have to understand the difference between static and dynamic...which is already a word that people don't use on a daily basis. When is the last time you said the word static on a daily basis, outside of a work context?
Or "The World Series isn't playing properly on my TV with my antenna". And again, static is a bad thing there.
Yeah, you want a clear, crisp picture. accessibility, and a better lexicon around it. Something that explains it well, but doesn't use intimidating words.
Do you have any parting words or ideas or things that you want to get out there from the standpoint of somebody who is maintaining Jekyll or somebody who's interested in modern static web tech? It's your soapbox moment.
If I had a soapbox, I would say "don't give up". Bang your head against it for a little while. If it doesn't work after an hour, after a day, then go get help. I would say ultimately to not give up and to bang your head against something is the best way to learn something, to fight through the issues. From a philosophical standpoint, my generation is really bad at sticking with something...working someplace for more than a year or sticking with a major for more than fifteen minutes. It seems like everything is transient nowadays in a way I don't get from the history books or stories my parents and grandparents told me. To not give up is to have faith in static web tech, to have faith in your fellow people who are building these things, building the websites and learning about it, and to have faith in our future.
And if you don't give up, you are more likely to become part of the solution, because you have skin in the game.
Yeah, exactly.
--
The Static Web Tech Meetup is a monthly gathering of developers and tech forward-thinkers who want to learn and share their insight about the technology that will power tomorrow's internet. Join us at our next event by connecting with us on Meetup!