From a13a9e9f692c53690885d1a2993a23add95842af Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Mon, 9 Feb 2026 12:58:04 +1000 Subject: [PATCH 1/2] drop lychee linkcheck --- dev/docs.nix | 12 ------------ flake.nix | 1 - tasks.py | 8 -------- 3 files changed, 21 deletions(-) diff --git a/dev/docs.nix b/dev/docs.nix index ae632eae0..cf5ae4e7f 100644 --- a/dev/docs.nix +++ b/dev/docs.nix @@ -25,18 +25,6 @@ cp --no-preserve=mode ${config.packages.docs-json}/*.json docs mkdocs build --strict --site-dir $out ''; - docs-linkcheck = pkgs.testers.lycheeLinkCheck rec { - extraConfig = { - include_mail = true; - include_verbatim = true; - index_files = [ "index.html" ]; - root_dir = site; - }; - remap = { - "https://nix-community.org" = site; - }; - site = config.packages.docs; - }; docs-json = pkgs.runCommand "docs-json" { diff --git a/flake.nix b/flake.nix index 92db79102..76c413e92 100644 --- a/flake.nix +++ b/flake.nix @@ -156,7 +156,6 @@ inherit (self'.packages) dnscontrol-check docs - docs-linkcheck sops-check terraform-validate ; diff --git a/tasks.py b/tasks.py index 6eb9e55e5..b69997196 100644 --- a/tasks.py +++ b/tasks.py @@ -95,14 +95,6 @@ def docs(c: Context) -> None: c.run("nix develop .#mkdocs -c mkdocs serve") -@task -def docs_linkcheck(c: Context) -> None: - """ - Run docs online linkchecker - """ - c.run("nix run .#docs-linkcheck.online") - - def get_hosts(hosts: str) -> list[DeployHost]: deploy_hosts = [] for host in hosts.split(","): From ac5ea42920fd23aefe0c03bcb198a2fac9075086 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sun, 8 Feb 2026 17:20:24 +1000 Subject: [PATCH 2/2] switch to rumdl for markdown lint and format --- dev/treefmt.nix | 26 +------------------------- pyproject.toml | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/dev/treefmt.nix b/dev/treefmt.nix index 086628292..b4f77b058 100644 --- a/dev/treefmt.nix +++ b/dev/treefmt.nix @@ -18,21 +18,13 @@ in nixfmt.enable = true; ruff-check.enable = true; ruff-format.enable = true; + rumdl-check.enable = true; shellcheck.enable = true; shfmt.enable = true; statix.enable = true; terraform.enable = true; }; - programs.mdformat = { - enable = true; - excludes = [ "docs/*.md" ]; - settings = { - number = true; - wrap = "no"; - }; - }; - programs.yamlfmt = { enable = true; settings.formatter.retain_line_breaks_single = true; @@ -51,22 +43,6 @@ in dnscontrol.includes = [ "*dnsconfig.js" ]; - mdformat-mkdocs = { - command = pkgs.mdformat.withPlugins (p: [ - p.mdformat-frontmatter - p.mdformat-mkdocs - p.mdformat-simple-breaks - ]); - options = [ - "--number" - "--wrap" - "no" - ]; - includes = [ - "docs/*.md" - ]; - }; - shellcheck.priority = 1; shfmt.priority = 2; diff --git a/pyproject.toml b/pyproject.toml index c151a421d..b362dd0db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,3 +32,30 @@ ignore = [ "S101", "SIM117", ] + +[tool.rumdl] +disable = ["MD014", "MD041"] +flavor = "gfm" + +[tool.rumdl.MD013] +line-length = 0 +reflow = true +reflow-mode = "sentence-per-line" + +[tool.rumdl.MD029] +style = "ordered" + +[tool.rumdl.MD057] +absolute-links = "relative_to_docs" +compact-paths = true + +[tool.rumdl.MD074] +absolute-links = "warn" +not-found = "warn" +omitted-files = "warn" + +[tool.rumdl.per-file-flavor] +"docs/**/*.md" = "mkdocs" + +[tool.rumdl.per-file-ignores] +"docs/**/*.md" = ["MD033", "MD059"]