summaryrefslogtreecommitdiffhomepage
path: root/services/blog/public/posts
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-07-04 19:14:54 +0900
committernsfisis <nsfisis@gmail.com>2025-07-04 19:14:54 +0900
commit80f0ab31aceec35c9fd04a6387b14349b806f713 (patch)
tree6d9c3e47fe988f211e8598cbedd2031c09ca54cb /services/blog/public/posts
parent98db243a59fb6a409b3677f2195e96da6fd39564 (diff)
downloadnsfisis.dev-80f0ab31aceec35c9fd04a6387b14349b806f713.tar.gz
nsfisis.dev-80f0ab31aceec35c9fd04a6387b14349b806f713.tar.zst
nsfisis.dev-80f0ab31aceec35c9fd04a6387b14349b806f713.zip
feat(blog/nuldoc): implement TOC
Diffstat (limited to 'services/blog/public/posts')
-rw-r--r--services/blog/public/posts/2/index.html2
-rw-r--r--services/blog/public/posts/2021-03-05/my-first-post/index.html33
-rw-r--r--services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html61
-rw-r--r--services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html2
-rw-r--r--services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html2
-rw-r--r--services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html2
-rw-r--r--services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html25
-rw-r--r--services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html16
-rw-r--r--services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html24
-rw-r--r--services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html33
-rw-r--r--services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html83
-rw-r--r--services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html22
-rw-r--r--services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html30
-rw-r--r--services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html33
-rw-r--r--services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html2
-rw-r--r--services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html45
-rw-r--r--services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html22
-rw-r--r--services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html88
-rw-r--r--services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html22
-rw-r--r--services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html33
-rw-r--r--services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html19
-rw-r--r--services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html47
-rw-r--r--services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html33
-rw-r--r--services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html24
-rw-r--r--services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html36
-rw-r--r--services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html2
-rw-r--r--services/blog/public/posts/2023-12-03/isucon-13/index.html36
-rw-r--r--services/blog/public/posts/2023-12-31/2023-reflections/index.html25
-rw-r--r--services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html25
-rw-r--r--services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html28
-rw-r--r--services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html16
-rw-r--r--services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html16
-rw-r--r--services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html27
-rw-r--r--services/blog/public/posts/2024-03-20/my-bucket-list/index.html2
-rw-r--r--services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html22
-rw-r--r--services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html30
-rw-r--r--services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html25
-rw-r--r--services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html19
-rw-r--r--services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html19
-rw-r--r--services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html19
-rw-r--r--services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html22
-rw-r--r--services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html16
-rw-r--r--services/blog/public/posts/2024-12-04/cohackpp-report/index.html27
-rw-r--r--services/blog/public/posts/2024-12-33/2024-reflections/index.html25
-rw-r--r--services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html42
-rw-r--r--services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html30
-rw-r--r--services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html19
-rw-r--r--services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html2
-rw-r--r--services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html30
-rw-r--r--services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html30
-rw-r--r--services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html16
-rw-r--r--services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html38
-rw-r--r--services/blog/public/posts/2025-06-14/baba-is-you/index.html55
-rw-r--r--services/blog/public/posts/3/index.html2
-rw-r--r--services/blog/public/posts/4/index.html2
-rw-r--r--services/blog/public/posts/5/index.html2
-rw-r--r--services/blog/public/posts/6/index.html2
-rw-r--r--services/blog/public/posts/index.html2
58 files changed, 1354 insertions, 58 deletions
diff --git a/services/blog/public/posts/2/index.html b/services/blog/public/posts/2/index.html
index 39a0a969..a84c6c74 100644
--- a/services/blog/public/posts/2/index.html
+++ b/services/blog/public/posts/2/index.html
@@ -15,7 +15,7 @@
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="list">
<header class="header">
diff --git a/services/blog/public/posts/2021-03-05/my-first-post/index.html b/services/blog/public/posts/2021-03-05/my-first-post/index.html
index 6e9c758f..613df984 100644
--- a/services/blog/public/posts/2021-03-05/my-first-post/index.html
+++ b/services/blog/public/posts/2021-03-05/my-first-post/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -43,6 +43,37 @@
<header class="post-header">
<h1 class="post-title">My First Post</h1>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--test">Test</a>
+ </li>
+ <li>
+ <a href="#section--sec-1">Section level 1</a>
+ <ul>
+ <li>
+ <a href="#section--sec-1--sec-2">Section level 2</a>
+ <ul>
+ <li>
+ <a href="#section--sec-1--sec-2--sec-3">Section level 3</a>
+ <ul>
+ <li>
+ <a href="#section--sec-1--sec-2--sec-3--sec-4">Section level 4</a>
+ <ul>
+ <li>
+ <a href="#section--sec-1--sec-2--sec-3--sec-4--sec-5">Section level 5</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html b/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
index f36aa189..091840a1 100644
--- a/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
+++ b/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,65 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--report">PHPerKaigi 2021 参加レポ</a>
+ <ul>
+ <li>
+ <a href="#section--report--day-0">Day 0 前夜祭 (2021/03/27)</a>
+ <ul>
+ <li>
+ <a href="#section--report--day-0--1730-a">17:30 [A] LAMPをこじらせてサーバーレスに乗り遅れたPHPerがLambdaに入門してみる</a>
+ </li>
+ <li>
+ <a href="#section--report--day-0--1810-a">18:10 [A] 大規模サイトにおけるSEO観点でのURL設計</a>
+ </li>
+ <li>
+ <a href="#section--report--day-0--1850-a">18:50 [A] PHPerでもわかる!実践Webアクセシビリティ</a>
+ </li>
+ <li>
+ <a href="#section--report--day-0--1930-a">19:30 [A] PHP でファイルシステムを作ろう</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--report--day-1">Day 1 (2021/03/27)</a>
+ <ul>
+ <li>
+ <a href="#section--report--day-1--1050-a">10:50 [A] 実践ATDD 〜TDDから更に歩みを進めたソフトウェア開発へ〜</a>
+ </li>
+ <li>
+ <a href="#section--report--day-1--1150-a">11:50 [A] 静的型解析を用いた大規模レガシーコードのリファクタリング計画</a>
+ </li>
+ <li>
+ <a href="#section--report--day-1--1310-a">13:10 [A] 目的に沿ったDocumentation as Codeをいかにして実現していくか</a>
+ </li>
+ <li>
+ <a href="#section--report--day-1--1410-a">14:10 [A] PHPで学ぶ、セッションの基本と応用</a>
+ </li>
+ <li>
+ <a href="#section--report--day-1--1450-a">14:50 [A] PHP8になった今の時代に、PHPの「エラー」「例外」そして「Error」をおさらいしておこう</a>
+ </li>
+ <li>
+ <a href="#section--report--day-1--1530-a">15:30 [A] Laravel のメール認証の内部実装を掘り下げる</a>
+ </li>
+ <li>
+ <a href="#section--report--day-1--1610-a">16:10 [A] ブラウザから始めるgRPC 〜 gRPC-WebにPHPを添えて</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--report--day-2">Day 2 (2021/03/28)</a>
+ </li>
+ <li>
+ <a href="#section--report--comments">全体の感想</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html b/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
index 905cc23f..c4f1304a 100644
--- a/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
+++ b/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
diff --git a/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html b/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
index c9f0ab44..1beb05c2 100644
--- a/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
+++ b/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
diff --git a/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html b/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
index 00f707c0..795fefa2 100644
--- a/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
+++ b/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
diff --git a/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html b/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
index 4b563c25..20585686 100644
--- a/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
+++ b/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,29 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--tl-dr">TL; DR</a>
+ </li>
+ <li>
+ <a href="#section--what-is-then-keyword"> とは</a>
+ </li>
+ <li>
+ <a href="#section--why-then-is-usually-unnecessary">なぜ普段は書かなくてもよいのか</a>
+ </li>
+ <li>
+ <a href="#section--why-then-or-linebreak-is-needed">なぜ や や改行が必要か</a>
+ </li>
+ <li>
+ <a href="#section--then-in-case-in"> - における </a>
+ </li>
+ <li>
+ <a href="#section--outro">まとめ</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html b/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
index 49749ebc..396e2dde 100644
--- a/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
+++ b/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,20 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">前置き</a>
+ </li>
+ <li>
+ <a href="#section--code-reading">調査</a>
+ </li>
+ <li>
+ <a href="#section--outro">まとめ</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html b/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
index ae6b52cc..e4496ea1 100644
--- a/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
+++ b/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,28 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--tl-dr">TL; DR</a>
+ </li>
+ <li>
+ <a href="#section--code-reading">調査記録</a>
+ <ul>
+ <li>
+ <a href="#section--code-reading--vim">vim のソースコード</a>
+ </li>
+ <li>
+ <a href="#section--code-reading--neovim">neovim のソースコード</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">まとめ</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html b/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
index 96dc3b4e..27eb273e 100644
--- a/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
+++ b/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,37 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--tl-dr">TL; DR</a>
+ </li>
+ <li>
+ <a href="#section--version">バージョン情報</a>
+ </li>
+ <li>
+ <a href="#section--existing-solution">よく紹介されている手法</a>
+ <ul>
+ <li>
+ <a href="#section--existing-solution--external-commands"> / </a>
+ </li>
+ <li>
+ <a href="#section--existing-solution--global-command"></a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--problem-of-global-command"> の問題点</a>
+ </li>
+ <li>
+ <a href="#section--solution">解決策</a>
+ </li>
+ <li>
+ <a href="#section--solution-revised">解決策 (改訂版)</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html b/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
index 0029bcc0..caa68793 100644
--- a/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
+++ b/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,87 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck">第1問 brainf_ck.php</a>
+ <ul>
+ <li>
+ <a href="#section--q1-brainfuck--commentary">解説</a>
+ <ul>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--emoji">絵文字</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--brainfuck">プログラム全体</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--emoji-selection">絵文字の選択</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--strict-types">strict_types</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--url">URL</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--numbers">リテラルなしで数値を生成する</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--conditionals"> 文なしで条件分岐</a>
+ </li>
+ <li>
+ <a href="#section--q1-brainfuck--commentary--loops">、 文なしでループ</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--q2-riddle">第2問 riddle.php</a>
+ <ul>
+ <li>
+ <a href="#section--q2-riddle--code-reading">読解</a>
+ </li>
+ <li>
+ <a href="#section--q2-riddle--hint">ヒント</a>
+ </li>
+ <li>
+ <a href="#section--q2-riddle--solve">解く</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--q3-toquine">第3問 toquine.php</a>
+ <ul>
+ <li>
+ <a href="#section--q3-toquine--commentary">解説</a>
+ <ul>
+ <li>
+ <a href="#section--q3-toquine--commentary--quine">プログラム全体</a>
+ </li>
+ <li>
+ <a href="#section--q3-toquine--commentary--tokens">トークン</a>
+ </li>
+ <li>
+ <a href="#section--q3-toquine--commentary--states">状態保持</a>
+ </li>
+ <li>
+ <a href="#section--q3-toquine--commentary--rot-13">ROT 13</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html b/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
index 3de1d062..1b85e231 100644
--- a/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
+++ b/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -43,6 +43,26 @@
<header class="post-header">
<h1 class="post-title">term-banner: ターミナルにバナーを表示するツールを書いた</h1>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--motivation">Motivation</a>
+ </li>
+ <li>
+ <a href="#section--program">プログラム</a>
+ </li>
+ <li>
+ <a href="#section--font">フォント</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html b/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
index 1ca85f7e..81fb45b8 100644
--- a/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
+++ b/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,34 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--comments">感想</a>
+ <ul>
+ <li>
+ <a href="#section--comments--great-sessions">厳選おすすめトーク</a>
+ </li>
+ <li>
+ <a href="#section--comments--token-quizzes">トークン問題の作成</a>
+ </li>
+ <li>
+ <a href="#section--comments--phper-challenge">PHPer チャレンジ</a>
+ </li>
+ <li>
+ <a href="#section--comments--conference">カンファレンス全体への感想</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--next-year">そして来年へ……?</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html b/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
index 6c961ace..0795b3a7 100644
--- a/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
+++ b/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,37 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--solution">解</a>
+ </li>
+ <li>
+ <a href="#section--techniques">使用したテクニック</a>
+ <ul>
+ <li>
+ <a href="#section--techniques--exponential-notation">指数表記</a>
+ </li>
+ <li>
+ <a href="#section--techniques--shorten-loop">foreach や for の中身を1つの文に</a>
+ </li>
+ <li>
+ <a href="#section--techniques--omit-initialization">$r に初期値を入れない</a>
+ </li>
+ <li>
+ <a href="#section--techniques--put-text-outside-php-tag">PHP タグの外に文字列を置く</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html b/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
index 51e571ba..ccb924b3 100644
--- a/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
+++ b/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
diff --git a/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html b/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
index 16704369..0530802b 100644
--- a/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
+++ b/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,49 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">記事の構成について</a>
+ </li>
+ <li>
+ <a href="#section--regulations">レギュレーション</a>
+ </li>
+ <li>
+ <a href="#section--problems">主な障害</a>
+ </li>
+ <li>
+ <a href="#section--commentary">解説</a>
+ <ul>
+ <li>
+ <a href="#section--commentary--normal-fizzbuzz">普通の (?) fizzbuzz</a>
+ </li>
+ <li>
+ <a href="#section--commentary--remove-keywords"> の排除</a>
+ </li>
+ <li>
+ <a href="#section--commentary--shorten-function-invocation">関数呼び出しの短縮</a>
+ </li>
+ <li>
+ <a href="#section--commentary--incompatible-solution">余談: PHP 8.x で動作しなくてもいいなら</a>
+ </li>
+ <li>
+ <a href="#section--commentary--shorten-string-literals">文字列リテラルの短縮</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--stretched-fizzbuzz">完成系</a>
+ </li>
+ <li>
+ <a href="#section--outro">感想など</a>
+ </li>
+ <li>
+ <a href="#section--alternative-solution">余談2: 別解</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html b/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
index cec9e188..e42c63a3 100644
--- a/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
+++ b/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,26 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--quiz">問題</a>
+ </li>
+ <li>
+ <a href="#section--how-to-obtain-token">トークン入手方法</a>
+ </li>
+ <li>
+ <a href="#section--commentary">解説</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html b/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
index 3fcdf961..98c8048c 100644
--- a/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
+++ b/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,92 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--vps">VPS</a>
+ </li>
+ <li>
+ <a href="#section--preparation">事前準備</a>
+ <ul>
+ <li>
+ <a href="#section--preparation--hostname">サーバのホスト名を決める</a>
+ </li>
+ <li>
+ <a href="#section--preparation--ssh-key">SSH の鍵生成</a>
+ </li>
+ <li>
+ <a href="#section--preparation--ssh-config">SSH の設定</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--basic-setup">基本のセットアップ</a>
+ <ul>
+ <li>
+ <a href="#section--basic-setup--login">SSH 接続</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--user">ユーザを作成する</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--hostname">ホスト名を変える</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--public-key">公開鍵を置く</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--ssh-config">SSH の設定</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--ssh-connect">SSH で接続確認</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--close-ports">ポートの遮断</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--ssh-key-for-github">GitHub 用の SSH 鍵</a>
+ </li>
+ <li>
+ <a href="#section--basic-setup--upgrade-packages">パッケージの更新</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--site-hosting-setup">サイトホスティング用のセットアップ</a>
+ <ul>
+ <li>
+ <a href="#section--site-hosting-setup--dns">DNS に IP アドレスを登録する</a>
+ </li>
+ <li>
+ <a href="#section--site-hosting-setup--install-softwares">使うソフトウェアのインストール</a>
+ </li>
+ <li>
+ <a href="#section--site-hosting-setup--docker">メインユーザが Docker を使えるように</a>
+ </li>
+ <li>
+ <a href="#section--site-hosting-setup--open-http-ports">HTTP/HTTPS を通す</a>
+ </li>
+ <li>
+ <a href="#section--site-hosting-setup--clone-repositories">リポジトリのクローン</a>
+ </li>
+ <li>
+ <a href="#section--site-hosting-setup--certbot">certbot で証明書取得</a>
+ </li>
+ <li>
+ <a href="#section--site-hosting-setup--run-server">サーバを稼動させる</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">感想</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html b/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
index 6b0e135f..dc5ed8e8 100644
--- a/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
+++ b/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,26 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--quiz">問題</a>
+ </li>
+ <li>
+ <a href="#section--how-to-obtain-token">トークン入手方法</a>
+ </li>
+ <li>
+ <a href="#section--commentary">解説</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html b/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
index 55a05c16..7c98dda9 100644
--- a/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
+++ b/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,37 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--quiz">問題</a>
+ </li>
+ <li>
+ <a href="#section--commentary">解説</a>
+ <ul>
+ <li>
+ <a href="#section--commentary--summary">概要</a>
+ </li>
+ <li>
+ <a href="#section--commentary--chain-of-exceptions">例外オブジェクトの連鎖</a>
+ </li>
+ <li>
+ <a href="#section--commentary--output">出力部の解析</a>
+ </li>
+ <li>
+ <a href="#section--commentary--data-construction">データ構成部の解析</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html b/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
index dd7ea830..a78c8a4f 100644
--- a/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
+++ b/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>このブログのジェネレータを書き直した|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -43,6 +43,23 @@
<header class="post-header">
<h1 class="post-title">このブログのジェネレータを書き直した</h1>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--from-hugo-to-asciidoctor">Hugo から Asciidoctor へ</a>
+ </li>
+ <li>
+ <a href="#section--from-asciidoctor-to-my-own-generator">Asciidoctor から自前のジェネレータへ</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html b/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
index d90c0af1..41ebb8dc 100644
--- a/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
+++ b/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -43,6 +43,51 @@
<header class="post-header">
<h1 class="post-title">PNG 画像の最小構成エンコーダを実装する</h1>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--basic-structure-of-png">PNG ファイルの基本構造</a>
+ </li>
+ <li>
+ <a href="#section--implement-png-encoder">PNG のエンコーダを実装する</a>
+ <ul>
+ <li>
+ <a href="#section--implement-png-encoder--png-signature">PNG signature</a>
+ </li>
+ <li>
+ <a href="#section--implement-png-encoder--structure-of-chunk">Chunk の構造</a>
+ </li>
+ <li>
+ <a href="#section--implement-png-encoder--ihdr-chunk">IHDR chunk</a>
+ </li>
+ <li>
+ <a href="#section--implement-png-encoder--idat-chunk">IDAT chunk</a>
+ <ul>
+ <li>
+ <a href="#section--implement-png-encoder--idat-chunk--zlib">Zlib</a>
+ </li>
+ <li>
+ <a href="#section--implement-png-encoder--idat-chunk--image-data">画像データ</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--implement-png-encoder--iend-chunk">IEND chunk</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ <li>
+ <a href="#section--references">参考</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html b/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
index 87b0eae6..936747cf 100644
--- a/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
+++ b/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,37 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--as-speaker">スピーカーとして</a>
+ </li>
+ <li>
+ <a href="#section--as-staff">当日スタッフとして</a>
+ </li>
+ <li>
+ <a href="#section--as-attendee">参加者として</a>
+ <ul>
+ <li>
+ <a href="#section--as-attendee--recommended-sessions">おすすめセッション</a>
+ </li>
+ <li>
+ <a href="#section--as-attendee--phper-challenge">PHPer チャレンジ</a>
+ </li>
+ <li>
+ <a href="#section--as-attendee--random-thoughts">雑多な感想</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html b/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
index bf7d2495..47750f3c 100644
--- a/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
+++ b/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,28 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--sessions-thoughts">セッションの感想</a>
+ <ul>
+ <li>
+ <a href="#section--sessions-thoughts--eve">前夜祭</a>
+ </li>
+ <li>
+ <a href="#section--sessions-thoughts--conference">カンファレンス</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html b/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
index c551ccf5..016951a2 100644
--- a/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
+++ b/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,40 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--version">バージョン情報</a>
+ </li>
+ <li>
+ <a href="#section--goal">本記事のゴール</a>
+ </li>
+ <li>
+ <a href="#section--build">ビルド</a>
+ <ul>
+ <li>
+ <a href="#section--build--write-c-entrypoint">C のエントリポイントを書く</a>
+ </li>
+ <li>
+ <a href="#section--build--compile-to-wasm">WebAssembly にコンパイルする</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--run">実行</a>
+ </li>
+ <li>
+ <a href="#section--outro">まとめ</a>
+ </li>
+ <li>
+ <a href="#section--references">参考リンク</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html b/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html
index e4b95799..d0fbe550 100644
--- a/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html
+++ b/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>放送大学に入学しました|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
diff --git a/services/blog/public/posts/2023-12-03/isucon-13/index.html b/services/blog/public/posts/2023-12-03/isucon-13/index.html
index 220c725c..9dd7a94e 100644
--- a/services/blog/public/posts/2023-12-03/isucon-13/index.html
+++ b/services/blog/public/posts/2023-12-03/isucon-13/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,40 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--goals">目標</a>
+ </li>
+ <li>
+ <a href="#section--strategy">戦略</a>
+ <ul>
+ <li>
+ <a href="#section--strategy--do-not-destroy-environment">環境を破壊しない</a>
+ </li>
+ <li>
+ <a href="#section--strategy--revert-changes-immediately">すぐに変更を取り消す</a>
+ </li>
+ <li>
+ <a href="#section--strategy--do-small-deployment">小さくデプロイする</a>
+ </li>
+ <li>
+ <a href="#section--strategy--use-familiar-tools">使い慣れた道具を使う</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--performance-optimization">パフォーマンスの最適化</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2023-12-31/2023-reflections/index.html b/services/blog/public/posts/2023-12-31/2023-reflections/index.html
index 4fa00982..f7700d17 100644
--- a/services/blog/public/posts/2023-12-31/2023-reflections/index.html
+++ b/services/blog/public/posts/2023-12-31/2023-reflections/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -43,6 +43,29 @@
<header class="post-header">
<h1 class="post-title">2023年の振り返り</h1>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--conferences">登壇・カンファレンススタッフ</a>
+ </li>
+ <li>
+ <a href="#section--articles">書いた記事</a>
+ </li>
+ <li>
+ <a href="#section--coding">作ったもの</a>
+ </li>
+ <li>
+ <a href="#section--misc">その他</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html b/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
index 2e9c8396..3cad45bf 100644
--- a/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
+++ b/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,29 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">やりたいこと</a>
+ </li>
+ <li>
+ <a href="#section--version">バージョン情報</a>
+ </li>
+ <li>
+ <a href="#section--ftplugin">ftplugin を用意する</a>
+ </li>
+ <li>
+ <a href="#section--did-ftplugin">二重読み込みを防ぐ</a>
+ </li>
+ <li>
+ <a href="#section--implement">実装する</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html b/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
index 176be938..af260f0a 100644
--- a/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
+++ b/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,32 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--install-wireguard-server">WireGuard のインストール: サーバ</a>
+ </li>
+ <li>
+ <a href="#section--install-wireguard-client">WireGuard のインストール: クライアント</a>
+ </li>
+ <li>
+ <a href="#section--configure-wireguard">WireGuard の設定</a>
+ </li>
+ <li>
+ <a href="#section--configure-firewall">ファイアウォールの設定</a>
+ </li>
+ <li>
+ <a href="#section--connect-each-other">接続する</a>
+ </li>
+ <li>
+ <a href="#section--edit-80-port">追記: 80 番ポートについて</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html b/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
index bef99183..20c5a648 100644
--- a/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
+++ b/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,20 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--sessions-thoughts">セッションの感想</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html b/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
index 0b27e943..4653b2ad 100644
--- a/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
+++ b/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,20 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--sessions-thoughts">セッションの感想</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html b/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
index 185aa146..b5af0e91 100644
--- a/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
+++ b/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,31 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--as-speaker">スピーカーとして</a>
+ </li>
+ <li>
+ <a href="#section--as-staff">コアスタッフとして</a>
+ </li>
+ <li>
+ <a href="#section--as-attendee">参加者として</a>
+ <ul>
+ <li>
+ <a href="#section--as-attendee--my-best-session">マイベストセッション</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-03-20/my-bucket-list/index.html b/services/blog/public/posts/2024-03-20/my-bucket-list/index.html
index 92161a33..4adbd10c 100644
--- a/services/blog/public/posts/2024-03-20/my-bucket-list/index.html
+++ b/services/blog/public/posts/2024-03-20/my-bucket-list/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
diff --git a/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html b/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
index a9f5344f..f8178c26 100644
--- a/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
+++ b/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,26 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--as-speaker">スピーカーとして</a>
+ </li>
+ <li>
+ <a href="#section--as-staff">スタッフとして</a>
+ </li>
+ <li>
+ <a href="#section--as-attendee">参加者として</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html b/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
index 5efcb1db..bf2f6d93 100644
--- a/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
+++ b/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,34 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--background">前提</a>
+ <ul>
+ <li>
+ <a href="#section--background--gitlab-ci-cd">GitLab CI/CD について</a>
+ </li>
+ <li>
+ <a href="#section--background--pipefail-option"> オプションについて</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--problem">発生した問題</a>
+ </li>
+ <li>
+ <a href="#section--where-pipefail-is-enabled">どこで が on になるか</a>
+ </li>
+ <li>
+ <a href="#section--how-to-solve">どのように解決するか</a>
+ </li>
+ <li>
+ <a href="#section--remarks">備考</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html b/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
index 08557879..96f82be8 100644
--- a/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
+++ b/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,29 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--version-info">バージョン情報</a>
+ </li>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--problem">発生していた問題</a>
+ </li>
+ <li>
+ <a href="#section--what-i-want-to-achive">やりたいこと</a>
+ </li>
+ <li>
+ <a href="#section--solution">解決策</a>
+ </li>
+ <li>
+ <a href="#section--conclusion">まとめ</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html b/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
index 8a314d7f..da43afb6 100644
--- a/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
+++ b/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,23 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--session-thoughts">セッション感想</a>
+ </li>
+ <li>
+ <a href="#section--lightning-talk">懇親会 LT</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html b/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
index 9abca4f0..7d4dfc35 100644
--- a/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
+++ b/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,23 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--sessions">セッション感想</a>
+ </li>
+ <li>
+ <a href="#section--others">その他感想</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html b/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
index 9a40d7c2..e637a4d7 100644
--- a/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
+++ b/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,23 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">欲しかったもの</a>
+ </li>
+ <li>
+ <a href="#section--reparojson">作ったもの</a>
+ </li>
+ <li>
+ <a href="#section--itegration-with-neovim">Neovim との連携</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html b/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
index ea58be69..40208a71 100644
--- a/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
+++ b/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,26 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--tldr">TL;DR</a>
+ </li>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--what-i-want-to-do">やりたいこと</a>
+ </li>
+ <li>
+ <a href="#section--solution">解決方法</a>
+ </li>
+ <li>
+ <a href="#section--reference">参考</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html b/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
index 1c4b7f05..304078de 100644
--- a/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
+++ b/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,20 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--thought">感想</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-12-04/cohackpp-report/index.html b/services/blog/public/posts/2024-12-04/cohackpp-report/index.html
index d5b81411..50c2312a 100644
--- a/services/blog/public/posts/2024-12-04/cohackpp-report/index.html
+++ b/services/blog/public/posts/2024-12-04/cohackpp-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -52,6 +52,31 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--thoughts">感想</a>
+ </li>
+ <li>
+ <a href="#section--lt">LT</a>
+ <ul>
+ <li>
+ <a href="#section--lt--prepare">合戦準備</a>
+ </li>
+ <li>
+ <a href="#section--lt--battle">いざ尋常に勝負</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--congrats">ご結婚おめでとうございます</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2024-12-33/2024-reflections/index.html b/services/blog/public/posts/2024-12-33/2024-reflections/index.html
index 686c9f6a..615fea8c 100644
--- a/services/blog/public/posts/2024-12-33/2024-reflections/index.html
+++ b/services/blog/public/posts/2024-12-33/2024-reflections/index.html
@@ -14,7 +14,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -43,6 +43,29 @@
<header class="post-header">
<h1 class="post-title">2024年の振り返り</h1>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--conference">登壇・カンファレンス参加</a>
+ </li>
+ <li>
+ <a href="#section--articles">書いた記事</a>
+ </li>
+ <li>
+ <a href="#section--coding">作ったもの</a>
+ </li>
+ <li>
+ <a href="#section--misc">その他</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html b/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
index 849154d8..e7cd5282 100644
--- a/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
+++ b/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -58,6 +58,46 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--quiz">Q1: An Art of Computer Programming</a>
+ </li>
+ <li>
+ <a href="#section--how-to-solve">解き方</a>
+ </li>
+ <li>
+ <a href="#section--commentary">解説</a>
+ <ul>
+ <li>
+ <a href="#section--commentary--read-as-image">画像として解釈する</a>
+ </li>
+ <li>
+ <a href="#section--commentary--password">パスワード</a>
+ </li>
+ <li>
+ <a href="#section--commentary--png-steganography">PNG ステガノグラフィ</a>
+ </li>
+ <li>
+ <a href="#section--commentary--php-program">実行される PHP プログラム</a>
+ </li>
+ <li>
+ <a href="#section--commentary--piet-source-code">Piet のソースコード</a>
+ </li>
+ <li>
+ <a href="#section--commentary--misc">その他小ネタ</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html b/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
index 578868c1..e869cd3b 100644
--- a/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
+++ b/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,34 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--breaking-changes">主な破壊的変更</a>
+ <ul>
+ <li>
+ <a href="#section--breaking-changes--boolean-literals">Boolean としてパースされるトークンが / とその亜種のみに</a>
+ </li>
+ <li>
+ <a href="#section--breaking-changes--octal-literals">八進数リテラルには が必須に</a>
+ </li>
+ <li>
+ <a href="#section--breaking-changes--merging"> によるマージが不可能に</a>
+ </li>
+ <li>
+ <a href="#section--breaking-changes--number-separator">数字を で区切るのが禁止に</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html b/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html
index 120074a2..b24dfda2 100644
--- a/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html
+++ b/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,23 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--sessions">セッション感想</a>
+ </li>
+ <li>
+ <a href="#section--my-session">登壇したセッション</a>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html b/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html
index cc980b1e..ad21dd19 100644
--- a/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html
+++ b/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
diff --git a/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html b/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html
index 6142f333..477f8064 100644
--- a/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html
+++ b/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,34 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--specification">仕様</a>
+ <ul>
+ <li>
+ <a href="#section--specification--sender">送信側</a>
+ </li>
+ <li>
+ <a href="#section--specification--recipient">受信側</a>
+ </li>
+ <li>
+ <a href="#section--specification--exception">例外ケース: Set-Cookie</a>
+ </li>
+ <li>
+ <a href="#section--specification--comma-separated-list">どの header field がコンマ区切りのリストなのか</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">まとめ</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html b/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html
index 94056e10..94d30758 100644
--- a/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html
+++ b/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -58,6 +58,34 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--trick">TRICK とは</a>
+ </li>
+ <li>
+ <a href="#section--my-work">作品紹介</a>
+ <ul>
+ <li>
+ <a href="#section--my-work--quine">Quine</a>
+ </li>
+ <li>
+ <a href="#section--my-work--syntax-highlight">シンタックスハイライト</a>
+ </li>
+ <li>
+ <a href="#section--my-work--ruby-text">振り仮名</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html b/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html
index 7074f7cc..8ee9d64b 100644
--- a/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html
+++ b/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -55,6 +55,20 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--on-macos">macOS での問題点</a>
+ </li>
+ <li>
+ <a href="#section--in-version-2">v2 では</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html b/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html
index 0bb69686..77fcb1f7 100644
--- a/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html
+++ b/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,42 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--regulation">レギュレーション</a>
+ </li>
+ <li>
+ <a href="#section--design">設計</a>
+ <ul>
+ <li>
+ <a href="#section--design--language-features">言語機能</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--development">開発</a>
+ <ul>
+ <li>
+ <a href="#section--development--day1">1日目 (2025-05-03)</a>
+ </li>
+ <li>
+ <a href="#section--development--day2">2日目 (2025-05-03)</a>
+ </li>
+ <li>
+ <a href="#section--development--day3">3日目 (2025-05-03)</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/2025-06-14/baba-is-you/index.html b/services/blog/public/posts/2025-06-14/baba-is-you/index.html
index 05d8e48f..81bbd9e1 100644
--- a/services/blog/public/posts/2025-06-14/baba-is-you/index.html
+++ b/services/blog/public/posts/2025-06-14/baba-is-you/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="single">
<header class="header">
@@ -49,6 +49,59 @@
</li>
</ul>
</header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">Baba Is You とは</a>
+ </li>
+ <li>
+ <a href="#section--no-spoiler">前半 (ネタバレなし)</a>
+ <ul>
+ <li>
+ <a href="#section--no-spoiler--what-is-baba-is-you">どういうゲームか?</a>
+ </li>
+ <li>
+ <a href="#section--no-spoiler--play-time-and-difficulty">ゲームのボリューム・難易度</a>
+ </li>
+ <li>
+ <a href="#section--no-spoiler--appeal">魅力</a>
+ <ul>
+ <li>
+ <a href="#section--no-spoiler--appeal--very-difficult">高い難易度</a>
+ </li>
+ <li>
+ <a href="#section--no-spoiler--appeal--very-flexible">新しい単語との出会い</a>
+ </li>
+ <li>
+ <a href="#section--no-spoiler--appeal--very-beautiful">美しいパズル</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--no-spoiler--play-now">Baba Is You をやれ</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--spoiler">後半 (ネタバレあり)</a>
+ <ul>
+ <li>
+ <a href="#section--spoiler--notation">表記</a>
+ </li>
+ <li>
+ <a href="#section--spoiler--impressive-levels">印象的な面</a>
+ </li>
+ <li>
+ <a href="#section--spoiler--difficult-levels">初見時難易度ランキング</a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#section--outro">おわりに</a>
+ </li>
+ </ul>
+ </nav>
<div class="post-content">
<section id="changelog">
<h2><a href="#changelog">更新履歴</a></h2>
diff --git a/services/blog/public/posts/3/index.html b/services/blog/public/posts/3/index.html
index 85f7d92d..bcd3a694 100644
--- a/services/blog/public/posts/3/index.html
+++ b/services/blog/public/posts/3/index.html
@@ -15,7 +15,7 @@
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="list">
<header class="header">
diff --git a/services/blog/public/posts/4/index.html b/services/blog/public/posts/4/index.html
index c44cbae8..67ecd304 100644
--- a/services/blog/public/posts/4/index.html
+++ b/services/blog/public/posts/4/index.html
@@ -15,7 +15,7 @@
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="list">
<header class="header">
diff --git a/services/blog/public/posts/5/index.html b/services/blog/public/posts/5/index.html
index 95548528..04dc89a5 100644
--- a/services/blog/public/posts/5/index.html
+++ b/services/blog/public/posts/5/index.html
@@ -15,7 +15,7 @@
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="list">
<header class="header">
diff --git a/services/blog/public/posts/6/index.html b/services/blog/public/posts/6/index.html
index cac03b51..72ee6969 100644
--- a/services/blog/public/posts/6/index.html
+++ b/services/blog/public/posts/6/index.html
@@ -15,7 +15,7 @@
<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=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="list">
<header class="header">
diff --git a/services/blog/public/posts/index.html b/services/blog/public/posts/index.html
index b0e996ba..a45da9f7 100644
--- a/services/blog/public/posts/index.html
+++ b/services/blog/public/posts/index.html
@@ -15,7 +15,7 @@
<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>投稿一覧 (1ページ目)|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53">
+ <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade">
</head>
<body class="list">
<header class="header">