このツールは、指定されたURL内のすべてのページを削り、宛先リンクが存在するかどうかを確認します。元のページ、アンカーのテキスト、宛先URL、およびリンクが機能しているかどうかを報告します。リンクのいずれかが機能しない場合、ツールはエラーコードで終了します。また、分析の概要も提供します。
GitHubアクションとして、コマンドラインツールとして、およびDockerコンテナとして実行できます。
このツールは、リポジトリのリンクを自動的に確認するためのGitHubアクションとしても使用できます。
url (オプション):スクレイピングを開始するベースURL。デフォルトはhttp://localhost:4444/です。only-errors (オプション):Trueに設定すると、エラーのみを表示します。デフォルトはfalseです。ignore-file (オプション):無視ファイルへのパス。デフォルトは./check-ignoreです。パラメーターが設定され、ファイルが存在しない場合、アクションはエラーで終了します。詳細については、上記のファイル形式の無視セクションを参照してください。無視ファイルには、行ごとに1つのURLパターンを含める必要があります。パターンには、複数のURLと一致するワイルドカード(*)を含めることができます。ここにいくつかの例があります:
http://example.com/ignore-this-pageこの特定のURLは無視します。http://example.com/ignore/* - http://example.com/ignore/で始まるすべてのURLを無視します。*/ignore-this-path/* - /ignore-this-path/すべてのURLを無視します。https://*.domain.com* - https://sub.domain.comやhttps://sub2.domain.com/pageなど、 domain.comのすべてのサブドメインを無視します。このアクションは出力を生成しません。ただし、分析の最後に、結果の概要を印刷します。
name : Broken-links Checker
on : [push]
jobs :
check-links :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Run Link Checker
uses : merlos/[email protected]
with :
url : ' http://example.com '
only-errors : ' true ' name : MkDocs Preview and Link Check
on :
push :
branches :
- main
jobs :
preview_and_check :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Set up Python
uses : actions/setup-python@v2
with :
python-version : ' 3.x '
- name : Install dependencies
run : |
python -m pip install --upgrade pip
pip install mkdocs mkdocs-material
- name : Run MkDocs server
run : mkdocs serve -a 0.0.0.0:4444 &
continue-on-error : true
- name : Wait for server to start
run : sleep 10
- name : Run Link Checker
uses : merlos/[email protected]
with :
url : ' http://localhost:4444 '
only-errors : ' true '
ignore-file : ' ./check-ignore ' name : Quarto Preview and Link Check
on :
push :
branches :
- main
jobs :
preview_and_check :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Set up Quarto
uses : quarto-dev/quarto-actions/setup@v2
- name : Render Quarto project
run : quarto preview --port 444 &
continue-on-error : true
- name : Wait for server to start
run : sleep 10
- name : Run Link Checker
uses : merlos/[email protected]
with :
url : ' http://localhost:444 '
only-errors : ' true '
ignore-file : ' ./check-ignore ' パッケージをインストールします:
pip install broken-links broken-linksコマンドを使用します。
broken-links http://example.com --only-error --ignore-file ./check-ignoreコマンドラインの引数:
url (オプション):スクレイピングを開始するベースURL。デフォルトはhttp://localhost:4444/です。--only-errorまたは-o (オプション):設定されている場合、エラーのみを表示します。デフォルトはfalseです。--ignore-fileまたは-i (オプション):無視ファイルへのパス。デフォルトは./check-ignoreです。パラメーターが設定されておらず、ファイルが存在しない場合、すべてのリンクをチェックします。パラメーターが設定されていてファイルが存在しない場合、ツールはエラーで終了します。Ingroreファイルの形式は、上記の[#INGRORE FILE FORMAT(#INGRORE-FILE-FORMAT)セクションで説明されています。
Docker画像は、これらのアーキテクチャ用に構築されています: arm64 、 amd64 、およびarm7 、Docker-HubおよびGitHubコンテナRegistyでリリースされています
docker pull merlos/broken-links:latest
# or from GitHub Container Registry
docker pull ghcr.io/merlos/broken-links:latestdocker run -ti merlos/broken-links https://www.example.com引数は、上記で説明したように、コマンドライン( url 、 --only-error 、 --ignore-file )と同じです。 docker実行で使用される-tiオプションには、生成されたコマンドの出力が表示されます。
--ignore-file引数を使用するには、ボリュームをマウントする必要があります。例えば:
docker run -ti -v /path/on/host/to/ignore-file:/ignore-file merlos/broken-links https://www.example.com --ignore-file /ignore-filePythonを使用して開発されました。したがって、システムにPythonをインストールする必要があります。
リポジトリをクローンします:
git clone https://github.com/merlos/broken-links
cd broken-links仮想環境を設定します:
python -m venv venv
source venv/bin/activate編集モード( -e )にパッケージをインストールする
pip install -e .コーディングを開始します!
docker build -t broken-links . docker run --rm broken-links http://example.com --only-error テストを実行するには、次のコマンドを使用します。
python -m unittest discover testsフォークとプルリクエストを送信します。ユニットテストを更新/追加してください。
このプロジェクトは、MerlosによるGNU General Public License v3.0の条件の下で認可されています。