make_sitemap_from_path プログラム仕様

指定されたディレクトリ以下のHTMLファイルを走査し、サイトマップ(HTML形式)を生成するスクリプト。

このスクリプトは、ルートディレクトリから再帰的にHTMLファイルを検索し、 各ファイルの<title>タグからタイトルを抽出して、それらをリンクとして含むHTMLサイトマップを作成します。 除外パターンを指定することで、特定のディレクトリやファイルをサイトマップから除外できます。

プログラム make_sitemap_from_path.py の技術ドキュメント

web.make_sitemap_from_path.extract_title(file_path: Path)[ソース]

指定されたHTMLファイルから<title>タグの内容を抽出します。

ファイルが読み取れない場合や<title>タグが見つからない場合は、ファイル名をタイトルとして返します。 HTMLコンテンツの読み込み時にエンコーディングエラーが発生しても処理を継続します。

パラメータ:

file_path (Path) -- タイトルを抽出するHTMLファイルのパス。

戻り値:

抽出されたタイトル文字列、またはファイル名。

戻り値の型:

str

web.make_sitemap_from_path.find_html_files(root: Path, exclude_patterns=None)[ソース]

指定されたルートディレクトリ以下からHTMLファイルを再帰的に探索し、除外パターンに一致するものを除外します。

ディレクトリ名やファイルパスが exclude_patterns のいずれかの正規表現に一致する場合、 そのディレクトリの内容やファイルはサイトマップに含められません。

パラメータ:
  • root (Path) -- 検索を開始するルートディレクトリのパス。

  • exclude_patterns (list[str] | None) -- 除外する正規表現パターンのリスト。 ディレクトリパスまたはファイルパスがこれらのパターンに一致する場合、 そのファイルはサイトマップから除外されます。 指定しない場合は除外されません。

戻り値:

見つかったHTMLファイルのPathオブジェクトのリスト。

戻り値の型:

list[Path]

web.make_sitemap_from_path.generate_sitemap(files, root: Path)[ソース]

HTMLサイトマップのコンテンツを生成します。

見つかったHTMLファイルのリストを基に、HTML形式のサイトマップ文字列を作成します。 ファイルはパスでソートされ、各エントリにはタイトルとルートからの相対パスが含まれます。

パラメータ:
  • files (list[Path]) -- サイトマップに含めるHTMLファイルのPathオブジェクトのリスト。

  • root (Path) -- 相対パスを計算するためのルートディレクトリのパス。

戻り値:

生成されたHTMLサイトマップの文字列。

戻り値の型:

str

web.make_sitemap_from_path.main()[ソース]

スクリプトのエントリポイントです。

コマンドライン引数を解析し、指定されたディレクトリからHTMLファイルを検索して、 サイトマップを生成し、指定されたファイルに出力します。 実行結果の要約をコンソールに表示します。