Show More
@@ -0,0 +1,24 b'' | |||||
|
1 | import re | |||
|
2 | from sphinx import addnodes | |||
|
3 | ||||
|
4 | line_magic_re = re.compile(r"%([\w_]+)") | |||
|
5 | cell_magic_re = re.compile(r"%%([\w_]+)") | |||
|
6 | ||||
|
7 | def parse_magic(env, sig, signode): | |||
|
8 | m = line_magic_re.match(sig) | |||
|
9 | if not m: | |||
|
10 | raise Exception("Invalid magic command: %s" % sig) | |||
|
11 | signode += addnodes.desc_name(sig, sig) | |||
|
12 | return m.group(1) | |||
|
13 | ||||
|
14 | def parse_cell_magic(env, sig, signode): | |||
|
15 | m = cell_magic_re.match(sig) | |||
|
16 | if not m: | |||
|
17 | raise ValueError("Invalid cell magic: %s" % sig) | |||
|
18 | signode += addnodes.desc_name(sig, sig) | |||
|
19 | return m.group(1) | |||
|
20 | ||||
|
21 | ||||
|
22 | def setup(app): | |||
|
23 | app.add_object_type('magic', 'magic', '%%%s (magic command)', parse_magic) | |||
|
24 | app.add_object_type('cellmagic', 'cellmagic', '%%%%%s (cell magic)', parse_cell_magic) |
@@ -52,6 +52,7 b' extensions = [' | |||||
52 | 'IPython.sphinxext.ipython_directive', |
|
52 | 'IPython.sphinxext.ipython_directive', | |
53 | 'numpydoc', # to preprocess docstrings |
|
53 | 'numpydoc', # to preprocess docstrings | |
54 | 'github', # for easy GitHub links |
|
54 | 'github', # for easy GitHub links | |
|
55 | 'magics', | |||
55 | ] |
|
56 | ] | |
56 |
|
57 | |||
57 | if ON_RTD: |
|
58 | if ON_RTD: |
General Comments 0
You need to be logged in to leave comments.
Login now