Manual ordering of episodes and extras
[rnaseq-cwl-training.git] / _includes / aio-script.md
1 {% comment %}
2 As a maintainer, you don't need to edit this file.
3 If you notice that something doesn't work, please
4 open an issue: https://github.com/carpentries/styles/issues/new
5 {% endcomment %}
6
7 {% include manual_episode_order.html %}
8
9 <script>
10   window.onload = function() {
11     var lesson_episodes = [
12     {% for lesson_episode in lesson_episodes %}
13       {% if site.episode_order %}
14         {% assign episode = site.episodes | where: "slug", lesson_episode | first %}
15       {% else %}
16         {% assign episode = lesson_episode %}
17       {% endif %}
18     "{{ episode.url}}"{% unless forloop.last %},{% endunless %}
19     {% endfor %}
20     ];
21     var xmlHttp = [];  /* Required since we are going to query every episode. */
22     for (i=0; i < lesson_episodes.length; i++) {
23       xmlHttp[i] = new XMLHttpRequest();
24       xmlHttp[i].episode = lesson_episodes[i];  /* To enable use this later. */
25       xmlHttp[i].onreadystatechange = function() {
26         if (this.readyState == 4 && this.status == 200) {
27           var article_here = document.getElementById(this.episode);
28           var parser = new DOMParser();
29           var htmlDoc = parser.parseFromString(this.responseText,"text/html");
30           var htmlDocArticle = htmlDoc.getElementsByTagName("article")[0];
31           article_here.innerHTML = htmlDocArticle.innerHTML;
32         }
33       }
34       var episode_url = "{{ relative_root_path }}" + lesson_episodes[i];
35       xmlHttp[i].open("GET", episode_url);
36       xmlHttp[i].send(null);
37     }
38   }
39 </script>
40
41 {% comment %} Create an anchor for every episode.  {% endcomment %}
42
43 {% for lesson_episode in lesson_episodes %}
44   {% if site.episode_order %}
45     {% assign episode = site.episodes | where: "slug", lesson_episode | first %}
46   {% else %}
47     {% assign episode = lesson_episode %}
48   {% endif %}
49   <article id="{{ episode.url }}"></article>
50 {% endfor %}