Session 6
Friday, the 10th of April, 2026
_publish.yml and repository configuration._publish.yml and repository configuration.This session explores comprehensive publishing strategies for Quarto projects, covering Posit Connect Cloud, GitHub Pages, automation workflows, and best practices for different use cases.
By the end of this session, participants will be able to:
| Service | Best For | Key Features |
|---|---|---|
| Posit Connect Cloud | Public content, getting started | Free tier, simple, Posit account |
| GitHub Pages | Open source projects | Git integration, custom domains |
| Netlify | Professional sites | Advanced features, previews |
| Posit Connect | Enterprise/organisations | Security, authentication |
| Other Services | Custom requirements | Firebase, S3, self-hosted |
Rule of thumb
Start with Posit Connect Cloud for learning and public content, use GitHub Pages for open source projects, and Netlify or Posit Connect for production sites.
Authenticate.
That’s it!
Your site is live on Posit Connect Cloud.
_publish.ymlCreated automatically when you first publish:
See Posit Connect Cloud for complete documentation.
Objective: Publish the branded website project from Session 5 using Posit Connect Cloud.
Example Code (reused from Session 5):
quarto preview.quarto publish posit-connect-cloud.✅ You’ve successfully completed the exercise if you can:
docs/quarto publish
docs/quarto publish gh-pagesSetup Source Branch
Create Workflow File: .github/workflows/publish.yml.
yaml
name: Quarto Publish
on:
workflow_dispatch:
push:
branches: main
jobs:
build-deploy:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
- name: Render and Publish
uses: quarto-dev/quarto-actions/publish@v2
with:
target: gh-pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}Objective: Publish the branded website project from Session 5 using GitHub Pages.
Example Code (reused from Session 5):
Choose one method and deploy your project:
_quarto.yml..nojekyll..gitignore.quarto publish gh-pages.✅ You’ve successfully completed the exercise if you can:
Pros:
Cons:
Pros:
Cons:
Important
The _freeze/ directory stores computational results and must be committed to Git.
Commit to Git:
.qmd)._freeze/ directory.Don’t Commit:
_site/, _book/, or _manuscript/.Use a tool to manage your R
renv for R.uv, pip, or conda for Python.Pkg for Julia.Benefits: Version control, easy updates, namespace management (yourorg/extension).
Benefits: No GitHub required, works offline, controlled distribution.
Prepare your extension:
v1.0.0).Tip
See Distributing Extensions for complete details.