summary refs log tree commit diff
path: root/doc/doc-support/lib-function-locations.nix
diff options
context:
space:
mode:
authorpennae <github@quasiparticle.net>2023-03-25 21:38:26 +0100
committerpennae <github@quasiparticle.net>2023-07-01 20:59:29 +0200
commitbe4d19ff1a9a327ae805fdb344470ed6450256fc (patch)
treefa5f0b01cc0f081d16d3aef6d9af84c318151c00 /doc/doc-support/lib-function-locations.nix
parentb521f451a3b2dcee1c72cd11a87d14249b125ce9 (diff)
downloadnixpkgs-be4d19ff1a9a327ae805fdb344470ed6450256fc.tar
nixpkgs-be4d19ff1a9a327ae805fdb344470ed6450256fc.tar.gz
nixpkgs-be4d19ff1a9a327ae805fdb344470ed6450256fc.tar.bz2
nixpkgs-be4d19ff1a9a327ae805fdb344470ed6450256fc.tar.lz
nixpkgs-be4d19ff1a9a327ae805fdb344470ed6450256fc.tar.xz
nixpkgs-be4d19ff1a9a327ae805fdb344470ed6450256fc.tar.zst
nixpkgs-be4d19ff1a9a327ae805fdb344470ed6450256fc.zip
doc: render nixpkgs manual with nrd
also updates nixdoc to 2.3.0. the nixdoc update is not a separate commit
because that would leave the manual build broken for one commit,
potentially breaking bisects and rebases.
Diffstat (limited to 'doc/doc-support/lib-function-locations.nix')
-rw-r--r--doc/doc-support/lib-function-locations.nix38
1 files changed, 14 insertions, 24 deletions
diff --git a/doc/doc-support/lib-function-locations.nix b/doc/doc-support/lib-function-locations.nix
index 1ee59648330..e6794617fdd 100644
--- a/doc/doc-support/lib-function-locations.nix
+++ b/doc/doc-support/lib-function-locations.nix
@@ -58,28 +58,18 @@ let
     [ "-prime" ];
 
   urlPrefix = "https://github.com/NixOS/nixpkgs/blob/${revision}";
-  xmlstrings = (nixpkgsLib.strings.concatMapStrings
-      ({ name, value }:
-      ''
-      <section><title>${name}</title>
-        <para xml:id="${sanitizeId name}">
-        Located at
-        <link
-          xlink:href="${urlPrefix}/${value.file}#L${builtins.toString value.line}">${value.file}:${builtins.toString value.line}</link>
-        in  <literal>&lt;nixpkgs&gt;</literal>.
-        </para>
-        </section>
-      '')
-      relativeLocs);
+  jsonLocs = builtins.listToAttrs
+    (builtins.map
+      ({ name, value }: {
+        name = sanitizeId name;
+        value =
+          let
+            text = "${value.file}:${builtins.toString value.line}";
+            target = "${urlPrefix}/${value.file}#L${builtins.toString value.line}";
+          in
+            "[${text}](${target}) in `<nixpkgs>`";
+      })
+    relativeLocs);
 
-in pkgs.writeText
-    "locations.xml"
-    ''
-    <section xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         version="5">
-         <title>All the locations for every lib function</title>
-         <para>This file is only for inclusion by other files.</para>
-         ${xmlstrings}
-    </section>
-    ''
+in
+pkgs.writeText "locations.json" (builtins.toJSON jsonLocs)