docs/search: refactor to use override

This commit is contained in:
Matt Sturgeon 2024-11-18 17:48:37 +00:00
parent 9eb07bb16f
commit cdbda982f0
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
2 changed files with 25 additions and 27 deletions

View file

@ -50,35 +50,30 @@ let
}).optionsJSON;
in
{
inherit options-json;
inherit (pkgs) nixos-render-docs;
gfm-alerts-to-admonitions = pkgs.python3.pkgs.callPackage ./gfm-alerts-to-admonitions { };
man-docs = pkgs.callPackage ./man { inherit options-json; };
}
// lib.optionalAttrs (!pkgs.stdenv.isDarwin) (
let
mkSearch =
baseHref:
nuschtosSearch.packages.mkSearch {
optionsJSON = options-json + "/share/doc/nixos/options.json";
urlPrefix = "https://github.com/nix-community/nixvim/tree/main";
title = "Nixvim options search";
inherit baseHref;
};
in
lib.fix (
self:
{
inherit options-json;
inherit (pkgs) nixos-render-docs;
gfm-alerts-to-admonitions = pkgs.python3.pkgs.callPackage ./gfm-alerts-to-admonitions { };
man-docs = pkgs.callPackage ./man { inherit options-json; };
}
// lib.optionalAttrs (!pkgs.stdenv.isDarwin) {
# NuschtOS/search does not seem to work on darwin
search = mkSearch "/";
search = nuschtosSearch.packages.mkSearch {
optionsJSON = options-json + "/share/doc/nixos/options.json";
urlPrefix = "https://github.com/nix-community/nixvim/tree/main";
title = "Nixvim options search";
baseHref = "/";
};
# Do not check if documentation builds fine on darwin as it fails:
# > sandbox-exec: pattern serialization length 69298 exceeds maximum (65535)
docs = pkgs.callPackage ./mdbook {
inherit evaledModules transformOptions;
# TODO: Find how to handle stable when 24.11 lands
search = mkSearch "/nixvim/search/";
inherit (self) search;
};
}
)

View file

@ -5,6 +5,8 @@
nixosOptionsDoc,
transformOptions,
search,
# The root directory of the site
baseHref ? "/nixvim/",
}:
let
inherit (evaledModules.config.meta) nixvimInfo;
@ -323,7 +325,7 @@ pkgs.stdenv.mkDerivation (finalAttrs: {
# Patch book.toml
substituteInPlace ./book.toml \
--replace-fail "@SITE_URL@" "$siteURL"
--replace-fail "@SITE_URL@" "$baseHref"
# Patch SUMMARY.md - which defiens mdBook's table of contents
substituteInPlace ./SUMMARY.md \
@ -333,12 +335,10 @@ pkgs.stdenv.mkDerivation (finalAttrs: {
mdbook build
cp -r ./book/* $dest
mkdir -p $dest/search
cp -r ${search}/* $dest/search
cp -r ${finalAttrs.passthru.search}/* $dest/search
'';
# The root directory of the site
# Can be overridden, e.g. by CI
siteURL = "/nixvim/";
inherit baseHref;
inherit (mdbook)
nixvimOptionsSummary
@ -348,5 +348,8 @@ pkgs.stdenv.mkDerivation (finalAttrs: {
passthru = {
copy-docs = pkgs.writeShellScript "copy-docs" docs.commands;
search = search.override {
baseHref = finalAttrs.baseHref + "search/";
};
};
})