%PDF- %PDF-
Direktori : /usr/local/sakura-blog/themes/theme-basic/gray/v1.1.3/templates/pages/ |
Current File : //usr/local/sakura-blog/themes/theme-basic/gray/v1.1.3/templates/pages/show.php |
<?php require_once(__DIR__ . "/../../utils.php"); function disabledClass(bool $cond): string { return $cond ? "disabled" : ""; } $url = "https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; $title = $blog->title . " | " . $article->title; ?> <html> <head <?= $blog->ogp->enabled ? 'prefix="og: https://ogp.me/ns#"' : "" ?>> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="description" content="<?= sanitizeHTML($description) ?>" /> <?php if ($is_private) { ?> <meta name="robots" content="noindex, nofollow" /> <?php } ?> <link rel="stylesheet" href="/assets/css/article.css" type="text/css" /> <title><?= sanitizeHTML($title) ?></title> <?= component("ogp-header", [ "blog" => $blog, "og_type" => "article", "og_title" => $title, "og_image_filename" => $article->thumbnail_filename, "og_description" => $description, ]) ?> </head> <body> <?= component("header", [ "blog" => $blog, ]) ?> <div class="layout"> <div class="layout__mv2"></div> <div class="content"> <div class="container"> <main class="main"> <div class="article"> <div> <a class="article__category" href="/categories/<?= $article->category->slug ?>"> <?= sanitizeHTML($article->category->name) ?> </a> <h1 class="article__title"><?= sanitizeHTML($article->title) ?></h1> <?php if ($article->tags->count() > 0) { ?> <ul class="article__tags"> <?php foreach ($article->tags as $tag) { ?> <li> <a class="article__tags-item" href="/tags/<?= $tag->slug ?>"><?= sanitizeHTML($tag->name) ?></a> </li> <?php } ?> </ul> <?php } ?> <div class="article__posted_at"> <div class="article__posted_at-item"> <i class="fa-regular fa-clock"></i> <span><?= $article->posted_at->format("Y-m-d H:i:s") ?></span> </div> <?php if ($article->posted_at->format("Y-m-d H:i:s") !== $article->edited_at->format("Y-m-d H:i:s")) { ?> <div class="article__posted_at-item"> <i class="fa-solid fa-repeat"></i> <span><?= $article->edited_at->format("Y-m-d H:i:s") ?></span> </div> <?php } ?> </div> </div> <section class="article__content"> <?php if ($article->thumbnail_filename !== "") { // thumbnailが設定されている場合 ?> <img class="article__content-thumbnail" src="/thumbnails/<?= $blog->thumbnail_size ?>/<?= $article->thumbnail_filename ?>" /> <?php } ?> <?= component("table-of-content") ?> <?= $article->content ?> </section> <div> <a class="article__category" href="/categories/<?= $article->category->slug ?>"> <?= sanitizeHTML($article->category->name) ?> </a> <ul class="article__tags"> <?php foreach ($article->tags as $tag) { ?> <li> <a class="article__tags-item" href="/tags/<?= $tag->slug ?>"><?= sanitizeHTML($tag->name) ?></a> </li> <?php } ?> </ul> </div> <div class="social-share"> <div class="social-share__heading">SNSシェア</div> <div class="social-share__links"> <a class="social-share__links-item" href="https://x.com/intent/tweet?url=<?= $url ?>&text=<?= sanitizeHTML($article->title) ?>" target="_blank"> <i class="fa-brands fa-x-twitter"></i> </a> <a class="social-share__links-item" href="https://b.hatena.ne.jp/entry/<?= $url ?>" target="_blank"> <i class="hatena-bookmark"></i> </a> <a class="social-share__links-item" href="https://www.facebook.com/sharer/sharer.php?u=<?= $url ?>" target="_blank"> <i class="fa-brands fa-facebook-f"></i> </a> </div> </div> <div class="author"> <h2 class="author__title">この記事を書いた人</h2> <div class="author__info"> <?php if ($article->author->profile_image_filename === "") { ?> <i class="author__info-icon avatar-icon"></i> <?php } else { ?> <img class="author__info-icon" src="/files/<?= $article->author->profile_image_filename ?>" /> <?php } ?> <div class="author__info-profile"> <span class="author__info-username"><?= sanitizeHTML($article->author->name) ?></span> <p class="author__info-description"><?= sanitizeHTML($article->author->bio) ?></p> <?php if ($article->author->x_username !== "" || $article->author->facebook_username !== "" || $article->author->instagram_username !== "") { ?> <div class="author__info-socials"> <?php if ($article->author->x_username !== "") { ?> <a class="author__info-social-icon" href="https://x.com/<?= $article->author->x_username ?>" target="_blank"> <i class="fa-brands fa-x-twitter"></i> </a> <?php } if ($article->author->facebook_username !== "") { ?> <a class="author__info-social-icon" href="https://www.facebook.com/<?= $article->author->facebook_username ?>" target="_blank"> <i class="fa-brands fa-facebook-f"></i> </a> <?php } if ($article->author->instagram_username !== "") { ?> <a class="author__info-social-icon" href="https://www.instagram.com/<?= $article->author->instagram_username ?>" target="_blank"> <i class="fa-brands fa-instagram"></i> </a> <?php } ?> </div> <?php } ?> </div> </div> </div> <nav class="navigation"> <li> <?php if (is_null($navigation["prev"])) { ?> <div class="navigation__item disabled"> <i class="prev-icon"></i> <span>前の記事を読む</span> </div> <?php } else { ?> <a class="navigation__item" href="/articles/<?= $navigation["prev"]->id ?>"> <i class="prev-icon"></i> <span>前の記事を読む</span> </a> <?php } ?> </li> <li> <?php if (is_null($navigation["next"])) { ?> <div class="navigation__item disabled"> <span>次の記事を読む</span> <i class="next-icon"></i> </div> <?php } else { ?> <a class="navigation__item" href="/articles/<?= $navigation["next"]->id ?>"> <span>次の記事を読む</span> <i class="next-icon"></i> </a> <?php } ?> </li> </nav> </div> </main> <aside class="widgets"> <?= component("blog-profile", array_merge([ "name" => $blog->title, "subtitle" => $blog->subtitle, ], $blog_profile)) ?> <?= component("category-list", [ "categories" => $categories, ]) ?> <?= component("tag-list", [ "tags" => $tags, ]) ?> <?= component("archive-list", [ "archives" => $archives, ]) ?> </aside> </div> </div> </div> <?= component("breadcrumb", [ "items" => [ [ "href" => "/categories/{$article->category->slug}", "label" => $article->category->name, ], ["label" => $article->title, "is_current" => true], ], ]) ?> <?= component("footer", [ "blog" => $blog, "categories" => $categories, "tags" => $tags, ]) ?> <script src="/assets/js/toc.js"></script> </body> </html>