From 9d5ec5e3bc01c6174dea048e118edee579c36565 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 7 Feb 2026 23:06:23 +0900 Subject: fix(style): fix codeblock style for rouge --- .../archive-dynamic-site-with-wget/index.html | 94 +++++++++++----------- 1 file changed, 46 insertions(+), 48 deletions(-) (limited to 'services/nuldoc/public/blog/posts/2025-12-06') diff --git a/services/nuldoc/public/blog/posts/2025-12-06/archive-dynamic-site-with-wget/index.html b/services/nuldoc/public/blog/posts/2025-12-06/archive-dynamic-site-with-wget/index.html index 13a7761e..988abaa5 100644 --- a/services/nuldoc/public/blog/posts/2025-12-06/archive-dynamic-site-with-wget/index.html +++ b/services/nuldoc/public/blog/posts/2025-12-06/archive-dynamic-site-with-wget/index.html @@ -14,7 +14,7 @@ wget を使って動的サイトを静的サイトにアーカイブする|REPL: Rest-Eat-Program Loop - +
@@ -101,42 +101,41 @@ 今回使用したスクリプトはこちら: https://github.com/nsfisis/phperkaigi-2024-albatross-archive/blob/cc837f6d2109555e2392016e8f6820fb5fd46dd6/archive.sh

-
# 指定した URL からスタートしてリンクを辿りながら全ファイルをファイルに書き出す
-#
-# --mirror  リンクを再帰的に辿ってダウンロードする
-# --page-requisites  CSS や画像等も含めて HTML から参照されている全ファイルをダウンロードする
-# --convert-links  リンクを相対リンクへ変換する
-# --adjust-extension  URL に拡張子が無くてもいい感じに推測する
-# --no-parent  親ディレクトリは見に行かない
-# --no-wait=1  リクエスト間で 1 秒待機する
-# -P ./archive/  指定したディレクトリに保存する
-wget \
-    --mirror \
-    --page-requisites \
-    --convert-links \
-    --adjust-extension \
-    --no-parent \
-    --wait=1 \
-    -P ./archive/ \
-    https://t.nil.ninja/phperkaigi/2024/golf/
-
-# ディレクトリ構造を調整する
-mv ./archive/t.nil.ninja/phperkaigi/2024/golf/* ./archive
-rmdir ./archive/t.nil.ninja/phperkaigi/2024/golf/
-rmdir ./archive/t.nil.ninja/phperkaigi/2024/
-rmdir ./archive/t.nil.ninja/phperkaigi/
-rmdir ./archive/t.nil.ninja/
-
-mkdir -p ./archive/api/quizzes/{1,2,3}
-
-# 動的な API エンドポイントを叩いて結果を JSON ファイルとして保存する
-wget -O ./archive/api/quizzes/1/chart.json https://t.nil.ninja/phperkaigi/2024/golf/api/quizzes/1/chart
-wget -O ./archive/api/quizzes/2/chart.json https://t.nil.ninja/phperkaigi/2024/golf/api/quizzes/2/chart
-wget -O ./archive/api/quizzes/3/chart.json https://t.nil.ninja/phperkaigi/2024/golf/api/quizzes/3/chart
-
-# 上記 API を叩いている箇所を、落としてきた静的ファイルを参照するように変更する
-sed -i -e 's#/chart`#/chart.json`#' ./archive/assets/chart.js
-
+
# 指定した URL からスタートしてリンクを辿りながら全ファイルをファイルに書き出す +
# +
# --mirror リンクを再帰的に辿ってダウンロードする +
# --page-requisites CSS や画像等も含めて HTML から参照されている全ファイルをダウンロードする +
# --convert-links リンクを相対リンクへ変換する +
# --adjust-extension URL に拡張子が無くてもいい感じに推測する +
# --no-parent 親ディレクトリは見に行かない +
# --no-wait=1 リクエスト間で 1 秒待機する +
# -P ./archive/ 指定したディレクトリに保存する +
wget \ +
--mirror \ +
--page-requisites \ +
--convert-links \ +
--adjust-extension \ +
--no-parent \ +
--wait=1 \ +
-P ./archive/ \ +
https://t.nil.ninja/phperkaigi/2024/golf/ +
+
# ディレクトリ構造を調整する +
mv ./archive/t.nil.ninja/phperkaigi/2024/golf/* ./archive +
rmdir ./archive/t.nil.ninja/phperkaigi/2024/golf/ +
rmdir ./archive/t.nil.ninja/phperkaigi/2024/ +
rmdir ./archive/t.nil.ninja/phperkaigi/ +
rmdir ./archive/t.nil.ninja/ +
+
mkdir -p ./archive/api/quizzes/{1,2,3} +
+
# 動的な API エンドポイントを叩いて結果を JSON ファイルとして保存する +
wget -O ./archive/api/quizzes/1/chart.json https://t.nil.ninja/phperkaigi/2024/golf/api/quizzes/1/chart +
wget -O ./archive/api/quizzes/2/chart.json https://t.nil.ninja/phperkaigi/2024/golf/api/quizzes/2/chart +
wget -O ./archive/api/quizzes/3/chart.json https://t.nil.ninja/phperkaigi/2024/golf/api/quizzes/3/chart +
+
# 上記 API を叩いている箇所を、落としてきた静的ファイルを参照するように変更する +
sed -i -e 's#/chart`#/chart.json`#' ./archive/assets/chart.js

このように wget に適切なオプションを渡すことで、指定したページから遷移可能なページを再帰的に辿っていき、サイト内の全ページをファイルへ落とすことができる。今回のサイトにはページ遷移では辿り着けないページがあったが (管理画面など)、運用が停止している今そういったページはアーカイブしなくてもよい。 @@ -145,17 +144,16 @@ wget -O ./archive/api/quizzes/3/chart.json h あとはこのファイルを適当にサーブしてやればよい。

-
server {
-    listen 80 default;
-    listen [::]:80;
-
-    charset UTF-8;
-
-    location /phperkaigi/2024/golf/ {
-        alias /archive/;
-    }
-}
-
+
server { +
listen 80 default; +
listen [::]:80; +
+
charset UTF-8; +
+
location /phperkaigi/2024/golf/ { +
alias /archive/; +
} +
}
-- cgit v1.3-1-g0d28