From 5b283ac547ad0388412cd7bfd1a567e6c1e2c1fe Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Thu, 24 Sep 2020 16:12:12 +0200 Subject: [PATCH] [EXT] admonition exercise ? --- _extensions/exercise_admonition.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 _extensions/exercise_admonition.py diff --git a/_extensions/exercise_admonition.py b/_extensions/exercise_admonition.py new file mode 100644 index 000000000..07cb11a53 --- /dev/null +++ b/_extensions/exercise_admonition.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +""" +Adds a new "exercise" admonition type +""" + +def setup(app): + app.add_directive('exercise', Exercise) + app.add_node(exercise, html=( + lambda self, node: self.visit_admonition(node, 'exercise'), + lambda self, node: self.depart_admonition(node) + ), latex=( + lambda self, node: self.visit_admonition(node), + lambda self, node: self.depart_admonition(node) + )) + +from docutils import nodes +from docutils.parsers.rst.directives import admonitions +class exercise(nodes.Admonition, nodes.Element): pass +class Exercise(admonitions.BaseAdmonition): + node_class = exercise + +from sphinx.locale import admonitionlabels +admonitionlabels['exercise'] = 'Exercise'