make_sitemap_from_path プログラム仕様

概要:

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

詳細説明:

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

関連リンク:

make_sitemap_from_path_usage

web.make_sitemap_from_path.extract_title(file_path: Path)
概要:

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

詳細説明:

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

引数:
param file_path:

タイトルを抽出するHTMLファイルのパス。

type file_path:

Path

戻り値:
returns:

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

rtype:

str

web.make_sitemap_from_path.find_html_files(root: Path, exclude_patterns=None)
概要:

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

詳細説明:

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

引数:
param root:

検索を開始するルートディレクトリのパス。

type root:

Path

param exclude_patterns:

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

type exclude_patterns:

list[str] | None

戻り値:
returns:

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

rtype:

list[Path]

web.make_sitemap_from_path.generate_sitemap(files, root: Path)
概要:

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

詳細説明:

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

引数:
param files:

サイトマップに含めるHTMLファイルのPathオブジェクトのリスト。

type files:

list[Path]

param root:

相対パスを計算するためのルートディレクトリのパス。

type root:

Path

戻り値:
returns:

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

rtype:

str

web.make_sitemap_from_path.main()
概要:

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

詳細説明:

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