quarto-dev / quarto-dev/quarto-cli

project-type and project sidebar configurations cannot always merge

Aperta
#9,482 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

@cscheid ci sta già lavorando.

Dal 25/4/2024.

enhancement extensions projects websites
Lingua principale
JavaScript
Stelle
6k
Fork
458
Merge medio
1g 9h
PR unite (30g)
41

Descrizione

Bug description

The website.sidebar configuration is sometimes an array and sometimes an object. When an extension defines a custom website project type and sets some website.sidebar properties, that prevents a downstream project from using a different style of sidebar configuration.

For example, the extension may declare some sidebar defaults:

contributes:
  project:
    project:
      type: website
    website:
      sidebar:
        style: "floating"
        collapse-level: 1
        pinned: false

The project using this extension might try to use hybrid navigation, like the following:

  sidebar:
    - title: "Tutorials"
      style: "docked"
      background: light
      contents:
        - tutorials.qmd
        - tutorial-1.qmd
        - tutorial-2.qmd

    - title: "How-To"
      contents:
        - howto.qmd
        # navigation items

These two types of sidebar configurations cannot be merged.

An example of an extension which attempted to define the sidebar:

quarto add posit-dev/product-doc-theme@v1.1.0

We have abandoned sidebar configuration in the extension because of this issue.

Steps to reproduce

No response

Expected behavior

I do not know enough about all the sidebar configuration options to know if two configurations can always be merged. If they can, then that is what should happen. If they cannot be merged, Quarto should produce a message (warning or error) indicating that the extension and project sidebar configurations are incompatible.

Actual behavior

The extension-provided sidebar configuration appeared to win. The project sidebar configuration is not shown.

Your environment

No response

Quarto check output
Quarto 1.4.551
[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.1.11: OK
      Dart Sass version 1.69.5: OK
      Deno version 1.37.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
      Version: 1.4.551
      Path: /Users/aron/quarto/quarto-1.4.551-macos/bin

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

[✓] Checking LaTeX....................OK
      Using: Installation From Path
      Path: /Library/TeX/texbin
      Version: 2024

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

[✓] Checking Python 3 installation....OK
      Version: 3.12.2
      Path: /opt/homebrew/opt/python@3.12/bin/python3.12
      Jupyter: (None)

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

[✓] Checking R installation...........OK
      Version: 4.3.3
      Path: /Library/Frameworks/R.framework/Resources
      LibPaths:
        - /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library
      knitr: 1.45
      rmarkdown: 2.26

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.