1.6 Other themes
In Hugo, themes control the entire appearance and functionality of your site. So, if you care a lot about the appearance of your website, you will probably spend quite a bit of time in the beginning looking for a Hugo theme that you like from the collection listed at https://themes.gohugo.io. Please note that not all themes have been tested against blogdown. If you find a certain theme does not work well with blogdown, you may report to https://github.com/rstudio/blogdown/issues, and we will try to investigate the reason, but it can be time-consuming to learn and understand how a new theme works, so we recommend that you learn more about Hugo by yourself before asking, and we also encourage users to help each other there.
After you have found a satisfactory theme, you need to figure out its GitHub username and repository name,18 then either install the theme via blogdown::install_theme()
, or just create a new site under another new directory and pass the GitHub repository name to the theme
argument of new_site()
. We recommend that you use the second approach, because Hugo themes could be very complicated and the usage of each theme can be very different and highly dependent on config.toml
. If you install a theme using install_theme()
instead of new_site()
you’ll need to manually create the config.toml
file in the root directory of your website to match the newly installed theme.19
# for example, create a new site with the anatole theme
::new_site(theme = 'lxndrblz/anatole') blogdown
To save you some time, we list a few themes below that match our taste:
Simple/minimal themes: XMin, Tanka, Cupper, simple-a, and ghostwriter.
Sophisticated themes: Even, Tranquilpeak, Creative portfolio, and Universal.
Multimedia content themes: If you are interested in adding multimedia content to your site (such as audio files of a podcast), the castanet theme provides an excellent framework tailored for this application. An example of a site using blogdown with the castanet theme is the R-Podcast.
If you do not understand HTML, CSS, or JavaScript, and have no experience with Hugo themes or templates, it may take you about 10 minutes to get started with your new website, since you have to accept everything you are given (such as the default theme); if you do have the knowledge and experience (and desire to highly customize your site), it may take you several days to get started. Hugo is really powerful. Be cautious with power.
Another thing to keep in mind is that the more effort you make in a complicated theme, the more difficult it is to switch to other themes in the future, because you may have customized a lot of things that are not straightforward to port to another theme. So please ask yourself seriously, “Do I like this fancy theme so much that I will definitely not change it in the next couple of years?”
If you choose to dig a rather deep hole, someday you will have no choice but keep on digging, even with tears.
— Liyun Chen20
For most themes, you can find this by navigating to the theme of your choice from http://themes.gohugo.io and then clicking on
Homepage
.↩︎In a workaround, if you used
install_theme()
and set thetheme_example
argument to TRUE, then you can access an exampleconfig.toml
file. In thethemes/
directory, navigate to the file for your newly downloaded theme and findexampleSite/config.toml
. This file can be copied to your root directory (to replace theconfig.toml
file from your original theme) or used as a template to correctly write a newconfig.toml
file for your new theme.↩︎Translated from her Chinese Weibo.↩︎