<!doctype html>
[#escape x as (x)!?html]
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <title>${channel.title} - ${site.title}</title>
  <meta name="keywords" content="${channel.seoKeywords}">
  <meta name="description" content="${channel.seoDescription}">
  [#include 'includes_meta.html'/]
  [#include 'includes_css.html'/]
  [#include 'includes_js.html'/]
</head>
<body>
[#include 'includes_header.html'/]
<div class="bg-gray-200">
  <div class="container">
    <nav class="row" aria-label="breadcrumb">
      <ol class="col list-inline my-2">
        [#assign parent = channel.parent!channel/]
        <li class="list-inline-item"><a class="btn btn-sm [#if parent.id == channel.id]btn-primary[#else]btn-link[/#if]" href="${parent.url}">全部</a></li>
        [@ChannelList parentId=parent.id; list]
          [#list list as bean]
            <li class="list-inline-item"><a class="btn btn-sm [#if channel.id == bean.id]btn-primary[#else]btn-link[/#if]" href="${bean.url}">${bean.name}</a></li>
          [/#list]
        [/@ChannelList]
      </ol>
    </nav>
  </div>
</div>
<div class="container">
  <div class="row">
    <div class="col-lg-8 mt-2">
      [#assign customsQueryMap={}/]
      [#list channel.articleModel.fieldList?filter(field->['radio','checkbox','select','multipleSelect']?seqContains(field.type)) as field]
        <div class="py-1 border-bottom">
          [#assign param=field.code+'_key'/]
          <a href="${addParam(channel.url, channel.dynamicUrl, param)}" class="btn btn-sm[#if !Params[param]??] btn-secondary[#else] btn-link text-reset[/#if]">全部${field.name}</a>
          [@DictList typeId=field.dictTypeId; list]
            [#list list as dict]
              <a href="${addParam(channel.url, channel.dynamicUrl, param, dict.value)}"
                 class="btn btn-sm [#if Params[param]! == dict.value]btn-secondary[#else]btn-link text-reset[/#if]">${dict.name}</a>
            [/#list]
          [/@DictList]
        </div>
        [#assign customsQueryMap=customsQueryMap + {'EQ_'+param: Params[param]!}/]
      [/#list]
      [@ArticlePage channelId=channel.id isIncludeSubChannel='true' customs=customsQueryMap orderBy="sticky_desc,publishDate_desc,id_desc"; pagedList]
        <ul class="list-unstyled">
          [#list pagedList.content as bean]
            <li class="mt-3 media position-relative pb-3 border-bottom">
              [#if bean.image??]<img src="${bean.image}" class="mr-3 img-thumbnail" width="48" height="48" alt="${bean.title}">[/#if]
              <div class="media-body">
                <p class="mt-0 mb-1">[@A bean=bean class="text-reset stretched-link"]${bean.title}[/@A]</p>
                <p class="small text-muted d-none d-sm-block mb-2">${substring(bean.description,80,'...')}</p>
                <div class="small text-muted mt-2 clearfix">
                  <div class="float-left">
                    <span>[#list bean.channel.paths as n][@A bean=n/][#if n_has_next] > [/#if][/#list]</span>
                    <i class="ml-2 fas fa-download"></i> ${bean.downloads}
                  </div>
                  <div class="float-right"><i class="ml-2 far fa-clock"></i> ${bean.publishDate.format('yyyy-MM-dd')}</div>
                </div>
              </div>
            </li>
          [/#list]
        </ul>
        [#include 'includes_page.html'/]
      [/@ArticlePage]
    </div>
    <div class="col-sm-4 mt-3 px-4 d-none d-lg-block">
      <h5 class="border-bottom"><span class="border-primary cm-block-head-bottom">下载排行榜</span></h5>
      <div class="px-2 pb-2 mt-3">
        [@ArticleList channelId=channel.id isIncludeSubChannel='true' sort='@articleBuffer-downloads_desc' limit='10';list]
          [#list list as bean]
            <div class="mt-2 d-flex flex-row">
              <div><span class="badge [#if bean_index < 3]badge-primary[#else]badge-secondary[/#if]" style="width:26px;">${bean_index+1}</span></div>
              <div class="ml-2 flex-grow-1 text-truncate">[@A bean=bean class="text-reset"/]</div>
              <div class="text-muted">${bean.downloads}</div>
            </div>
          [/#list]
        [/@ArticleList]
      </div>
    </div>
  </div>
</div>
[#include 'includes_footer.html'/]
<script>axios.get('${api}/channel/view/${channel.id}');</script>
</body>
</html>
[/#escape]
