docs: Allow to add an url in the online documentation (#1139)

* plugin/committia: Use correct maintainers import

* plugins/neocord: Remove redyf as the entry is not in the list

* docs: Allow to add an URL to the plugin
This commit is contained in:
traxys 2024-02-20 21:20:59 +01:00 committed by GitHub
parent 9d30e87455
commit 82a24d0d42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 88 additions and 6 deletions

View file

@ -12,6 +12,8 @@ with lib; let
specialArgs = {inherit pkgs lib helpers;};
};
inherit (options.config.meta) nixvimInfo;
mkMDDoc = options:
(nixosOptionsDoc {
inherit options transformOptions;
@ -59,6 +61,17 @@ with lib; let
then opts
else filterAttrs (_: component: component.isOption && (isVisible component)) opts;
path = removeWhitespace (concatStringsSep "/" path);
moduleDoc =
if builtins.length path >= 2 && lib.hasAttrByPath path nixvimInfo
then let
info = lib.getAttrFromPath path nixvimInfo;
maintainers = options.config.meta.maintainers."${info.file}" or null;
in
"# ${lib.last path}\n\n"
+ (lib.optionalString (maintainers != null && builtins.length maintainers > 0)
"Maintainers: ${lib.concatStringsSep ", " (builtins.map (m: m.name) maintainers)}\n\n")
+ (lib.optionalString (info.url != null) "Url: [${info.url}](${info.url})\n\n")
else null;
};
components =
@ -114,6 +127,7 @@ with lib; let
index = {
options = {};
path = removeWhitespace "${group}";
moduleDoc = null;
};
components = {};
isGroup = true;
@ -183,7 +197,18 @@ with lib; let
in
(optionalString isBranch
"mkdir -p ${opts.index.path}\n")
+ "cp ${mkMDDoc opts.index.options} ${path}"
+ (
if opts.index.moduleDoc == null
then "cp ${mkMDDoc opts.index.options} ${path}"
else ''
{
cat <<EOF
${opts.index.moduleDoc}
EOF
cat ${mkMDDoc opts.index.options}
} > ${path}
''
)
)
modules;
};