Publishing Your Materials

A simple option…

GitHub Pages

Hosted directly from your GitHub repository. Just edit, push, and your changes are live.

Settings > Pages

A screen capture of the GitHub Pages options, displaying the source (deploying from a branch) and the dropdown menu for selecting what branch and folder to use when building the website.

“Hacky” URL: Can you spot the differences?


You can follow the file structure from the “home base” in your GitHub repo.


https://github.com/earobinson95/stat365-calpoly/blob/master/00-course-info/stat365-syllabus-S2023.html


https://earobinson95.github.io/stat365-calpoly/00-course-info/stat365-syllabus-S2023.html


Before

github.com/earobinson95


stat365-calpoly/blob/master/00-course-info

After

earobinson95.github.io


stat365-calpoly/00-course-info/

A bit more complicated

Quarto projects

  • Quarto projects have a _quarto.yml file

  • The type field in this file indicates the type of project:

    • default: Collection of documents

    • website: Websites (and blogs)

    • books: Books 😃

Quarto websites

  • Websites are essentially format: html + a Quarto Project

  • But a website is different than format: html in that it has multiple pages

  • Websites are our first exploration into Quarto Projects

  • Websites and books are very similar in that they associate multiple pages/resources into a connected resource

Our turn!

Let’s poke around the workshop website together to see how the documents and presentations we’ve covered are interwoven into the website:

  • _quarto.yml

  • index.qmd / landing page

  • Folder structure / navigation

  • Freeze

  • Styling

Freeze

  • The freeze option controls when / if computational documents be re-rendered during a global project render:
execute:
  freeze: true  # never re-render during project render
execute:
  freeze: auto  # re-render only when source changes
execute:
  freeze: false  # always re-render


The freeze option is typically added to a _metadata.yml file within a specific directory, affecting all files in that directory.

Publishing

  • Quarto Pub is a free publishing service for content created with Quarto. It is ideal for blogs, course or project websites, books, presentations, and personal hobby sites.

  • Publish with quarto publish:

Terminal
quarto publish quarto-pub
  • Gain a _publish.yml that is safe to check into version control.

Other venues

  • GitHub Pages
  • Posit Connect
  • Netlify
  • Confluence
  • More venues

Learn more

quarto.org/docs/websites