name: quarto-netlify description: Quarto + Netlify 部署设置。用于设置 Quarto 项目以在 Netlify 上部署,支持 RevealJS 演示文稿。
Quarto + Netlify 部署设置
为 Netlify 部署设置一个 Quarto 项目,支持 RevealJS 演示文稿。
何时使用
- 当将 Quarto 项目部署到 Netlify 时
- 当使用 Quarto 设置 RevealJS 演示文稿时
- 当为 Quarto 站点配置自动化构建时
- 当你需要为 Quarto 提供的经过验证的 netlify.toml 配置时
说明
_quarto.yml 配置
project:
type: default
output-dir: _site # 保持根目录清洁,输出到 _site/
render:
- index.qmd
format:
revealjs:
output-file: slides.html
theme: [default, custom.scss]
slide-number: true
# 按需添加插件
netlify.toml(已验证模式)
[build]
command = """
curl -LO https://quarto.org/download/latest/quarto-linux-amd64.deb && \
dpkg -x quarto-linux-amd64.deb . && \
export PATH=$PWD/opt/quarto/bin:$PATH && \
quarto render
"""
publish = "_site"
[[redirects]]
from = "/"
to = "/slides.html"
status = 302
关键点:
- 使用 .deb 包和 dpkg -x 解压(非 tar.gz)
- 解压到当前目录 .(非子文件夹)
- 路径是 $PWD/opt/quarto/bin(非嵌套)
- 只需 quarto render(自动使用 _quarto.yml)
.gitignore
# Quarto 输出
/.quarto/
/_site/
# Node 模块
node_modules/
# 操作系统/编辑器
.DS_Store
*.swp
Makefile
.PHONY: all render preview clean
render:
quarto render index.qmd
preview:
quarto preview index.qmd
clean:
rm -rf _site .quarto
RevealJS 扩展
为插件复制 _extensions/ 文件夹:
- simplemenu - 导航菜单栏
- reveal-auto-agenda - 自动生成的议程
- code-fullscreen - 全屏扩展代码
- codefocus - 逐行高亮
部署步骤
- gh repo create [名称] --public --source=. --remote=origin
- git push -u origin main
- Netlify:从 GitHub 导入,自动检测 netlify.toml
- 在推送到 main 时触发部署