Skip to content

Commit b0e7a53

Browse files
authored
Merge branch 'main' into feature/quarto-ipynb-ignore
2 parents c8c7022 + 5eba3a1 commit b0e7a53

File tree

27 files changed

+230
-43
lines changed

27 files changed

+230
-43
lines changed

news/changelog-1.8.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,14 @@ All changes included in 1.8:
7676

7777
- ([#12615](https://github.com/quarto-dev/quarto-cli/pull/12615)): Adds `algorithm` to theorem environments. (author: @jeremy9959)
7878

79-
## Lua Filters
79+
## Lua Filters and API
8080

8181
- ([#12727](https://github.com/quarto-dev/quarto-cli/issues/12727)): Do not crash in the presence of malformed tabset contents.
8282
- ([#12806](https://github.com/quarto-dev/quarto-cli/pull/12806)): Use pandoc APIs to handle codepage conversion on Windows.
8383
- ([#12811](https://github.com/quarto-dev/quarto-cli/pull/12811)): Add support for YouTube Shorts in `video` shortcode.
84-
- ([#13128](https://github.com/quarto-dev/quarto-cli/issues/13128)): Meta shortcode could crash on bad input.
84+
- ([#13112](https://github.com/quarto-dev/quarto-cli/pull/13112)): Add `quarto.format.format_identifier()` API entry.
85+
- ([#13128](https://github.com/quarto-dev/quarto-cli/issues/13128)): Avoid meta shortcode crash on bad input.
86+
- ([#13246](https://github.com/quarto-dev/quarto-cli/pull/13246)): Add `quarto.variables.get()` and `quarto.metadata.get()` APIs.
8587

8688
## Commands
8789

@@ -119,10 +121,19 @@ All changes included in 1.8:
119121

120122
- ([#12870](https://github.com/quarto-dev/quarto-cli/pull/12870)): Update `julia` engine from `0.17.0` to `0.17.3` to improve `juliaup` detection on Windows systems and correctly set `Base.source_path()` output to match REPL and script usage.
121123

124+
## Languages
125+
126+
- ([#13098](https://github.com/quarto-dev/quarto-cli/pull/13098)): Fox a minor inappropriate phrasing in the Chinese localization of `environment-proof-title` (@sun123xyz).
127+
122128
## Other fixes and improvements
123129

124130
- ([#11321](https://github.com/quarto-dev/quarto-cli/issues/11321)): Follow [recommendation from LaTeX project](https://latex-project.org/news/latex2e-news/ltnews40.pdf) and use `lualatex` instead of `xelatex` as the default PDF engine.
125131
- ([#12782](https://github.com/quarto-dev/quarto-cli/pull/12782)): fix bug on `safeRemoveDirSync`'s detection of safe directory boundaries.
126132
- ([#12853](https://github.com/quarto-dev/quarto-cli/issues/12853)): fix replaceAll() escaping issue with embedded notebooks containing `$` in their Markdown.
127133
- ([#12939](https://github.com/quarto-dev/quarto-cli/pull/12939)): Upgrade `mermaidjs` to 11.6.0.
128-
- ([#13031](https://github.com/quarto-dev/quarto-cli/pull/13031)): Add `.quarto_ipynb` files to `.gitignore` by default.
134+
- ([#13031](https://github.com/quarto-dev/quarto-cli/pull/13031)): Add `.quarto_ipynb` files to `.gitignore` by default.
135+
- ([#13164](https://github.com/quarto-dev/quarto-cli/pull/13164)): add `julia` to execute schema to allow autocomplete suggestions. (@mcanouil)
136+
137+
## Quarto Internals
138+
139+
- ([#13155](https://github.com/quarto-dev/quarto-cli/pull/13155)): Process `pandoc-reader-FORMAT` raw blocks through `pandoc.read(FORMAT)`

src/resources/editor/tools/vs-code.mjs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14618,7 +14618,8 @@ var require_yaml_intelligence_resources = __commonJS({
1461814618
string: {
1461914619
completions: [
1462014620
"jupyter",
14621-
"knitr"
14621+
"knitr",
14622+
"julia"
1462214623
]
1462314624
}
1462414625
},
@@ -22610,6 +22611,7 @@ var require_yaml_intelligence_resources = __commonJS({
2261022611
"The font files to include. These can be local or online. Local file\npaths should be relative to the <code>brand.yml</code> file. Online\npaths should be complete URLs.",
2261122612
"The path to the font file. This can be a local path or a URL.",
2261222613
"A locally-installed font family name. When used, the end-user is\nresponsible for ensuring that the font is installed on their system.",
22614+
"A path to a brand.yml file, or an object with light and dark paths to\nbrand.yml",
2261322615
"Branding information to use for this document. If a string, the path\nto a brand file. If false, don\u2019t use branding on this document. If an\nobject, an inline (unified) brand definition, or an object with light\nand dark brand paths or definitions.",
2261422616
"The path to a light brand file or an inline light brand\ndefinition.",
2261522617
"The path to a dark brand file or an inline dark brand definition.",
@@ -24011,7 +24013,7 @@ var require_yaml_intelligence_resources = __commonJS({
2401124013
"HTML library (JS/CSS/etc.) directory",
2401224014
"Additional file resources to be copied to output directory",
2401324015
"Additional file resources to be copied to output directory",
24014-
"Branding information to use for this document. If a string, the path\nto a brand file. If false, don\u2019t use branding on this document. If an\nobject, an inline brand definition, or an object with light and dark\nbrand paths or definitions.",
24016+
"Path to brand.yml or object with light and dark paths to\nbrand.yml",
2401524017
"Options for <code>quarto preview</code>",
2401624018
"Scripts to run as a pre-render step",
2401724019
"Scripts to run as a post-render step",
@@ -24361,7 +24363,7 @@ var require_yaml_intelligence_resources = __commonJS({
2436124363
"HTML library (JS/CSS/etc.) directory",
2436224364
"Additional file resources to be copied to output directory",
2436324365
"Additional file resources to be copied to output directory",
24364-
"Branding information to use for this document. If a string, the path\nto a brand file. If false, don\u2019t use branding on this document. If an\nobject, an inline brand definition, or an object with light and dark\nbrand paths or definitions.",
24366+
"Path to brand.yml or object with light and dark paths to\nbrand.yml",
2436524367
"Options for <code>quarto preview</code>",
2436624368
"Scripts to run as a pre-render step",
2436724369
"Scripts to run as a post-render step",
@@ -24696,8 +24698,7 @@ var require_yaml_intelligence_resources = __commonJS({
2469624698
"Disambiguating year suffix in author-date styles (e.g.&nbsp;\u201Ca\u201D in \u201CDoe,\n1999a\u201D).",
2469724699
"Manuscript configuration",
2469824700
"internal-schema-hack",
24699-
"List execution engines you want to give priority when determining\nwhich engine should render a notebook. If two engines have support for a\nnotebook, the one listed earlier will be chosen. Quarto\u2019s default order\nis \u2018knitr\u2019, \u2018jupyter\u2019, \u2018markdown\u2019, \u2018julia\u2019.",
24700-
"A path to a brand.yml file, or an object with light and dark paths to\nbrand.yml"
24701+
"List execution engines you want to give priority when determining\nwhich engine should render a notebook. If two engines have support for a\nnotebook, the one listed earlier will be chosen. Quarto\u2019s default order\nis \u2018knitr\u2019, \u2018jupyter\u2019, \u2018markdown\u2019, \u2018julia\u2019."
2470124702
],
2470224703
"schema/external-schemas.yml": [
2470324704
{
@@ -24926,12 +24927,12 @@ var require_yaml_intelligence_resources = __commonJS({
2492624927
mermaid: "%%"
2492724928
},
2492824929
"handlers/mermaid/schema.yml": {
24929-
_internalId: 197527,
24930+
_internalId: 197539,
2493024931
type: "object",
2493124932
description: "be an object",
2493224933
properties: {
2493324934
"mermaid-format": {
24934-
_internalId: 197519,
24935+
_internalId: 197531,
2493524936
type: "enum",
2493624937
enum: [
2493724938
"png",
@@ -24947,7 +24948,7 @@ var require_yaml_intelligence_resources = __commonJS({
2494724948
exhaustiveCompletions: true
2494824949
},
2494924950
theme: {
24950-
_internalId: 197526,
24951+
_internalId: 197538,
2495124952
type: "anyOf",
2495224953
anyOf: [
2495324954
{

src/resources/editor/tools/yaml/all-schema-definitions.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

src/resources/editor/tools/yaml/web-worker.js

Lines changed: 9 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/resources/editor/tools/yaml/yaml-intelligence-resources.json

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7590,7 +7590,8 @@
75907590
"string": {
75917591
"completions": [
75927592
"jupyter",
7593-
"knitr"
7593+
"knitr",
7594+
"julia"
75947595
]
75957596
}
75967597
},
@@ -15582,6 +15583,7 @@
1558215583
"The font files to include. These can be local or online. Local file\npaths should be relative to the <code>brand.yml</code> file. Online\npaths should be complete URLs.",
1558315584
"The path to the font file. This can be a local path or a URL.",
1558415585
"A locally-installed font family name. When used, the end-user is\nresponsible for ensuring that the font is installed on their system.",
15586+
"A path to a brand.yml file, or an object with light and dark paths to\nbrand.yml",
1558515587
"Branding information to use for this document. If a string, the path\nto a brand file. If false, don’t use branding on this document. If an\nobject, an inline (unified) brand definition, or an object with light\nand dark brand paths or definitions.",
1558615588
"The path to a light brand file or an inline light brand\ndefinition.",
1558715589
"The path to a dark brand file or an inline dark brand definition.",
@@ -16983,7 +16985,7 @@
1698316985
"HTML library (JS/CSS/etc.) directory",
1698416986
"Additional file resources to be copied to output directory",
1698516987
"Additional file resources to be copied to output directory",
16986-
"Branding information to use for this document. If a string, the path\nto a brand file. If false, don’t use branding on this document. If an\nobject, an inline brand definition, or an object with light and dark\nbrand paths or definitions.",
16988+
"Path to brand.yml or object with light and dark paths to\nbrand.yml",
1698716989
"Options for <code>quarto preview</code>",
1698816990
"Scripts to run as a pre-render step",
1698916991
"Scripts to run as a post-render step",
@@ -17333,7 +17335,7 @@
1733317335
"HTML library (JS/CSS/etc.) directory",
1733417336
"Additional file resources to be copied to output directory",
1733517337
"Additional file resources to be copied to output directory",
17336-
"Branding information to use for this document. If a string, the path\nto a brand file. If false, don’t use branding on this document. If an\nobject, an inline brand definition, or an object with light and dark\nbrand paths or definitions.",
17338+
"Path to brand.yml or object with light and dark paths to\nbrand.yml",
1733717339
"Options for <code>quarto preview</code>",
1733817340
"Scripts to run as a pre-render step",
1733917341
"Scripts to run as a post-render step",
@@ -17668,8 +17670,7 @@
1766817670
"Disambiguating year suffix in author-date styles (e.g.&nbsp;“a” in “Doe,\n1999a”).",
1766917671
"Manuscript configuration",
1767017672
"internal-schema-hack",
17671-
"List execution engines you want to give priority when determining\nwhich engine should render a notebook. If two engines have support for a\nnotebook, the one listed earlier will be chosen. Quarto’s default order\nis ‘knitr’, ‘jupyter’, ‘markdown’, ‘julia’.",
17672-
"A path to a brand.yml file, or an object with light and dark paths to\nbrand.yml"
17673+
"List execution engines you want to give priority when determining\nwhich engine should render a notebook. If two engines have support for a\nnotebook, the one listed earlier will be chosen. Quarto’s default order\nis ‘knitr’, ‘jupyter’, ‘markdown’, ‘julia’."
1767317674
],
1767417675
"schema/external-schemas.yml": [
1767517676
{
@@ -17898,12 +17899,12 @@
1789817899
"mermaid": "%%"
1789917900
},
1790017901
"handlers/mermaid/schema.yml": {
17901-
"_internalId": 197527,
17902+
"_internalId": 197539,
1790217903
"type": "object",
1790317904
"description": "be an object",
1790417905
"properties": {
1790517906
"mermaid-format": {
17906-
"_internalId": 197519,
17907+
"_internalId": 197531,
1790717908
"type": "enum",
1790817909
"enum": [
1790917910
"png",
@@ -17919,7 +17920,7 @@
1791917920
"exhaustiveCompletions": true
1792017921
},
1792117922
"theme": {
17922-
"_internalId": 197526,
17923+
"_internalId": 197538,
1792317924
"type": "anyOf",
1792417925
"anyOf": [
1792517926
{

src/resources/filters/normalize/extractquartodom.lua

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ function parse_md_in_html_rawblocks()
2828
end,
2929
RawBlock = function(raw)
3030
local result
31-
if raw.format == "pandoc-native" then
31+
if raw.format:sub(1, 14) == "pandoc-reader-" then
32+
-- this is a pandoc reader format, so we can read it directly
33+
result = pandoc.read(raw.text, raw.format:sub(15)).blocks
34+
elseif raw.format == "pandoc-native" then
3235
result = pandoc.read(raw.text, "native").blocks
3336
elseif raw.format == "pandoc-json" then
3437
result = pandoc.read(raw.text, "json").blocks
@@ -39,7 +42,10 @@ function parse_md_in_html_rawblocks()
3942
end,
4043
RawInline = function(raw)
4144
local result
42-
if raw.format == "pandoc-native" then
45+
if raw.format:sub(1, 14) == "pandoc-reader-" then
46+
-- this is a pandoc reader format, so we can read it directly
47+
result = quarto.utils.as_inlines(pandoc.read(raw.text, raw.format:sub(15)).blocks)
48+
elseif raw.format == "pandoc-native" then
4349
result = quarto.utils.as_inlines(pandoc.read(raw.text, "native").blocks)
4450
elseif raw.format == "pandoc-json" then
4551
-- let's try to be minimally smart here, and handle lists differently from a single top-level element

src/resources/language/_language-es.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ title-block-author-plural: "Autores/as"
3232
title-block-affiliation-single: "Afiliación"
3333
title-block-affiliation-plural: "Afiliaciones"
3434
title-block-published: "Fecha de publicación"
35-
title-block-modified: "Fecha de modificación"
35+
title-block-modified: "Fecha de última modificación"
3636
title-block-keywords: "Palabras clave"
3737

3838
callout-tip-title: "Tip"
@@ -60,11 +60,11 @@ copy-button-tooltip-success: "Copiado"
6060

6161
repo-action-links-edit: "Editar esta página"
6262
repo-action-links-source: "Ver el código"
63-
repo-action-links-issue: "Informar de un problema"
63+
repo-action-links-issue: "Informar sobre problema"
6464

6565
back-to-top: "Volver arriba"
6666

67-
search-no-results-text: "Sin resultados"
67+
search-no-results-text: "No se han encontrado resultados"
6868
search-matching-documents-text: "documentos encontrados"
6969
search-copy-link-title: "Copiar el enlace en la búsqueda"
7070
search-hide-matches-text: "Ocultar resultados adicionales"
@@ -101,22 +101,22 @@ crossref-lof-title: "Listado de Figuras"
101101
crossref-lot-title: "Listado de Tablas"
102102
crossref-lol-title: "Listado de Listados"
103103

104-
environment-proof-title: "Prueba"
104+
environment-proof-title: "Demostración"
105105
environment-remark-title: "Observación"
106106
environment-solution-title: "Solución"
107107

108108
listing-page-order-by: "Ordenar por"
109109
listing-page-order-by-default: "Por defecto"
110-
listing-page-order-by-date-asc: "Menos reciente"
110+
listing-page-order-by-date-asc: "Más antiguo"
111111
listing-page-order-by-date-desc: "Más reciente"
112112
listing-page-order-by-number-desc: "De mayor a menor"
113113
listing-page-order-by-number-asc: "De menor a mayor"
114114
listing-page-field-date: "Fecha"
115115
listing-page-field-title: "Título"
116116
listing-page-field-description: "Descripción"
117117
listing-page-field-author: "Autor/a"
118-
listing-page-field-filename: "Nombre de archivo"
119-
listing-page-field-filemodified: "Fecha de modificación"
118+
listing-page-field-filename: "Nombre del archivo"
119+
listing-page-field-filemodified: "Última modificación"
120120
listing-page-field-subtitle: "Subtítulo"
121121
listing-page-field-readingtime: "Tiempo de lectura"
122122
listing-page-field-categories: "Categorías"

src/resources/language/_language-zh.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ crossref-lof-title: "图索引"
9898
crossref-lot-title: "表索引"
9999
crossref-lol-title: "列表索引"
100100

101-
environment-proof-title: ""
101+
environment-proof-title: "证明"
102102
environment-remark-title: "注记"
103103
environment-solution-title: ""
104104

src/resources/lua-types/quarto/format.lua

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,4 +239,13 @@ Returns an object with the format name and variants as would be interpreted by P
239239
]]
240240
---@param raw_format string The format's string
241241
---@return quarto.format.ParseFormatResult
242-
function quarto.format.parse_format(raw_format) end
242+
function quarto.format.parse_format(raw_format) end
243+
244+
--[[
245+
Returns a table with the format identifier information, including:
246+
- `target-format`: The full target format name, e.g. `html+variant`
247+
- `base-format`: The base format name, e.g. `html`
248+
- `display-name`: A human-readable display name for the format, e.g. `HTML`
249+
- `extension`: The name of the extension that exposes the format, if present
250+
]]
251+
function quarto.format.format_identifier() end

0 commit comments

Comments
 (0)