quarto-dev / quarto-cli

Open-source scientific and technical publishing system built on Pandoc.
https://quarto.org
Other
3.97k stars 328 forks source link

Record/keep extension source for later reuse (`quarto update extension ...`) #11468

Open mcanouil opened 1 week ago

mcanouil commented 1 week ago

Currently, when installation an extension from GitHub, if the extension name does not match the repository name, it's not possible to use quarto update extension ....

The majority of extensions uses quarto-<extension name> as a repository name instead of <extension name>. For example:

  1. Install extensions:

    quarto add mcanouil/quarto-iconify
    quarto add quarto-ext/typst-templates/poster
  2. Check the installed extensions

    quarto list extensions
    Id                         Version    Contributes        
    quarto-ext/poster          1.0.0      formats            
    mcanouil/iconify           2.1.0      shortcodes         
  3. Update the extensions

    quarto update extension quarto-ext/poster
    Extension not found in local or remote sources

This means that it's not possible to update the extension quarto-ext/poster because the repository name (directory) is typst-templates/poster and not poster. Same goes for the extension mcanouil/iconify.

This could be solved by recording/keeping the repository name (source) somewhere. It could be in _extension.yml under source key.

Keeping the source would allow better extension management and easier updates, e.g., quarto update extension all.

cderv commented 1 week ago

Just a note for clarity that quarto update extension does work, but you need to know the github repo name

> quarto update extension quarto-ext/quarto-poster

and we don't record it for now and we do store the extension in org-name/ext-name, ext-name being the registered name from the metadata of the extension. This name is also the one to use inside the document to load a filter for example. filter: [quarto-ext/poster]

So we need to

Thanks a lot for the report @mcanouil !