Skip to content
This repository was archived by the owner on Jun 7, 2023. It is now read-only.

Commit d169442

Browse files
committed
make qnumbers fully optional
1 parent 717730c commit d169442

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

runestone/common/runestonedirective.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ def setup(app):
171171
app.add_role('skipreading', SkipReading)
172172
# See http://www.sphinx-doc.org/en/stable/extdev/appapi.html#sphinx.application.Sphinx.add_config_value.
173173
app.add_config_value('runestone_server_side_grading', False, 'env')
174+
app.add_config_value('generate_component_labels', True, 'env')
174175

175176

176177
# A base class for all Runestone directives.
@@ -203,10 +204,11 @@ def __init__(self, *args, **kwargs):
203204
# This is a base class for all Runestone directives which require a divid as their first parameter.
204205
class RunestoneIdDirective(RunestoneDirective):
205206
def getNumber(self):
206-
if self.name in UNNUMBERED_DIRECTIVES:
207+
env = self.state.document.settings.env
208+
209+
if self.name in UNNUMBERED_DIRECTIVES or env.config.generate_component_labels is False:
207210
return ""
208211

209-
env = self.state.document.settings.env
210212
env.assesscounter += 1
211213

212214
res = "Q-%d"
@@ -232,7 +234,9 @@ def updateContent(self):
232234
self.content
233235
)
234236
else:
235-
self.content[0] = self.options['qnumber'] + ': ' + self.content[0]
237+
if self.options['qnumber']:
238+
self.content[0] = self.options['qnumber'] + ': ' + self.content[0]
239+
236240

237241
def run(self):
238242
# Make sure the runestone directive at least requires an ID.

0 commit comments

Comments
 (0)