summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-06-21 15:03:29 +0900
committernsfisis <nsfisis@gmail.com>2025-06-21 15:48:56 +0900
commite0a8e1b595dd5a636f49edce7c08b2fd12c1e452 (patch)
tree2bb9a635b6144273772c692b939750b71f7a7332
parentbe5d20ba8b6988c6107a6066774f3d7b994c48f5 (diff)
downloadnsfisis.dev-e0a8e1b595dd5a636f49edce7c08b2fd12c1e452.tar.gz
nsfisis.dev-e0a8e1b595dd5a636f49edce7c08b2fd12c1e452.tar.zst
nsfisis.dev-e0a8e1b595dd5a636f49edce7c08b2fd12c1e452.zip
feat(blog/nuldoc): implement pagination
-rw-r--r--vhosts/blog/nginx.conf6
-rw-r--r--vhosts/blog/nuldoc-src/commands/build.ts20
-rw-r--r--vhosts/blog/nuldoc-src/components/Pagination.tsx45
-rw-r--r--vhosts/blog/nuldoc-src/config.ts1
-rw-r--r--vhosts/blog/nuldoc-src/generators/post_list.ts48
-rw-r--r--vhosts/blog/nuldoc-src/pages/PostListPage.tsx37
-rw-r--r--vhosts/blog/nuldoc.toml1
-rw-r--r--vhosts/blog/public/404.html2
-rw-r--r--vhosts/blog/public/about/index.html2
-rw-r--r--vhosts/blog/public/index.html2
-rw-r--r--vhosts/blog/public/posts/2/index.html222
-rw-r--r--vhosts/blog/public/posts/2021-03-05/my-first-post/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-12-03/isucon-13/index.html2
-rw-r--r--vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-03-20/my-bucket-list/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html2
-rw-r--r--vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html2
-rw-r--r--vhosts/blog/public/posts/3/index.html222
-rw-r--r--vhosts/blog/public/posts/4/index.html222
-rw-r--r--vhosts/blog/public/posts/5/index.html222
-rw-r--r--vhosts/blog/public/posts/6/index.html100
-rw-r--r--vhosts/blog/public/posts/index.html662
-rw-r--r--vhosts/blog/public/slides/2023-01-18/phpstudy-tokyo-148/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-02-15/phpstudy-tokyo-149/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-03-15/phpstudy-tokyo-150/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-03-24/phperkaigi-2023/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-03-25/phperkaigi-2023-tokens/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-04-12/phpstudy-tokyo-151/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-06-21/phpstudy-tokyo-153/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-06-23/phpconfuk-2023-eve/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-07-26/phpstudy-tokyo-154/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-08-24/phpstudy-tokyo-155/index.html2
-rw-r--r--vhosts/blog/public/slides/2023-10-25/phpstudy-tokyo-157/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-01-24/phpstudy-tokyo-160/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-03-08/phperkaigi-2024/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-03-15/ya8-2024/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-04-13/phpcon-odawara-2024/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-04-25/phpstudy-tokyo-163/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-07-18/phpstudy-tokyo-166/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-10-30/phpstudy-tokyo-169/index.html2
-rw-r--r--vhosts/blog/public/slides/2024-11-30/cohackpp/index.html2
-rw-r--r--vhosts/blog/public/slides/2025-02-22/phpcon-nagoya-2025/index.html2
-rw-r--r--vhosts/blog/public/slides/2025-03-23/phperkaigi-2025/index.html2
-rw-r--r--vhosts/blog/public/slides/2025-04-12/phpcon-odawara-2025/index.html2
-rw-r--r--vhosts/blog/public/slides/index.html2
-rw-r--r--vhosts/blog/public/style.css51
-rw-r--r--vhosts/blog/public/tags/c/index.html2
-rw-r--r--vhosts/blog/public/tags/ci-cd/index.html2
-rw-r--r--vhosts/blog/public/tags/cohackpp/index.html2
-rw-r--r--vhosts/blog/public/tags/composer/index.html2
-rw-r--r--vhosts/blog/public/tags/conference/index.html2
-rw-r--r--vhosts/blog/public/tags/cpp/index.html2
-rw-r--r--vhosts/blog/public/tags/cpp17/index.html2
-rw-r--r--vhosts/blog/public/tags/game/index.html2
-rw-r--r--vhosts/blog/public/tags/gitlab/index.html2
-rw-r--r--vhosts/blog/public/tags/go/index.html2
-rw-r--r--vhosts/blog/public/tags/http/index.html2
-rw-r--r--vhosts/blog/public/tags/index.html2
-rw-r--r--vhosts/blog/public/tags/isucon/index.html2
-rw-r--r--vhosts/blog/public/tags/macos/index.html2
-rw-r--r--vhosts/blog/public/tags/mncore-challenge/index.html2
-rw-r--r--vhosts/blog/public/tags/neovim/index.html2
-rw-r--r--vhosts/blog/public/tags/note-to-self/index.html2
-rw-r--r--vhosts/blog/public/tags/ouj/index.html2
-rw-r--r--vhosts/blog/public/tags/perl/index.html2
-rw-r--r--vhosts/blog/public/tags/php/index.html2
-rw-r--r--vhosts/blog/public/tags/phpcon-nagoya/index.html2
-rw-r--r--vhosts/blog/public/tags/phpcon-odawara/index.html2
-rw-r--r--vhosts/blog/public/tags/phpconfuk/index.html2
-rw-r--r--vhosts/blog/public/tags/phpconkagawa/index.html2
-rw-r--r--vhosts/blog/public/tags/phpconokinawa/index.html2
-rw-r--r--vhosts/blog/public/tags/phperkaigi/index.html2
-rw-r--r--vhosts/blog/public/tags/phpkansai/index.html2
-rw-r--r--vhosts/blog/public/tags/phpstudy-tokyo/index.html2
-rw-r--r--vhosts/blog/public/tags/piet/index.html2
-rw-r--r--vhosts/blog/public/tags/python/index.html2
-rw-r--r--vhosts/blog/public/tags/python3/index.html2
-rw-r--r--vhosts/blog/public/tags/ruby/index.html2
-rw-r--r--vhosts/blog/public/tags/ruby3/index.html2
-rw-r--r--vhosts/blog/public/tags/rubykaigi/index.html2
-rw-r--r--vhosts/blog/public/tags/rust/index.html2
-rw-r--r--vhosts/blog/public/tags/scala/index.html2
-rw-r--r--vhosts/blog/public/tags/scalamatsuri/index.html2
-rw-r--r--vhosts/blog/public/tags/trick/index.html2
-rw-r--r--vhosts/blog/public/tags/vim/index.html2
-rw-r--r--vhosts/blog/public/tags/wasm/index.html2
-rw-r--r--vhosts/blog/public/tags/wireguard/index.html2
-rw-r--r--vhosts/blog/public/tags/ya8/index.html2
-rw-r--r--vhosts/blog/public/tags/yaml/index.html2
-rw-r--r--vhosts/blog/public/tags/yapc/index.html2
-rw-r--r--vhosts/blog/public/tags/zsh/index.html2
-rw-r--r--vhosts/blog/static/style.css51
138 files changed, 1376 insertions, 780 deletions
diff --git a/vhosts/blog/nginx.conf b/vhosts/blog/nginx.conf
index 7cc8bda1..eb1d9136 100644
--- a/vhosts/blog/nginx.conf
+++ b/vhosts/blog/nginx.conf
@@ -18,7 +18,10 @@ server {
error_page 404 /404.html;
- # Old URLs.
+ # Redirect to canonical path.
+ rewrite ^/posts/1/?$ /posts/ permanent;
+
+ # Old URL patterns.
rewrite ^/posts/(my-first-post)/?$ /posts/2021-03-05/$1/ permanent;
rewrite ^/posts/(phperkaigi-2021)/?$ /posts/2021-03-30/$1/ permanent;
rewrite ^/posts/(cpp-you-can-use-keywords-in-attributes)/?$ /posts/2021-10-02/$1/ permanent;
@@ -33,5 +36,6 @@ server {
# I mistakenly wrote 2023 in the URL instead of 2024.
rewrite ^/posts/2023-01-10/(neovim-insert-namespace-declaration-to-empty-php-file)/?$ /posts/2024-01-10/$1/ permanent;
+ # Renamed posts.
rewrite ^/posts/2024-03-20/todos-in-my-life/?$ /posts/2024-03-20/my-bucket-list/ permanent;
}
diff --git a/vhosts/blog/nuldoc-src/commands/build.ts b/vhosts/blog/nuldoc-src/commands/build.ts
index 52aca1f7..3f765441 100644
--- a/vhosts/blog/nuldoc-src/commands/build.ts
+++ b/vhosts/blog/nuldoc-src/commands/build.ts
@@ -14,7 +14,7 @@ import {
getPostPublishedDate,
PostPage,
} from "../generators/post.ts";
-import { generatePostListPage } from "../generators/post_list.ts";
+import { generatePostListPages } from "../generators/post_list.ts";
import { generateSlidePage, SlidePage } from "../generators/slide.ts";
import { generateSlideListPage } from "../generators/slide_list.ts";
import { generateTagPage, TagPage } from "../generators/tag.ts";
@@ -70,10 +70,22 @@ async function parsePosts(
}
async function buildPostListPage(posts: PostPage[], config: Config) {
- const postListPage = await generatePostListPage(posts, config);
- await writePage(postListPage, config);
+ // Sort posts by published date (newest first)
+ const sortedPosts = [...posts].sort((a, b) => {
+ const ta = dateToString(getPostPublishedDate(a));
+ const tb = dateToString(getPostPublishedDate(b));
+ if (ta > tb) return -1;
+ if (ta < tb) return 1;
+ return 0;
+ });
+
+ const postListPages = await generatePostListPages(sortedPosts, config);
+ for (const page of postListPages) {
+ await writePage(page, config);
+ }
+
const postFeedPage = await generateFeedPageFromEntries(
- postListPage.href,
+ "/posts/",
"posts",
`投稿一覧|${config.blog.siteName}`,
posts,
diff --git a/vhosts/blog/nuldoc-src/components/Pagination.tsx b/vhosts/blog/nuldoc-src/components/Pagination.tsx
new file mode 100644
index 00000000..5527c924
--- /dev/null
+++ b/vhosts/blog/nuldoc-src/components/Pagination.tsx
@@ -0,0 +1,45 @@
+type Props = {
+ currentPage: number;
+ totalPages: number;
+ basePath: string;
+};
+
+export default function Pagination(
+ { currentPage, totalPages, basePath }: Props,
+) {
+ if (totalPages <= 1) {
+ return <div></div>;
+ }
+
+ const prevPage = currentPage > 1 ? currentPage - 1 : null;
+ const nextPage = currentPage < totalPages ? currentPage + 1 : null;
+
+ const prevHref = prevPage === 1 ? basePath : `${basePath}${prevPage}/`;
+ const nextHref = `${basePath}${nextPage}/`;
+
+ return (
+ <nav className="pagination">
+ <div className="pagination-prev">
+ {prevPage
+ ? (
+ <a href={prevHref}>
+ 前のページ
+ </a>
+ )
+ : null}
+ </div>
+ <div className="pagination-info">
+ {String(currentPage)} / {String(totalPages)}
+ </div>
+ <div className="pagination-next">
+ {nextPage
+ ? (
+ <a href={nextHref}>
+ 次のページ
+ </a>
+ )
+ : null}
+ </div>
+ </nav>
+ );
+}
diff --git a/vhosts/blog/nuldoc-src/config.ts b/vhosts/blog/nuldoc-src/config.ts
index 5a07896f..adcb5632 100644
--- a/vhosts/blog/nuldoc-src/config.ts
+++ b/vhosts/blog/nuldoc-src/config.ts
@@ -18,6 +18,7 @@ const ConfigSchema = z.object({
fqdn: z.string(),
siteName: z.string(),
siteCopyrightYear: z.number(),
+ postsPerPage: z.number().default(10),
tagLabels: z.record(z.string(), z.string()),
}),
});
diff --git a/vhosts/blog/nuldoc-src/generators/post_list.ts b/vhosts/blog/nuldoc-src/generators/post_list.ts
index 67a4b996..b05f7ee6 100644
--- a/vhosts/blog/nuldoc-src/generators/post_list.ts
+++ b/vhosts/blog/nuldoc-src/generators/post_list.ts
@@ -6,18 +6,58 @@ import { PostPage } from "./post.ts";
export type PostListPage = Page;
-export async function generatePostListPage(
+export async function generatePostListPages(
posts: PostPage[],
config: Config,
+): Promise<PostListPage[]> {
+ const postsPerPage = config.blog.postsPerPage;
+ const totalPages = Math.ceil(posts.length / postsPerPage);
+ const pages: PostListPage[] = [];
+
+ for (let pageIndex = 0; pageIndex < totalPages; pageIndex++) {
+ const pagePosts = posts.slice(
+ pageIndex * postsPerPage,
+ (pageIndex + 1) * postsPerPage,
+ );
+
+ const page = await generatePostListPage(
+ pagePosts,
+ config,
+ pageIndex + 1,
+ totalPages,
+ );
+
+ pages.push(page);
+ }
+
+ return pages;
+}
+
+async function generatePostListPage(
+ posts: PostPage[],
+ config: Config,
+ currentPage: number,
+ totalPages: number,
): Promise<PostListPage> {
const html = await renderToDOM(
- PostListPage(posts, config),
+ PostListPage(
+ posts,
+ config,
+ currentPage,
+ totalPages,
+ ),
);
+ const destFilePath = currentPage === 1
+ ? "/posts/index.html"
+ : `/posts/${currentPage}/index.html`;
+
+ const href = currentPage === 1 ? "/posts/" : `/posts/${currentPage}/`;
+
return {
root: html,
renderer: "html",
- destFilePath: "/posts/index.html",
- href: "/posts/",
+ destFilePath,
+ href,
};
}
diff --git a/vhosts/blog/nuldoc-src/pages/PostListPage.tsx b/vhosts/blog/nuldoc-src/pages/PostListPage.tsx
index c1c5214c..054955e6 100644
--- a/vhosts/blog/nuldoc-src/pages/PostListPage.tsx
+++ b/vhosts/blog/nuldoc-src/pages/PostListPage.tsx
@@ -1,22 +1,28 @@
import GlobalFooter from "../components/GlobalFooter.tsx";
import GlobalHeader from "../components/GlobalHeader.tsx";
import PageLayout from "../components/PageLayout.tsx";
+import Pagination from "../components/Pagination.tsx";
import PostPageEntry from "../components/PostPageEntry.tsx";
import { Config } from "../config.ts";
-import { dateToString } from "../revision.ts";
-import { getPostPublishedDate, PostPage } from "../generators/post.ts";
+import { PostPage } from "../generators/post.ts";
export default function PostListPage(
posts: PostPage[],
config: Config,
+ currentPage: number,
+ totalPages: number,
) {
const pageTitle = "投稿一覧";
+ const pageInfoSuffix = ` (${currentPage}ページ目)`;
+ const metaTitle = `${pageTitle}${pageInfoSuffix}|${config.blog.siteName}`;
+ const metaDescription = `投稿した記事の一覧${pageInfoSuffix}`;
+
return (
<PageLayout
metaCopyrightYear={config.blog.siteCopyrightYear}
- metaDescription="投稿した記事の一覧"
- metaTitle={`${pageTitle}|${config.blog.siteName}`}
+ metaDescription={metaDescription}
+ metaTitle={metaTitle}
metaAtomFeedHref={`https://${config.blog.fqdn}/posts/atom.xml`}
config={config}
>
@@ -24,15 +30,22 @@ export default function PostListPage(
<GlobalHeader config={config} />
<main className="main">
<header className="page-header">
- <h1>{pageTitle}</h1>
+ <h1>{pageTitle}{pageInfoSuffix}</h1>
</header>
- {Array.from(posts).sort((a, b) => {
- const ta = dateToString(getPostPublishedDate(a));
- const tb = dateToString(getPostPublishedDate(b));
- if (ta > tb) return -1;
- if (ta < tb) return 1;
- return 0;
- }).map((post) => <PostPageEntry post={post} key={post.uuid} />)}
+
+ <Pagination
+ currentPage={currentPage}
+ totalPages={totalPages}
+ basePath="/posts/"
+ />
+
+ {posts.map((post) => <PostPageEntry post={post} key={post.uuid} />)}
+
+ <Pagination
+ currentPage={currentPage}
+ totalPages={totalPages}
+ basePath="/posts/"
+ />
</main>
<GlobalFooter config={config} />
</body>
diff --git a/vhosts/blog/nuldoc.toml b/vhosts/blog/nuldoc.toml
index f9ed1fc2..99ade657 100644
--- a/vhosts/blog/nuldoc.toml
+++ b/vhosts/blog/nuldoc.toml
@@ -11,6 +11,7 @@ author = "nsfisis"
fqdn = "blog.nsfisis.dev"
siteName = "REPL: Rest-Eat-Program Loop"
siteCopyrightYear = 2021
+postsPerPage = 10
[blog.tagLabels]
c = "C"
diff --git a/vhosts/blog/public/404.html b/vhosts/blog/public/404.html
index 77336cae..4ec4d011 100644
--- a/vhosts/blog/public/404.html
+++ b/vhosts/blog/public/404.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>Page Not Found|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/about/index.html b/vhosts/blog/public/about/index.html
index b19a49ed..82609ac7 100644
--- a/vhosts/blog/public/about/index.html
+++ b/vhosts/blog/public/about/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>About|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/index.html b/vhosts/blog/public/index.html
index 2cc31b2b..576fdcbd 100644
--- a/vhosts/blog/public/index.html
+++ b/vhosts/blog/public/index.html
@@ -14,7 +14,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2/index.html b/vhosts/blog/public/posts/2/index.html
new file mode 100644
index 00000000..9d03cad2
--- /dev/null
+++ b/vhosts/blog/public/posts/2/index.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2021 nsfisis">
+ <meta name="description" content="投稿した記事の一覧 (2ページ目)">
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="投稿一覧 (2ページ目)|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="投稿した記事の一覧 (2ページ目)">
+ <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
+ <meta property="og:locale" content="ja_JP">
+ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>投稿一覧 (2ページ目)|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
+ </head>
+ <body class="list">
+ <header class="header">
+ <div class="site-logo">
+ <a href="/">REPL: Rest-Eat-Program Loop</a>
+ </div>
+ <nav class="nav">
+ <ul>
+ <li>
+ <a href="/about/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/slides/">Slides</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <header class="page-header">
+ <h1>投稿一覧 (2ページ目)</h1>
+ </header>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 2 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/3/">次のページ</a>
+ </div>
+ </nav>
+ <article class="post-entry">
+ <a href="/posts/2024-12-04/cohackpp-report/">
+ <header class="entry-header">
+ <h2>紅白ぺぱ合戦に参加&amp;LTしました</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-12-04">2024-12-04</time> 投稿、<time datetime="2024-12-05">2024-12-05</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-09-28/mncore-challenge-1/">
+ <header class="entry-header">
+ <h2>MN-Core Challenge #1 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-08-28 から 2024-09-24 にかけて開催された MN-Core Challenge #1 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-09-28">2024-09-28</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/">
+ <header class="entry-header">
+ <h2>【Go】 text/template の with や range の内側から外側の &quot;.&quot; にアクセスする</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Go言語の text/template における with や range は &quot;.&quot; を上書きする。これらの内側から外側の &quot;.&quot; にアクセスする方法を調べた。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-08-19">2024-08-19</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-07-19/reparojson-fix-only-json-formatter/">
+ <header class="entry-header">
+ <h2>reparojson: 文法エラーを直すだけの JSON フォーマッタを作った</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 文法エラーだけを直し、空白の削除や挿入といった整形処理を一切おこなわない JSON フォーマッタを作成した。Neovim と連携させる設定例も紹介する。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-07-19">2024-07-19</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-06-19/scalamatsuri-2024-report/">
+ <header class="entry-header">
+ <h2>ScalaMatsuri 2024 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-06-08 から 2024-06-09 にかけて開催された、ScalaMatsuri 2024 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-06-19">2024-06-19</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-05-11/phpconkagawa-2024-report/">
+ <header class="entry-header">
+ <h2>PHP カンファレンス香川 2024 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-05-11 に開催された、PHP カンファレンス香川 2024 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-05-11">2024-05-11</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/">
+ <header class="entry-header">
+ <h2>【Zsh】 Composer のカスタムコマンドに対する Zsh 補完で引数にファイルを補完させる</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Zsh の Composer に対する補完はカスタムコマンドやその引数を補完しない。カスタムコマンドの引数としてファイルを補完させる方法を調べた。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-04-29">2024-04-29</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/">
+ <header class="entry-header">
+ <h2>【GitLab】 GitLab CI/CD 上での bash/sh は pipefail が有効になっている</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ GitLab CI/CD で bash/sh スクリプトを動かすと、pipefail オプションが有効になった状態で実行される。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-04-21">2024-04-21</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-04-14/phpcon-odawara-2024-report/">
+ <header class="entry-header">
+ <h2>PHP カンファレンス小田原 2024 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-04-13 に開催された、PHP カンファレンス小田原 2024 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-04-14">2024-04-14</time> 投稿、<time datetime="2024-06-01">2024-06-01</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-03-20/my-bucket-list/">
+ <header class="entry-header">
+ <h2>死ぬまでに作る自作○○一覧あるいは人生の TODO リスト</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 駄文
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-03-20">2024-03-20</time> 投稿、<time datetime="2024-04-07">2024-04-07</time> 更新
+ </footer>
+ </a>
+ </article>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 2 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/3/">次のページ</a>
+ </div>
+ </nav>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/vhosts/blog/public/posts/2021-03-05/my-first-post/index.html b/vhosts/blog/public/posts/2021-03-05/my-first-post/index.html
index 89340459..f1a3bc89 100644
--- a/vhosts/blog/public/posts/2021-03-05/my-first-post/index.html
+++ b/vhosts/blog/public/posts/2021-03-05/my-first-post/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>My First Post|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html b/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
index 8459a549..6815783c 100644
--- a/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
+++ b/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2021|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html b/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
index ff62c2e9..53bd4c70 100644
--- a/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【C++】 属性構文の属性名にはキーワードが使える|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html b/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
index 0e8c595b..6b9c4172 100644
--- a/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html b/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
index d8effaf6..9af43f11 100644
--- a/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Ruby】 自身を実行している処理系の種類を判定する|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html b/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
index e8da5364..5d8600f3 100644
--- a/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Ruby】 then キーワードと case in|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html b/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
index a480b6a4..840109c8 100644
--- a/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>Rust のプリミティブ型はどこからやって来るか|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html b/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
index b35db7fb..b053944a 100644
--- a/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Vim】 autocmd events の BufWrite/BufWritePre の違い|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html b/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
index ffbc2abc..fcdbec23 100644
--- a/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>Vimで選択した行の順番を入れ替える|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html b/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
index 46ccdb89..ee215a60 100644
--- a/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
+++ b/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2022 トークン問題の解説|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html b/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
index 392de62d..0b8b6d14 100644
--- a/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
+++ b/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>term-banner: ターミナルにバナーを表示するツールを書いた|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html b/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
index c87a9287..9e9613d5 100644
--- a/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
+++ b/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2022|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html b/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
index 9c4eb273..5835615d 100644
--- a/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
+++ b/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html b/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
index bc097fa3..3f5c70e8 100644
--- a/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
+++ b/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>弊社の PHP Foundation への寄付に寄せて|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html b/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
index 2f471ec7..ab8c9867 100644
--- a/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
+++ b/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【PHP】 fizzbuzz を書く。1行あたり2文字で。|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html b/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
index 270ca0c2..364bfb9c 100644
--- a/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
+++ b/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023: ボツになったトークン問題 その 1|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html b/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
index 95b2d08d..8ca361a6 100644
--- a/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
+++ b/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html b/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
index 5a97f3f7..551a3700 100644
--- a/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
+++ b/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023: ボツになったトークン問題 その 2|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html b/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
index 48d04436..4999317a 100644
--- a/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
+++ b/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023: ボツになったトークン問題 その 3|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html b/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
index a0e6c642..d70cf265 100644
--- a/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
+++ b/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>このブログのジェネレータを書き直した|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html b/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
index ff7e58c7..83d597ed 100644
--- a/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
+++ b/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PNG 画像の最小構成エンコーダを実装する|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html b/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
index da788f05..2fb7421b 100644
--- a/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
+++ b/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html b/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
index cba287cb..0ee28741 100644
--- a/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
+++ b/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス福岡 2023 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html b/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
index bd286a6d..34070bf9 100644
--- a/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
+++ b/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP の処理系を Emscripten で WebAssembly にコンパイルする|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html b/vhosts/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html
index 99656273..b7454af0 100644
--- a/vhosts/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html
+++ b/vhosts/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>放送大学に入学しました|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html b/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html
index 077d873c..0a476a84 100644
--- a/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html
+++ b/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>ISUCON 13 に参加した|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html b/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html
index b3717000..423eade4 100644
--- a/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html
+++ b/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>2023年の振り返り|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html b/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
index 2ed2dd3a..a85e5bb5 100644
--- a/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
+++ b/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html b/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
index e2f70edd..fe9be513 100644
--- a/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
+++ b/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【備忘録】 個人用サーバに WireGuard を導入する|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html b/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
index 1541d425..65e18ba8 100644
--- a/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>YAPC::Hiroshima 2024 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html b/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
index 4081d1e9..f3f42d6a 100644
--- a/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPカンファレンス関西 2024 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html b/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
index d37dc3ed..fef781ed 100644
--- a/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2024 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-03-20/my-bucket-list/index.html b/vhosts/blog/public/posts/2024-03-20/my-bucket-list/index.html
index 6de7de2a..2a074a11 100644
--- a/vhosts/blog/public/posts/2024-03-20/my-bucket-list/index.html
+++ b/vhosts/blog/public/posts/2024-03-20/my-bucket-list/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>死ぬまでに作る自作○○一覧あるいは人生の TODO リスト|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html b/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
index 676416f7..1d971870 100644
--- a/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス小田原 2024 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html b/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
index f2d709da..31fee59b 100644
--- a/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
+++ b/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【GitLab】 GitLab CI/CD 上での bash/sh は pipefail が有効になっている|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html b/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
index 66682843..3262c137 100644
--- a/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
+++ b/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Zsh】 Composer のカスタムコマンドに対する Zsh 補完で引数にファイルを補完させる|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html b/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
index 7f436a84..58395722 100644
--- a/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス香川 2024 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html b/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
index 54c1f999..d1adbb16 100644
--- a/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>ScalaMatsuri 2024 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html b/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
index e6caeb2b..f191ebeb 100644
--- a/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
+++ b/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>reparojson: 文法エラーを直すだけの JSON フォーマッタを作った|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html b/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
index 18730a09..39450d30 100644
--- a/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
+++ b/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Go】 text/template の with や range の内側から外側の &quot;.&quot; にアクセスする|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html b/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
index 8a190fe0..23d77a20 100644
--- a/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
+++ b/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>MN-Core Challenge #1 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html
index f8b0bce5..9c05a78a 100644
--- a/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html
+++ b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>紅白ぺぱ合戦に参加&amp;LTしました|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html b/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html
index 1ef7b57b..d1f71cea 100644
--- a/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html
+++ b/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>2024年の振り返り|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html b/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
index 3a153d33..a49c1087 100644
--- a/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
+++ b/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023 トークン問題解説 (1/5)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html b/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
index 36469811..1e0d983a 100644
--- a/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
+++ b/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【YAML】YAML 1.1 と YAML 1.2 の主な破壊的変更|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html b/vhosts/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html
index a6ff034c..82b9d835 100644
--- a/vhosts/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html
+++ b/vhosts/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス名古屋 2025 参加レポ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html b/vhosts/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html
index 00c6943e..11401ae6 100644
--- a/vhosts/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html
+++ b/vhosts/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>zip 関数のようなコマンド paste|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html b/vhosts/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html
index df8307a9..f0e17c27 100644
--- a/vhosts/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html
+++ b/vhosts/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【HTTP】HTTP/1.1 で同じヘッダを2回送るとどうなるか|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html b/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html
index 14018ff6..1c36083a 100644
--- a/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html
+++ b/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>RubyKaigi 2025 の TRICK で入賞した|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html b/vhosts/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html
index 487ec2c3..c482abb1 100644
--- a/vhosts/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html
+++ b/vhosts/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【Composer】 composer-patches v2 では macOS でも GNU patch のインストールが不要になる (予定)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html b/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html
index 299d3f94..da17228a 100644
--- a/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html
+++ b/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>セルフホスト可能な C コンパイラを作った|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html b/vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html
index e5409b73..cb82965f 100644
--- a/vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html
+++ b/vhosts/blog/public/posts/2025-06-14/baba-is-you/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>最高のパズルゲーム Baba Is You をやれ|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/posts/3/index.html b/vhosts/blog/public/posts/3/index.html
new file mode 100644
index 00000000..d1084aa1
--- /dev/null
+++ b/vhosts/blog/public/posts/3/index.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2021 nsfisis">
+ <meta name="description" content="投稿した記事の一覧 (3ページ目)">
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="投稿一覧 (3ページ目)|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="投稿した記事の一覧 (3ページ目)">
+ <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
+ <meta property="og:locale" content="ja_JP">
+ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>投稿一覧 (3ページ目)|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
+ </head>
+ <body class="list">
+ <header class="header">
+ <div class="site-logo">
+ <a href="/">REPL: Rest-Eat-Program Loop</a>
+ </div>
+ <nav class="nav">
+ <ul>
+ <li>
+ <a href="/about/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/slides/">Slides</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <header class="page-header">
+ <h1>投稿一覧 (3ページ目)</h1>
+ </header>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/2/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 3 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/4/">次のページ</a>
+ </div>
+ </nav>
+ <article class="post-entry">
+ <a href="/posts/2024-03-17/phperkaigi-2024-report/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2024 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-03-07 から 2024-03-09 にかけて開催された、PHPerKaigi 2024 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-03-17">2024-03-17</time> 投稿、<time datetime="2024-07-07">2024-07-07</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-02-22/phpkansai-2024-report/">
+ <header class="entry-header">
+ <h2>PHPカンファレンス関西 2024 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-02-21">2024-02-21</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-02-10/yapcjapan-2024-report/">
+ <header class="entry-header">
+ <h2>YAPC::Hiroshima 2024 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-02-10 に開催された、YAPC::Hiroshima 2024 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-02-10">2024-02-10</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-02-03/install-wireguard-on-personal-server/">
+ <header class="entry-header">
+ <h2>【備忘録】 個人用サーバに WireGuard を導入する</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたメモ
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-02-03">2024-02-03</time> 投稿、<time datetime="2024-02-17">2024-02-17</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/">
+ <header class="entry-header">
+ <h2>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Neovim で空の PHP ファイルを開いたとき、ディレクトリの構造に基づいて自動的に namespace 宣言を挿入するようにする。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-01-10">2024-01-10</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-12-31/2023-reflections/">
+ <header class="entry-header">
+ <h2>2023年の振り返り</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2023年にやったことを振り返る
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-12-31">2023-12-31</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-12-03/isucon-13/">
+ <header class="entry-header">
+ <h2>ISUCON 13 に参加した</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ ISUCON 13 に参加した。チーム名「うつしもゆ」、最終スコア 13,580 点
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-12-03">2023-12-03</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-10-13/i-entered-the-open-university-of-japan/">
+ <header class="entry-header">
+ <h2>放送大学に入学しました</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 放送大学に入学しました。頑張ります。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-10-13">2023-10-13</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-10-02/compile-php-runtime-to-wasm/">
+ <header class="entry-header">
+ <h2>PHP の処理系を Emscripten で WebAssembly にコンパイルする</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ PHP の処理系 (php/php-src) を Emscripten で WebAssembly にコンパイルし、任意のコードを隔離された環境で評価できるようにした。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-10-02">2023-10-02</time> 投稿、<time datetime="2025-04-23">2025-04-23</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-06-25/phpconfuk-2023-report/">
+ <header class="entry-header">
+ <h2>PHP カンファレンス福岡 2023 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2023-06-24 に開催された、PHP カンファレンス福岡に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-06-25">2023-06-25</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/2/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 3 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/4/">次のページ</a>
+ </div>
+ </nav>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/vhosts/blog/public/posts/4/index.html b/vhosts/blog/public/posts/4/index.html
new file mode 100644
index 00000000..f5c6bc29
--- /dev/null
+++ b/vhosts/blog/public/posts/4/index.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2021 nsfisis">
+ <meta name="description" content="投稿した記事の一覧 (4ページ目)">
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="投稿一覧 (4ページ目)|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="投稿した記事の一覧 (4ページ目)">
+ <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
+ <meta property="og:locale" content="ja_JP">
+ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>投稿一覧 (4ページ目)|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
+ </head>
+ <body class="list">
+ <header class="header">
+ <div class="site-logo">
+ <a href="/">REPL: Rest-Eat-Program Loop</a>
+ </div>
+ <nav class="nav">
+ <ul>
+ <li>
+ <a href="/about/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/slides/">Slides</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <header class="page-header">
+ <h1>投稿一覧 (4ページ目)</h1>
+ </header>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/3/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 4 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/5/">次のページ</a>
+ </div>
+ </nav>
+ <article class="post-entry">
+ <a href="/posts/2023-04-04/phperkaigi-2023-report/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2023 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2023-03-23 から 2023-03-25 にかけて開催された、PHPerKaigi 2023 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-04-04">2023-04-04</time> 投稿、<time datetime="2023-06-28">2023-06-28</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-04-01/implementation-of-minimal-png-image-encoder/">
+ <header class="entry-header">
+ <h2>PNG 画像の最小構成エンコーダを実装する</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ PNG 画像として valid な範囲で最大限手抜きしたエンコーダを書く。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-04-01">2023-04-01</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-03-10/rewrite-this-blog-generator/">
+ <header class="entry-header">
+ <h2>このブログのジェネレータを書き直した</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ このブログのジェネレータを書き直したので、やったことを書き記しておく。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-03-10">2023-03-10</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2023: ボツになったトークン問題 その 3</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 3)。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-01-10">2023-01-10</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2023: ボツになったトークン問題 その 2</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 2)。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-11-19">2022-11-19</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-10-28/setup-server-for-this-site/">
+ <header class="entry-header">
+ <h2>【備忘録】 このサイト用の VPS をセットアップしたときのメモ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ GitHub Pages でホストしていたこのサイトを VPS へ移行したので、そのときにやったことのメモ。99 % 自分用。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-10-28">2022-10-28</time> 投稿、<time datetime="2023-08-30">2023-08-30</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2023: ボツになったトークン問題 その 1</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 1)。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-10-23">2022-10-23</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/">
+ <header class="entry-header">
+ <h2>【PHP】 fizzbuzz を書く。1行あたり2文字で。</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ PHP で fizzbuzz を書いた。ただし、1行あたりに使える文字数は2文字まで。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-09-28">2022-09-28</time> 投稿、<time datetime="2022-09-29">2022-09-29</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-08-31/support-for-communty-is-employee-benefits/">
+ <header class="entry-header">
+ <h2>弊社の PHP Foundation への寄付に寄せて</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 先日、私の勤めるデジタルサーカス株式会社が、PHP Foundation へ寄付をおこないました。本件を社内でしつこく推進した1人として、推進の理由等を書き残しておきます。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-08-31">2022-08-31</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-08-27/php-conference-okinawa-code-golf/">
+ <header class="entry-header">
+ <h2>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ PHP カンファレンス沖縄の懇親会 LT で出題されたコードゴルフの問題を解いてみた。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-08-27">2022-08-27</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/3/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 4 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/5/">次のページ</a>
+ </div>
+ </nav>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/vhosts/blog/public/posts/5/index.html b/vhosts/blog/public/posts/5/index.html
new file mode 100644
index 00000000..6ae07782
--- /dev/null
+++ b/vhosts/blog/public/posts/5/index.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2021 nsfisis">
+ <meta name="description" content="投稿した記事の一覧 (5ページ目)">
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="投稿一覧 (5ページ目)|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="投稿した記事の一覧 (5ページ目)">
+ <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
+ <meta property="og:locale" content="ja_JP">
+ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>投稿一覧 (5ページ目)|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
+ </head>
+ <body class="list">
+ <header class="header">
+ <div class="site-logo">
+ <a href="/">REPL: Rest-Eat-Program Loop</a>
+ </div>
+ <nav class="nav">
+ <ul>
+ <li>
+ <a href="/about/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/slides/">Slides</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <header class="page-header">
+ <h1>投稿一覧 (5ページ目)</h1>
+ </header>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/4/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 5 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/6/">次のページ</a>
+ </div>
+ </nav>
+ <article class="post-entry">
+ <a href="/posts/2022-05-01/phperkaigi-2022/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2022</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-05-01">2022-05-01</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/">
+ <header class="entry-header">
+ <h2>term-banner: ターミナルにバナーを表示するツールを書いた</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ ターミナルに任意の文字のバナーを表示するためのツールを Go で書いた。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-04-24">2022-04-24</time> 投稿、<time datetime="2022-04-27">2022-04-27</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2022-04-09/phperkaigi-2022-tokens/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2022 トークン問題の解説</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ PHPerKaigi 2022 で私が作成した PHPer チャレンジ問題を解説する。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-04-09">2022-04-09</time> 投稿、<time datetime="2022-04-16">2022-04-16</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/">
+ <header class="entry-header">
+ <h2>【C++】 属性構文の属性名にはキーワードが使える</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ C++ の属性構文の属性名には、キーワードが使える。ネタ記事。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-10-02">2021-10-02</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-10-02/python-unbound-local-error/">
+ <header class="entry-header">
+ <h2>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Python における UnboundLocalError の理由と対処法。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-10-02">2021-10-02</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-10-02/ruby-detect-running-implementation/">
+ <header class="entry-header">
+ <h2>【Ruby】 自身を実行している処理系の種類を判定する</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Ruby には複数の実装があるが、自身を実行している処理系の種類をスクリプト上からどのように判定すればよいだろうか。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-10-02">2021-10-02</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-10-02/ruby-then-keyword-and-case-in/">
+ <header class="entry-header">
+ <h2>【Ruby】 then キーワードと case in</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Ruby 3.0 で追加される case in 構文と、then キーワードについて。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-10-02">2021-10-02</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-10-02/rust-where-are-primitive-types-from/">
+ <header class="entry-header">
+ <h2>Rust のプリミティブ型はどこからやって来るか</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Rust のプリミティブ型は予約語ではなく普通の識別子である。どのようにこれが名前解決されるのかを調べた。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-10-02">2021-10-02</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/">
+ <header class="entry-header">
+ <h2>【Vim】 autocmd events の BufWrite/BufWritePre の違い</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Vim の autocmd events における BufWrite/BufWritePre がどう違うのかを調べた結果、違いはないことがわかった。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-10-02">2021-10-02</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-10-02/vim-swap-order-of-selected-lines/">
+ <header class="entry-header">
+ <h2>Vimで選択した行の順番を入れ替える</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ Vim で選択した行の順番を入れ替える方法。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-10-02">2021-10-02</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/4/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 5 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/6/">次のページ</a>
+ </div>
+ </nav>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/vhosts/blog/public/posts/6/index.html b/vhosts/blog/public/posts/6/index.html
new file mode 100644
index 00000000..9fee169f
--- /dev/null
+++ b/vhosts/blog/public/posts/6/index.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2021 nsfisis">
+ <meta name="description" content="投稿した記事の一覧 (6ページ目)">
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="投稿一覧 (6ページ目)|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="投稿した記事の一覧 (6ページ目)">
+ <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
+ <meta property="og:locale" content="ja_JP">
+ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>投稿一覧 (6ページ目)|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
+ </head>
+ <body class="list">
+ <header class="header">
+ <div class="site-logo">
+ <a href="/">REPL: Rest-Eat-Program Loop</a>
+ </div>
+ <nav class="nav">
+ <ul>
+ <li>
+ <a href="/about/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/slides/">Slides</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <header class="page-header">
+ <h1>投稿一覧 (6ページ目)</h1>
+ </header>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/5/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 6 / 6
+ </div>
+ <div class="pagination-next">
+ </div>
+ </nav>
+ <article class="post-entry">
+ <a href="/posts/2021-03-30/phperkaigi-2021/">
+ <header class="entry-header">
+ <h2>PHPerKaigi 2021</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2021-03-26 から 2021-03-28 にかけて開催された、PHPerKaigi 2021 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-03-30">2021-03-30</time> 投稿、<time datetime="2025-04-09">2025-04-09</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
+ <a href="/posts/2021-03-05/my-first-post/">
+ <header class="entry-header">
+ <h2>My First Post</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ これはテスト投稿です。これはテスト投稿です。これはテスト投稿です。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-03-05">2021-03-05</time> 投稿、<time datetime="2025-05-12">2025-05-12</time> 更新
+ </footer>
+ </a>
+ </article>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/5/">前のページ</a>
+ </div>
+ <div class="pagination-info">
+ 6 / 6
+ </div>
+ <div class="pagination-next">
+ </div>
+ </nav>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/vhosts/blog/public/posts/index.html b/vhosts/blog/public/posts/index.html
index 11ccc67d..7b6ff6c7 100644
--- a/vhosts/blog/public/posts/index.html
+++ b/vhosts/blog/public/posts/index.html
@@ -5,16 +5,16 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="nsfisis">
<meta name="copyright" content="&copy; 2021 nsfisis">
- <meta name="description" content="投稿した記事の一覧">
+ <meta name="description" content="投稿した記事の一覧 (1ページ目)">
<meta property="og:type" content="article">
- <meta property="og:title" content="投稿一覧|REPL: Rest-Eat-Program Loop">
- <meta property="og:description" content="投稿した記事の一覧">
+ <meta property="og:title" content="投稿一覧 (1ページ目)|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="投稿した記事の一覧 (1ページ目)">
<meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
<meta property="og:locale" content="ja_JP">
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
- <title>投稿一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <title>投稿一覧 (1ページ目)|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
@@ -40,8 +40,18 @@
</header>
<main class="main">
<header class="page-header">
- <h1>投稿一覧</h1>
+ <h1>投稿一覧 (1ページ目)</h1>
</header>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ </div>
+ <div class="pagination-info">
+ 1 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/2/">次のページ</a>
+ </div>
+ </nav>
<article class="post-entry">
<a href="/posts/2025-06-14/baba-is-you/">
<header class="entry-header">
@@ -192,636 +202,16 @@
</footer>
</a>
</article>
- <article class="post-entry">
- <a href="/posts/2024-12-04/cohackpp-report/">
- <header class="entry-header">
- <h2>紅白ぺぱ合戦に参加&amp;LTしました</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-12-04">2024-12-04</time> 投稿、<time datetime="2024-12-05">2024-12-05</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-09-28/mncore-challenge-1/">
- <header class="entry-header">
- <h2>MN-Core Challenge #1 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-08-28 から 2024-09-24 にかけて開催された MN-Core Challenge #1 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-09-28">2024-09-28</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/">
- <header class="entry-header">
- <h2>【Go】 text/template の with や range の内側から外側の &quot;.&quot; にアクセスする</h2>
- </header>
- <section class="entry-content">
- <p>
- Go言語の text/template における with や range は &quot;.&quot; を上書きする。これらの内側から外側の &quot;.&quot; にアクセスする方法を調べた。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-08-19">2024-08-19</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-07-19/reparojson-fix-only-json-formatter/">
- <header class="entry-header">
- <h2>reparojson: 文法エラーを直すだけの JSON フォーマッタを作った</h2>
- </header>
- <section class="entry-content">
- <p>
- 文法エラーだけを直し、空白の削除や挿入といった整形処理を一切おこなわない JSON フォーマッタを作成した。Neovim と連携させる設定例も紹介する。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-07-19">2024-07-19</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-06-19/scalamatsuri-2024-report/">
- <header class="entry-header">
- <h2>ScalaMatsuri 2024 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-06-08 から 2024-06-09 にかけて開催された、ScalaMatsuri 2024 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-06-19">2024-06-19</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-05-11/phpconkagawa-2024-report/">
- <header class="entry-header">
- <h2>PHP カンファレンス香川 2024 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-05-11 に開催された、PHP カンファレンス香川 2024 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-05-11">2024-05-11</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/">
- <header class="entry-header">
- <h2>【Zsh】 Composer のカスタムコマンドに対する Zsh 補完で引数にファイルを補完させる</h2>
- </header>
- <section class="entry-content">
- <p>
- Zsh の Composer に対する補完はカスタムコマンドやその引数を補完しない。カスタムコマンドの引数としてファイルを補完させる方法を調べた。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-04-29">2024-04-29</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/">
- <header class="entry-header">
- <h2>【GitLab】 GitLab CI/CD 上での bash/sh は pipefail が有効になっている</h2>
- </header>
- <section class="entry-content">
- <p>
- GitLab CI/CD で bash/sh スクリプトを動かすと、pipefail オプションが有効になった状態で実行される。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-04-21">2024-04-21</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-04-14/phpcon-odawara-2024-report/">
- <header class="entry-header">
- <h2>PHP カンファレンス小田原 2024 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-04-13 に開催された、PHP カンファレンス小田原 2024 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-04-14">2024-04-14</time> 投稿、<time datetime="2024-06-01">2024-06-01</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-03-20/my-bucket-list/">
- <header class="entry-header">
- <h2>死ぬまでに作る自作○○一覧あるいは人生の TODO リスト</h2>
- </header>
- <section class="entry-content">
- <p>
- 駄文
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-03-20">2024-03-20</time> 投稿、<time datetime="2024-04-07">2024-04-07</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-03-17/phperkaigi-2024-report/">
- <header class="entry-header">
- <h2>PHPerKaigi 2024 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-03-07 から 2024-03-09 にかけて開催された、PHPerKaigi 2024 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-03-17">2024-03-17</time> 投稿、<time datetime="2024-07-07">2024-07-07</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-02-22/phpkansai-2024-report/">
- <header class="entry-header">
- <h2>PHPカンファレンス関西 2024 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-02-21">2024-02-21</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-02-10/yapcjapan-2024-report/">
- <header class="entry-header">
- <h2>YAPC::Hiroshima 2024 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-02-10 に開催された、YAPC::Hiroshima 2024 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-02-10">2024-02-10</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-02-03/install-wireguard-on-personal-server/">
- <header class="entry-header">
- <h2>【備忘録】 個人用サーバに WireGuard を導入する</h2>
- </header>
- <section class="entry-content">
- <p>
- 個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたメモ
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-02-03">2024-02-03</time> 投稿、<time datetime="2024-02-17">2024-02-17</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/">
- <header class="entry-header">
- <h2>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する</h2>
- </header>
- <section class="entry-content">
- <p>
- Neovim で空の PHP ファイルを開いたとき、ディレクトリの構造に基づいて自動的に namespace 宣言を挿入するようにする。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-01-10">2024-01-10</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-12-31/2023-reflections/">
- <header class="entry-header">
- <h2>2023年の振り返り</h2>
- </header>
- <section class="entry-content">
- <p>
- 2023年にやったことを振り返る
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-12-31">2023-12-31</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-12-03/isucon-13/">
- <header class="entry-header">
- <h2>ISUCON 13 に参加した</h2>
- </header>
- <section class="entry-content">
- <p>
- ISUCON 13 に参加した。チーム名「うつしもゆ」、最終スコア 13,580 点
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-12-03">2023-12-03</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-10-13/i-entered-the-open-university-of-japan/">
- <header class="entry-header">
- <h2>放送大学に入学しました</h2>
- </header>
- <section class="entry-content">
- <p>
- 放送大学に入学しました。頑張ります。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-10-13">2023-10-13</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-10-02/compile-php-runtime-to-wasm/">
- <header class="entry-header">
- <h2>PHP の処理系を Emscripten で WebAssembly にコンパイルする</h2>
- </header>
- <section class="entry-content">
- <p>
- PHP の処理系 (php/php-src) を Emscripten で WebAssembly にコンパイルし、任意のコードを隔離された環境で評価できるようにした。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-10-02">2023-10-02</time> 投稿、<time datetime="2025-04-23">2025-04-23</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-06-25/phpconfuk-2023-report/">
- <header class="entry-header">
- <h2>PHP カンファレンス福岡 2023 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2023-06-24 に開催された、PHP カンファレンス福岡に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-06-25">2023-06-25</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-04-04/phperkaigi-2023-report/">
- <header class="entry-header">
- <h2>PHPerKaigi 2023 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2023-03-23 から 2023-03-25 にかけて開催された、PHPerKaigi 2023 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-04-04">2023-04-04</time> 投稿、<time datetime="2023-06-28">2023-06-28</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-04-01/implementation-of-minimal-png-image-encoder/">
- <header class="entry-header">
- <h2>PNG 画像の最小構成エンコーダを実装する</h2>
- </header>
- <section class="entry-content">
- <p>
- PNG 画像として valid な範囲で最大限手抜きしたエンコーダを書く。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-04-01">2023-04-01</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-03-10/rewrite-this-blog-generator/">
- <header class="entry-header">
- <h2>このブログのジェネレータを書き直した</h2>
- </header>
- <section class="entry-content">
- <p>
- このブログのジェネレータを書き直したので、やったことを書き記しておく。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-03-10">2023-03-10</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/">
- <header class="entry-header">
- <h2>PHPerKaigi 2023: ボツになったトークン問題 その 3</h2>
- </header>
- <section class="entry-content">
- <p>
- 来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 3)。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-01-10">2023-01-10</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/">
- <header class="entry-header">
- <h2>PHPerKaigi 2023: ボツになったトークン問題 その 2</h2>
- </header>
- <section class="entry-content">
- <p>
- 来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 2)。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-11-19">2022-11-19</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-10-28/setup-server-for-this-site/">
- <header class="entry-header">
- <h2>【備忘録】 このサイト用の VPS をセットアップしたときのメモ</h2>
- </header>
- <section class="entry-content">
- <p>
- GitHub Pages でホストしていたこのサイトを VPS へ移行したので、そのときにやったことのメモ。99 % 自分用。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-10-28">2022-10-28</time> 投稿、<time datetime="2023-08-30">2023-08-30</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/">
- <header class="entry-header">
- <h2>PHPerKaigi 2023: ボツになったトークン問題 その 1</h2>
- </header>
- <section class="entry-content">
- <p>
- 来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 1)。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-10-23">2022-10-23</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/">
- <header class="entry-header">
- <h2>【PHP】 fizzbuzz を書く。1行あたり2文字で。</h2>
- </header>
- <section class="entry-content">
- <p>
- PHP で fizzbuzz を書いた。ただし、1行あたりに使える文字数は2文字まで。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-09-28">2022-09-28</time> 投稿、<time datetime="2022-09-29">2022-09-29</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-08-31/support-for-communty-is-employee-benefits/">
- <header class="entry-header">
- <h2>弊社の PHP Foundation への寄付に寄せて</h2>
- </header>
- <section class="entry-content">
- <p>
- 先日、私の勤めるデジタルサーカス株式会社が、PHP Foundation へ寄付をおこないました。本件を社内でしつこく推進した1人として、推進の理由等を書き残しておきます。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-08-31">2022-08-31</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-08-27/php-conference-okinawa-code-golf/">
- <header class="entry-header">
- <h2>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた</h2>
- </header>
- <section class="entry-content">
- <p>
- PHP カンファレンス沖縄の懇親会 LT で出題されたコードゴルフの問題を解いてみた。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-08-27">2022-08-27</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-05-01/phperkaigi-2022/">
- <header class="entry-header">
- <h2>PHPerKaigi 2022</h2>
- </header>
- <section class="entry-content">
- <p>
- 2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-05-01">2022-05-01</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/">
- <header class="entry-header">
- <h2>term-banner: ターミナルにバナーを表示するツールを書いた</h2>
- </header>
- <section class="entry-content">
- <p>
- ターミナルに任意の文字のバナーを表示するためのツールを Go で書いた。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-04-24">2022-04-24</time> 投稿、<time datetime="2022-04-27">2022-04-27</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2022-04-09/phperkaigi-2022-tokens/">
- <header class="entry-header">
- <h2>PHPerKaigi 2022 トークン問題の解説</h2>
- </header>
- <section class="entry-content">
- <p>
- PHPerKaigi 2022 で私が作成した PHPer チャレンジ問題を解説する。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-04-09">2022-04-09</time> 投稿、<time datetime="2022-04-16">2022-04-16</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/">
- <header class="entry-header">
- <h2>【C++】 属性構文の属性名にはキーワードが使える</h2>
- </header>
- <section class="entry-content">
- <p>
- C++ の属性構文の属性名には、キーワードが使える。ネタ記事。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-10-02">2021-10-02</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-10-02/python-unbound-local-error/">
- <header class="entry-header">
- <h2>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment</h2>
- </header>
- <section class="entry-content">
- <p>
- Python における UnboundLocalError の理由と対処法。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-10-02">2021-10-02</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-10-02/ruby-detect-running-implementation/">
- <header class="entry-header">
- <h2>【Ruby】 自身を実行している処理系の種類を判定する</h2>
- </header>
- <section class="entry-content">
- <p>
- Ruby には複数の実装があるが、自身を実行している処理系の種類をスクリプト上からどのように判定すればよいだろうか。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-10-02">2021-10-02</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-10-02/ruby-then-keyword-and-case-in/">
- <header class="entry-header">
- <h2>【Ruby】 then キーワードと case in</h2>
- </header>
- <section class="entry-content">
- <p>
- Ruby 3.0 で追加される case in 構文と、then キーワードについて。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-10-02">2021-10-02</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-10-02/rust-where-are-primitive-types-from/">
- <header class="entry-header">
- <h2>Rust のプリミティブ型はどこからやって来るか</h2>
- </header>
- <section class="entry-content">
- <p>
- Rust のプリミティブ型は予約語ではなく普通の識別子である。どのようにこれが名前解決されるのかを調べた。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-10-02">2021-10-02</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/">
- <header class="entry-header">
- <h2>【Vim】 autocmd events の BufWrite/BufWritePre の違い</h2>
- </header>
- <section class="entry-content">
- <p>
- Vim の autocmd events における BufWrite/BufWritePre がどう違うのかを調べた結果、違いはないことがわかった。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-10-02">2021-10-02</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-10-02/vim-swap-order-of-selected-lines/">
- <header class="entry-header">
- <h2>Vimで選択した行の順番を入れ替える</h2>
- </header>
- <section class="entry-content">
- <p>
- Vim で選択した行の順番を入れ替える方法。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-10-02">2021-10-02</time> 投稿
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-03-30/phperkaigi-2021/">
- <header class="entry-header">
- <h2>PHPerKaigi 2021</h2>
- </header>
- <section class="entry-content">
- <p>
- 2021-03-26 から 2021-03-28 にかけて開催された、PHPerKaigi 2021 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-03-30">2021-03-30</time> 投稿、<time datetime="2025-04-09">2025-04-09</time> 更新
- </footer>
- </a>
- </article>
- <article class="post-entry">
- <a href="/posts/2021-03-05/my-first-post/">
- <header class="entry-header">
- <h2>My First Post</h2>
- </header>
- <section class="entry-content">
- <p>
- これはテスト投稿です。これはテスト投稿です。これはテスト投稿です。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-03-05">2021-03-05</time> 投稿、<time datetime="2025-05-12">2025-05-12</time> 更新
- </footer>
- </a>
- </article>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ </div>
+ <div class="pagination-info">
+ 1 / 6
+ </div>
+ <div class="pagination-next">
+ <a href="/posts/2/">次のページ</a>
+ </div>
+ </nav>
</main>
<footer class="footer">
&copy; 2021 nsfisis
diff --git a/vhosts/blog/public/slides/2023-01-18/phpstudy-tokyo-148/index.html b/vhosts/blog/public/slides/2023-01-18/phpstudy-tokyo-148/index.html
index a9f7c48c..f78eb216 100644
--- a/vhosts/blog/public/slides/2023-01-18/phpstudy-tokyo-148/index.html
+++ b/vhosts/blog/public/slides/2023-01-18/phpstudy-tokyo-148/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第148 回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-02-15/phpstudy-tokyo-149/index.html b/vhosts/blog/public/slides/2023-02-15/phpstudy-tokyo-149/index.html
index 87d2b477..8c4d3c70 100644
--- a/vhosts/blog/public/slides/2023-02-15/phpstudy-tokyo-149/index.html
+++ b/vhosts/blog/public/slides/2023-02-15/phpstudy-tokyo-149/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第149 回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-03-15/phpstudy-tokyo-150/index.html b/vhosts/blog/public/slides/2023-03-15/phpstudy-tokyo-150/index.html
index a8b52da8..827677f6 100644
--- a/vhosts/blog/public/slides/2023-03-15/phpstudy-tokyo-150/index.html
+++ b/vhosts/blog/public/slides/2023-03-15/phpstudy-tokyo-150/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第150 回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-03-24/phperkaigi-2023/index.html b/vhosts/blog/public/slides/2023-03-24/phperkaigi-2023/index.html
index 0f5b2b24..1959fd38 100644
--- a/vhosts/blog/public/slides/2023-03-24/phperkaigi-2023/index.html
+++ b/vhosts/blog/public/slides/2023-03-24/phperkaigi-2023/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023 (レギュラートーク)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-03-25/phperkaigi-2023-tokens/index.html b/vhosts/blog/public/slides/2023-03-25/phperkaigi-2023-tokens/index.html
index 546230a0..cfa7890f 100644
--- a/vhosts/blog/public/slides/2023-03-25/phperkaigi-2023-tokens/index.html
+++ b/vhosts/blog/public/slides/2023-03-25/phperkaigi-2023-tokens/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2023 (トークン解説セッション)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-04-12/phpstudy-tokyo-151/index.html b/vhosts/blog/public/slides/2023-04-12/phpstudy-tokyo-151/index.html
index 6d1a1a21..38641d42 100644
--- a/vhosts/blog/public/slides/2023-04-12/phpstudy-tokyo-151/index.html
+++ b/vhosts/blog/public/slides/2023-04-12/phpstudy-tokyo-151/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第151 回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-06-21/phpstudy-tokyo-153/index.html b/vhosts/blog/public/slides/2023-06-21/phpstudy-tokyo-153/index.html
index 053a57a9..ee24c8df 100644
--- a/vhosts/blog/public/slides/2023-06-21/phpstudy-tokyo-153/index.html
+++ b/vhosts/blog/public/slides/2023-06-21/phpstudy-tokyo-153/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第153 回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-06-23/phpconfuk-2023-eve/index.html b/vhosts/blog/public/slides/2023-06-23/phpconfuk-2023-eve/index.html
index d5358e4f..1545b4c1 100644
--- a/vhosts/blog/public/slides/2023-06-23/phpconfuk-2023-eve/index.html
+++ b/vhosts/blog/public/slides/2023-06-23/phpconfuk-2023-eve/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス福岡 2023 前夜祭 (非公式) (レギュラートーク)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-07-26/phpstudy-tokyo-154/index.html b/vhosts/blog/public/slides/2023-07-26/phpstudy-tokyo-154/index.html
index 6e718592..39ef69a0 100644
--- a/vhosts/blog/public/slides/2023-07-26/phpstudy-tokyo-154/index.html
+++ b/vhosts/blog/public/slides/2023-07-26/phpstudy-tokyo-154/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第154 回 (レギュラートーク)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-08-24/phpstudy-tokyo-155/index.html b/vhosts/blog/public/slides/2023-08-24/phpstudy-tokyo-155/index.html
index d91ddb3b..913438aa 100644
--- a/vhosts/blog/public/slides/2023-08-24/phpstudy-tokyo-155/index.html
+++ b/vhosts/blog/public/slides/2023-08-24/phpstudy-tokyo-155/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第155 回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2023-10-25/phpstudy-tokyo-157/index.html b/vhosts/blog/public/slides/2023-10-25/phpstudy-tokyo-157/index.html
index 30b776be..f8bec343 100644
--- a/vhosts/blog/public/slides/2023-10-25/phpstudy-tokyo-157/index.html
+++ b/vhosts/blog/public/slides/2023-10-25/phpstudy-tokyo-157/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第157 回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-01-24/phpstudy-tokyo-160/index.html b/vhosts/blog/public/slides/2024-01-24/phpstudy-tokyo-160/index.html
index 36d167ed..71abc6b0 100644
--- a/vhosts/blog/public/slides/2024-01-24/phpstudy-tokyo-160/index.html
+++ b/vhosts/blog/public/slides/2024-01-24/phpstudy-tokyo-160/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第160 回 (レギュラートーク)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-03-08/phperkaigi-2024/index.html b/vhosts/blog/public/slides/2024-03-08/phperkaigi-2024/index.html
index 2a5fcabd..2e1b436d 100644
--- a/vhosts/blog/public/slides/2024-03-08/phperkaigi-2024/index.html
+++ b/vhosts/blog/public/slides/2024-03-08/phperkaigi-2024/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2024 (レギュラートーク (40分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-03-15/ya8-2024/index.html b/vhosts/blog/public/slides/2024-03-15/ya8-2024/index.html
index 202d2136..51b003f0 100644
--- a/vhosts/blog/public/slides/2024-03-15/ya8-2024/index.html
+++ b/vhosts/blog/public/slides/2024-03-15/ya8-2024/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>Ya8 2024 (レギュラートーク (60分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-04-13/phpcon-odawara-2024/index.html b/vhosts/blog/public/slides/2024-04-13/phpcon-odawara-2024/index.html
index a0cddd96..94106604 100644
--- a/vhosts/blog/public/slides/2024-04-13/phpcon-odawara-2024/index.html
+++ b/vhosts/blog/public/slides/2024-04-13/phpcon-odawara-2024/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス小田原 2024 (レギュラートーク (15分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-04-25/phpstudy-tokyo-163/index.html b/vhosts/blog/public/slides/2024-04-25/phpstudy-tokyo-163/index.html
index c306327f..81d28131 100644
--- a/vhosts/blog/public/slides/2024-04-25/phpstudy-tokyo-163/index.html
+++ b/vhosts/blog/public/slides/2024-04-25/phpstudy-tokyo-163/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第163回 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-07-18/phpstudy-tokyo-166/index.html b/vhosts/blog/public/slides/2024-07-18/phpstudy-tokyo-166/index.html
index 2e941681..0c58b63b 100644
--- a/vhosts/blog/public/slides/2024-07-18/phpstudy-tokyo-166/index.html
+++ b/vhosts/blog/public/slides/2024-07-18/phpstudy-tokyo-166/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第166回 (レギュラートーク (20分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-10-30/phpstudy-tokyo-169/index.html b/vhosts/blog/public/slides/2024-10-30/phpstudy-tokyo-169/index.html
index 380da044..50b1cf33 100644
--- a/vhosts/blog/public/slides/2024-10-30/phpstudy-tokyo-169/index.html
+++ b/vhosts/blog/public/slides/2024-10-30/phpstudy-tokyo-169/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP 勉強会@東京 第169回 (レギュラートーク (20分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html b/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html
index 49bea781..4d5b587a 100644
--- a/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html
+++ b/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>紅白ぺぱ合戦 (LT)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2025-02-22/phpcon-nagoya-2025/index.html b/vhosts/blog/public/slides/2025-02-22/phpcon-nagoya-2025/index.html
index e95fa27c..da309ea9 100644
--- a/vhosts/blog/public/slides/2025-02-22/phpcon-nagoya-2025/index.html
+++ b/vhosts/blog/public/slides/2025-02-22/phpcon-nagoya-2025/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス名古屋 2025 (レギュラートーク (30分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2025-03-23/phperkaigi-2025/index.html b/vhosts/blog/public/slides/2025-03-23/phperkaigi-2025/index.html
index 317b6f82..f0460e1c 100644
--- a/vhosts/blog/public/slides/2025-03-23/phperkaigi-2025/index.html
+++ b/vhosts/blog/public/slides/2025-03-23/phperkaigi-2025/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHPerKaigi 2025 (レギュラートーク (40分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/2025-04-12/phpcon-odawara-2025/index.html b/vhosts/blog/public/slides/2025-04-12/phpcon-odawara-2025/index.html
index 4acef901..be74f6f6 100644
--- a/vhosts/blog/public/slides/2025-04-12/phpcon-odawara-2025/index.html
+++ b/vhosts/blog/public/slides/2025-04-12/phpcon-odawara-2025/index.html
@@ -14,7 +14,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>PHP カンファレンス小田原 2025 (レギュラートーク (20分))|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="single">
<header class="header">
diff --git a/vhosts/blog/public/slides/index.html b/vhosts/blog/public/slides/index.html
index fd6a6542..f3b498ba 100644
--- a/vhosts/blog/public/slides/index.html
+++ b/vhosts/blog/public/slides/index.html
@@ -14,7 +14,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/slides/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>スライド一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/style.css b/vhosts/blog/public/style.css
index 06dc26e0..fda139d7 100644
--- a/vhosts/blog/public/style.css
+++ b/vhosts/blog/public/style.css
@@ -312,3 +312,54 @@ img {
.footnotes {
border-top: 1px solid #000;
}
+
+.pagination {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 2rem 0;
+ padding: 1rem 0;
+ border-top: 1px solid #d1d1d1;
+ border-bottom: 1px solid #d1d1d1;
+}
+
+.pagination-prev,
+.pagination-next {
+ flex: 1;
+}
+
+.pagination-prev {
+ text-align: left;
+}
+
+.pagination-next {
+ text-align: right;
+}
+
+.pagination-info {
+ flex: 0 0 auto;
+ text-align: center;
+ color: #000;
+ font-size: 0.9rem;
+}
+
+.pagination a {
+ text-decoration: none;
+ color: #000;
+ padding: 0.5rem 1rem;
+ border: none;
+}
+
+.pagination a:hover {
+ color: #666;
+}
+
+@media screen and (max-width: 768px) {
+ .pagination {
+ font-size: 0.9rem;
+ }
+
+ .pagination a {
+ padding: 0.5rem;
+ }
+}
diff --git a/vhosts/blog/public/tags/c/index.html b/vhosts/blog/public/tags/c/index.html
index a1f91a0e..0a738be4 100644
--- a/vhosts/blog/public/tags/c/index.html
+++ b/vhosts/blog/public/tags/c/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/c/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「C」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/ci-cd/index.html b/vhosts/blog/public/tags/ci-cd/index.html
index 1976ba42..7c3e4992 100644
--- a/vhosts/blog/public/tags/ci-cd/index.html
+++ b/vhosts/blog/public/tags/ci-cd/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/ci-cd/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「CI/CD」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/cohackpp/index.html b/vhosts/blog/public/tags/cohackpp/index.html
index aa448ce1..55f31447 100644
--- a/vhosts/blog/public/tags/cohackpp/index.html
+++ b/vhosts/blog/public/tags/cohackpp/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/cohackpp/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「紅白ぺぱ合戦」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/composer/index.html b/vhosts/blog/public/tags/composer/index.html
index bddb7754..9ba883b2 100644
--- a/vhosts/blog/public/tags/composer/index.html
+++ b/vhosts/blog/public/tags/composer/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/composer/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Composer」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/conference/index.html b/vhosts/blog/public/tags/conference/index.html
index 1134da04..961178c7 100644
--- a/vhosts/blog/public/tags/conference/index.html
+++ b/vhosts/blog/public/tags/conference/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/conference/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「カンファレンス」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/cpp/index.html b/vhosts/blog/public/tags/cpp/index.html
index 88c52f05..cb23cbb6 100644
--- a/vhosts/blog/public/tags/cpp/index.html
+++ b/vhosts/blog/public/tags/cpp/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/cpp/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「C++」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/cpp17/index.html b/vhosts/blog/public/tags/cpp17/index.html
index a1fecf3b..cc6beb35 100644
--- a/vhosts/blog/public/tags/cpp17/index.html
+++ b/vhosts/blog/public/tags/cpp17/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/cpp17/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「C++ 17」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/game/index.html b/vhosts/blog/public/tags/game/index.html
index da6dce52..aea82f63 100644
--- a/vhosts/blog/public/tags/game/index.html
+++ b/vhosts/blog/public/tags/game/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/game/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「ゲーム」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/gitlab/index.html b/vhosts/blog/public/tags/gitlab/index.html
index 8e524905..54654079 100644
--- a/vhosts/blog/public/tags/gitlab/index.html
+++ b/vhosts/blog/public/tags/gitlab/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/gitlab/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「GitLab」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/go/index.html b/vhosts/blog/public/tags/go/index.html
index cb539bb8..7add2732 100644
--- a/vhosts/blog/public/tags/go/index.html
+++ b/vhosts/blog/public/tags/go/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/go/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Go」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/http/index.html b/vhosts/blog/public/tags/http/index.html
index 5930d3ce..67776cdf 100644
--- a/vhosts/blog/public/tags/http/index.html
+++ b/vhosts/blog/public/tags/http/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/http/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「HTTP」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/index.html b/vhosts/blog/public/tags/index.html
index 07a33edb..73260867 100644
--- a/vhosts/blog/public/tags/index.html
+++ b/vhosts/blog/public/tags/index.html
@@ -13,7 +13,7 @@
<meta property="og:locale" content="ja_JP">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/isucon/index.html b/vhosts/blog/public/tags/isucon/index.html
index 80b7d816..5d5bdd5e 100644
--- a/vhosts/blog/public/tags/isucon/index.html
+++ b/vhosts/blog/public/tags/isucon/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/isucon/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「ISUCON」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/macos/index.html b/vhosts/blog/public/tags/macos/index.html
index cb16cc21..93cb9132 100644
--- a/vhosts/blog/public/tags/macos/index.html
+++ b/vhosts/blog/public/tags/macos/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/macos/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「macOS」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/mncore-challenge/index.html b/vhosts/blog/public/tags/mncore-challenge/index.html
index 5d752da7..7676d112 100644
--- a/vhosts/blog/public/tags/mncore-challenge/index.html
+++ b/vhosts/blog/public/tags/mncore-challenge/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/mncore-challenge/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「MN-Core Challenge」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/neovim/index.html b/vhosts/blog/public/tags/neovim/index.html
index 8691f82a..ea1cebdc 100644
--- a/vhosts/blog/public/tags/neovim/index.html
+++ b/vhosts/blog/public/tags/neovim/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/neovim/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Neovim」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/note-to-self/index.html b/vhosts/blog/public/tags/note-to-self/index.html
index 8e7d96fd..7c4ca73d 100644
--- a/vhosts/blog/public/tags/note-to-self/index.html
+++ b/vhosts/blog/public/tags/note-to-self/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/note-to-self/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「備忘録」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/ouj/index.html b/vhosts/blog/public/tags/ouj/index.html
index 31c70966..3e76b482 100644
--- a/vhosts/blog/public/tags/ouj/index.html
+++ b/vhosts/blog/public/tags/ouj/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/ouj/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「放送大学」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/perl/index.html b/vhosts/blog/public/tags/perl/index.html
index 34974ef3..8865fee9 100644
--- a/vhosts/blog/public/tags/perl/index.html
+++ b/vhosts/blog/public/tags/perl/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/perl/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Perl」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/php/index.html b/vhosts/blog/public/tags/php/index.html
index bc1d1516..cfb41078 100644
--- a/vhosts/blog/public/tags/php/index.html
+++ b/vhosts/blog/public/tags/php/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/php/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phpcon-nagoya/index.html b/vhosts/blog/public/tags/phpcon-nagoya/index.html
index 0c346850..2b1dc9bf 100644
--- a/vhosts/blog/public/tags/phpcon-nagoya/index.html
+++ b/vhosts/blog/public/tags/phpcon-nagoya/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phpcon-nagoya/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP カンファレンス名古屋」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phpcon-odawara/index.html b/vhosts/blog/public/tags/phpcon-odawara/index.html
index d05064e2..52fec2b6 100644
--- a/vhosts/blog/public/tags/phpcon-odawara/index.html
+++ b/vhosts/blog/public/tags/phpcon-odawara/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phpcon-odawara/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP カンファレンス小田原」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phpconfuk/index.html b/vhosts/blog/public/tags/phpconfuk/index.html
index 0e184032..80bfc60c 100644
--- a/vhosts/blog/public/tags/phpconfuk/index.html
+++ b/vhosts/blog/public/tags/phpconfuk/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phpconfuk/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP カンファレンス福岡」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phpconkagawa/index.html b/vhosts/blog/public/tags/phpconkagawa/index.html
index 276fe825..6e1284d0 100644
--- a/vhosts/blog/public/tags/phpconkagawa/index.html
+++ b/vhosts/blog/public/tags/phpconkagawa/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phpconkagawa/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP カンファレンス香川」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phpconokinawa/index.html b/vhosts/blog/public/tags/phpconokinawa/index.html
index 2dc728e8..285cb629 100644
--- a/vhosts/blog/public/tags/phpconokinawa/index.html
+++ b/vhosts/blog/public/tags/phpconokinawa/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phpconokinawa/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP カンファレンス沖縄」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phperkaigi/index.html b/vhosts/blog/public/tags/phperkaigi/index.html
index a92bb33e..bcd8be37 100644
--- a/vhosts/blog/public/tags/phperkaigi/index.html
+++ b/vhosts/blog/public/tags/phperkaigi/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phperkaigi/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHPerKaigi」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phpkansai/index.html b/vhosts/blog/public/tags/phpkansai/index.html
index 77dff009..de4d5e63 100644
--- a/vhosts/blog/public/tags/phpkansai/index.html
+++ b/vhosts/blog/public/tags/phpkansai/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phpkansai/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP カンファレンス関西」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/phpstudy-tokyo/index.html b/vhosts/blog/public/tags/phpstudy-tokyo/index.html
index 426f3f7e..373da9df 100644
--- a/vhosts/blog/public/tags/phpstudy-tokyo/index.html
+++ b/vhosts/blog/public/tags/phpstudy-tokyo/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/phpstudy-tokyo/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「PHP 勉強会@東京」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/piet/index.html b/vhosts/blog/public/tags/piet/index.html
index 2ef0c440..6578679e 100644
--- a/vhosts/blog/public/tags/piet/index.html
+++ b/vhosts/blog/public/tags/piet/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/piet/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Piet」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/python/index.html b/vhosts/blog/public/tags/python/index.html
index 9110ceb7..31f55003 100644
--- a/vhosts/blog/public/tags/python/index.html
+++ b/vhosts/blog/public/tags/python/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/python/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Python」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/python3/index.html b/vhosts/blog/public/tags/python3/index.html
index 05cf2b0c..ea9600eb 100644
--- a/vhosts/blog/public/tags/python3/index.html
+++ b/vhosts/blog/public/tags/python3/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/python3/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Python 3」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/ruby/index.html b/vhosts/blog/public/tags/ruby/index.html
index 6a4b2431..1f3e7c74 100644
--- a/vhosts/blog/public/tags/ruby/index.html
+++ b/vhosts/blog/public/tags/ruby/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/ruby/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Ruby」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/ruby3/index.html b/vhosts/blog/public/tags/ruby3/index.html
index b4132a91..b51d5c1d 100644
--- a/vhosts/blog/public/tags/ruby3/index.html
+++ b/vhosts/blog/public/tags/ruby3/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/ruby3/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Ruby 3」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/rubykaigi/index.html b/vhosts/blog/public/tags/rubykaigi/index.html
index fd005371..651045a6 100644
--- a/vhosts/blog/public/tags/rubykaigi/index.html
+++ b/vhosts/blog/public/tags/rubykaigi/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/rubykaigi/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「RubyKaigi」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/rust/index.html b/vhosts/blog/public/tags/rust/index.html
index d08db4c3..89b7c5a6 100644
--- a/vhosts/blog/public/tags/rust/index.html
+++ b/vhosts/blog/public/tags/rust/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/rust/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Rust」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/scala/index.html b/vhosts/blog/public/tags/scala/index.html
index 53bda999..57c2635c 100644
--- a/vhosts/blog/public/tags/scala/index.html
+++ b/vhosts/blog/public/tags/scala/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/scala/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Scala」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/scalamatsuri/index.html b/vhosts/blog/public/tags/scalamatsuri/index.html
index 2289ec4b..d8f4a04e 100644
--- a/vhosts/blog/public/tags/scalamatsuri/index.html
+++ b/vhosts/blog/public/tags/scalamatsuri/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/scalamatsuri/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「ScalaMatsuri」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/trick/index.html b/vhosts/blog/public/tags/trick/index.html
index 9f22c682..5cb0388e 100644
--- a/vhosts/blog/public/tags/trick/index.html
+++ b/vhosts/blog/public/tags/trick/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/trick/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「TRICK」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/vim/index.html b/vhosts/blog/public/tags/vim/index.html
index ec4223fa..16adf278 100644
--- a/vhosts/blog/public/tags/vim/index.html
+++ b/vhosts/blog/public/tags/vim/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/vim/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Vim」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/wasm/index.html b/vhosts/blog/public/tags/wasm/index.html
index 5b04170c..11b65951 100644
--- a/vhosts/blog/public/tags/wasm/index.html
+++ b/vhosts/blog/public/tags/wasm/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/wasm/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「WebAssembly」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/wireguard/index.html b/vhosts/blog/public/tags/wireguard/index.html
index cf91e479..f93950c1 100644
--- a/vhosts/blog/public/tags/wireguard/index.html
+++ b/vhosts/blog/public/tags/wireguard/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/wireguard/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「WireGuard」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/ya8/index.html b/vhosts/blog/public/tags/ya8/index.html
index 7047f51c..bacd8ebd 100644
--- a/vhosts/blog/public/tags/ya8/index.html
+++ b/vhosts/blog/public/tags/ya8/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/ya8/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Ya8」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/yaml/index.html b/vhosts/blog/public/tags/yaml/index.html
index d2f481fc..85e3f867 100644
--- a/vhosts/blog/public/tags/yaml/index.html
+++ b/vhosts/blog/public/tags/yaml/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/yaml/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「YAML」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/yapc/index.html b/vhosts/blog/public/tags/yapc/index.html
index 616681e7..101e020e 100644
--- a/vhosts/blog/public/tags/yapc/index.html
+++ b/vhosts/blog/public/tags/yapc/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/yapc/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「YAPC」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/public/tags/zsh/index.html b/vhosts/blog/public/tags/zsh/index.html
index 785193b6..2d519848 100644
--- a/vhosts/blog/public/tags/zsh/index.html
+++ b/vhosts/blog/public/tags/zsh/index.html
@@ -15,7 +15,7 @@
<link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/tags/zsh/atom.xml">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>タグ「Zsh」一覧|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=cdef11008f7cd6efd7e3f632798868fc">
+ <link rel="stylesheet" href="/style.css?h=9513229b52eb2041b99ba1b959305633">
</head>
<body class="list">
<header class="header">
diff --git a/vhosts/blog/static/style.css b/vhosts/blog/static/style.css
index 06dc26e0..fda139d7 100644
--- a/vhosts/blog/static/style.css
+++ b/vhosts/blog/static/style.css
@@ -312,3 +312,54 @@ img {
.footnotes {
border-top: 1px solid #000;
}
+
+.pagination {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 2rem 0;
+ padding: 1rem 0;
+ border-top: 1px solid #d1d1d1;
+ border-bottom: 1px solid #d1d1d1;
+}
+
+.pagination-prev,
+.pagination-next {
+ flex: 1;
+}
+
+.pagination-prev {
+ text-align: left;
+}
+
+.pagination-next {
+ text-align: right;
+}
+
+.pagination-info {
+ flex: 0 0 auto;
+ text-align: center;
+ color: #000;
+ font-size: 0.9rem;
+}
+
+.pagination a {
+ text-decoration: none;
+ color: #000;
+ padding: 0.5rem 1rem;
+ border: none;
+}
+
+.pagination a:hover {
+ color: #666;
+}
+
+@media screen and (max-width: 768px) {
+ .pagination {
+ font-size: 0.9rem;
+ }
+
+ .pagination a {
+ padding: 0.5rem;
+ }
+}