lycheeLinkCheck
pkgs.testers.lycheeLinkCheck
Docs pulled from | This Revision | 10 minutes ago
or doc/build-helpers/testers.chapter.md
Noogle detected
Implementation
The following is the current implementation of this function.
lycheeLinkCheck =
{
site,
remap ? { },
lychee ? deps.lychee,
extraConfig ? { },
}:
stdenv.mkDerivation (finalAttrs: {
name = "lychee-link-check";
inherit site;
nativeBuildInputs = [ finalAttrs.passthru.lychee ];
configFile = (formats.toml { }).generate "lychee.toml" finalAttrs.passthru.config;
# These can be overridden with overrideAttrs if needed.
passthru = {
inherit lychee remap;
config =
{
include_fragments = true;
}
// lib.optionalAttrs (finalAttrs.passthru.remap != { }) {
remap = mapAttrsToList (
name: value: withCheckedName name "${name} ${toURL value}"
) finalAttrs.passthru.remap;
}
// extraConfig;
online = writeShellApplication {
name = "run-lychee-online";
runtimeInputs = [ finalAttrs.passthru.lychee ];
# Comment out to run shellcheck:
checkPhase = "";
text = ''
site=${finalAttrs.site}
configFile=${finalAttrs.configFile}
echo Checking links on $site
exec lychee --config $configFile $site "$@"
'';
};
};
buildCommand = ''
echo Checking internal links on $site
lychee --offline --config $configFile $site
touch $out
'';
});