Quarto与Netlify部署配置Skill quarto-netlify

此技能用于配置Quarto项目以在Netlify平台上自动部署,特别支持RevealJS演示文稿,涵盖自动化构建、CI/CD流程和配置文件管理,帮助开发者快速搭建和发布静态网站。关键词:Quarto, Netlify, 部署, RevealJS, 自动化构建, CI/CD, 静态网站, 配置管理

DevOps 0 次安装 0 次浏览 更新于 3/12/2026

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 - 逐行高亮

部署步骤

  1. gh repo create [名称] --public --source=. --remote=origin
  2. git push -u origin main
  3. Netlify:从 GitHub 导入,自动检测 netlify.toml
  4. 在推送到 main 时触发部署