ジャーナル ·
1つの記事が13ページになるまで
AI翻訳 このページは原文(英語・韓国語)をAIで機械翻訳したもので、誤りを含む場合があります。原文が正本です。 原文を読む
ipe.rest では、記事は2つの言語で1回だけ書かれ、残りの10言語はその横にある小さなファイルから来ます。そのあとスクリプト1つが、この11個のファイルから13ページを作ります。その流れを書きます。
前の記事は、ページが公開される前に動くテストの話でした。今回はその前の段階、ページがどう作られるかです。数値は2026年11月10日のもので、現在のリポジトリと、11月8日の記事を加えたコミットから取りました。この記事の日付は11月9日ですが、書いたのは記事のなかった2日間が過ぎた10日です。そのことは隠さずに書いておきます。
手で書くもの
原稿ファイル1つに、記事の英語と韓国語の本文、そしてタイトル、説明、要約、構造化データが入っています。ほかの10個のファイルには、ドイツ語、フランス語、スペイン語、ポルトガル語、ロシア語、アラビア語、ヒンディー語、日本語、中国語、インドネシア語で同じものが入っています。タイトル、見出し、説明、要約、抜粋、本文です。この10個は機械が下書きしたもので、それから作られたページにはそう書かれています。つまり記事1つにつきファイルは11個です。手で書くジャーナルのページはありません。
スクリプトが作るもの
journal_sync.py というスクリプトがこれらのファイルを読み、残りをすべて書きます。記事ごとに言語別の12ページを作り、さらに自分の言語を持たない13ページ目を1つ作ります。このページは、訪問者を以前に選んだ言語、またはブラウザが使っている言語へ送ります。12の一覧ページ、RSSフィード、サイトマップ、llms.txt も書き直します。2つ目のスクリプト home_sync.py は、12あるホームページのそれぞれで、最新の記事3件のカードを新しくします。
何かを書く前に、スクリプトは原稿を確認します。canonical リンクや本文のない記事、言語ごとに見出しが1つずつではない記事、構造化データが壊れている記事や画像のない記事、テンプレートの未記入の欄が残っている記事は受け付けません。
記事1つの大きさ
11月8日の記事を加えたコミットは、245個のファイルを変えました。私たちが書いたのは11個です。もう1つは、サービスワーカーのバージョンという1行だけでした。残りの233個は生成されたものです。新しいページ13個、どのページも最新の記事を並べているため大半が1、2行だけ変わった古いジャーナルのファイル206個、そして12のホームページ、サイトマップ、llms.txt です。
だから、生成されたページは決して手で直しません。手で直したものは次の実行で上書きされ、生成されたファイルが1つでも古ければテストが失敗します。
これにできないこと
13ページを作るスクリプトには、記事が読む価値のあるものかどうか、機械の下書きが私たちの意図したことを言っているかどうかは分かりません。ページが原稿と、そして互いに一致しているかを確かめるだけです。読むことは人間に残ります。
ipe(); // write once, generate the rest
原稿1つ、ページ13個、そして同じ行を2度打つことはありません。何かを変えるときは、原稿を直してスクリプトをもう一度動かします。