Unexpected behavior when developing revealjs-plugin extension, suggest imporved docs on `config` key.
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- Half a day
- Newbie friendliness
- 64/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Stale
- Tech stack
- javascript
- Domain
- documentation
Research direction
Start with the RevealJS-Plugins documentation, especially the plugin configuration section, and compare it with the linked Advanced Reveal plugin examples and _extension.yml/plugin.yml structures. Document that the config key enables user options from pres.qmd to be read, including the relevant placement and an example; the linked documentation should make this behavior explicit.
Written by the indexing model from the issue text.
Description
What would you like to do?
Report an issue on quarto.org
Description
I'm currently developing a revealjs-plugin extension. Currently, $ quarto create extension revealjs-plugin creates an _extension.yml folder, as described in Quarto Docs > Extensions > RevealJS-Plugins. The configuration section of this page uses the following language:
Note that when packaging an existing Revealjs plugin, you can override its default configuration using the config key within your _extension.yml file. For example, these are the overrides provided by the pointer extension:
However, this doesn't document the fact that if you don't pass a config: ext-name: <foo> key into this file, then quarto will not read the options from a users pres.qmd yaml. For example, suppose I am adding functionality to an extension, ext. I have set defaults for my added features in the extension internals, and I'm not changing the pre-existing defaults otherwise. Based on the docs, I wouldn't think of a need to pass the defaults to _extension.yml to expose these feature options to the user. However, in my pres.qmd, under format: > revealjs:, the extension relevant keys, say:
ext:
new-feature:
width: 333
height: -10
pre-existing-feature: false
are not processed by Quarto. On the other hand, including the following in _extension.yml > contributes: > revealjs-plugins: (inline with the - name: ext key)
config:
ext: "meaningless string"
allows for any of the aforementioned keys to work in pres.qmd. This behavior is reasonable, the _extension's config: ext key tells Quarto to listen for user options, I just think it would be helpful to document that with more explicit language.
Relatedly, the Quarto Docs > Presentations > Revealjs > Advanced Reveal #Plugins page describes using a plugin.yml file with a similar yet slightly simplified structure as compared to _extension.yml. I assume this is for personal (vs. distributed, as a Quarto extension) use of reveal plugins, but I'm mainly just including it so you know I've read it. It seems like the config: > plugin: keys work similarly in the linked source code examples.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from quarto-dev/quarto-cli
-
binder bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
quarto-dev/quarto-cli#14907 · 3 comments ·
-
brand bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
quarto-dev/quarto-cli#14891 ·
-
brand bug html revealjs
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
quarto-dev/quarto-cli#14882 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
quarto-dev/quarto-cli#14875 ·
-
Percent scripts: accept raw-string (r""") and '''-delimited markdown cells, as jupytext writes them Openengines-jupyter enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
quarto-dev/quarto-cli#14850 · 2 comments ·
All issues in quarto-dev/quarto-cli
Similar issues
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100