Merge pull request #185 from rgaiacs/178
[rnaseq-cwl-training.git] / bin / lesson_initialize.py
index d3fc0c33f9d798ddfb690899233a9a41a5fa0e3c..d239e2d3db7365b1ac7293fe69f18a6476e352ba 100755 (executable)
@@ -351,7 +351,41 @@ EXTRAS_FIGURES_MD = '''\
 layout: page
 title: Figures
 ---
-{% include all_figures.html %}
+<script>
+  window.onload = function() {
+    var lesson_episodes = [
+    {% for episode in site.episodes %}
+    "{{ episode.url}}"{% unless forloop.last %},{% endunless %}
+    {% endfor %}
+    ];
+    var xmlHttp = [];  /* Required since we are going to query every episode. */
+    for (i=0; i < lesson_episodes.length; i++) {
+      xmlHttp[i] = new XMLHttpRequest();
+      xmlHttp[i].episode = lesson_episodes[i];  /* To enable use this later. */
+      xmlHttp[i].onreadystatechange = function() {
+        if (this.readyState == 4 && this.status == 200) {
+          var article_here = document.getElementById(this.episode);
+          var parser = new DOMParser();
+          var htmlDoc = parser.parseFromString(this.responseText,"text/html");
+          var htmlDocArticle = htmlDoc.getElementsByTagName("article")[0];
+          article_here.appendChild(htmlDocArticle.getElementsByTagName("h1")[0]);
+          for (let image of htmlDocArticle.getElementsByTagName("img")) {
+            article_here.appendChild(image);
+          }
+        }
+      }
+      episode_url = "{{ page.root }}" + lesson_episodes[i];
+      xmlHttp[i].open("GET", episode_url);
+      xmlHttp[i].send(null);
+    }
+  }
+</script>
+{% comment %}
+Create anchor for each one of the episodes.
+{% endcomment %}
+{% for episode in site.episodes %}
+<article id="{{ episode.url }}"></article>
+{% endfor %}
 '''
 
 EXTRAS_GUIDE_MD = '''\
@@ -362,10 +396,6 @@ title: "Instructor Notes"
 FIXME
 '''
 
-INCLUDES_ALL_FIGURES_HTML = '''\
-<!-- empty -->
-'''
-
 BOILERPLATE = (
     ('AUTHORS', ROOT_AUTHORS),
     ('CITATION', ROOT_CITATION),
@@ -380,7 +410,6 @@ BOILERPLATE = (
     ('_extras/discuss.md', EXTRAS_DISCUSS_MD),
     ('_extras/figures.md', EXTRAS_FIGURES_MD),
     ('_extras/guide.md', EXTRAS_GUIDE_MD),
-    ('_includes/all_figures.html', INCLUDES_ALL_FIGURES_HTML)
 )