Last week I showed you how to apply for a free GitHub Education account. My next few posts will rely (somewhat) on using GitHub for hosting, though the outcomes I’ll describe could be achieved using other hosting. Today, I want to signal boost a post from my Northeastern colleague Aleszu Bajak over at Storybench. Aleszu outlines a method for using Google Docs and R Markdown to build a dynamic menu-driven course website, a method I adapted to make the course website/syllabus for my Reading and Writing in the Digital Age class this fall.
In the past I’ve written about using Wordpress multisite to manage my course websites, but recently I’ve been moving away from Wordpress for my personal and course websites. That move took me awhile, largely because I was so fully invested in the Wordpress environment, but I finally started moving away for a number of reasons, including:
Bloat. As Wordpress has become more and more prominent—by many accounts, 25% of the web runs on Wordpress today—the number of plugins required to keep it safe and functional have ballooned. I increasingly felt I was wasting too much time just keeping the application and all of its plugins up-to-date.
- Speed. While the phrase
flat HTML
might recall the early days of the World Wide Web, such sites, generated by methods such as the one I’m discussing today or through systems like Jekyll, which I will discuss more in the near future, are simply much speedier than Wordpress-driven sites. They load almost instantly and respond nimbly. By contrast my Wordpress pages feel sluggish. Need. Frankly, I realized that few of my sites required the infrastructure of Wordpress. Only a handful took real advantage of Wordpress’ advanced user roles, and few of them included enough resources to make a full database architecture really necessary.
- Simplicity. I am increasingly convinced by arguments for minimal computing in the digital humanities, at least when such choices are possible. If I can make my course and project sites more amenable to access from less resourced computing environments, that seems like something I should do.
- Simplicity. One reason I liked Wordpress Multisite was the ease with which I could create a new version of an old class site, so it just needed to be updated rather than recreated. But doing this is perhaps even simpler in the
flat
site formats I will discuss in the next few posts. Whenever I next teach Reading and Writing in the Digital Age, all I will need to do is create a new branch of its GitHub repository or, were I using a different host, duplicate the folder containing all the site’s files. Either way the duplication will take seconds, and all that will be left is to update the new files to reflect any changes made to the course between semesters.
With those justifications laid out, let’s look at Aleszu’s tutorial, which guides readers through the production of a dynamic, menu-driven, flat HTML course website using a combination of Google Docs, Markdown, and RStudio. If you’re already writing in Markdown, as I was and I know many ProfHacker writers and readers are as well, then you can skip that first Google Docs stage and move directly to R Markdown. While this tutorial relies on RStudio, usually used for writing code in the R programming language, you can follow this method without any working knowledge of R.
Where should you host these class sites? On your new GitHub account, of course! You might notice that my site does not use a GitHub URL, but instead uses a subdomain of ryancordell.org
. Setting this up is also quite simple, and there’s a how-to from GitHub describing how to do it. If you have your own domain—through Reclaim Hosting, say, then you can easily mask GitHub’s URL with your own.
As a bonus, RStudio makes it remarkably easy to export RMD files in a variety of formats. This tutorial exports to HTML, but one can just as easily export to PDF. My department requires me to provide a copy of every syllabus each semester, to keep on file. In the past I used Anthologize to do this from Wordpress, but it’s even easier with R Markdown files—I simply direct RStudio to export them as PDFs and I have well formatted copies to deliver to my department.
The sites produced by following Aleszu’s tutorial are quick, clean, and, as I’ve found this semester, quite effective as class sites. This method might not be ideal if you wanted students blogging together on a single site, in which case something like a Jekyll site might serve better. In my RWDA class students are required to blog, but on website they create themselves, not the course website itself. If you’d like to present your course materials on a site that’s fast and easy to navigate, however, this is a great option. How about you? Do you use Wordpress or have you moved to one of the many flat HTML
options gaining popularity? Tell us about your course sites in the comments.
Bonus Tip: if you are comfortable running R scripts, I wrote one that automates some of the manual menu-building described in Aleszu’s tutorial. With just a little tweaking to your own site’s settings, this script makes assembling the site for publication a simple matter.
Bonus Bonus Tip: the dynamic, nested menus created through this method are ideal also for creating online versions of academic CVs. If your CV is already written in Markdown, porting it to RMD is incredibly simple, and it can then be exported as HTML or PDF or both depending on your need. I’ve been very pleased with my new online CV built using the same method Aleszu describes in his post.