Skip to content

Commit 5e73a02

Browse files
Merge branch 'main' into fix/13900-cell-renderings-duplicate
2 parents 1c0460c + 50a7ea0 commit 5e73a02

714 files changed

Lines changed: 46411 additions & 2016 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/actions/quarto-dev/action.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ runs:
1212
restore-keys: |
1313
${{ runner.os }}-deno_std-2-
1414
15+
- name: Cache Cargo dependencies
16+
uses: actions/cache@v4
17+
with:
18+
path: |
19+
~/.cargo/registry
20+
~/.cargo/git
21+
package/typst-gather/target
22+
key: ${{ runner.os }}-cargo-typst-gather-${{ hashFiles('package/typst-gather/Cargo.lock') }}
23+
restore-keys: |
24+
${{ runner.os }}-cargo-typst-gather-
25+
1526
- name: Configure Quarto (.sh)
1627
if: runner.os != 'Windows'
1728
shell: bash
@@ -33,13 +44,13 @@ runs:
3344
- name: Basic dev mode sanity check
3445
shell: pwsh
3546
run: |
36-
If ( "$(quarto --version)" -ne "99.9.9") {
47+
If ( "$(quarto --version)" -ne "99.9.9") {
3748
echo "Unexpected version detected: $(quarto --version)"
38-
Exit 1
49+
Exit 1
3950
}
40-
If ( $(quarto --paths | Select-String -Pattern "package[/\\]+dist[/\\]+share") -ne $null ) {
51+
If ( $(quarto --paths | Select-String -Pattern "package[/\\]+dist[/\\]+share") -ne $null ) {
4152
echo "Unexpected package/dist/share path detected: $(quarto --paths)"
42-
Exit 1
53+
Exit 1
4354
}
4455
# check if configure is modifying some files as it should not
4556
$modifiedFiles = git diff --name-only

.github/workflows/create-release.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -360,10 +360,6 @@ jobs:
360360
if: ${{ inputs.publish-release }}
361361
uses: ./.github/workflows/actions/prevent-rerun
362362

363-
- name: Configure Rust Tools
364-
run: |
365-
rustup.exe toolchain install 1.63.0 --component rustfmt --component clippy --no-self-update
366-
rustup.exe default 1.63.0
367363
- name: Configure
368364
run: |
369365
.\configure.cmd
@@ -389,6 +385,7 @@ jobs:
389385
./package/pkg-working/bin/tools/x86_64/esbuild.exe
390386
./package/pkg-working/bin/tools/x86_64/dart-sass/src/dart.exe
391387
./package/pkg-working/bin/tools/x86_64/deno_dom/plugin.dll
388+
./package/pkg-working/bin/tools/x86_64/typst-gather.exe
392389
./package/pkg-working/bin/tools/pandoc.exe
393390
./package/pkg-working/bin/quarto.js
394391
env:

.github/workflows/performance-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
pushd package/src
3939
4040
bundle_start=$(date +%s.%3N)
41-
./quarto-bld prepare-dist
41+
./quarto-bld prepare-dist --set-version $(cat ../../version.txt)
4242
bundle_end=$(date +%s.%3N)
4343
bundle_elapsed=$(printf '%.3f\n' $(echo "scale=3; $bundle_end - $bundle_start" | bc))
4444

.github/workflows/test-bundle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
shell: bash
3434
run: |
3535
pushd package/src
36-
./quarto-bld prepare-dist
36+
./quarto-bld prepare-dist --set-version $(cat ../../version.txt)
3737
mv ../../src/quarto.ts ../../src/quarto1.ts
3838
pushd ../pkg-working/bin
3939
./quarto check

.github/workflows/test-smokes.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
9595
- name: Install node dependencies
9696
if: ${{ runner.os != 'Windows' || github.event_name == 'schedule' }}
97-
run: yarn
97+
run: npm install --loglevel=error --no-audit
9898
working-directory: ./tests/integration/playwright
9999
shell: bash
100100

@@ -105,7 +105,7 @@ jobs:
105105

106106
- name: Install MECA validator
107107
if: ${{ runner.os != 'Windows' }}
108-
run: npm install -g meca
108+
run: npm install -g meca --loglevel=error --no-audit
109109

110110
- name: Set RENV_PATHS_ROOT
111111
shell: bash
@@ -141,7 +141,7 @@ jobs:
141141
142142
- name: Install rsvg-convert for SVG conversion tests
143143
# Only do it on linux runner, and only if we are running the relevant tests
144-
if: runner.os == 'Linux' && contains(inputs.buckets, 'render-pdf-svg-conversion')
144+
if: runner.os == 'Linux' && (contains(inputs.buckets, 'render-pdf-svg-conversion') || contains(inputs.buckets, 'pdf-standard'))
145145
run: |
146146
sudo apt-get update -y
147147
sudo apt-get install -y librsvg2-bin
@@ -201,6 +201,13 @@ jobs:
201201
run: |
202202
quarto install tinytex
203203
204+
- name: Install veraPDF for PDF standard validation
205+
if: runner.os == 'Linux' && contains(inputs.buckets, 'pdf-standard')
206+
env:
207+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
208+
run: |
209+
quarto install verapdf
210+
204211
- name: Cache Typst packages
205212
id: cache-typst
206213
uses: ./.github/actions/cache-typst

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,6 @@ tools/sass-variable-explainer/_publish.yml
5353

5454
# generated by tests
5555
tests/docs/callouts.pdf
56+
57+
# quarto cache directories (populated at render time)
58+
.quarto

configuration

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export PANDOC=3.8.3
1717
export DARTSASS=1.87.0
1818
export ESBUILD=0.25.10
1919
export TYPST=0.14.2
20+
export VERAPDF=1.28.2
2021

2122

2223
# NB: we can't put comments in the same line as export statements because it

configure.cmd

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ IF EXIST !QUARTO_BIN_PATH!\quarto.cmd (
8989
ECHO NOTE: To use quarto please use quarto.cmd (located in this folder) or add the following path to your PATH
9090
ECHO !QUARTO_BIN_PATH!
9191

92+
REM Build typst-gather and install to tools directory
93+
ECHO Building typst-gather...
94+
cargo build --release --manifest-path package\typst-gather\Cargo.toml
95+
COPY package\typst-gather\target\release\typst-gather.exe "!QUARTO_BIN_PATH!\tools\x86_64\"
96+
9297
endlocal & set QUARTO_BIN_DEV=%QUARTO_BIN_PATH%
9398

9499
GOTO :eof

configure.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,8 @@ else
102102
export QUARTO_DENO_EXTRA_OPTIONS="--reload"
103103
quarto --version
104104
fi
105+
106+
# Build typst-gather and install to tools directory
107+
echo "Building typst-gather..."
108+
cargo build --release --manifest-path package/typst-gather/Cargo.toml
109+
cp package/typst-gather/target/release/typst-gather "$QUARTO_BIN_PATH/tools/$DENO_ARCH_DIR/"

llm-docs/CLAUDE.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# LLM Documentation
2+
3+
This directory contains documentation written for LLM assistants working on the Quarto codebase.
4+
5+
## Staleness Check
6+
7+
Each document has YAML frontmatter with analysis metadata:
8+
9+
```yaml
10+
---
11+
main_commit: abc1234 # merge-base with main (stable reference)
12+
analyzed_date: 2025-01-22
13+
key_files:
14+
- path/to/file1.ts
15+
- path/to/file2.lua
16+
---
17+
```
18+
19+
**Why merge-base?** Branch commits can be rebased or disappear. The merge-base with main is stable and represents the baseline from main that was analyzed.
20+
21+
**Before relying on a document**, check if key files have changed:
22+
23+
```bash
24+
git log --oneline <main_commit>..main -- <key_files>
25+
```
26+
27+
If there are significant changes, re-explore the codebase and update the document.
28+
29+
## Updating Documents
30+
31+
After re-analyzing, update the frontmatter:
32+
33+
```bash
34+
# Get merge-base with main (use upstream/main if that's the main remote)
35+
git merge-base HEAD main | cut -c1-9
36+
```
37+
38+
Then update `main_commit`, `analyzed_date`, and verify `key_files` list is complete.
39+
40+
**Date verification:** Before writing dates, check today's date from the system environment (shown at conversation start). This avoids year typos like writing 2025 when it's 2026.
41+
42+
## Document Purpose
43+
44+
These docs capture architectural understanding that would otherwise require extensive codebase exploration. They are NOT:
45+
- User documentation (that's at quarto.org)
46+
- Code comments (those live in source files)
47+
- Issue-specific notes (those go in PR descriptions)
48+
49+
They ARE:
50+
- Architectural overviews for AI assistants
51+
- File location maps for common tasks
52+
- Pattern documentation for consistency

0 commit comments

Comments
 (0)