diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-01 12:48:02 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-01 12:48:02 +0900 |
| commit | f866a23c9ad7842e6c832bae6d84bec953287c08 (patch) | |
| tree | 440856073df7c2fec3431bf1ca2e133c2ea33c45 | |
| parent | 376781b3592203de7d3ceb01b1d7a07dc5bd87a7 (diff) | |
| download | nsfisis.dev-f866a23c9ad7842e6c832bae6d84bec953287c08.tar.gz nsfisis.dev-f866a23c9ad7842e6c832bae6d84bec953287c08.tar.zst nsfisis.dev-f866a23c9ad7842e6c832bae6d84bec953287c08.zip | |
feat(blog): new post /posts/2026-02-01/rewrite-this-site-generator-2026/
16 files changed, 499 insertions, 118 deletions
diff --git a/services/nuldoc/content/posts/2023-03-10/rewrite-this-blog-generator.md b/services/nuldoc/content/posts/2023-03-10/rewrite-this-blog-generator.md index ef1c0348..db493360 100644 --- a/services/nuldoc/content/posts/2023-03-10/rewrite-this-blog-generator.md +++ b/services/nuldoc/content/posts/2023-03-10/rewrite-this-blog-generator.md @@ -3,7 +3,9 @@ uuid = "12512894-05d8-42c6-950e-8f5d60f984d8" title = "このブログのジェネレータを書き直した" description = "このブログのジェネレータを書き直したので、やったことを書き記しておく。" -tags = [] +tags = [ + "note-to-self" +] [[article.revisions]] date = "2023-03-10" diff --git a/services/nuldoc/content/posts/2026-02-01/rewrite-this-site-generator-2026.md b/services/nuldoc/content/posts/2026-02-01/rewrite-this-site-generator-2026.md new file mode 100644 index 00000000..46ec8e7e --- /dev/null +++ b/services/nuldoc/content/posts/2026-02-01/rewrite-this-site-generator-2026.md @@ -0,0 +1,62 @@ +--- +[article] +uuid = "32947eee-f737-4e4c-b3f3-2c847d9b36d2" +title = "このサイトの静的サイトジェネレータを書き直した (2026)" +description = "このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。" +tags = [ + "note-to-self" +] + +[[article.revisions]] +date = "2026-02-01" +remark = "公開" +--- +# はじめに {#intro} + +このサイトを構築する静的サイトジェネレータをまた書き直した。 + +[前回のリライトはこちら](/posts/2023-03-10/rewrite-this-blog-generator/) + + +# 記事フォーマットの変遷 {#format-changes} + +ブログ記事を書くテキストフォーマットは次のように変遷している。 + +1. Markdown +1. AsciiDoc +1. XML (Simplified DocBook) +1. Djot +1. Markdown + +結局最初の Markdown に戻ってきたことになる。 +AsciiDoc や Simplified DocBook を使っていた当時 (2023 年ごろ) との最大の差は、LLM である。 +これらの AI は Markdown をある種の lingua franca として採用している。 + +Ruby on Rails の DHH 氏も同じことを述べているらしい。 + +[Rails 8.1 のリリースノートより引用](https://guides.rubyonrails.org/8_1_release_notes.html#markdown-rendering) + +> Markdown has become the lingua franca of AI, and Rails has embraced this adoption by making it easier to respond to markdown requests and render them directly: + +ともかく世は猫も杓子も Markdown である。Simplified DocBook をベースにして Markdown へ変換することもできるが、そこまでするならもう最初から Markdown で書いてしまえというわけだ。 + +Markdown の表現力の乏しさは変わらぬままではあるが、LLM は非構造化データの扱いがすこぶる得意であるので、多少 CommonMark 範囲から逸脱しようが大抵は意図を汲み取ってくれる。 + +ところで、このブログも Markdown でのアクセスに対応しており、 <https://blog.nsfisis.dev/posts/2026-02-01/rewrite-this-blog-generator-2026.md> のような `.md` を付けた URL へアクセスすると Markdown が返る。また、HTTP で `Accept: text/markdown` を指定すると同じく Markdown が返る。 + + +# 実装 {#implementation} + +一つ前の実装は Deno + TypeScript で書かれていた。今回のリライトに用いた言語は Ruby である。 +Ruby を選んだのは Ractor を使ってみたかったからだったのだが、シンタックスハイライタが非対応だったので保留している。 + +この移植は完全に AI 任せで、参考実装として TypeScript のソースコードを参照させつつ、出力される HTML ファイルの差分が無くなるまで走らせたところ数十分ほどで完成した。 +ざっと 4000 行ほどのコードである。 +いやはや、楽な時代になったものだ。 + +なお、特に意図していなかったのだが、サイトをフルビルドしたときのパフォーマンスも 0.8 秒ほど改善した (2.2 秒 → 1.4 秒)。 + + +# おわりに {#outro} + +ということで次の式年遷宮まではこのジェネレータでやっていくことにする。 diff --git a/services/nuldoc/public/blog/posts/2/index.html b/services/nuldoc/public/blog/posts/2/index.html index 8fd8d89b..ee6aa2c7 100644 --- a/services/nuldoc/public/blog/posts/2/index.html +++ b/services/nuldoc/public/blog/posts/2/index.html @@ -67,6 +67,32 @@ </div> </nav> <article class="post-entry"> + <a href="/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/"> + <header class="entry-header"> + <h2>【Composer】 composer-patches v2 では macOS でも GNU patch のインストールが不要になる (予定)</h2> + </header> + <section class="entry-content"> + <p> + composer-patches は BSD patch に対応しておらず、一部のパッチの適用に失敗する。現在ベータ版である v2 では patch コマンドに依存しなくなり、macOS で使うときのストレスが解消される見込み。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2025-04-24">2025-04-24</time> 投稿 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">Composer</span> + </li> + <li class="tag"> + <span class="tag-inner">macOS</span> + </li> + <li class="tag"> + <span class="tag-inner">PHP</span> + </li> + </ul> + </footer> + </a> + </article> + <article class="post-entry"> <a href="/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/"> <header class="entry-header"> <h2>RubyKaigi 2025 の TRICK で入賞した</h2> @@ -271,26 +297,6 @@ </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 の内側から外側の "." にアクセスする</h2> - </header> - <section class="entry-content"> - <p> - Go言語の text/template における with や range は "." を上書きする。これらの内側から外側の "." にアクセスする方法を調べた。 - </p> - </section> - <footer class="entry-footer"> - <time datetime="2024-08-19">2024-08-19</time> 投稿 - <ul class="entry-tags"> - <li class="tag"> - <span class="tag-inner">Go</span> - </li> - </ul> - </footer> - </a> - </article> <nav class="pagination"> <div class="pagination-prev"> <a href="/posts/">前へ</a> diff --git a/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator.md b/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator.md index ef1c0348..db493360 100644 --- a/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator.md +++ b/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator.md @@ -3,7 +3,9 @@ uuid = "12512894-05d8-42c6-950e-8f5d60f984d8" title = "このブログのジェネレータを書き直した" description = "このブログのジェネレータを書き直したので、やったことを書き記しておく。" -tags = [] +tags = [ + "note-to-self" +] [[article.revisions]] date = "2023-03-10" diff --git a/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator/index.html b/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator/index.html index e726a640..3b3a6bdd 100644 --- a/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator/index.html +++ b/services/nuldoc/public/blog/posts/2023-03-10/rewrite-this-blog-generator/index.html @@ -6,6 +6,7 @@ <meta name="author" content="nsfisis"> <meta name="copyright" content="© 2023 nsfisis"> <meta name="description" content="このブログのジェネレータを書き直したので、やったことを書き記しておく。"> + <meta name="keywords" content="備忘録"> <meta property="og:type" content="article"> <meta property="og:title" content="このブログのジェネレータを書き直した|REPL: Rest-Eat-Program Loop"> <meta property="og:description" content="このブログのジェネレータを書き直したので、やったことを書き記しておく。"> @@ -42,6 +43,11 @@ <article class="post-single"> <header class="post-header"> <h1 class="post-title">このブログのジェネレータを書き直した</h1> + <ul class="post-tags"> + <li class="tag"> + <a class="tag-inner" href="/tags/note-to-self/">備忘録</a> + </li> + </ul> </header> <nav class="toc"> <h2>目次</h2> diff --git a/services/nuldoc/public/blog/posts/2026-02-01/rewrite-this-site-generator-2026.md b/services/nuldoc/public/blog/posts/2026-02-01/rewrite-this-site-generator-2026.md new file mode 100644 index 00000000..46ec8e7e --- /dev/null +++ b/services/nuldoc/public/blog/posts/2026-02-01/rewrite-this-site-generator-2026.md @@ -0,0 +1,62 @@ +--- +[article] +uuid = "32947eee-f737-4e4c-b3f3-2c847d9b36d2" +title = "このサイトの静的サイトジェネレータを書き直した (2026)" +description = "このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。" +tags = [ + "note-to-self" +] + +[[article.revisions]] +date = "2026-02-01" +remark = "公開" +--- +# はじめに {#intro} + +このサイトを構築する静的サイトジェネレータをまた書き直した。 + +[前回のリライトはこちら](/posts/2023-03-10/rewrite-this-blog-generator/) + + +# 記事フォーマットの変遷 {#format-changes} + +ブログ記事を書くテキストフォーマットは次のように変遷している。 + +1. Markdown +1. AsciiDoc +1. XML (Simplified DocBook) +1. Djot +1. Markdown + +結局最初の Markdown に戻ってきたことになる。 +AsciiDoc や Simplified DocBook を使っていた当時 (2023 年ごろ) との最大の差は、LLM である。 +これらの AI は Markdown をある種の lingua franca として採用している。 + +Ruby on Rails の DHH 氏も同じことを述べているらしい。 + +[Rails 8.1 のリリースノートより引用](https://guides.rubyonrails.org/8_1_release_notes.html#markdown-rendering) + +> Markdown has become the lingua franca of AI, and Rails has embraced this adoption by making it easier to respond to markdown requests and render them directly: + +ともかく世は猫も杓子も Markdown である。Simplified DocBook をベースにして Markdown へ変換することもできるが、そこまでするならもう最初から Markdown で書いてしまえというわけだ。 + +Markdown の表現力の乏しさは変わらぬままではあるが、LLM は非構造化データの扱いがすこぶる得意であるので、多少 CommonMark 範囲から逸脱しようが大抵は意図を汲み取ってくれる。 + +ところで、このブログも Markdown でのアクセスに対応しており、 <https://blog.nsfisis.dev/posts/2026-02-01/rewrite-this-blog-generator-2026.md> のような `.md` を付けた URL へアクセスすると Markdown が返る。また、HTTP で `Accept: text/markdown` を指定すると同じく Markdown が返る。 + + +# 実装 {#implementation} + +一つ前の実装は Deno + TypeScript で書かれていた。今回のリライトに用いた言語は Ruby である。 +Ruby を選んだのは Ractor を使ってみたかったからだったのだが、シンタックスハイライタが非対応だったので保留している。 + +この移植は完全に AI 任せで、参考実装として TypeScript のソースコードを参照させつつ、出力される HTML ファイルの差分が無くなるまで走らせたところ数十分ほどで完成した。 +ざっと 4000 行ほどのコードである。 +いやはや、楽な時代になったものだ。 + +なお、特に意図していなかったのだが、サイトをフルビルドしたときのパフォーマンスも 0.8 秒ほど改善した (2.2 秒 → 1.4 秒)。 + + +# おわりに {#outro} + +ということで次の式年遷宮まではこのジェネレータでやっていくことにする。 diff --git a/services/nuldoc/public/blog/posts/2026-02-01/rewrite-this-site-generator-2026/index.html b/services/nuldoc/public/blog/posts/2026-02-01/rewrite-this-site-generator-2026/index.html new file mode 100644 index 00000000..d9ba2041 --- /dev/null +++ b/services/nuldoc/public/blog/posts/2026-02-01/rewrite-this-site-generator-2026/index.html @@ -0,0 +1,158 @@ +<!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="© 2026 nsfisis"> + <meta name="description" content="このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。"> + <meta name="keywords" content="備忘録"> + <meta property="og:type" content="article"> + <meta property="og:title" content="このサイトの静的サイトジェネレータを書き直した (2026)|REPL: Rest-Eat-Program Loop"> + <meta property="og:description" content="このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。"> + <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop"> + <meta property="og:locale" content="ja_JP"> + <meta name="Hatena::Bookmark" content="nocomment"> + <link rel="icon" type="image/svg+xml" href="/favicon.svg"> + <title>このサイトの静的サイトジェネレータを書き直した (2026)|REPL: Rest-Eat-Program Loop</title> + <link rel="stylesheet" href="/style.css?h=c171793a210d62f7ff2ddf54208f34e5"> + </head> + <body class="single"> + <header class="header"> + <div class="site-logo"> + <a href="https://nsfisis.dev/">nsfisis.dev</a> + </div> + <div class="site-name"> + REPL: Rest-Eat-Program Loop + </div> + <nav class="nav"> + <ul> + <li> + <a href="https://about.nsfisis.dev/">About</a> + </li> + <li> + <a href="/posts/">Posts</a> + </li> + <li> + <a href="/tags/">Tags</a> + </li> + </ul> + </nav> + </header> + <main class="main"> + <article class="post-single"> + <header class="post-header"> + <h1 class="post-title">このサイトの静的サイトジェネレータを書き直した (2026)</h1> + <ul class="post-tags"> + <li class="tag"> + <a class="tag-inner" href="/tags/note-to-self/">備忘録</a> + </li> + </ul> + </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--format-changes">記事フォーマットの変遷</a> + </li> + <li> + <a href="#section--implementation">実装</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> + <div class="post-content"> + <section id="changelog"> + <h2><a href="#changelog">更新履歴</a></h2> + <ol> + <li class="revision"> + <time datetime="2026-02-01">2026-02-01</time>: 公開 + </li> + </ol> + </section> + <section id="section--intro"> + <h2><a href="#section--intro">はじめに</a></h2> + <p> + このサイトを構築する静的サイトジェネレータをまた書き直した。 + </p> + <p> + <a href="/posts/2023-03-10/rewrite-this-blog-generator/">前回のリライトはこちら</a> + </p> + </section> + <section id="section--format-changes"> + <h2><a href="#section--format-changes">記事フォーマットの変遷</a></h2> + <p> + ブログ記事を書くテキストフォーマットは次のように変遷している。 + </p> + <ol> + <li> + Markdown + </li> + <li> + AsciiDoc + </li> + <li> + XML (Simplified DocBook) + </li> + <li> + Djot + </li> + <li> + Markdown + </li> + </ol> + <p> + 結局最初の Markdown に戻ってきたことになる。AsciiDoc や Simplified DocBook を使っていた当時 (2023 年ごろ) との最大の差は、LLM である。これらの AI は Markdown をある種の lingua franca として採用している。 + </p> + <p> + Ruby on Rails の DHH 氏も同じことを述べているらしい。 + </p> + <p> + <a href="https://guides.rubyonrails.org/8_1_release_notes.html#markdown-rendering" rel="noreferrer" target="_blank">Rails 8.1 のリリースノートより引用</a> + </p> + <blockquote> + <p> + Markdown has become the lingua franca of AI, and Rails has embraced this adoption by making it easier to respond to markdown requests and render them directly: + </p> + </blockquote> + <p> + ともかく世は猫も杓子も Markdown である。Simplified DocBook をベースにして Markdown へ変換することもできるが、そこまでするならもう最初から Markdown で書いてしまえというわけだ。 + </p> + <p> + Markdown の表現力の乏しさは変わらぬままではあるが、LLM は非構造化データの扱いがすこぶる得意であるので、多少 CommonMark 範囲から逸脱しようが大抵は意図を汲み取ってくれる。 + </p> + <p> + ところで、このブログも Markdown でのアクセスに対応しており、 <a class="url" href="https://blog.nsfisis.dev/posts/2026-02-01/rewrite-this-blog-generator-2026.md" rel="noreferrer" target="_blank">https://blog.nsfisis.dev/posts/2026-02-01/rewrite-this-blog-generator-2026.md</a> のような <code>.md</code> を付けた URL へアクセスすると Markdown が返る。また、HTTP で <code>Accept: text/markdown</code> を指定すると同じく Markdown が返る。 + </p> + </section> + <section id="section--implementation"> + <h2><a href="#section--implementation">実装</a></h2> + <p> + 一つ前の実装は Deno + TypeScript で書かれていた。今回のリライトに用いた言語は Ruby である。Ruby を選んだのは Ractor を使ってみたかったからだったのだが、シンタックスハイライタが非対応だったので保留している。 + </p> + <p> + この移植は完全に AI 任せで、参考実装として TypeScript のソースコードを参照させつつ、出力される HTML ファイルの差分が無くなるまで走らせたところ数十分ほどで完成した。ざっと 4000 行ほどのコードである。いやはや、楽な時代になったものだ。 + </p> + <p> + なお、特に意図していなかったのだが、サイトをフルビルドしたときのパフォーマンスも 0.8 秒ほど改善した (2.2 秒 → 1.4 秒)。 + </p> + </section> + <section id="section--outro"> + <h2><a href="#section--outro">おわりに</a></h2> + <p> + ということで次の式年遷宮まではこのジェネレータでやっていくことにする。 + </p> + </section> + </div> + </article> + </main> + <footer class="footer"> + © 2021 nsfisis + </footer> + </body> +</html> diff --git a/services/nuldoc/public/blog/posts/3/index.html b/services/nuldoc/public/blog/posts/3/index.html index 25732a2d..ef478b30 100644 --- a/services/nuldoc/public/blog/posts/3/index.html +++ b/services/nuldoc/public/blog/posts/3/index.html @@ -70,6 +70,26 @@ </div> </nav> <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 の内側から外側の "." にアクセスする</h2> + </header> + <section class="entry-content"> + <p> + Go言語の text/template における with や range は "." を上書きする。これらの内側から外側の "." にアクセスする方法を調べた。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2024-08-19">2024-08-19</time> 投稿 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">Go</span> + </li> + </ul> + </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> @@ -286,32 +306,6 @@ </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> 投稿 - <ul class="entry-tags"> - <li class="tag"> - <span class="tag-inner">カンファレンス</span> - </li> - <li class="tag"> - <span class="tag-inner">Perl</span> - </li> - <li class="tag"> - <span class="tag-inner">YAPC</span> - </li> - </ul> - </footer> - </a> - </article> <nav class="pagination"> <div class="pagination-prev"> <a href="/posts/2/">前へ</a> diff --git a/services/nuldoc/public/blog/posts/4/index.html b/services/nuldoc/public/blog/posts/4/index.html index 1144c7bc..e673498c 100644 --- a/services/nuldoc/public/blog/posts/4/index.html +++ b/services/nuldoc/public/blog/posts/4/index.html @@ -70,6 +70,32 @@ </div> </nav> <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> 投稿 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">カンファレンス</span> + </li> + <li class="tag"> + <span class="tag-inner">Perl</span> + </li> + <li class="tag"> + <span class="tag-inner">YAPC</span> + </li> + </ul> + </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> @@ -260,21 +286,6 @@ </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> <nav class="pagination"> <div class="pagination-prev"> <a href="/posts/3/">前へ</a> diff --git a/services/nuldoc/public/blog/posts/5/index.html b/services/nuldoc/public/blog/posts/5/index.html index 74e7305b..1138106b 100644 --- a/services/nuldoc/public/blog/posts/5/index.html +++ b/services/nuldoc/public/blog/posts/5/index.html @@ -67,6 +67,26 @@ </div> </nav> <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> 投稿 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">備忘録</span> + </li> + </ul> + </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> @@ -260,32 +280,6 @@ </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> 更新 - <ul class="entry-tags"> - <li class="tag"> - <span class="tag-inner">カンファレンス</span> - </li> - <li class="tag"> - <span class="tag-inner">PHP</span> - </li> - <li class="tag"> - <span class="tag-inner">PHPerKaigi</span> - </li> - </ul> - </footer> - </a> - </article> <nav class="pagination"> <div class="pagination-prev"> <a href="/posts/4/">前へ</a> diff --git a/services/nuldoc/public/blog/posts/6/index.html b/services/nuldoc/public/blog/posts/6/index.html index ac440d45..537fa259 100644 --- a/services/nuldoc/public/blog/posts/6/index.html +++ b/services/nuldoc/public/blog/posts/6/index.html @@ -63,6 +63,32 @@ </div> </nav> <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> 更新 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">カンファレンス</span> + </li> + <li class="tag"> + <span class="tag-inner">PHP</span> + </li> + <li class="tag"> + <span class="tag-inner">PHPerKaigi</span> + </li> + </ul> + </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> diff --git a/services/nuldoc/public/blog/posts/atom.xml b/services/nuldoc/public/blog/posts/atom.xml index 72215e27..341593ac 100644 --- a/services/nuldoc/public/blog/posts/atom.xml +++ b/services/nuldoc/public/blog/posts/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2026-01-16T00:00:00+09:00</updated> + <updated>2026-02-01T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:32947eee-f737-4e4c-b3f3-2c847d9b36d2</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2026-02-01/rewrite-this-site-generator-2026/"></link> + <title>このサイトの静的サイトジェネレータを書き直した (2026)</title> + <summary>このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。</summary> + <published>2026-02-01T00:00:00+09:00</published> + <updated>2026-02-01T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:8ef2ea79-97b7-4d9e-9ddb-0aa5423e6da9</id> <link rel="alternate" href="https://blog.nsfisis.dev/posts/2026-01-16/development-environment-2026/"></link> diff --git a/services/nuldoc/public/blog/posts/index.html b/services/nuldoc/public/blog/posts/index.html index ee02d0e2..1cb6548f 100644 --- a/services/nuldoc/public/blog/posts/index.html +++ b/services/nuldoc/public/blog/posts/index.html @@ -63,6 +63,26 @@ </div> </nav> <article class="post-entry"> + <a href="/posts/2026-02-01/rewrite-this-site-generator-2026/"> + <header class="entry-header"> + <h2>このサイトの静的サイトジェネレータを書き直した (2026)</h2> + </header> + <section class="entry-content"> + <p> + このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2026-02-01">2026-02-01</time> 投稿 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">備忘録</span> + </li> + </ul> + </footer> + </a> + </article> + <article class="post-entry"> <a href="/posts/2026-01-16/development-environment-2026/"> <header class="entry-header"> <h2>開発環境現状確認 2026</h2> @@ -239,32 +259,6 @@ </footer> </a> </article> - <article class="post-entry"> - <a href="/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/"> - <header class="entry-header"> - <h2>【Composer】 composer-patches v2 では macOS でも GNU patch のインストールが不要になる (予定)</h2> - </header> - <section class="entry-content"> - <p> - composer-patches は BSD patch に対応しておらず、一部のパッチの適用に失敗する。現在ベータ版である v2 では patch コマンドに依存しなくなり、macOS で使うときのストレスが解消される見込み。 - </p> - </section> - <footer class="entry-footer"> - <time datetime="2025-04-24">2025-04-24</time> 投稿 - <ul class="entry-tags"> - <li class="tag"> - <span class="tag-inner">Composer</span> - </li> - <li class="tag"> - <span class="tag-inner">macOS</span> - </li> - <li class="tag"> - <span class="tag-inner">PHP</span> - </li> - </ul> - </footer> - </a> - </article> <nav class="pagination"> <div class="pagination-prev"> </div> diff --git a/services/nuldoc/public/blog/tags/index.html b/services/nuldoc/public/blog/tags/index.html index bd42a8f8..20925294 100644 --- a/services/nuldoc/public/blog/tags/index.html +++ b/services/nuldoc/public/blog/tags/index.html @@ -208,7 +208,7 @@ <h2>備忘録</h2> </header> <footer class="entry-footer"> - 4件の記事 + 6件の記事 </footer> </a> </article> diff --git a/services/nuldoc/public/blog/tags/note-to-self/atom.xml b/services/nuldoc/public/blog/tags/note-to-self/atom.xml index 96099bc9..f131e26e 100644 --- a/services/nuldoc/public/blog/tags/note-to-self/atom.xml +++ b/services/nuldoc/public/blog/tags/note-to-self/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2026-01-16T00:00:00+09:00</updated> + <updated>2026-02-01T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:32947eee-f737-4e4c-b3f3-2c847d9b36d2</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2026-02-01/rewrite-this-site-generator-2026/"></link> + <title>このサイトの静的サイトジェネレータを書き直した (2026)</title> + <summary>このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。</summary> + <published>2026-02-01T00:00:00+09:00</published> + <updated>2026-02-01T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:8ef2ea79-97b7-4d9e-9ddb-0aa5423e6da9</id> <link rel="alternate" href="https://blog.nsfisis.dev/posts/2026-01-16/development-environment-2026/"></link> @@ -33,6 +41,14 @@ <updated>2024-02-17T00:00:00+09:00</updated> </entry> <entry> + <id>urn:uuid:12512894-05d8-42c6-950e-8f5d60f984d8</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-03-10/rewrite-this-blog-generator/"></link> + <title>このブログのジェネレータを書き直した</title> + <summary>このブログのジェネレータを書き直したので、やったことを書き記しておく。</summary> + <published>2023-03-10T00:00:00+09:00</published> + <updated>2023-03-10T00:00:00+09:00</updated> + </entry> + <entry> <id>urn:uuid:673cb872-af2d-41a3-9fb0-60f1afcedb0d</id> <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-28/setup-server-for-this-site/"></link> <title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ</title> diff --git a/services/nuldoc/public/blog/tags/note-to-self/index.html b/services/nuldoc/public/blog/tags/note-to-self/index.html index 1add7c4c..f108822c 100644 --- a/services/nuldoc/public/blog/tags/note-to-self/index.html +++ b/services/nuldoc/public/blog/tags/note-to-self/index.html @@ -45,6 +45,26 @@ <h1>タグ「備忘録」一覧</h1> </header> <article class="post-entry"> + <a href="/posts/2026-02-01/rewrite-this-site-generator-2026/"> + <header class="entry-header"> + <h2>このサイトの静的サイトジェネレータを書き直した (2026)</h2> + </header> + <section class="entry-content"> + <p> + このサイトの静的サイトジェネレータを書き直したので、設計思想を書き記しておく。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2026-02-01">2026-02-01</time> 投稿 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">備忘録</span> + </li> + </ul> + </footer> + </a> + </article> + <article class="post-entry"> <a href="/posts/2026-01-16/development-environment-2026/"> <header class="entry-header"> <h2>開発環境現状確認 2026</h2> @@ -108,6 +128,26 @@ </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> 投稿 + <ul class="entry-tags"> + <li class="tag"> + <span class="tag-inner">備忘録</span> + </li> + </ul> + </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> |
