网站草稿

概述

使用草稿在内容准备好发布之前进行预览和规划。默认情况下,草稿页面在渲染的网站中将是空白的,并且不会出现在导航、列表、搜索结果或站点地图中。在本页中,了解如何将页面指定为草稿,控制草稿在渲染网站中的显示方式以及草稿在站点预览中的显示方式。

指定草稿

要指定一个页面或文章为草稿,可以在文档的YAML中添加 draft: true

posts/post-with-code/index.qmd
---
title: "带有代码的文章"
draft: true
---

要指定目录中的所有文档为草稿,请在目录元数据中设置 draft: true

posts/_metadata.yml
draft: true

作为 draft 文档选项的替代方案,您还可以在 _quarto.yml 中指定网站选项 drafts

_quarto.yml
website:
  title: "酷网站。"
  drafts:
    - posts/post-with-code/index.qmd

如果您想在一个单独的文件中指定路径列表,请使用元数据包含。例如,您可以在 drafts.yml 中指定草稿:

drafts.yml
website:
  drafts:
    - posts/post-with-code/index.qmd

然后,将此文件提供给 metadata-files

_quarto.yml
website:
  title: "酷网站。"

metadata-files:
  - drafts.yml

您还可以使用项目配置文件设置网站 drafts 选项。

草稿的显示

您可以使用 draft-mode 选项来控制草稿文档在渲染网站中的内容和链接。draft-mode 的值为:

  • gone(默认)—空白且未链接
  • unlinked—渲染但未链接
  • visible—渲染并链接

一个空的页面将存在URL,但页面本身将是空白的。渲染的草稿还将包含一个草稿横幅:

标题为“带有代码的文章”的截图,显示页面顶部有一个标题为“草稿”的横幅。

渲染的草稿文档将包含一个“草稿”横幅

当草稿未链接时,它不会出现在搜索结果、列表、站点地图或导航(侧边栏、导航栏和页脚)中。如果另一个页面链接到未链接的草稿文档,链接将被省略,链接内容将不包含超链接本身。

作为一个完整的示例,考虑以下网站配置:

Listing 1: 一个完整的 _quarto.yml 示例
_quarto.yml
project:
  type: website

website:
  title: "酷网站。"
  navbar:
    left:
      - stuff/item1.qmd
      - stuff/item2.qmd
1  drafts:
    - stuff/item2.qmd
2  draft-mode: unlinked
1
项目提供了一个简单的草稿文档列表。同样的内容可以在 stuff/item2.qmd 的前文中使用 draft: true 指定。
2
草稿模式设置为 unlinked,因此草稿被渲染但未链接。

在渲染时,上述网站的导航栏将省略 stuff/item2.qmd 的项目:

标题为“酷网站”的网站导航栏,显示一个导航项目“项目1”。

然而,stuff/item2.qmd 仍然可以在 stuff/item2.html 访问,并显示草稿横幅:

标题为“项目2”的网页截图。导航栏显示一个导航项目“项目1”。导航栏上方有一个横幅,文字为“草稿”。

预览草稿

无论 draft-mode 设置如何,当您使用 quarto preview 预览站点时,草稿将是 visible。草稿页面将被渲染并显示草稿横幅,任何指向草稿页面的链接或导航项目都将可见且有效。例如,当预览@lst-example中描述的站点时,导航中会出现指向 stuff/item2.html 的链接:

标题为“项目2”的网页截图。导航栏显示两个导航项目“项目1”和“项目2”。导航栏上方有一个横幅,文字为“草稿”。

此预览行为包括在RStudio中使用Render按钮生成的预览,以及在VS Code中使用Preview按钮生成的预览。