Skip to content

project.render glob fails to match .qmd files in underscore-prefixed directories #14364

@jsbryaniv

Description

@jsbryaniv

I have:

  • searched the issue tracker for similar issues
  • installed the latest version of Quarto CLI
  • formatted my issue following the Bug Reports guide

Bug description

Make this clearer. How about

I ran into an issue setting the project files when my qmd documents are within a folder with an underscore prefix. For context, I am building a website with Jekyll, where underscore prefixes are required for certain behavior. I am building tutorials for my website using qmd, placing all of my tutorials under a folder called _tutorials.

The issue is that when setting my global config, _quarto.yml, If I set the project files using blog like

project:
  type: default
  render:
    - "_tutorials/**/*.qmd"

format:
  ... my format here...

None of my formatting options would be carried over into the rendered html. This is possibly because the quarto documents paths include _tutorials/..., which has an underscore prefix, which quarto ignores by default.

However I was able to get around this block by changing my project specification to the full dir rather than a glob search

project:
  type: default
  render:
    - "_tutorials"

format:
  ... my format here...

This passed all formatting through to my documents with no issue.

To me, specifying _tutorials and _tutorials/**/*.qmd should have equivalent behavior. I am surprised one works when the other doesnt. Also I would expect that a glob path would be more stable, since you specify exactly what files to include.

Expected behavior:
"_tutorials" and "_tutorials/**/*.qmd" should be equivalent in this case (both target the same .qmd files). I’d expect the glob form to work reliably, especially since it explicitly selects renderable files.

Steps to reproduce

Create _quarto.yml config, and place quarto document inside _example

project:
  type: default
  render:
    - "_example/**/*.qmd"

format:
  ... some formatting ...

Actual behavior

If the project render files specify the folder vs specify the glob search you get different behavior.

Expected behavior

Expected behavior:
"_tutorials" and "_tutorials/**/*.qmd" should be equivalent in this case (both target the same .qmd files). I’d expect the glob form to work reliably, especially since it explicitly selects renderable files.

Your environment

OS: macOS 26.3 (build 25D125)
Kernel/Arch: Darwin 25.3.0, arm64 (Apple Silicon)
Quarto: 1.9.36
Python: 3.13.6
Ruby: 2.6.10p210
Bundler: 2.4.22
Jekyll CLI: not currently available in this shell (jekyll not found / bundle exec jekyll not installed yet)

Quarto check output

jbryaniv@Js-MacBook-Air-4 jsbryaniv.github.io % quarto che
ck
Quarto 1.9.36
[✓] Checking environment information...
Quarto cache location: /Users/jbryaniv/Library/Caches/quarto
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.8.3: OK
Dart Sass version 1.87.0: OK
Deno version 2.4.5: OK
Typst version 0.14.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 1.9.36
Path: /Applications/quarto/bin

(|) Checking tools...........(/) Checking tools...........(-) Checking tools...........
[✓] Checking tools....................OK
TinyTeX: (not installed)
Chromium: (not installed)
Chrome Headless Shell: (not installed)
VeraPDF: (not installed)

(|) Checking LaTeX...........(/) Checking LaTeX...........(-) Checking LaTeX...........() Checking LaTeX...........(|) Checking LaTeX...........(/) Checking LaTeX...........(-) Checking LaTeX...........() Checking LaTeX...........(|) Checking LaTeX...........(/) Checking LaTeX...........
[✓] Checking LaTeX....................OK
Using: Installation From Path
Path: /Library/TeX/texbin
Version: 2025

[✓] Checking Chrome Headless....................OK
Using: Chrome found on system
Path: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Source: MacOS known location

(|) Checking basic markdown r(/) Checking basic markdown r(-) Checking basic markdown r() Checking basic markdown r(|) Checking basic markdown r(/) Checking basic markdown r
[✓] Checking basic markdown render....OK

[✓] Checking R installation...........(None)

  Unable to locate an installed version of R.
  Install R from https://cloud.r-project.org/

[✓] Checking Python 3 installation....OK
Version: 3.13.6
Path: /Library/Frameworks/Python.framework/Versions/3.13/bin/python3
Jupyter: 5.9.1
Kernels: project-env, python3

(|) Checking Jupyter engine r(/) Checking Jupyter engine r(-) Checking Jupyter engine r() Checking Jupyter engine r(|) Checking Jupyter engine r(/) Checking Jupyter engine r(-) Checking Jupyter engine r() Checking Jupyter engine r(|) Checking Jupyter engine r(/) Checking Jupyter engine r(-) Checking Jupyter engine r() Checking Jupyter engine r(|) Checking Jupyter engine r(/) Checking Jupyter engine r(-) Checking Jupyter engine r() Checking Jupyter engine r(|) Checking Jupyter engine r(/) Checking Jupyter engine r(-) Checking Jupyter engine r() Checking Jupyter engine r(|) Checking Jupyter engine r
[✓] Checking Jupyter engine render....OK

(|) Checking Julia installati(/) Checking Julia installati(-) Checking Julia installati() Checking Julia installati(|) Checking Julia installati(/) Checking Julia installati(-) Checking Julia installati() Checking Julia installati(|) Checking Julia installati(/) Checking Julia installati(-) Checking Julia installati() Checking Julia installati(|) Checking Julia installati(/) Checking Julia installati(-) Checking Julia installati() Checking Julia installati(|) Checking Julia installati(/) Checking Julia installati(-) Checking Julia installati() Checking Julia installati(|) Checking Julia installati(/) Checking Julia installati(-) Checking Julia installati() Checking Julia installati(|) Checking Julia installati(/) Checking Julia installati(-) Checking Julia installati() Checking Julia installati(|) Checking Julia installati
[✓] Checking Julia installation...
jbryaniv@Js-MacBook-Air-4 jsbryaniv.github.io %

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingprojects

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions