Skip to content

Commit 4fa5273

Browse files
committed
Merge branch 'main' into refactor/website-giscus
2 parents 7bf2ee1 + a396be4 commit 4fa5273

File tree

34 files changed

+2503
-2154
lines changed

34 files changed

+2503
-2154
lines changed

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ authors:
2020
given-names: "Gordon"
2121
orcid: "https://orcid.org/0009-0005-1809-8936"
2222
title: "Quarto"
23-
version: 1.6
23+
version: 1.7
2424
doi: 10.5281/zenodo.5960048
25-
date-released: 2024-11-27
25+
date-released: 2025-04-28
2626
url: "https://github.com/quarto-dev/quarto-cli"

configuration

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export ALGOLIA_SEARCH_INSIGHTS_JS=2.0.3
6161

6262

6363
# Quarto Info Version
64-
export QUARTO_VERSION=1.7
64+
export QUARTO_VERSION=1.8
6565
export QUARTO_NAME=Quarto
6666

6767
# Folder names. These are not the same as paths (those variable names end in _PATH).

dev-docs/checklist-make-a-new-quarto-release.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,21 @@
22
- [ ] create a branch `v1.x`, where x is the version being released
33
- `git checkout -b v1.4`
44
- `git push origin v1.4`
5-
- [ ] mark the current release as the stable release in the `main` branch
5+
- [ ] mark the current release as the new release in the `main` branch
66
- [ ] edit QUARTO_VERSION line in `/configuration` to be the new version (e.g. `1.5`)
77
- [ ] push the changes to the `main` branch
88
- [ ] kick off a v1.5 build in GHA: https://github.com/quarto-dev/quarto-cli/actions/workflows/create-release.yml
99
- [ ] ensure the build completes successfully
1010
- [ ] mark v1.4 release as stable
11-
- go to https://github.com/quarto-dev/quarto-cli/releases
12-
- find the latest v1.4 release and edit, (eg https://github.com/quarto-dev/quarto-cli/releases/edit/v1.4.549)
13-
- at the bottom of the page, there will be two checkboxes, "Set as pre-release" and "Set as latest release":
14-
- "Set as pre-release" should be unchecked, and
15-
- "Set as latest release" should be checked.
11+
- [ ] go to https://github.com/quarto-dev/quarto-cli/releases
12+
- [ ] find the latest v1.4 release and edit, (eg https://github.com/quarto-dev/quarto-cli/releases/edit/v1.4.549)
13+
- [ ] at the bottom of the page, there will be two checkboxes, "Set as pre-release" and "Set as latest release":
14+
- [ ] "Set as pre-release" should be unchecked, and
15+
- [ ] "Set as latest release" should be checked.
1616
- [ ] once the v1.5 build completes, edit the quarto.org website configuration on https://github.com/quarto-dev/quarto-web to reflect the new version
1717
- this means flipping the profile group configuration in `_quarto.yml` from `[rc,prelease]` to `[prerelease,rc]`
1818
- [ ] push the changes to the `main` branch
1919
- [ ] quarto-dev/quarto-web changes
20-
2120
- wait for the downloads file to be automatically updated by the GitHub Action on https://github.com/quarto-dev/quarto-web
2221
- [ ] wait for https://github.com/quarto-dev/quarto-web/actions/workflows/update-downloads.yml to run (it runs every 15 minutes, or you can manually trigger it)
2322
- This workflow run rendered the website: https://github.com/quarto-dev/quarto-web/actions/runs/12016407762
@@ -30,20 +29,22 @@
3029
- [ ] create `docs/prerelease/1.5/{_highlights, index, _pre-release-feature}.qmd` files based on the ones from the previous release
3130
- [ ] change `docs/prerelease/_highlights.qmd` so its include points to the new version-specific `_highlights.qmd` file (here, 1.5)
3231
- [ ] change `docs/prerelease/_highlights-release.qmd` so its include points to the new version-specific `_highlights.qmd` file (here, 1.4)
33-
- [ ] add the stable version to the older downloads list, like [this example](https://github.com/quarto-dev/quarto-web/commit/85ef62ec5036026d62d57f9cfb190d8b923b2d43)
34-
- [ ] run `quarto run tools/release-notes.R` to generate the release notes
32+
- [ ] add the stable version to the older downloads list by editing /docs/download/_download-older.yml
33+
- [ ] run `quarto run tools/release-notes.R` to generate the release notes
3534
- [ ] push the changes to `prerelease` branch, ensure they build correctly
36-
- [ ] Merge the `prerelease` branch into `main`
35+
- [ ] Merge the `prerelease` branch into `main`, push to `main`
3736
- [ ] ensure the build completes successfully
38-
- [ ] Merge `main` into `prerelease`
37+
- [ ] Merge `main` into `prerelease`, push to `prerelease`
3938
- [ ] ensure the build completes successfully
40-
- [ ] Create new tag on `main` (here, `v1.5`)
41-
- [ ] `git tag -a v1.5 -m "v1.5"`
42-
- [ ] `git push origin v1.5`
39+
- [ ] Create new tag on `main` with stable release version number (here, `v1.4`) to mark when the new main site version went live
40+
- [ ] `git tag -a v1.4 -m "v1.4"`
41+
- [ ] `git push origin v1.4`
4342
- [ ] Update `prerelease` version number (here, `v1.5`)
4443
- [ ] edit `_quarto-prerelease-docs.yml` to point to the new version
4544
- [ ] publish the release blog post that should exist in https://github.com/quarto-dev/quarto-web/tree/main/docs/blog/posts
46-
by removing the `draft: true` line in the metadata and changing the date to match the release date. Do this on a branch off of `main` to trigger our PR automation to make the corresponding change to `prerelease`.
45+
- [ ] Create a branch off of `main` (to trigger our PR automation to make the corresponding change to `prerelease`).
46+
- [ ] Removing the `draft: true` line in the metadata
47+
- [ ] Change the date to match the release date.
4748

4849
- [ ] Update https://github.com/quarto-dev/quarto-cli/blob/main/CITATION.cff
4950
- [ ] Packaging and package managers, etc
@@ -55,8 +56,8 @@
5556
- Check the "Whether to publish or not the package on chocolatey" checkbox
5657
- Wait for @cderv to receive email confirmation, no action needed
5758
- [ ] pypi
58-
- Goto the [quarto-cli-pypi repo](https://github.com/quarto-dev/quarto-cli-pypi)
59-
- Update `version.txt` to be the version you'd like to publish and commit
59+
- Go to the [quarto-cli-pypi repo](https://github.com/quarto-dev/quarto-cli-pypi)
60+
- [ ] Update `version.txt` to be the version you'd like to publish and commit
6061
- Go to actions
6162
- Select 'Publish Quarto PyPi'
6263
- [ ] Click "Run Workflow"

news/changelog-1.7.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ All changes included in 1.7:
122122
### `julia`
123123

124124
- ([#11803](https://github.com/quarto-dev/quarto-cli/pull/11803)): Added subcommands `status`, `kill`, `close [--force]` and `log` under the new CLI command `quarto call engine julia`.
125-
- ([#12121](https://github.com/quarto-dev/quarto-cli/pull/12121)): Update QuartoNotebookRunner to 0.16.0. Support for evaluating Python cells via [PythonCall.jl](https://github.com/JuliaPy/PythonCall.jl) added. Support for notebook caching via `execute.cache` added.
125+
- ([#12121](https://github.com/quarto-dev/quarto-cli/pull/12121)): Update QuartoNotebookRunner to 0.17.0. Support for evaluating Python cells via [PythonCall.jl](https://github.com/JuliaPy/PythonCall.jl) added. Support for notebook caching via `execute.cache` added.
126126
- ([#12151](https://github.com/quarto-dev/quarto-cli/pull/12151)): Basic YAML validation is now active for documents using Julia engine.
127127

128128
### `jupyter`
@@ -153,6 +153,7 @@ All changes included in 1.7:
153153
- ([#12326](https://github.com/quarto-dev/quarto-cli/issues/12326)): Add `quarto.shortcode.*` API entry points for shortcode developers.
154154
- ([#12365](https://github.com/quarto-dev/quarto-cli/pull/12365)): `brand color` shortcode takes an optional `brandMode` second parameter, default `light`.
155155
- ([#12453](https://github.com/quarto-dev/quarto-cli/issues/12453)): Expose `_quarto.modules.brand` as `quarto.brand` and add `has_mode()` function.
156+
- ([#12564](https://github.com/quarto-dev/quarto-cli/issues/12564)): `brand logo` shortcode also takes an optional `brandMode` second parameter, default `light`.
156157

157158
### Conditional Content
158159

news/changelog-1.8.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
All changes included in 1.8:
2+
3+
## Formats
4+
5+
### `revealjs`
6+
7+
- ([#12598](https://github.com/quarto-dev/quarto-cli/pull/12598)): Ensure `.fragment` on an image with caption applies to whole figure.
8+
9+
## Projects
10+
11+
### `website`
12+
13+
- ([#12551](https://github.com/quarto-dev/quarto-cli/pull/12551)): Improve warning issued when `aliases` would overwrite an existing document.
14+
- ([#12616](https://github.com/quarto-dev/quarto-cli/issues/12616)): find SVG images in image discovery for listings.
15+
16+
## Crossrefs
17+
18+
- ([#12615](https://github.com/quarto-dev/quarto-cli/pull/12615)): Adds `algorithm` to theorem environments. (author: @jeremy9959)

package/src/common/prepare-dist.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { Configuration } from "../common/config.ts";
1212
import { buildFilter } from "./package-filters.ts";
1313
import { bundle } from "../util/deno.ts";
1414
import { info } from "../../../src/deno_ral/log.ts";
15-
import { buildAssets } from "../../../src/command/build-js/cmd.ts";
15+
import { buildAssets } from "../../../src/command/dev-call/build-artifacts/cmd.ts";
1616
import { initTreeSitter } from "../../../src/core/schema/deno-init-tree-sitter.ts";
1717
import {
1818
Dependency,

src/command/command.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import { typstCommand } from "./typst/cmd.ts";
1818
import { capabilitiesCommand } from "./capabilities/cmd.ts";
1919
import { checkCommand } from "./check/cmd.ts";
2020
import { inspectCommand } from "./inspect/cmd.ts";
21-
import { buildJsCommand } from "./build-js/cmd.ts";
2221
import { installCommand } from "./install/cmd.ts";
2322
import { updateCommand } from "./update/cmd.ts";
2423
import { publishCommand } from "./publish/cmd.ts";
@@ -30,6 +29,7 @@ import { uninstallCommand } from "./uninstall/cmd.ts";
3029
import { createCommand } from "./create/cmd.ts";
3130
import { editorSupportCommand } from "./editor-support/cmd.ts";
3231
import { callCommand } from "./call/cmd.ts";
32+
import { devCallCommand } from "./dev-call/cmd.ts";
3333

3434
// deno-lint-ignore no-explicit-any
3535
export function commands(): Command<any>[] {
@@ -56,8 +56,8 @@ export function commands(): Command<any>[] {
5656
capabilitiesCommand,
5757
inspectCommand,
5858
checkCommand,
59-
buildJsCommand,
6059
editorSupportCommand,
6160
callCommand,
61+
devCallCommand,
6262
];
6363
}

src/command/build-js/cmd.ts renamed to src/command/dev-call/build-artifacts/cmd.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ import {
1010
ESBuildAnalysis,
1111
esbuildAnalyze,
1212
esbuildCompile,
13-
} from "../../core/esbuild.ts";
14-
import { buildIntelligenceResources } from "../../core/schema/build-schema-file.ts";
15-
import { formatResourcePath, resourcePath } from "../../core/resources.ts";
13+
} from "../../../core/esbuild.ts";
14+
import { buildIntelligenceResources } from "../../../core/schema/build-schema-file.ts";
15+
import { formatResourcePath, resourcePath } from "../../../core/resources.ts";
1616
import { simple } from "acorn/walk";
1717
import { Parser } from "acorn/acorn";
1818
import classFields from "acorn-class-fields";
19-
import { initYamlIntelligenceResourcesFromFilesystem } from "../../core/schema/utils.ts";
19+
import { initYamlIntelligenceResourcesFromFilesystem } from "../../../core/schema/utils.ts";
2020

2121
// initialize language handlers
22-
import "../../core/handlers/handlers.ts";
23-
import { join } from "../../deno_ral/path.ts";
22+
import "../../../core/handlers/handlers.ts";
23+
import { join } from "../../../deno_ral/path.ts";
2424

2525
function ensureAllowableIDESyntax(src: string, filename: string) {
2626
const ast = Parser.extend(classFields).parse(src, {

src/command/dev-call/cmd.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import { Command } from "cliffy/command/mod.ts";
2+
import { quartoConfig } from "../../core/quarto.ts";
3+
import { commands } from "../command.ts";
4+
import { buildJsCommand } from "./build-artifacts/cmd.ts";
5+
6+
type CommandOptionInfo = {
7+
name: string;
8+
description: string;
9+
args: [];
10+
flags: string[];
11+
equalsSign: boolean;
12+
typeDefinition: string;
13+
};
14+
15+
type CommandInfo = {
16+
name: string;
17+
description: string;
18+
options: CommandOptionInfo[];
19+
// arguments: string[];
20+
// subcommands: CommandInfo[];
21+
// aliases: string[];
22+
examples: { name: string; description: string }[];
23+
// flags: string[];
24+
usage: string;
25+
commands: CommandInfo[];
26+
};
27+
28+
const generateCliInfoCommand = new Command()
29+
.name("cli-info")
30+
.description("Generate JSON information about the Quarto CLI.")
31+
.action(async () => {
32+
const output: Record<string, unknown> = {};
33+
output["version"] = quartoConfig.version();
34+
const commandsInfo: CommandInfo[] = [];
35+
output["commands"] = commandsInfo;
36+
// deno-lint-ignore no-explicit-any
37+
const cmdAsJson = (cmd: any): CommandInfo => {
38+
return {
39+
name: cmd.getName(),
40+
description: cmd.getDescription(),
41+
options: cmd.getOptions(),
42+
usage: cmd.getUsage(),
43+
examples: cmd.getExamples(),
44+
commands: cmd.getCommands().map(cmdAsJson),
45+
};
46+
};
47+
output["commands"] = commands().map(cmdAsJson);
48+
console.log(JSON.stringify(output, null, 2));
49+
});
50+
51+
export const devCallCommand = new Command()
52+
.name("dev-call")
53+
.description(
54+
"Access internals of Quarto - this command is not intended for general use.",
55+
)
56+
.action(() => {
57+
devCallCommand.showHelp();
58+
Deno.exit(1);
59+
})
60+
.command("cli-info", generateCliInfoCommand)
61+
.command("build-artifacts", buildJsCommand);

0 commit comments

Comments
 (0)