<head th:remove="tag">
  <th:block th:insert="~{components/pagination/template :: head}"></th:block>
  <link rel="stylesheet" crossorigin href="/themes/howiehz-higan/assets/1.65.0CYzFYF-.css" integrity="sha384-bv46nxzzuKTUmShIjVzODvA/GTLyoLRmUAO91qbNIe3FhaSJKRaqlKXwK9Wk73IY">
  <link rel="stylesheet" crossorigin href="/themes/howiehz-higan/assets/1.65.0-atsn7w.css" integrity="sha384-FcuRoo5eWIbhaYuHiK5swRyw5K50nzdcKvhBq+coLCSGMyttBNqDsHrSR8qrvRnA">
  <link rel="stylesheet" crossorigin href="/themes/howiehz-higan/assets/1.65.0qIHECcD.css" integrity="sha384-FkgQFQ5Abs3/gUmXRzfvzOF5DE/NEXonujAFYqWsU4p62l6jBsG8j1hSD8u4cMqo">
</head>
<body th:remove="tag" th:fragment="body(posts, pageTemplateName)">
  <section class="post-list-summary flex tw-mb tw-ac">
    <div class="flex tw-mb tw-ac tw-jb">
      <th:block th:each="post : ${posts}">
        <th:block th:if="${#annotations.getOrDefault(post, 'higan.howiehz.top/show-in-post-list', 'true') == 'true'}">
          <div class="grid tw-ra tw-r tw-d">
            <div class="group relative flex tw-ac tw-y">
              <h2 class="color-text static tw-ae tw-xb tw-w tw-t">
                <div
                  class="post-card-hover absolute tw-ab tw-bb tw-ee tw-tb tw-z tw-s"
                ></div>
                <span
                  class="iconify-middle color-accent relative tw-vd iconify typcn--pin-outline"
                  th:if="${post.spec.pinned
                           and theme.config?.index_styles?.is_pin_icon_show
                           and theme.config?.index_styles?.pin_icon_position == 'left'}"
                ></span>
                <a th:href="@{${post.status?.permalink}}">
                  <span class="absolute tw-ab tw-bb tw-wd tw-z tw-s"></span>
                  <span class="relative tw-vd" th:text="${post.spec?.title}">文章标题替换位</span>
                </a>
                <span
                  class="iconify-middle color-accent relative tw-vd iconify typcn--pin-outline"
                  th:if="${post.spec.pinned
                           and theme.config?.index_styles?.is_pin_icon_show
                           and theme.config?.index_styles?.pin_icon_position == 'right'}"
                ></span>
              </h2>
              <time
                th:if="${!#strings.equals(pageTemplateName, 'index')
                         or (#strings.equals(pageTemplateName, 'index')
                             and theme.config?.index_styles?.is_show_post_pubdate_in_post_list_summary)}"
                class="color-base-content-80 relative tw-vd tw-wa tw-dd flex tw-ga tw-pc tw-kc tw-sb"
                th:datetime="${#temporals.format(post.spec.publishTime, 'yyyy-MM-dd')}"
              >
                <span class="absolute tw-qb tw-nc flex tw-ga" aria-hidden="true">
                  <span class="tw-yd tw-ad tw-ka tw-na tw-g"></span>
                </span>
                <th:block th:text="${#temporals.format(post.spec.publishTime, 'MMMM dd yyyy')}"></th:block>
              </time>
              <th:block th:if="${theme.config?.index_styles?.is_show_post_categories_in_post_list_summary}">
                <div
                  class="article-category color-time relative tw-wd tw-oc tw-bd block tw-be tw-kc tw-vb"
                  th:unless="${#lists.isEmpty(post.categories)}"
                >
                  <th:block th:each="categoryLeafNode, categoryLeafNodeIterStat : ${post.categories}">
                    <span class="categoryBreadcrumbs tw-fa">
                      <span th:if="${categoryLeafNodeIterStat.first}" class="iconify fa-solid--archive"></span>
                      <th:block
                        th:each="category, iterStat : ${categoryFinder.getBreadcrumbs(categoryLeafNode.metadata?.name)}"
                      >
                        <a
                          class="category-link"
                          th:href="@{${category.status?.permalink}}"
                          th:text="${category.spec?.displayName}"
                        >
                          文章分类名替换位 </a
                        ><span th:unless="${iterStat.last}"> ></span
                        ><span
                          th:if="${iterStat.last
                                   and !categoryLeafNodeIterStat.last}"
                          >,</span
                        >
                      </th:block>
                    </span>
                  </th:block>
                </div>
              </th:block>
              <th:block th:if="${theme.config?.index_styles?.is_show_post_tags_in_post_list_summary}">
                <div
                  class="article-tag color-time relative tw-wd tw-oc tw-bd block tw-be tw-kc tw-vb"
                  th:unless="${#lists.isEmpty(post.tags)}"
                >
                  <span class="iconify mdi--tag-outline"></span>
                  <th:block th:each="tag : ${post.tags}">
                    <a
                      class="tag-link color-time"
                      th:with="tagColor = ${tag.spec?.color}"
                      th:href="@{${tag.status?.permalink}}"
                      th:text="${tag.spec?.displayName}"
                      th:style="${tagColor != null
                                and !#strings.equalsIgnoreCase(tagColor, '#ffffff')}
                              ? |--tag-hash-color:${tagColor};|
                              : null"
                    >
                      文章标签名替换位
                    </a>
                  </th:block>
                </div>
              </th:block>
              <th:block th:if="${theme.config?.index_styles?.is_show_post_views_in_post_list_summary}">
                <div
                  class="color-time relative tw-vd tw-oc tw-bd tw-be tw-kc"
                  th:title="|#{page.post.visit-stats} ${post.stats?.visit}|"
                >
                  <span class="iconify mdi--eye-outline"></span>
                  <span th:text="${post.stats?.visit}">文章阅读量替换位</span>
                </div>
              </th:block>
              <th:block th:if="${theme.config?.index_styles?.is_show_post_estimated_reading_time_in_post_list_summary}">
                <div
                  class="color-time relative tw-vd tw-oc tw-bd tw-be tw-kc"
                  th:with="wordCount = ${pluginFinder.available('extra-api', '3.*')
                                         ? extraApiStatsFinder.getPostWordCount({name: post.metadata.name})
                                         : #strings.length(post.content?.content) / 2 }"
                  th:title="#{page.post.estimated-reading-time(#{common.words(${wordCount})})}"
                >
                  <span class="iconify mdi--clock-outline"></span>
                  <span
                    class="readtime"
                    th:text="#{common.min(${#numbers.formatDecimal(wordCount * 1.0 / 450, 1, 1) + '~' + #numbers.formatDecimal(wordCount * 1.0 / 350, 1, 1)})}"
                  >
                    文章预计阅读时间替换位
                  </span>
                </div>
              </th:block>
              <th:block th:if="${theme.config?.index_styles?.is_show_post_word_count_in_post_list_summary}">
                <span
                  class="color-time relative tw-vd tw-oc tw-bd tw-be tw-kc"
                  th:with="wordCount = ${pluginFinder.available('extra-api', '3.*')
                                         ? extraApiStatsFinder.getPostWordCount({name: post.metadata.name})
                                         : #strings.length(post.content?.content) / 2 }"
                  th:title="|#{page.post.word-count} #{common.words(${wordCount})}|"
                >
                  <span class="iconify fluent--text-edit-style-character-a-32-regular"></span>
                  <span class="word-count" th:text="${wordCount}">文章字数替换位</span>
                </span>
              </th:block>
              <th:block
                th:if="${theme.config?.index_styles?.is_show_post_excerpt_in_post_list_summary}"
                th:with="max_lines = ${theme.config?.index_styles?.post_excerpt_max_lines}"
              >
                <p
                  class="color-base-content-80 relative tw-vd tw-ld tw-bd tw-be tw-kc"
                  th:text="${post.status?.excerpt}"
                  th:classappend="|${max_lines == '1' ? 'v-line-clamp-1' : ''} ${max_lines == '2' ? 'v-line-clamp-2' : ''} ${max_lines == '3' ? 'v-line-clamp-3' : ''} ${max_lines == '4' ? 'v-line-clamp-4' : ''} ${max_lines == '5' ? 'v-line-clamp-5' : ''}|"
                >
                  文章概要替换位
                </p>
              </th:block>
              <div
                aria-hidden="true"
                class="color-primary relative tw-vd tw-md flex tw-ga tw-kc tw-qa"
                th:text="#{page.index.postListPermalinkText}"
                th:if="${theme.config?.index_styles?.is_show_index_post_list_permalink_text}"
              >
                跳转文章链接所用提示文字替换位
              </div>
              <img
                th:if="${theme.config?.index_styles?.is_show_post_cover_in_post_list_summary
                         and !#strings.isEmpty(post.spec.cover)}"
                th:src="${post.spec.cover}"
                th:alt="${post.spec?.title}"
                th:srcset="|
              ${thumbnail.gen(post.spec.cover, 's')} 400w,
              ${thumbnail.gen(post.spec.cover, 'm')} 800w,
              ${thumbnail.gen(post.spec.cover, 'l')} 1200w,
              ${thumbnail.gen(post.spec.cover, 'xl')} 1600w
              |"
                sizes="(max-width: 1600px) 100vw, 1600px"
                class="tw-vd tw-md tw-mc tw-rc tw-hb tw-ja"
              />
            </div>
            <time
              th:if="${!#strings.equals(pageTemplateName, 'index')
                       or (#strings.equals(pageTemplateName, 'index')
                           and theme.config?.index_styles?.is_show_post_pubdate_in_post_list_summary)}"
              class="color-base-content-80 relative tw-vd tw-wa tw-kd tw-dd hidden tw-ga tw-kc tw-fc"
              th:datetime="${#temporals.format(post.spec.publishTime, 'yyyy-MM-dd')}"
              th:text="${#temporals.format(post.spec.publishTime, 'MMMM dd yyyy')}"
            >
            </time>
          </div>
        </th:block>
      </th:block>
    </div>
    <th:block th:insert="~{components/pagination/template :: body(${posts})}"></th:block>
  </section>
</body>
