发布 Quarto 手稿

概述

首先完成创作教程

本页面是 创作手稿 教程的延续。我们假设您已经克隆了模板仓库,进行了一些更改,并对 Quarto 生成的预览感到满意。

发布 Quarto 手稿是将您在计算机上查看的预览版手稿发布到网络上,供任何人访问的过程。

我们已经设置了模板手稿,包含了将手稿发布到您的仓库的 GitHub Pages 站点所需的大部分脚手架。发布您的手稿网站就像将您的更改推送到您的仓库一样简单。

由于 Quarto 手稿是一种特殊的 Quarto 网站,您可以以任何发布 Quarto 网站的方式发布它。如果 GitHub Pages 不适合您的需求,您可以在 发布 中了解其他选项。

在本页中,您将更改 GitHub 仓库中的一个设置,以授权 GitHub Actions 的读写权限,然后逐步完成发布过程。

授权 GitHub Actions

模板手稿配置了一个 GitHub Action,位于 .github/workflows/publish.yml。当主分支有推送时,此操作会被触发;它渲染您的手稿并将手稿网站源代码放在 gh-pages 分支上。

为了确保该操作有权限写入 gh-pages 分支,您需要对仓库设置进行一项更改。转到您的仓库并导航至:设置 > Actions > 常规 > 工作流权限。勾选“读写权限”框。

GitHub 仓库设置的截图,显示在 Workflow Permissions 标题下,'Read and Write Permission' 选项旁边的复选框已勾选。

此 GitHub Action 不会评估您的代码

.github/workflows/publish.yml 中的 GitHub Action 没有设置任何计算环境(例如 Python 或 R),因此无法评估代码。

Jupyter 笔记本(.ipynb)包含其输出,不需要任何特殊处理。但是,如果您的手稿包含 Quarto 文件(.qmd),您必须首先在本地渲染以更新 _freeze 目录中保存的计算输出。

如果您希望 GitHub Action 也能评估代码,请阅读 发布到 GitHub 页面 中关于执行代码部分的设置方法。

推送以发布

将此手稿发布到 GitHub Pages 就像提交并推送您的更改一样简单,但我们建议首先进行完整渲染。在终端中,在您的手稿目录下运行:

Terminal
quarto render
渲染按钮不够用

RStudio 中的渲染按钮运行的是 quarto preview 命令,而不是 quarto render。您需要在终端中显式运行 quarto render

与按需生成输出的 quarto preview 不同,quarto render 将生成所有输出(所有文章格式和手稿网站)。这也是 GitHub Action 将运行的命令,因此首先在本地验证它是一个避免在 GitHub 上出现问题的好方法。

如果渲染没有问题,请暂存您的更改。

检查暂存的文件

我们在 .gitignore 中添加了几行,以忽略 Quarto 在渲染过程中创建的常见文件,这些文件不需要被纳入版本控制。这意味着要暂存的文件应该是笔记本,以及 _freeze 目录中的可能项目。

如果您在项目中添加了任何不想推送到 GitHub 的文件,请仔细检查您是否没有将它们暂存以进行提交。

提交并将您的更改推送到 GitHub。

一旦推送,您应该在 GitHub 中看到操作被触发:“Quarto Publish”是我们添加的操作,用于渲染网站并将其推送到 gh-pages 分支;“pages-build-deployment”是 GitHub 的操作,用于将 gh-pages 分支部署到您的 GitHub Pages URL。

模板仓库的 Actions 页面的截图。在 Actions 下,列出了两个工作流:Quarto Publish 和 pages-build-deployment。在 All Workflows 下,相同的两个工作流都显示了绿色的对勾。

一旦两个操作都完成,导航到您的仓库的 GitHub Page。

您可以在 GitHub 上您的仓库的设置中找到 GitHub Pages 网站地址。

GitHub Pages 设置的截图:在标题 GitHub Pages 下,一个对话框以 'Your page is live at:' 开头,后面跟着一个 URL。

您的手稿现已发布!

下一步是什么?

你现在已经完成了Quarto手稿的完整工作流程:创作内容、预览生成的手稿并将其发布到GitHub Pages。当你准备好深入了解更多细节时,我们有一些关于下一步的建议。