quarto-dev / quarto-dev/quarto-cli

Quarto processes several files when previewing one

Open
#7,049 15 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement preview
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 9h
Merged PRs (30d)
41

Description

Bug description

I have several qmd files in a subdirectory of a Quarto website project. When I open one of them in VS Code and trigger preview, the terminal opens with quarto preview for that file, and it gets processed. However, immediately afterwards another file in the same directory gets processed, too:

$ quarto preview /home/ca/work/Projects/cvcrossmanova/docs-sources/example/cvmanova.qmd --no-browser --no-watch-inputs

Starting matlab kernel...Done

Executing 'cvmanova.ipynb'
  Cell 1/16: ''...Done
  Cell 2/16: ''...Done
–– snip ––
  Cell 16/16: ''...Done

pandoc 
  to: html
  from: markdown
  output-file: cvmanova.html
  standalone: true
  title-prefix: CvCrossManova Toolbox
  section-divs: true
  html-math-method: mathjax
  wrap: none
  default-image-extension: png
  css:
    - ../styles.css
  toc: true
  
metadata
  document-css: false
  link-citations: true
  lang: en
  date: last-modified
  date-format: YYYY–M–D
  published-title: last modified
  theme: cosmo
  toc-expand: true
  toc-title: '{{< meta title >}}'
  grid:
    margin-width: 300px
  title: Cross-validated MANOVA
  jupyter: matlab
  order: 13
  
Output created: ../../docs/example/cvmanova.html

Preparing to preview
[1/2] example/preparation.qmd

Starting matlab kernel...Done

Executing 'preparation.ipynb'
  Cell 1/8: ''...Done
  Cell 2/8: ''...Done
…

That could be a minor inconvenience if it weren't the case that these files implement different parts of a long-running computation, and one of the other files deletes a subdirectory containing result files to start from scratch.

Steps to reproduce

Not sure how, I observed this behavior only with one specific project. I have another website project, and tried to induce the same behaviour, but without success.

Expected behavior

To process only the file that is previewed.

Actual behavior

See above.

Your environment

Debian GNU/Linux 12.1, kernel 6.4.0-0.deb12.2-amd64
VS Code 1.82.2
Quarto extension 1.100.0

Quarto check output
Quarto 1.4.388
[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.1.8: OK
      Dart Sass version 1.55.0: OK
      Deno version 1.33.4: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 1.4.388
      Path: /opt/quarto/bin

[✓] Checking tools....................OK
      TinyTeX: (not installed)
      Chromium: (not installed)

[✓] Checking LaTeX....................OK
      Using: Installation From Path
      Path: /usr/bin
      Version: 2022

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.11.2
      Path: /usr/bin/python3
      Jupyter: (None)

      Jupyter is not available in this Python installation.
      Install with python3 -m pip install jupyter

[✓] Checking R installation...........OK
      Version: 4.3.1
      Path: /usr/lib/R
      LibPaths:
        - /home/ca/Store/R
        - /usr/local/lib/R/site-library
        - /usr/lib/R/site-library
        - /usr/lib/R/library
      knitr: 1.43
      rmarkdown: 2.24

[✓] Checking Knitr engine render......OK

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing quarto preview on cvmanova.qmd in the reported website project and compare the subsequent processing of preparation.qmd. Trace the preview entry point to determine why another file is selected; done means preview processes only the requested file without processing or deleting files from the same directory.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.