Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
showfile: adapt to recent sphinx
[simgrid.git] / docs / source / _ext / showfile.py
index 5d79a32..7894d6d 100644 (file)
@@ -21,7 +21,7 @@ class ShowFileDirective(Directive):
     has_content = False
     optional_arguments = 1
     option_spec = {
-      'language': directives.unchanged
+        'language': directives.unchanged
     }
 
     def run(self):
@@ -72,6 +72,9 @@ class ExampleTabDirective(Directive):
         if filename[-3:] == '.py':
             language = 'Python'
             langcode = 'py'
+        elif filename[-2:] == '.c':
+            language = 'C'
+            langcode = 'c'
         elif filename[-4:] == '.cpp':
             language = 'C++'
             langcode = 'cpp'
@@ -79,7 +82,7 @@ class ExampleTabDirective(Directive):
             language = 'XML'
             langcode = 'xml'
         else:
-            raise Exception("Unknown language '{}'. Please choose '.cpp', '.py' or '.xml'".format(language))
+            raise Exception("Unknown language '{}'. Please choose '.cpp', '.py', '.c' or '.xml'".format(language))
 
         for idx, line in enumerate(self.content.data):
             self.content.data[idx] = '   ' + line
@@ -110,12 +113,21 @@ class ExampleTabDirective(Directive):
 
 class ToggleDirective(Directive):
     has_content = True
-    option_spec = {'header': directives.unchanged}
+    option_spec = {
+        'header': directives.unchanged,
+        'show': directives.flag
+    }
     optional_arguments = 1
 
     def run(self):
         node = nodes.container()
         node['classes'].append('toggle-content')
+        if "show" not in self.options:
+            # This :show: thing is not working, and I fail to see why.
+            # Only the hidden-content class gets a call to hide() in the Javascript,
+            # and :show:n block# still get hidden when I load the page.
+            # No idea what's going on (Mt)
+            node['classes'].append('hidden-content')
 
         par = nodes.container()
         par['classes'].append('toggle-header')
@@ -128,8 +140,8 @@ class ToggleDirective(Directive):
         return [par, node]
 
 def add_assets(app):
-    app.add_stylesheet(CSS_FILE)
-    app.add_javascript(JS_FILE)
+    app.add_css_file(CSS_FILE)
+    app.add_js_file(JS_FILE)
 
 
 def copy_assets(app, exception):
@@ -152,4 +164,3 @@ def setup(app):
 
     app.connect('builder-inited', add_assets)
     app.connect('build-finished', copy_assets)
-