生成网页

1 创建项目

按照下面步骤可用在 RStudio 中创建一个 Quarto 项目 :

下面是项目的文件树 :

2 工作流程

接下来将深入地分析输出 website 的流程

2.1 website配置

每个website都有一个 _quarto.yml 配置文件。它用于控制 website 的输出 :

2.2 website预览

点击 RStodio 的 Render 按钮就可以预览页面,可以在 Viewer Pane 中预览,也可以在 浏览器 中预览 :

还可以输入命令来进行预览 :

修改项目配置文件 _quarto.yml 以后, 保存文件时预览的页面会立刻刷新, 这也是刷新预览的一种方法。 更多预览的参数可以通过命令 quarto preview --help 查看 :

2.3 website渲染

只渲染website而不预览,可使用 quarto render 命令。该命令默认将website生成到目录 _site 中 :


还可以在菜单中点击按钮 Render Website 构建整个网站 :

阅读 Project Basics 了解更多细节,包括如何指定渲染的特定文件列表,以及如何在项目中添加自定义的渲染前(pre-render)和渲染后(post-render)脚本

3 渲染目标

目录及子目录中所有相关文件(.qmd、.ipynb、.md、.Rmd)都会被渲染, 但以下文件会被排除 :

  1. 以 . 开头的文件或目录

  2. 以 _ 开头的文件或目录

  3. 命名为 README.md 或 README.qmd 的文件

  4. AI 助手配置文件(CLAUDE.md、AGENTS.md),这些文件用于为 AI 编程助手提供指令,不作为渲染内容

如果要精细控制哪些文件需要渲染, 排除哪些文件从渲染中排除。 可以在项目配置文件 _quarto.yml 中控制 :

在定义渲染列表时可以使用通配符。例如 :

project:
  render:
    - section*.qmd

还可以使用前缀 ! 来排除渲染列表中的某些文件或目录。 需要注意的是,在这种情况下,您必须先指定所有需要渲染的内容。例如 :

project:
  render:
    - "*.qmd"
    - "!ignored.qmd"
    - "!ignored-dir/"

如果一个下载链接是 hello.qmd, 它会被 Quarto 构建成 hello.html 以后再下载。 将它的名字改成 _hello.qmd, 前缀 _ 就可以阻止构建成 _hello.html 。 下面范例将原始文件 _hello.qmd 下载, 同时被重命名为 hello.qmd :

[下载hello.qmd](_hello.qmd){download="hello.qmd"}

4 链接

在 index.qmd 中嵌入跳转到文件 about.qmd , 其实是在对应的 HTML 页面的跳转 :

Quarto设置链接跳转到另外的文件内容

直接在文件里链接到网页 html地址 存在一些弊端, 生成 pdf 或 word 时失效

4.1 链接到 txt

下面展示了如何链接到 txt 文档 :

有 BOM 的 .txt 文件才可以被浏览器正常打开,否则存在乱码问题 :

4.2 新窗口

下面展示如何让一个链接在浏览器新窗口中弹出 :

4.3 下载

如何下载链接的文件 :

5 页面主题

页面的外观是通过 HTML 主题控制:

更多的主题可以参考 HTML主题

6 网站导航

网站左侧的导航栏可用 参考专题

7 更多内容

当您成功搭建并运行了一个基础网站后,可以查阅以下文章,了解增强网站功能的各种方法 :

  • Website Options 提供了所有可用网站配置选项的全面参考指南
  • Code Execution 针对包含大量文档或高耗时计算的网站,提供了优化其渲染速度的技巧
  • Publishing Websites列举了发布网站的各种途径。这包括 GitHub Pages、Netlify 和 Posit Connect