<section class="post-container pt-3" id="tagsIndex"><div class="container"><h1 class="section-heading heading1 d-flex text-left mb-5"><div class="text-gray">標籤：</div><div class="text-info">工具箱</div></h1><!--article-template template HTML--><div class="row articles-container"></div></div></section><script id="article-template" type="text/html"><article class="article col-6 col-md-4"><div class="card card-course"><div class="card-img img-ratio-1by1"><a href="{{url}}"><img alt="{{title}}" class="img-fluid" src="{{photo}}" /></a></div><div class="card-body"><div class="title"><a href="{{url}}">{{title}}</a></div><div class="price"><span class="symbol">$</span><span class="value">{{price}}</span></div></div></div></article></script><script id="article-noprice-template" type="text/html"><article class="article col-6 col-md-4"><div class="card card-course"><div class="card-img img-ratio-1by1"><a href="{{url}}"><img alt="{{title}}" class="img-fluid" src="{{photo}}" /></a></div><div class="card-body"><div class="title"><a href="{{url}}">{{title}}</a></div></div></div></article></script><script>jQuery(function(){
  // infinite scroll
  var $container = $('.articles-container').infiniteScroll({
    path: function () {
      //return window.location+'?page=' + this.pageIndex;
      return window.location+'.json?page=' + this.pageIndex;
    },
    responseType: 'text',
    status: '.scroll-status',
    scrollThreshold: 50,
    debug: true,
    history: false
  });

  $container.on('load.infiniteScroll', function (event, response) {
    // parse response into JSON data
    var data = JSON.parse(response);
    // compile data into HTML
    var itemsHTML = data.articles.map(getItemHTML).join('');
    var $items = $(itemsHTML);
    // no articles in data disable loadOnScroll
    if (!data.articles.length) {
       $container.infiniteScroll( 'option', {
          loadOnScroll: false,
        });
    } else {
      console.log(data.articles)
    }
    $container.infiniteScroll('appendItems', $items);
  });

  // load initial page
  $container.infiniteScroll('loadNextPage');

  function getItemHTML(data) {
    var itemTemplateSrc = data.price ? $('#article-template').html() : $('#article-noprice-template').html()
    var template = Handlebars.compile(itemTemplateSrc);
    /*
    Handlebars.registerHelper('tag_items', function() {
      var title = Handlebars.escapeExpression(this.title)
      var url = Handlebars.escapeExpression(this.url)
      return new Handlebars.SafeString(
        "<a class='btn btn-xs btn-secondary btn-tag' href='"+url+"'>"+title+"</a>"
      );
    });
    */
    return template(data);
  }

});</script>