1.3 发行说明

此版本中的修复

  • 修复了从列表中重新加载编辑页面时的错误预览行为(例如博客文章)。修复了 (#6026)

先前版本中的修复

  • 修复了 Quarto 无法正确向 IDE 报告可交叉引用的图表的问题(请注意,Quarto 1.3.427 包含了一个尝试修复此问题的版本,但未能正常工作。此版本包含了一个有效的修复。)
  • 修复了预览 --to all 时的错误行为
  • 修复了导航栏工具模板中缺少处理 rel="..." 值的问题 (#5756)
  • 在 PDF 预览的查看器重定向中使用 Cache-Control 头配置禁用浏览器缓存,正确允许在同一端口上稍后进行 HTML 预览。(#5882)
  • 修复了在子文件夹中发布文档时的错误 (quarto-dev/quarto#183)。
  • 修复了在子文件夹中发布文档时的错误 (#5330)。
  • 修复了用户直接启用 citeproc 时出现的重复参考文献问题。(#5588)。
  • 修复了在单个页面上指定 search: false 时不会将该页面从网站搜索索引中排除的问题。
  • 修复了在更新到 Knitr 1.43 后渲染包含 HTML 小部件的文档时的错误。(#5702)。
  • 正确放置边距元素 (#5289)。
  • 改进了 MacOS 上的 Chrome 检测 (#2214)。
  • 在响应式 HTML 视图中正确隐藏书籍的章节编号(当请求时)(#5306)。
  • 正确处理列表中的图表 (#5317, #5461)。
  • 在响应式视图中不隐藏横幅样式的标题块 (#5296)。
  • 确保全局环境对 LUA 过滤器可用 (#5466)。
  • 确保即使存在名为 ‘Theme’ 的章节,RevealJS 导航也能正常工作 (#5455)。

Confluence 发布

  • 增加了将文档和项目发布到 Atlassian Confluence 空间以及作为 Confluence 页面子项的支持。

Jupyter 笔记本

  • 增加了使用 {{< embed >}} 在 quarto 文档中嵌入单元格输出的支持。您可以通过 Id、标签或标签来定位单元格,例如 {{< embed mynotebook.ipynb#fig-output >}} 将嵌入带有标签 fig-output 的单元格的输出。您还可以提供一个 Id 列表,如 {{< embed mynotebook.ipynb#fig-output,tbl-out >}}
  • 仅在 text/plain 输出非空时尝试进行后处理 (#3896)。
  • 修复了 bokeh 图表输出,生成了正确数量的单元格 (#2107)。
  • 修复了包含三个或更多反引号的代码单元格的输出 (#3179)。
  • 不安装 SIGCHLD 信号处理程序,因为它会干扰 Julia 1.8.4 及更高版本中的 IJulia (#2539)。
  • 解析 QUARTO_PYTHON 二进制文件的完整路径
  • 改进了笔记本中 YAML 和标题的处理(自动合并基于标题的标题与 YAML 前言)
  • 从输出中丢弃 matplotlib、seaborn 和 plotnine 的中间对象
  • 在 IJulia 的 miniconda python 环境中,除了 python3 外还搜索 python (#4821)。
  • 允许 export: 作为单元格 yaml 选项以支持新的 nbdev 语法 (#3152)。
  • 合并多个 stream 输出以解决 jupyternbclient 之间的行为差异 (#4968)。

Knitr 引擎

  • 如果未找到 pandoc 二进制文件,帮助 rmarkdown 找到与 Quarto 捆绑的 pandoc 二进制文件 (#3688)。
  • 当只找到内联 r 表达式时,不绑定 knitr 引擎 (#3908)。
  • 修复了带有图表的块中 output: asis 的问题 (#3683)。

代码注释

HTML 格式

  • 改进了在标注中出现的边距引用的处理 (#3003)。
  • 添加了对使用yaml或scss自定义网格列基线宽度的支持。更多信息请参见https://www.quarto.org/docs/prerelease/1.3.html
  • 修复了表格单元格内长code条目的换行问题(#3221
  • 修复了作者显示问题,即使没有隶属关系,也使用作者的url
  • 添加了对链接到其他格式的支持,当生成多个格式时。备用格式将出现在目录中。使用format-links进行控制。
  • 添加了对链接到提供嵌入内容的源笔记本的支持。使用notebook-links进行控制。
  • 改进了长字符串(无单词断点)的标注换行行为。
  • 为从SQL代码单元生成的表格添加了溢出功能(#3497)。
  • 修复了OJS代码单元中对parquet文件的支持(#3630)。
  • 将引导表格类从标题转发到表格元素(#4036)。
  • 正确渲染带有名称和标题的代码列表(#2195)。
  • 修复了在使用toc-left时移动设备尺寸显示中元素的交互性问题(#4244)。
  • 允许使用appendix-cite-as控制HTML文档中的“引用为”附录(传递falsedisplaybibtex)(#2625)。
  • 正确锚定自定义附录部分(#3112)。
  • 不在目录中显示自定义附录部分(#3113)。
  • 使用自定义的styles.html模板部分以更好地支持复选框对齐(#4556)。
  • 改进了HTML输出中文本高亮的易用性,不发出难以覆盖的样式,并更好地支持主题到CSS的转换(#4334)。
  • 改进了嵌套紧密和宽松列表的CSS(#4560)。
  • 解析表格中的Bootstrap响应类(#2997)。
  • 对计算和markdown表格的外观进行了微调,并更一致地应用此类样式。
  • 对标题和正文文本的外观进行了微调。
  • 修复了无效的figcaption DOM结构(#5234)。

文章布局

  • 改进了在选项卡集中定义的边距内容的定位(#3280)。
  • 改进了带有边距定位尾注的表格的支持(#4324)。

Revealjs格式

  • 减小了df-print: paged表格的字体大小(#3380
  • 现在正确支持百分比的widthheight#4063
  • 在存在许多项目和.scrollable的情况下,为编号列表添加了更好的边距(#4283)。
  • 正确支持RevealJS扩展的scss导入(#3414
  • 标题幻灯片上的作者现在正确支持自定义$presentation-title-slide-text-align scss变量(#3843
  • 正确支持show-notes: separate-page#3996
  • 改进了居中幻灯片的脚注/旁注布局(#4297
  • 确保在交叉引用的情况下,锚点指向包含的幻灯片(#3533)。
  • 在Revealjs演示文稿中支持output-location作为顶级选项(#3261
  • 修复了PDF导出键盘快捷键和菜单中的按钮(#2988
  • 修复了hash-type: number时的标题幻灯片CSS(#4418)。

EPUB格式

  • 默认启用EPUB输出的webtex(epub2格式)或mathml(epub/epub3格式)(#4403

日期

  • 当不支持的语言-区域本地化不可用时,正确回退到仅语言的本地化(#3059)

PDF格式

  • 修复了附录在目录中的错误页码(#3164)(感谢@iusgit!)
  • 添加了对自动将SVG图像转换为PDF的支持(#2575
  • 以前,如果将 pdf-engine 设置为 latexmk,我们会绕过 Quarto 的许多功能,使用 Pandoc 生成 PDF 输出。从 Quarto 1.3 开始,所有 Quarto 功能将对 latexmk 引擎启用,并且将使用 latexmk 运行 PDF 生成循环。
  • 修复了复杂作者名称在默认 PDF 中的作者处理问题(#3483)
  • 移除了定理类型块之间过多的垂直空间(#3776)。
  • 修复了存在多个变体时的临时 .tex 文件名问题(#3762)。
    • 请注意,此修复更改了带有变体的 PDF 文件使用的文件名。在 Quarto 1.3 中,PDF 文件的自动输出名称包括格式变体和修饰符。
  • 正确下载 Windows 上的在线图片(#3982)。
  • keep-tex: true 时,.tex 文件的权限现在是正确的(#4380)。
  • 更好地支持 PDF / LaTeX 输出中的 Callouts 内的脚注(#1235)。
  • 允许 fig-pos: false 支持不支持 H 选项的自定义图形环境(#4832)。
  • 允许 fig-pos: 指定带有方括号和花括号的复杂参数(#4854)。

Beamer 格式

  • 文档 theme 格式元数据选项(#3377

Markdown 格式

  • 正确地将变体(例如 +yaml_metadata_block)转发到 gfm 格式。
  • 现在,当使用 quarto preview 时,gfm 格式支持基于本地浏览器的预览。如果您想在预览中看到原始 Markdown,可以在文档前言或项目中添加 preview-mode: raw
  • gfmcommonmark 输出格式现在使用 ATX 样式标题(#4280

Mermaid 图表

  • 升级到 Mermaid 9.2.2
  • 在 JavaScript 格式中添加了对 Mermaid 图表主题的支持(#2165)。详情请参阅 预发布文档说明
  • 允许 %%| label Mermaid 单元格选项,该选项控制生成的 SVG 的 id,以方便 CSS 覆盖。
  • 在 Mermaid 流程图中使用 htmlLabels: false
  • 移除了对工具提示的支持,因为它们在 Mermaid 9.2.2 中似乎不起作用。
  • 在 HTML 格式中添加了对 Mermaid 图表中 fig-align 的支持(#3294)。
  • 添加了对 %%| file Mermaid 单元格选项的支持(#3665)。
  • 修复了 Mermaid(和 dot)图表中的 code-fold 支持(#4423)。
  • 修复了存在对齐说明符 {} 时的标题插入问题(#4748)。
  • 在 PDF 格式中支持 Mermaid 图表中的 fig-envfig-pos#4832)。

Dot 图表

  • 在 PDF 格式中支持 dot 图表中的 fig-envfig-pos#4832)。

日期

  • 当不支持的语言-区域本地化不可用时,正确回退到仅语言的本地化(#3059)。

关于页面

  • 添加了对 image-alt 的支持,该选项为关于页面图像提供替代文本(#3010)。
  • 在关于页面上添加了对 image-title 的支持(#3077)。

文章布局

  • 通过提高定位元素的效率,改进了带有边距元素的极大文档的性能。

列表

  • 列表现在支持 template-params,当列表渲染时,这些参数将作为 templateParams 变量传递给自定义 EJS 模板。
  • 自定义列表对象现在将 path: 字段解析为标准列表生成的元数据,使自定义列表能够访问计算的元数据,如 reading-time 等。
  • 改进了对 date-modified 在列表中的支持
  • 通过支持从 yml 中使用标题和描述,改进了对基于 yml 的列表的支持。
  • 允许项目中的列表直接指向非输入文件(如 yml 文件)以用于内容。
  • 允许使用 sort: false 禁用任何排序,使项目按其原始/自然顺序显示。(#3296)
  • 如果在网站外使用列表,发出警告(#4267
  • 允许使用计算输出(图表/图形)作为列表中项目的预览图像(#2324
  • 使用列表中页面预览图像的替代文本(#3706
  • 在列表中添加对 includes:excludes: 的支持,这将用于过滤列表中包含的项目(#2577)。
  • 正确渲染列表中的结构化作者名称(#4881

网站

  • 添加对“返回顶部”导航按钮的支持。通过 website: 下的 back-to-top-navigation: 进行控制,可以在单个页面上通过设置 back-to-top-navigation: false 来禁用。
  • 修复使用 sidebar: 为特定页面分配特定侧边栏的问题(#3389)
  • 更改 publish gh-pages 的行为,使其始终渲染到一个干净的目录中。 之前的行为是添加到 gh-pages 分支的现有内容中。(#3199, @ijlyttle
  • 使用文件名而不是标题对侧边栏条目进行排序
  • 如果没有其他位置,将 repo-actions 放置在页面页脚中(#3998
  • 即使没有导航栏,也渲染 page-footer#4053
  • link-external-icon 启用时,不要将没有 href 的链接视为外部链接(#3645
  • 转义在搜索结果中内联显示的代码单元格中的 HTML(#4404
  • 更新站点地图时使用输入的最后修改时间戳(#3251
  • 添加对使用 issue-url 覆盖网站问题报告 URL 的支持(即使没有为网站提供仓库)。
  • 正确本地化搜索按钮标题和各种切换的 aria-labels(#4559
  • 支持 navbar: true 以在没有内容的情况下打开顶部导航栏
  • 改进未在元数据中包含标题的页面的标题识别(#4528
  • 确保脚注在网站和书籍搜索中正确索引(#4601)。
  • 允许侧边栏项目包含图标(#3830)。
  • 改进折叠导航栏切换按钮的外观
  • 当在 _quarto.yml 中明确设置时,正确尊重页脚边框(#4982

书籍

  • number-sectionsfalse 时,移除 HTML 头部标题中的章节编号(#3304)。
  • 非 HTML 书籍输出格式现在将放置在项目输出目录(_books)内的子目录(book-<format>)中
  • 当使用 YAML 声明章节标题时,不要丢弃第一个章节标题。
  • 支持渲染为 Asciidoc
  • 支持渲染为 LaTeX
  • 在书籍网站导航中正确支持本地化的附录名称(#4578
  • 当使用 natbibbiblatex 渲染 LaTeX/PDF 书籍时,不要发出重复的参考文献标题(#2770

预览

  • 修正 VS Code Server 的重定向问题(#3352)(感谢 @benz0li!)

LUA

  • quarto.version() 现在返回一个简化了比较的 Version 对象(感谢 @tarleb

HTML 输出

  • HTML 输出不会在源代码中的链接(例如,来自 code-link: true)上添加外部图标。(#3755)
  • 使用 toc-expand 控制 HTML 文档中目录默认展开的级别。
  • 改进主题间的标签边框颜色(#4868)。

杂项

  • 绕过 pandoc 对 number-offset 类型的严格检查。(#3126
  • 在 URI 错误时警告而不是崩溃(#3220
  • 确保 video 短代码与 embed-resourcesself-contained 一起工作(#3310
  • 为导航链接添加可选的 rel 属性(#3212
  • 当 CRI 初始化多次时使用正确的端口(#3066
  • 允许为 giscus 使用自定义主题(#3105
  • 添加新的 kbd 短代码,用于描述键盘按键(#3384)。详情请参阅预发布文档
  • 替换 OJS 中日期选择器组件的默认样式(#2863)。
  • quarto check 现在支持 quarto check versions,用于检查自定义二进制文件的依赖版本(#3602)。
  • Lua 中的短代码处理程序 API 现在接受第四个参数 raw_args,它以表格形式保存未解析的参数(#3833)。
  • 在最终输出中移除条件内容中的脚手架 div(#3847)。
  • 确保证明标题附加到段落节点(#3772)。
  • 支持在 LaTeX 和 HTML 表格中解析表格标题中的 Markdown(#2573)。
  • 改进 include 短代码的解析(#3159)。
  • video 短代码中添加对 Youtube 隐私增强 URL 的支持(#4060)。
  • 不输出空单元格(#4034)。
  • 在 HTML 依赖项中正确解析链接标签(#4304)(感谢 @jdlom!)。
  • 使用正确的韩语语言代码(#4187)。
  • 正确解析带有开闭语法的注释的 YAML 选项(#3901)。
  • 绕过罕见的 deno 临时文件创建错误(#4352)。
  • 仅对 Chromium 开放“安全端口”(#4514)。
  • 检测 quarto render 中潜在的错误参数顺序(#3581)。
  • 检测 \_freeze 文件中潜在的 git 合并冲突(#4529)。
  • 在 jupyter 引擎中修剪 yaml 字符串末尾的空白,以绕过 poyo 解析问题(#4573)。
  • 使用“iso”日期格式而不是“short”来正确格式化引用(#4586)。
  • 修复列表模板中的拼写错误 thumnail-image -> thumbnail-image#4602)(感谢 @mattspence!)。
  • 在使用 natbibbiblatex 生成参考书目时,支持将引用目标定为 #refs div。
  • 在 WSL 中警告用户关于 Chromium 安装问题(#4596)。
  • 修复 Chrome 浏览器中“No inspectable targets”的问题(#4653)。
  • 为 callouts 添加 title 属性(可以用作定义标题而不是标题)。
  • 处理更多种类的 Docusaurus 输出的原始 HTML。
  • 在书籍和网站中逐个文件读取和处理 DOM,以减少总内存使用(#4350)。
  • 修复 Windows 上 TeX Live 2023 二进制路径的问题(#4906)。

Pandoc 过滤器变更

  • Quarto 1.3 引入了自定义 AST 节点的概念到 Pandoc 过滤器中。如果你使用 Lua 过滤器来处理 callouts、tabsets 或条件块,请查阅预发布文档,了解如何更改你的过滤器以支持新语法。
  • Quarto 1.3 现在将 HTML 表格(在 Markdown 输入中)处理为 Pandoc AST 节点,这些节点可以由用户过滤器处理并输出到非 HTML 格式。此外,它支持“嵌入式 Markdown 内容”,这些内容将由 quarto 的处理解析,包括短代码和交叉引用解析。更多信息请参见预发布文档

项目

  • 修复将单个项目文件渲染到 stdout 的问题(#4052)。
  • 修复在 Windows 上预览 Docusaurus 项目的问题(#4312)。
  • 修复大型项目中的性能问题(#5002)。

发布

  • 修复指定 output-dir 时发布错误的问题(#4158)。
  • 当使用 git <2.17.0 时发出错误(#4575)。
  • 修复发布文档而非网站时关于 --site-url 的错误(#4384)。

其他

  • 修复运行 quarto render -h 命令以获取帮助时的错误(#3202)。
  • 修复渲染提供目录作为 format-resources 的扩展文档时的错误(#4377)。
  • 修复渲染过程中资源文件复制不正确的问题 (#4544)
  • 扩展作者现在可以通过在 .quartoignore 文件中以 ! 前缀写入文件/文件路径来强制包含文件。例如 !README.md (#4061)。
  • 修复在旧版 Windows 上安装扩展时的问题 (#4203)。