_quarto.yml
:
project: website
type:
website: "Thomas Lab home page"
title:
navbar:
left- href: posts/index.qmd
: Blog
text:
format:
html: cosmo theme
Getting started with technical blogging using Quarto is straightforward. This post will guide you through, step by step, the setting up a minimal Quarto blog.
May 13, 2025
Review this post:
Quarto is an extension of the Rmarkdown ecosystem. It leverages the power of knitr
and pandoc,
providing a number of useful additional tools for literate programming, report generation and blogging.
I’m using quarto for my lab’s home page with an embedded blog. (focusonR.org
).
This post will describe some of the core components We’ll start with a minimal setup to provide some orientation.
The recommended method from the Quarto
documentation initiate a blog, say qblog
, is to run the command quarto create-project
in your ~/shr
blog development directory.
types
include blogs, websites, manuscripts, books, etc.This command generates a project folder ~/shr/qblog
with the following structure:
qblog/
|-- _quarto.yml
|-- about.qmd
|-- index.qmd
|-- posts/
| |-- _metadata.yml
| |-- post-with-code/
| | |-- image.jpg
| | `-- index.qmd
| `-- welcome/
| |-- index.qmd
| `-- thumbnail.jpg
|-- profile.jpg
`-- styles.css
To start blogging the next steps are:
~/shr/qblog/posts/
sample_post
~/shr/qblog/posts/sample_post
index.qmd
file adding content, e.g. using vim
. vim index.qmd
Before we go any further let’s examine the basic elements of the site. The framework for a quarto blog can be quite minimal. For example the following subset of files is sufficient for a useful blog:
with file contents:
Minimal blog presents as the following:
When run the first time the quarto
engine generates a web site in the directory _site
. This site contains CSS
code as defined by the theme
command in the _quarto.yml
file.
mcanouil/awesome-quarto: A curated list of Quarto talks, tools, examples & articles
Consider some ideas from
Rob Hyndman - Template of quarto website
Eric Ekholm - Modifying the Default Quarto Blog Structure
Allison Hill - We don’t talk about Quarto
Nick Tierney - Notes on Changing from Rmarkdown/Bookdown to Quarto
Samantha Csik * Creating your personal website using Quarto
2024-06-12 [ Adding a blog to your existing Quarto website ] ( https://samanthacsik.github.io/posts/2022-10-24-quarto-blogs/ )
In development
In development
In development
In development
@online{(ryy)_glenn_thomas2025,
author = {(Ryy) Glenn Thomas, Ronald},
title = {Setting up a Minimal {Quarto} Blog},
date = {2025-05-13},
url = {https://focusonr.org/posts/setupquarto/},
langid = {en}
}
---
title: 'Setting up a minimal Quarto blog'
image: "img/quarto.jpg"
date: last-modified
categories: [R, Analysis, Tutorial]
description: |
Getting started with technical blogging using Quarto is straightforward. This
post will guide you through, step by step, the setting up a minimal Quarto blog.
tags:
- r
- quarto
- blogging
- data-analysis
- visualization
format:
html:
toc: true
code-fold: false
code-tools: true
execute:
warning: false
message: false
---
::: column-margin
{width=2in}
:::
# Introduction
Review this post:
Quarto is an extension of the Rmarkdown ecosystem. It leverages the power of
`knitr` and `pandoc,` providing a number of useful additional tools
for literate programming, report generation and blogging.
I'm using quarto for my lab's home page with an embedded blog.
[(`focusonR.org`)](https://focusonR.org).
This post will describe some of the core components We'll start
with a minimal setup to provide some orientation.
The recommended method from the `Quarto` documentation initiate a blog, say
`qblog`, is to run the
command `quarto create-project` in your `~/shr` blog development directory.
[
Note: Quarto `types` include blogs, websites, manuscripts, books, etc.
]{.aside}
``` sh
❯ quarto create-project qblog --type website:blog
```
This command generates a project folder `~/shr/qblog` with the following structure:
```sh
qblog/
|-- _quarto.yml
|-- about.qmd
|-- index.qmd
|-- posts/
| |-- _metadata.yml
| |-- post-with-code/
| | |-- image.jpg
| | `-- index.qmd
| `-- welcome/
| |-- index.qmd
| `-- thumbnail.jpg
|-- profile.jpg
`-- styles.css
```
[Note: A quarto blog can be much more elaborate than this template, but it can
also be further minimized]{.aside}
To start blogging the next steps are:
- cd to `~/shr/qblog/posts/`
- for the post, create a new directory, say `sample_post`
- cd to `~/shr/qblog/posts/sample_post`
- create and edit a `index.qmd` file adding content, e.g. using `vim`. `vim
index.qmd`
Before we go any further let's examine the basic elements of the site.
The framework for a quarto blog can be quite minimal. For example the
following subset of files is sufficient for a useful blog:
```sh
minimal_qblog
|-- _quarto.yml
|-- index.qmd
`-- posts
|-- index.qmd
`-- sample_post.qmd
```
with file contents:
```{r eval=FALSE, filename="_quarto.yml"}
project:
type: website
website:
title: "Thomas Lab home page"
navbar:
left:
- href: posts/index.qmd
text: Blog
format:
html:
theme: cosmo
```
```{r eval=FALSE, filename="index.qmd"}
---
title: "Thomas lab"
---
**Director: Professor Ronald G. Thomas**<br>
School of Public Health<br>
UC, San Diego<br>
La Jolla, California
Focused on new and useful data science technologies.
```
```{r eval=FALSE, filename="posts/index.qmd"}
---
title: "Blog"
listing: default
---
```
```{r eval=FALSE, filename="posts/post1.qmd"}
---
title: "First post"
---
# Introduction
Minimal text for first post.
```
# Results
Minimal blog presents as the following:
\includegraphics{img/minimum.png}
When run the first time the `quarto` engine generates a web site in the
directory `_site`. This site contains `CSS` code as defined by the `theme`
command in the `_quarto.yml` file.
# Appendix
mcanouil/awesome-quarto:
[A curated list of Quarto talks, tools, examples & articles](https://github.com/mcanouil/awesome-quarto)
Consider some ideas from
* Rob Hyndman -
[Template of quarto website](https://github.com/robjhyndman/quarto_website_template)
* Eric Ekholm - [Modifying the Default Quarto Blog Structure](https://www.ericekholm.com/posts/demo-quarto-site/)
* Allison Hill -
[ We don't talk about Quarto ]( https://www.apreshill.com/blog/2022-04-we-dont-talk-about-quarto/)
* Nick Tierney -
[ Notes on Changing from Rmarkdown/Bookdown to Quarto ]( https://www.njtierney.com/post/2022/04/11/rmd-to-qmd/)
* Samantha Csik *
[Creating your personal website using Quarto](https://ucsb-meds.github.io/creating-quarto-websites/)
* 2024-06-12
[ Adding a blog to your existing Quarto website ] ( https://samanthacsik.github.io/posts/2022-10-24-quarto-blogs/ )
## Prerequisites
In development
## Step-by-Step Implementation
In development
## Key Takeaways
In development
## Further Reading
In development