From 30192b90da5d900bb53c5f6723b2b0cbbcdc4c8b Mon Sep 17 00:00:00 2001 From: Dan Date: Sat, 30 May 2026 23:45:48 +0200 Subject: [PATCH 1/2] Upgrade action --- .github/lychee.toml | 117 ---------------------- .github/workflows/link_check.yml | 35 +++++-- .github/workflows/link_check_live_doc.yml | 30 ++++++ 3 files changed, 58 insertions(+), 124 deletions(-) delete mode 100644 .github/lychee.toml create mode 100644 .github/workflows/link_check_live_doc.yml diff --git a/.github/lychee.toml b/.github/lychee.toml deleted file mode 100644 index 87eb7ca..0000000 --- a/.github/lychee.toml +++ /dev/null @@ -1,117 +0,0 @@ -############################# Display ############################# - -# Verbose program output -# Accepts log level: "error", "warn", "info", "debug", "trace" -#verbose = "warn" - -# Don't show interactive progress bar while checking links. -no_progress = false - -# Path to summary output file. -output = ".github/link_report.md" - -############################# Cache ############################### - -# Enable link caching. This can be helpful to avoid checking the same links on -# multiple runs. -cache = true - -# Discard all cached requests older than this duration. -max_cache_age = "1d" - -############################# Runtime ############################# - -# Number of threads to utilize. -# Defaults to number of cores available to the system if omitted. -threads = 2 - -# Maximum number of allowed redirects. -max_redirects = 10 - -# Maximum number of allowed retries before a link is declared dead. -max_retries = 2 - -# Maximum number of concurrent link checks. -max_concurrency = 14 - -############################# Requests ############################ - -# User agent to send with each request. -user_agent = "curl/7.83. 1" - -# Website timeout from connect to response finished. -timeout = 20 - -# Minimum wait time in seconds between retries of failed requests. -retry_wait_time = 2 - -# Comma-separated list of accepted status codes for valid links. -accept = [200, 429] - -# Proceed for server connections considered insecure (invalid TLS). -insecure = false - -# Only test links with the given schemes (e.g. https). -# Omit to check links with any scheme. -scheme = [ "http" ] - -# When links are available using HTTPS, treat HTTP links as errors. -require_https = false - -# Request method -method = "get" - -# Custom request headers -headers = [] - -# Remap URI matching pattern to different URI. -remap = [ "https://example.com http://example.invalid" ] - -# Base URL or website root directory to check relative URLs. -#base = "https://livewire-powergrid.com" - -# HTTP basic auth support. This will be the username and password passed to the -# authorization HTTP header. See -# -#basic_auth = "user:pwd" - -############################# Exclusions ########################## - -# Skip missing input files (default is to error if they don't exist). -skip_missing = false - -# Check links inside `` and `
` blocks as well as Markdown code
-# blocks.
-include_verbatim = false
-
-# Ignore case of paths when matching glob patterns.
-glob_ignore_case = false
-
-# Exclude URLs and mail addresses from checking (supports regex).
-#exclude = [ '.*\.github.com\.*' ]
-# receiving forbidden but valid link, receiving timeout but valid link
-exclude = []
-
-
-# Exclude these filesystem paths from getting checked.
-#exclude_path = ["file/path/to/Ignore", "./other/file/path/to/Ignore"]
-
-# URLs to check (supports regex). Has preference over all excludes.
-#include = [ 'gist\.github\.com.*' ]
-
-# Exclude all private IPs from checking.
-# Equivalent to setting `exclude_private`, `exclude_link_local`, and
-# `exclude_loopback` to true.
-exclude_all_private = false
-
-# Exclude private IP address ranges from checking.
-exclude_private = false
-
-# Exclude link-local IP address range from checking.
-exclude_link_local = false
-
-# Exclude loopback IP address range and localhost from checking.
-exclude_loopback = false
-
-# Exclude all mail addresses from checking.
-exclude_mail = false
diff --git a/.github/workflows/link_check.yml b/.github/workflows/link_check.yml
index 96f3451..844d401 100644
--- a/.github/workflows/link_check.yml
+++ b/.github/workflows/link_check.yml
@@ -1,20 +1,41 @@
-# This action checks for broken links
-name: Check Links
+name: Check Markdown Links
 
 on:
   push:
   pull_request:
 
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+permissions:
+  contents: read
+
 jobs:
-  linkChecker:
+  lychee:
+    name: Link Checker
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - name: Checkout Codebase
+        uses: actions/checkout@v6
+        with:
+          persist-credentials: false
 
       - name: 🔗 Check Links
-        uses: lycheeverse/lychee-action@v1
+        uses: lycheeverse/lychee-action@v2
         with:
           fail: true
-          args: --config .github/lychee.toml './docs/*.md'
+          args: >-
+            --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
+            --exclude "https?://(www\.)?(twitter\.com|x\.com|instagram\.com|linkedin\.com)"
+            --threads 2
+            --max-redirects 10
+            --max-retries 2
+            --max-concurrency 14
+            --timeout 20
+            --retry-wait-time 2
+            --accept 200,429
+            --method get
+            "./docs/*.md"
         env:
-          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
\ No newline at end of file
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/link_check_live_doc.yml b/.github/workflows/link_check_live_doc.yml
new file mode 100644
index 0000000..3b58308
--- /dev/null
+++ b/.github/workflows/link_check_live_doc.yml
@@ -0,0 +1,30 @@
+name: Live broken link check
+
+on:
+  push:
+  schedule:
+    - cron: '0 0 * * 0'
+
+permissions:
+  contents: read
+
+jobs:
+  crawl_for_broken_links:
+    runs-on: ubuntu-latest
+    name: Broken-Links-Crawler
+    
+    permissions:
+      contents: read
+
+    steps:
+    - name: Checking links
+      uses: ScholliYT/Broken-Links-Crawler-Action@v3
+      with:
+        website_url: 'https://livewire-powergrid.com'
+        exclude_url_prefix: 'mailto:,data:,https://twitter.com,https://x.com'
+        verbose: 'true'
+        max_retry_time: 30
+        max_retries: 5
+        max_depth: -1
+        resolve_before_filtering: 'true'
+        exclude_url_suffix: 'apple-touch-icon.png,logomark2x.png,favicon.ico,favicon-32x32.png,favicon-16x16.png,site.webmanifest'

From 9ba2e068afa145917e5bcad2604f0521f65fe3e1 Mon Sep 17 00:00:00 2001
From: Dan 
Date: Sun, 31 May 2026 00:40:38 +0200
Subject: [PATCH 2/2] fix broken links

---
 docs/get-started/create-powergrid-table.md | 2 +-
 docs/table-component/component-columns.md  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/get-started/create-powergrid-table.md b/docs/get-started/create-powergrid-table.md
index b69dccf..bcbbc6e 100644
--- a/docs/get-started/create-powergrid-table.md
+++ b/docs/get-started/create-powergrid-table.md
@@ -8,7 +8,7 @@ Here you will find:
 
 ## Introduction
 
-Now that you've finished the PowerGrid [Essential Configuration](get-started/powergrid-configuration.html#essential-configuration), it's time create your very first Table Component!
+Now that you've finished the PowerGrid [Essential Configuration](/get-started/powergrid-configuration.html#essential-configuration), it's time create your very first Table Component!
 
 ## Create a Table
 
diff --git a/docs/table-component/component-columns.md b/docs/table-component/component-columns.md
index 6531e3b..74d35b3 100644
--- a/docs/table-component/component-columns.md
+++ b/docs/table-component/component-columns.md
@@ -371,7 +371,7 @@ Column::make('Dish name', 'name')
 
 ### visibleInExport()
 
-Sometimes, you may want to hide and exclude a specific column when [Exporting Data](/table-component/table-data-export.html). This method gives you control whether the column will be included or not in the file containing the exported data.
+Sometimes, you may want to hide and exclude a specific column when [Exporting Data](/table-features/exporting-data.html). This method gives you control whether the column will be included or not in the file containing the exported data.
 
 | Parameter       | Description                                                                        |
 |-----------------|------------------------------------------------------------------------------------|