发布 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/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。
一旦两个操作都完成,导航到您的仓库的 GitHub Page。
您可以在 GitHub 上您的仓库的设置中找到 GitHub Pages 网站地址。
您的手稿现已发布!
下一步是什么?
你现在已经完成了Quarto手稿的完整工作流程:创作内容、预览生成的手稿并将其发布到GitHub Pages。当你准备好深入了解更多细节时,我们有一些关于下一步的建议。