Blogdown-libjohn is a starter repository that pairs the R package Blogdown with the Hugo academic theme (wowchemy/starter-hugo-academic) to generate a personal academic website, hosted on Netlify.
What is Blogdown Libjohn?
Blogdown Libjohn is a template for building a personal website where the content is authored in R Markdown and compiled into a static Hugo site. It uses Blogdown, the R package that bridges R Markdown files and Hugo, and the wowchemy/starter-hugo-academic theme for the site's design. The input is a set of R Markdown posts and publication files placed under the content/ directory; the output is a deployable static website. The template is hosted on GitHub and is configured for Netlify hosting, as shown by the Netlify deploy status badge on the README.
Key Features
- Blogdown integration — Use R Markdown as the content format and let Blogdown render it into Hugo pages; the README references Blogdown v1.0.
- Hugo Academic theme — Built on the wowchemy starter-hugo-academic theme, a Hugo theme designed for academic profiles with sections for publications, talks, and blog posts.
- Netlify deployment — The repository is wired for Netlify with a deploy badge linking to the live site's deploy log.
- Structured content — Content lives in
content/with a dedicated subdirectory for publications (content/publication/) and blog posts, following Hugo conventions. - RStudio workflow — New blog posts are created from the RStudio IDE via Addins > New Post, and new publications via the R console with
blogdown::find_hugo()thenhugo new content/publication/...in the terminal. - Customization points — The theme can be customized through
config/_default,assets/mediafor images, andlayouts/partialsfor template overrides.
Who is it for?
- Academic researchers — publish a personal homepage with a curated list of publications and research blog posts, all written in R Markdown without touching Hugo's templating language.
- R users and data scientists — write blog posts that include code chunks, figures, and inline output directly in R Markdown and have them rendered into a static blog.
- JHU-affiliated users (libjohn) — the template is named for and maintained by libjohn, but any individual can reuse it as a starting point for a personal academic site.
Use cases
- Publication list: for each new paper, run
hugo new content/publication/my-publicationand edit the generated file to add citation details. - Personal blog: compose a post in RStudio using the Addins shortcut, then rebuild and deploy to Netlify automatically if the repository is connected to Netlify.
- Course or lab site: reuse the theme's structure to host teaching materials and a news feed alongside a personal bio.
How does it work?
To add a blog post, open the project in RStudio and choose Addins > New Post, which scaffolds an R Markdown post. For publications, open the R console, load Blogdown with library(blogdown), run blogdown::find_hugo() to get the Hugo executable path, then in the terminal run hugo new content/publication/name. After editing content, regenerate the site with Blogdown and push to the connected Netlify repository.
FAQ
How do I start a new blog post?
Use the RStudio IDE: go to the Addins menu and select New Post. Blogdown creates a new R Markdown file in the content directory, ready for you to write.
How do I add a new publication?
In the RStudio console, load Blogdown with library(blogdown), run blogdown::find_hugo() to locate the Hugo binary, then run hugo new content/publication/my-publication from the terminal. This generates a publication entry that you can edit.
What hosting does the template use?
The README states that hosting is on Netlify, and the repository includes a Netlify deploy status badge linked to the live site's deploys page.
What theme does it use?
The site uses the wowchemy/starter-hugo-academic theme, with documentation available at wowchemy.com/docs/getting-started/customization.





