github issues list

by toubia95

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.6/download.min.js"></script>
<a href="#" id="dl">Télécharger le fichier</a>

<div id="display">

</div>

CSS

/* 
https://api.github.com/repos/gtoubiana/acte/issues?page=1&per_page=100
https://api.github.com/repos/gtoubiana/acte/issues?page=2&per_page=100
*/

#display {
  display: none;
}

JavaScript

$.getJSON("https://api.github.com/repos/gtoubiana/acte", function(issues) {})
    .done(function(issues) {
      var c = parseInt(issues.open_issues_count/100, 10)+1;
      var g = "";
      for (i = 1; i <= c; i++) {
      	alert(issues.open_issues_count+" issues.\nGénération de la page "+i+"/"+c);
        $.getJSON("https://api.github.com/repos/gtoubiana/acte/issues?per_page=100&direction=desc&page="+i, function(issues) {})
        .done(function(issues) {
          var i = 0;
          var l = issues.length;
          while (l--) {
            g = g + "  ☐ #" + issues[i].number + " - " + issues[i].title + " - https://github.com/gtoubiana/acte/issues/" + issues[i].number + "\n";
            i++;
          }
          $('#display').text(g);
        })
        .fail(function(jqXHR, textStatus, errorThrown) {
          alert('Données indisponibles (' + textStatus + ')');
        });
      }
    })
    .fail(function(jqXHR, textStatus, errorThrown) {
      alert('Données indisponibles (' + textStatus + ')');
    });

      $("#dl").click(function() {
        var letext = $("#display").text();
        var time = +new Date();
        download(letext, "Issues-" + time + ".todo", "text/plain");
      });