You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: news/changelog-1.9.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,7 @@ All changes included in 1.9:
34
34
### `email`
35
35
36
36
- ([#13882](https://github.com/quarto-dev/quarto-cli/pull/13882)): Add support for multiple email outputs when rendering to `format: email` for Posit Connect.
37
+
- ([#14021](https://github.com/quarto-dev/quarto-cli/issues/14021)): Add `email-version` hook to override detected Connect version when rendering emails for Posit Connect.
Copy file name to clipboardExpand all lines: src/resources/editor/tools/vs-code.mjs
+31-7Lines changed: 31 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -23370,6 +23370,11 @@ var require_yaml_intelligence_resources = __commonJS({
23370
23370
"Write markdown links as references rather than inline.",
23371
23371
"Unique prefix for references (<code>none</code> to prevent automatic\nprefixes)",
23372
23372
"Automatically re-render for preview whenever document is saved (note\nthat this requires a preview for the saved document be already running).\nThis option currently works only within VS Code.",
23373
+
{
23374
+
short: "Editor-specific options (used by RStudio and Positron).",
23375
+
long: "Editor-specific options that control IDE behavior for this document.\nThese options are used by RStudio and Positron to configure per-document\neditor settings."
23376
+
},
23377
+
"Determines where chunk output is shown in the editor.",
23373
23378
"Enable (<code>true</code>) or disable (<code>false</code>) Zotero for\na document. Alternatively, provide a list of one or more Zotero group\nlibraries to use with the document.",
23374
23379
"The identifier for this publication.",
23375
23380
"The identifier value.",
@@ -25097,10 +25102,9 @@ var require_yaml_intelligence_resources = __commonJS({
25097
25102
"internal-schema-hack",
25098
25103
"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.",
25099
25104
{
25100
-
short: "Editor-specific options (used by RStudio and Positron).",
25101
-
long: "Editor-specific options that control IDE behavior for this document.\nThese options are used by RStudio and Positron to configure per-document\neditor settings."
25102
-
},
25103
-
"Determines where chunk output is shown in the editor."
25105
+
short: "Email format version",
25106
+
long: "Specifies which email format version to use."
25107
+
}
25104
25108
],
25105
25109
"schema/external-schemas.yml": [
25106
25110
{
@@ -25330,12 +25334,12 @@ var require_yaml_intelligence_resources = __commonJS({
25330
25334
mermaid: "%%"
25331
25335
},
25332
25336
"handlers/mermaid/schema.yml": {
25333
-
_internalId: 221795,
25337
+
_internalId: 222358,
25334
25338
type: "object",
25335
25339
description: "be an object",
25336
25340
properties: {
25337
25341
"mermaid-format": {
25338
-
_internalId: 221787,
25342
+
_internalId: 222350,
25339
25343
type: "enum",
25340
25344
enum: [
25341
25345
"png",
@@ -25351,7 +25355,7 @@ var require_yaml_intelligence_resources = __commonJS({
25351
25355
exhaustiveCompletions: true
25352
25356
},
25353
25357
theme: {
25354
-
_internalId: 221794,
25358
+
_internalId: 222357,
25355
25359
type: "anyOf",
25356
25360
anyOf: [
25357
25361
{
@@ -25488,6 +25492,26 @@ var require_yaml_intelligence_resources = __commonJS({
25488
25492
long: "Controls how theorems, lemmas, definitions, etc. are rendered:\n- `simple`: Plain text with bold title and italic body (default)\n- `fancy`: Colored boxes using brand colors\n- `clouds`: Rounded colored background boxes\n- `rainbow`: Colored left border with colored title\n"
25489
25493
}
25490
25494
}
25495
+
],
25496
+
"schema/document-email.yml": [
25497
+
{
25498
+
name: "email-version",
25499
+
tags: {
25500
+
formats: [
25501
+
"email"
25502
+
]
25503
+
},
25504
+
schema: {
25505
+
enum: [
25506
+
1,
25507
+
2
25508
+
]
25509
+
},
25510
+
description: {
25511
+
short: "Email format version",
25512
+
long: "Specifies which email format version to use.\n\n- `1`: Legacy email format with document-level metadata (compatible with older Connect versions)\n- `2`: New email format with multiple individual emails and v2 markers (requires Posit Connect 2026.03 or later)\n"
Copy file name to clipboardExpand all lines: src/resources/editor/tools/yaml/yaml-intelligence-resources.json
+31-7Lines changed: 31 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -16342,6 +16342,11 @@
16342
16342
"Write markdown links as references rather than inline.",
16343
16343
"Unique prefix for references (<code>none</code> to prevent automatic\nprefixes)",
16344
16344
"Automatically re-render for preview whenever document is saved (note\nthat this requires a preview for the saved document be already running).\nThis option currently works only within VS Code.",
16345
+
{
16346
+
"short": "Editor-specific options (used by RStudio and Positron).",
16347
+
"long": "Editor-specific options that control IDE behavior for this document.\nThese options are used by RStudio and Positron to configure per-document\neditor settings."
16348
+
},
16349
+
"Determines where chunk output is shown in the editor.",
16345
16350
"Enable (<code>true</code>) or disable (<code>false</code>) Zotero for\na document. Alternatively, provide a list of one or more Zotero group\nlibraries to use with the document.",
16346
16351
"The identifier for this publication.",
16347
16352
"The identifier value.",
@@ -18069,10 +18074,9 @@
18069
18074
"internal-schema-hack",
18070
18075
"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’.",
18071
18076
{
18072
-
"short": "Editor-specific options (used by RStudio and Positron).",
18073
-
"long": "Editor-specific options that control IDE behavior for this document.\nThese options are used by RStudio and Positron to configure per-document\neditor settings."
18074
-
},
18075
-
"Determines where chunk output is shown in the editor."
18077
+
"short": "Email format version",
18078
+
"long": "Specifies which email format version to use."
18079
+
}
18076
18080
],
18077
18081
"schema/external-schemas.yml": [
18078
18082
{
@@ -18302,12 +18306,12 @@
18302
18306
"mermaid": "%%"
18303
18307
},
18304
18308
"handlers/mermaid/schema.yml": {
18305
-
"_internalId": 221795,
18309
+
"_internalId": 222358,
18306
18310
"type": "object",
18307
18311
"description": "be an object",
18308
18312
"properties": {
18309
18313
"mermaid-format": {
18310
-
"_internalId": 221787,
18314
+
"_internalId": 222350,
18311
18315
"type": "enum",
18312
18316
"enum": [
18313
18317
"png",
@@ -18323,7 +18327,7 @@
18323
18327
"exhaustiveCompletions": true
18324
18328
},
18325
18329
"theme": {
18326
-
"_internalId": 221794,
18330
+
"_internalId": 222357,
18327
18331
"type": "anyOf",
18328
18332
"anyOf": [
18329
18333
{
@@ -18460,5 +18464,25 @@
18460
18464
"long": "Controls how theorems, lemmas, definitions, etc. are rendered:\n- `simple`: Plain text with bold title and italic body (default)\n- `fancy`: Colored boxes using brand colors\n- `clouds`: Rounded colored background boxes\n- `rainbow`: Colored left border with colored title\n"
18461
18465
}
18462
18466
}
18467
+
],
18468
+
"schema/document-email.yml": [
18469
+
{
18470
+
"name": "email-version",
18471
+
"tags": {
18472
+
"formats": [
18473
+
"email"
18474
+
]
18475
+
},
18476
+
"schema": {
18477
+
"enum": [
18478
+
1,
18479
+
2
18480
+
]
18481
+
},
18482
+
"description": {
18483
+
"short": "Email format version",
18484
+
"long": "Specifies which email format version to use.\n\n- `1`: Legacy email format with document-level metadata (compatible with older Connect versions)\n- `2`: New email format with multiple individual emails and v2 markers (requires Posit Connect 2026.03 or later)\n"
-- If override is set, interpret the value as a string
354
+
ifformat_override=="2" then
355
+
connect_supports_v2=true
356
+
io.stderr:write("WARNING: Email format v2 is being forced via 'format.email.version: " ..format_override.."' in YAML. This overrides the Connect version detection.\n")
357
+
else
358
+
connect_supports_v2=false
359
+
io.stderr:write("WARNING: Email format v1 is being forced via 'format.email.version: " ..format_override.."' in YAML. This overrides the Connect version detection.\n")
360
+
end
361
+
else
362
+
-- Fall back to version sniffing if no explicit override
363
+
ifconnectversion.is_connect_version_at_least(constants.kConnectEmailMetadataChangeVersion) then
364
+
connect_supports_v2=true
365
+
end
354
366
end
355
367
356
368
-- Scan for document-level metadata at the TOP LEVEL of the document
0 commit comments