创建网站
概述
Quarto 网站是一种方便的方式来发布一组文档。作为网站一部分发布的文档共享导航元素、渲染选项和视觉风格。
网站导航可以通过全局导航栏、带有链接的侧边栏或两者的组合来提供,适用于具有多层内容的网站。您还可以为网站启用全文搜索功能。
Quarto 网站可以发布到多种目的地,包括 GitHub Pages、Netlify、Posit Connect 或其他任何静态托管服务或内网服务器。有关更多详细信息,请参阅发布网站的文档。
快速开始
根据您选择的工具,按照快速开始指南来启动并运行一个简单的网站。在了解基础知识之后,继续阅读以了解网站导航和其他更高级的网站功能。
要在 VS Code 中创建一个新的网站项目,请从命令面板执行 Quarto: Create Project 命令:
然后,选择 Website Project:
系统将提示您选择一个父目录来创建项目。然后,系统会要求您为网站项目命名目录:
新的网站项目将在 VS Code 中创建并打开。点击 Preview 按钮 () 来预览网站:
预览将显示在源文件的右侧。当您重新渲染 index.qmd
或渲染其他文件(如 about.qmd
)时,预览会自动更新。
要在 RStudio 中创建一个新的网站项目,请使用 New Project 命令并选择 Quarto Website:
然后,为网站提供一个目录名称和其他相关选项:
点击 Render 按钮来预览网站:
预览将显示在源文件的右侧。当您重新渲染 index.qmd
或渲染其他文件(如 about.qmd
)时,预览会自动更新。
要从终端创建一个新的网站项目,请使用 quarto create project
命令,按照提示选择类型并为项目提供名称(将用作目录名称):
Terminal
quarto create project website mysite
这将在 mysite
子目录中创建一个简单网站的脚手架。使用 quarto preview
命令来渲染和预览网站:
Terminal
quarto preview mysite
网站预览将在一个新的网络浏览器中打开。当您编辑并保存 index.qmd
(或其他文件如 about.qmd
)时,预览会自动更新。
工作流程
上面我们演示了如何创建和编辑一个简单的网站。在本节中,我们将更深入地介绍网站工作流程。
配置文件
每个网站都有一个 _quarto.yml
配置文件,该文件提供网站选项以及站点内创建的 HTML 文档的默认设置。例如,以下是上面创建的简单网站的默认配置文件:
_quarto.yml
project:
type: website
website:
title: "today"
navbar:
left:
- href: index.qmd
text: Home
- about.qmd
format:
html:
theme: cosmo
css: styles.css
toc: true
有关网站配置的更多详细信息,请参阅网站导航和网站工具的文档。有关自定义 HTML 格式选项的详细信息,请参阅HTML 文档。
网站预览
如果您使用的是 VS Code 或 RStudio,Preview 按钮(VS Code)或 Render 按钮(RStudio)会自动渲染并在嵌入窗口中运行 quarto preview
。如果需要,您也可以从终端执行相同的操作:
Terminal
# 预览当前目录中的网站
quarto preview
请注意,当你预览一个站点时(无论是使用VS Code/RStudio集成工具还是从终端预览),对配置文件(例如_quarto.yml
)以及站点资源的更改(例如主题或CSS文件)都会导致预览的自动刷新。
你可以使用命令行选项或_quarto.yml
配置文件来自定义预览服务器的行为(端口、是否打开浏览器等)。查看quarto preview help
或项目文件参考获取更多详细信息。
当你预览你的站点时,页面将被渲染和更新。然而,如果你对全局选项(例如_quarto.yml
或包含的文件)进行更改,你需要完全重新渲染你的站点以反映所有更改。因此,在部署站点之前,你应该始终完全使用quarto render
来渲染你的站点,即使你已经使用预览服务器预览了某些页面的更改。
网站渲染
要渲染(但不预览)一个网站,请使用quarto render
命令,默认情况下它会将网站渲染到_site
目录中:
Terminal
# 渲染当前目录中的网站
quarto render
查看项目基础文章,了解更多关于使用项目的信息,包括指定要渲染的文件的明确列表,以及向你的项目添加自定义的前渲染和后渲染脚本。
渲染目标
默认情况下,项目目录中所有有效的 Quarto 输入文件(.qmd、.ipynb、.md、.Rmd)都将被渲染,以下情况除外:
文件或目录前缀为
.
(隐藏文件)文件或目录前缀为
_
(通常用于非顶级文件,例如在其他文件中包含的文件)文件名为
README.md
或README.qmd
(这些文件通常不是实际的渲染目标,而是用于版本控制 Web UI 中查看的源代码信息内容)。
如果你不想渲染项目中的所有目标文档,或者希望更精确地控制渲染顺序,可以在项目元数据中添加 project: render: [files]
条目。例如:
project:
render:
- section1.qmd
- section2.qmd
请注意,在定义 render
列表时可以使用通配符。例如:
project:
render:
- section*.qmd
你还可以在 render
列表中使用前缀 !
来忽略某些文件或目录。请注意,在这种情况下,你需要首先指定你确实想要渲染的所有内容。例如:
project:
render:
- "*.qmd"
- "!ignored.qmd"
- "!ignored-dir/"
如果你的输出文件名需要以 .
或 _
开头(例如 Hugo 用户的 _index.md
),你必须在不带前缀的情况下命名 Quarto 输入文件(例如 index.qmd
),并在 YAML 中添加显式的 output-file
参数,例如
---
output-file: _index.md
---
链接
在站点页面之间创建链接时,你可以将源文件作为链接目标(而不是.html
文件)。如果希望链接到文档中的特定部分,还可以向源文件添加哈希标识符(#
)。例如:
[about](about.qmd)
[about](about.qmd#section)
与直接指向.html
文件相比,使用这种链接样式的一个好处是,如果你在某个时候将你的站点转换为书籍,文件链接将自动解析为单个文件格式(例如PDF或MS Word)的部分链接。
网站主题
你的网站外观通过HTML主题来控制。这些选项在网站配置文件的format
选项下设置:
_quarto.yml
format:
html:
theme: cosmo
css: styles.css
查看HTML主题获取有关可用选项的详细信息。
学习更多
一旦你有了一个基本的网站并运行起来,查看这些文章以了解各种增强站点的方法: