Blogdown Jekyll is a minimal blog website template that uses Jekyll and R to automatically knit R Markdown documents with knitr, build them through Jekyll, and serve the result locally with servr.
What is Blogdown Jekyll?
Blogdown Jekyll is a minimal example website that combines the Jekyll static site generator with R Markdown through the blogdown and knitr R packages. It takes R Markdown posts as input, compiles them into Markdown/HTML with knitr, and builds the final static site with Jekyll. The template was originally created from the official Jekyll repo's jekyll new . scaffold, and it is documented in a blog post by the author.
Key Features
- Automatic knitting — R Markdown documents are compiled by knitr automatically during the build, executing R code chunks and embedding their output into the site.
- Local serve with servr — Calling
blogdown::serve_site()serves the site locally, rebuilds content on changes, and refreshes the browser automatically. - GitHub Pages deployment — You can push Markdown posts to a
gh-pagesbranch and let GitHub generate the site, or host the HTML files generated under the_site/directory on your own server. - Based on official Jekyll — The structure derives from the official Jekyll repo, so it inherits Jekyll's standard layout, CSS, and HTML scaffolding.
- R Markdown support — Posts are written in R Markdown, allowing reproducible research and data-driven content with inline R code and plots.
- Blogdown integration — The site works with the blogdown R package, though Jekyll support is limited; Hugo is much better supported and suggested for new projects.
Who is it for?
- R users and data scientists — publish analyses as blog posts where code and results are automatically rendered together.
- Academic researchers — share reproducible research with R code, figures, and narrative in one document.
- Jekyll users who work in R — add R Markdown posts to a standard Jekyll site without leaving the R ecosystem.
Use cases
- Data analysts: Write an R Markdown post that runs statistical analysis and generates plots, and have it automatically rendered into a Jekyll blog post with a single command.
- Academic bloggers: Publish lectures or lab notes with embedded R code and outputs, making the content reproducible and easy to update.
- R package developers: Document tutorials or package vignettes using R Markdown within a Jekyll-based website.
How does it work?
After installing blogdown and Jekyll, you call blogdown::serve_site() to start a local server. The server watches for changes, re-knits R Markdown documents, rebuilds the site with Jekyll, and auto-refreshes the browser. When you're ready to publish, you either push the Markdown posts to a GitHub repo (for GitHub Pages) or upload the generated _site/ HTML to your own server.
Alternatives
- Hugo — a static site generator with much better support in blogdown, recommended by the template author as the preferred choice for new R Markdown websites.
FAQ
Do I need to install Jekyll?
Yes, this template requires both Jekyll and the blogdown R package. You can install Jekyll separately and then install blogdown from GitHub with devtools::install_github("rstudio/blogdown").
Can I deploy to GitHub Pages?
Yes. You can push the Markdown blog posts to a GitHub repository's gh-pages branch and let GitHub build the site automatically, or you can host the HTML files generated under _site/ on any web server.
What license does the code use?
The additional R code in this repository is released under the MIT License. The accompanying blog post is licensed under the CC-BY 4.0 International License.
Is Jekyll support in blogdown complete?
No, the author states that Jekyll support in blogdown is limited. Hugo is much better supported, and the author recommends switching to Hugo for new projects.





