<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
      th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'page',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head">
    <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
                _permalink = ${singlePage.status.permalink},
                _cover = ${singlePage.spec.cover},
                _excerpt = ${singlePage.status.excerpt},
                _type = 'website')}"></th:block>
</th:block>
<th:block th:fragment="content">

    <div class="page" id="body-wrap">

        <!-- 头部导航栏 -->
        <header class="not-top-img" id="page-header">
            <nav th:replace="~{modules/nav :: nav(title = ${singlePage.spec.title})}"></nav>
        </header>
        <main class="layout hide-aside" id="content-inner">
            <div id="page">
                <div id="album" th:if="${#strings.equals(theme.config.photos.photosStyle, 'default')}">
                    <div th:replace="~{macro/author-content :: author-content(background = ${singlePage.spec.cover},
                        smallTitle = '相册集',
                        bigTitle = ${singlePage.spec.title},
                        detail = ${singlePage.spec.excerpt.raw},
                        buttonUrl = '',
                        buttonTitle = '')}"></div>

                    <div class="card-album">
                        <th:block th:each="group : ${photoFinder.groupBy()}">
                            <div class="card" th:onclick="pjax.loadUrl([['/photos?group='+${group.metadata.name}]])">
                                <img class="card_cover"
                                     th:src="${isLazyload ? loadingImg : #annotations.get(group, 'cover')}"
                                     th:data-lazy-src="${ isLazyload ? #annotations.get(group, 'cover') : ''}"
                                >
                                <div class="card__content">
                                    <p class="card__category" th:text="${group.spec.displayName}"></p>
                                    <h3 class="card__heading" th:text="${#annotations.get(group, 'description')}"></h3>
                                </div>
                            </div>
                        </th:block>
                        <th:block th:each="photos : ${photoFinder.groupBy()}">
                            <div class="album-content-nocover"></div>
                        </th:block>
                    </div>
                </div>
                <div class="gallery-groups" th:if="${#strings.equals(theme.config.photos.photosStyle, 'one')}">
                    <h2 style="text-align:center;">[[${theme.config.photos.bigTitle}]]</h2>
                    <div class="gallery-group-main">
                        <th:block th:each="group : ${photoFinder.groupBy()}">
                            <figure class="gallery-group no-lightbox">
                                <img class="gallery-group-img no-lightbox"
                                     th:src="${isLazyload ? loadingImg : #annotations.get(group, 'cover')}"
                                     th:data-lazy-src="${ isLazyload ? #annotations.get(group, 'cover') : ''}"
                                     alt="Group Image Gallery">
                                <figcaption>
                                    <div class="gallery-group-name">[[${group.spec.displayName}]]</div>
                                    <p>[[${#annotations.get(group, 'description')}]]</p><a target="_blank"
                                                                                           rel="noopener" th:onclick="pjax.loadUrl([['/photos?group='+${group.metadata.name}]])"></a>
                                </figcaption>
                            </figure>
                        </th:block>
                    </div>
                </div>
                <style>
                    .gallery-groups {
                        box-shadow: var(--heo-shadow-border);
                        padding: 1rem 2rem;
                        border-radius: 12px;
                        background: var(--heo-card-bg);
                        border: var(--style-border);
                        width: 100%;
                        align-self: flex-start;
                        animation: slide-in 0.6s 0.1s backwards;
                    }

                    :root {
                        --album-background-dark: #2d3548;
                        --album-text-light: rgba(255, 255, 255, 0.6);
                        --album-text-lighter: rgba(255, 255, 255, 0.9);
                        --album-spacing-s: 8px;
                        --album-spacing-m: 16px;
                        --album-spacing-l: 24px;
                        --album-spacing-xl: 32px;
                        --album-spacing-xxl: 64px
                    }

                    #album .card-album {
                        width: 100%;
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: space-between;
                        margin: var(--album-spacing-xxl) 0 0
                    }

                    #album .card-album .album-content-nocover {
                        width: calc(100% / 4 - 40px)
                    }

                    #album .card-album .card {
                        list-style: none;
                        position: relative;
                        display: flex;
                        width: calc(100% / 4 - 10px);
                        padding: 10px
                    }

                    #album .card-album .card:hover {
                        cursor: pointer
                    }

                    #album .card_cover {
                        border-radius: var(--album-spacing-l);
                        filter: brightness(.75) saturate(1.2) contrast(.85);
                        transform-origin: center;
                        transform: scale(1) translateZ(0);
                        transition: filter .2s linear, transform .2s linear;
                        max-width: 100%;
                        overflow: hidden;
                        height: 550px;
                        width: 100%;
                        max-width: 100%;
                        object-fit: cover;
                        border-radius: var(--album-spacing-l)
                    }

                    #album .card:hover .card_cover {
                        transform: scale(1.05) translateZ(0);
                        filter: brightness(.9) saturate(1.2) contrast(1)
                    }

                    #album .card-album:hover>.card:not(:hover) .card_cover {
                        filter: brightness(.5) saturate(.9) contrast(1.2) blur(20px)
                    }

                    #album .card__content {
                        left: 0;
                        padding: var(--album-spacing-l);
                        position: absolute;
                        top: 0
                    }

                    #album .card__category {
                        color: var(--album-text-light);
                        font-size: .8rem;
                        margin-bottom: var(--album-spacing-s);
                        text-transform: uppercase
                    }

                    #album .card__heading {
                        color: var(--album-text-lighter);
                        font-size: 1.5rem;
                        text-shadow: 2px 2px 20px rgba(0, 0, 0, .2);
                        line-height: 1.4;
                        word-spacing: 100vw
                    }

                    @media (min-width: 1024px) {
                        #album img.card_cover {
                            height: 600px
                        }
                    }

                    @media (max-width: 960px) {
                        #album .card-album .card {
                            width: calc(100% / 2 - 40px)
                        }
                    }

                    @media (max-width: 540px) {
                        #album .card-album .card {
                            width: calc(100%)
                        }
                    }
                </style>
                <!--/* 评论组件 */-->
                <th:block th:replace="~{modules/comment :: comment(group = 'content.halo.run',
                  kind = 'SinglePage',
                  name = ${singlePage.metadata.name},
                  allowComment = ${singlePage.spec.allowComment})}" />
            </div>

        </main>
        <!-- 底部 -->
        <footer th:replace="~{modules/footer}"/>
        <!-- 卡片顶部气泡效果 -->
        <script th:if="${theme.config.other.bubbleEnable}" async data-pjax
                th:src="${assets_link + '/libs/canvas/bubble.js'}"></script>
    </div>

</th:block>

</html>