@using Microsoft.Extensions.Configuration
@model IEnumerable<Dpz.Core.Public.ViewModel.Response.ArticleMiniResponse>
@inject IConfiguration Configuration

@foreach (var item in Model)
{
    <article class="article-card">
        @if (!string.IsNullOrEmpty(item.MainImage))
        {
            <div class="article-card__cover">
                @if (!item.MainImage.StartsWith(Configuration["upyun:Host"] ?? "", StringComparison.OrdinalIgnoreCase))
                {
                    <img
                        src="@Program.LibraryHost/loaders/oval.svg"
                        data-src="@item.MainImage"
                        alt="@item.Title"
                        class="lazy"
                        loading="lazy"/>
                }
                else
                {
                    <img
                        src="@Program.LibraryHost/loaders/oval.svg"
                        data-src="@(item.MainImage + "!article.list")"
                        data-origin="@item.MainImage"
                        alt="@item.Title"
                        class="lazy"
                        loading="lazy"/>
                }
            </div>
        }
        <div class="article-card__content">
            <div class="article-card__meta">
                <span class="article-card__date">
                    <i class="fa-regular fa-calendar"></i>
                    <time datetime="@item.CreateTime">@item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")</time>
                </span>
                <span class="article-card__category">
                    <i class="fa-regular fa-user"></i>
                    @item.Author.Name
                </span>
            </div>
            <h3 class="article-card__title">
                <a asp-action="Read" asp-controller="Article" asp-route-id="@item.Id" data-pjax>@item.Title</a>
            </h3>
            <div class="article-card__excerpt">
                @Html.Raw(item.Introduction)
            </div>
            <div class="article-card__footer">
                <div class="article-card__tags">
                    @foreach (var tag in item.Tags.Take(3))
                    {
                        <a asp-controller="Article"
                           asp-action="Index"
                           asp-route-tag="@tag"
                           class="article__tag"
                           data-pjax>
                            #@tag
                        </a>
                    }
                </div>
                <div class="article-card__stats">
                    <span class="stat-item" title="浏览量">
                        <i class="fa fa-eye"></i> @item.ViewCount
                    </span>
                    <span class="stat-item" title="评论数">
                        <i class="fa-solid fa-comment-dots"></i> @item.CommentCount
                    </span>
                </div>
            </div>
        </div>
    </article>
}
评论加载中...