%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/sakura-blog/themes/theme-basic/blue/v1.1.5/templates/pages/
Upload File :
Create Path :
Current File : //usr/local/sakura-blog/themes/theme-basic/blue/v1.1.5/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>

Zerion Mini Shell 1.0