Compare commits
No commits in common. "565e5f822487a5fd91a72b70ca679cbf8dbb8ccb" and "4a4284bce2652e42d323f074de9f054a2e6afc2e" have entirely different histories.
565e5f8224
...
4a4284bce2
3 changed files with 187 additions and 41 deletions
82
flake.lock
generated
82
flake.lock
generated
|
|
@ -25,11 +25,11 @@
|
|||
},
|
||||
"catppuccin": {
|
||||
"locked": {
|
||||
"lastModified": 1732703064,
|
||||
"narHash": "sha256-n8XOmn0WGtQhAMJKTnhL/3ttV2ZahPRf6gtlqZ6R4QE=",
|
||||
"lastModified": 1731232837,
|
||||
"narHash": "sha256-0aIwr/RC/oe7rYkfJb47xjdEQDSNcqpFGsEa+EPlDEs=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "2e2bdecf0bae287d74947cd5cf967c5c499c23c1",
|
||||
"rev": "32359bf226fe874d3b7a0a5753d291a4da9616fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -182,11 +182,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732482255,
|
||||
"narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=",
|
||||
"lastModified": 1732453510,
|
||||
"narHash": "sha256-mAOaLu++YRwOxCJ135Bhgf78WYhIKWHL2aGWCAoXoBg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a9953635d7f34e7358d5189751110f87e3ac17da",
|
||||
"rev": "bd58a1132e9b7f121f65313bc662ad6c8a05f878",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -224,11 +224,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732739177,
|
||||
"narHash": "sha256-iL32+TA/8geCzcL1r3uthrH/GPvbUak5QE++WJUkaiI=",
|
||||
"lastModified": 1732432618,
|
||||
"narHash": "sha256-7MzATSBJcR9JUkaDgIJ3jEkQLXIbOjt0lqbmlGkcLDg=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "8d7b2149e618696d5100c2683af1ffa893f02a75",
|
||||
"rev": "98a61cf0708885abddebc6938ca7282928981d5e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -263,11 +263,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732603698,
|
||||
"narHash": "sha256-Jw2MhzgCCrKV2MJytehG0cCLIAosBX71p8qmQ6XQlR4=",
|
||||
"rev": "15b999f9c958c475f71fb8c543b9fc2f36ae8730",
|
||||
"lastModified": 1731967274,
|
||||
"narHash": "sha256-n6dPGRlMGdL8X5gviA6ZuRfUdbdD5KiNN/BpABA5YT0=",
|
||||
"rev": "aa2846680fa9a2032939d720487942567fd9eb63",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/15b999f9c958c475f71fb8c543b9fc2f36ae8730.tar.gz?rev=15b999f9c958c475f71fb8c543b9fc2f36ae8730"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/aa2846680fa9a2032939d720487942567fd9eb63.tar.gz?rev=aa2846680fa9a2032939d720487942567fd9eb63"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
|
@ -286,11 +286,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732603698,
|
||||
"narHash": "sha256-Jw2MhzgCCrKV2MJytehG0cCLIAosBX71p8qmQ6XQlR4=",
|
||||
"rev": "15b999f9c958c475f71fb8c543b9fc2f36ae8730",
|
||||
"lastModified": 1731967274,
|
||||
"narHash": "sha256-n6dPGRlMGdL8X5gviA6ZuRfUdbdD5KiNN/BpABA5YT0=",
|
||||
"rev": "aa2846680fa9a2032939d720487942567fd9eb63",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/15b999f9c958c475f71fb8c543b9fc2f36ae8730.tar.gz?rev=15b999f9c958c475f71fb8c543b9fc2f36ae8730"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/aa2846680fa9a2032939d720487942567fd9eb63.tar.gz?rev=aa2846680fa9a2032939d720487942567fd9eb63"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
|
@ -357,11 +357,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732519917,
|
||||
"narHash": "sha256-AGXhwHdJV0q/WNgqwrR2zriubLr785b02FphaBtyt1Q=",
|
||||
"lastModified": 1732458224,
|
||||
"narHash": "sha256-6CHj+ce0yGOEuKbM0gERuNkLAOrkmcmw5kLYHaW8eMw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "f4a5ca5771ba9ca31ad24a62c8d511a405303436",
|
||||
"rev": "e5105f148c36e423377c6be187186b5bf706c268",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -377,11 +377,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732519917,
|
||||
"narHash": "sha256-AGXhwHdJV0q/WNgqwrR2zriubLr785b02FphaBtyt1Q=",
|
||||
"lastModified": 1732458224,
|
||||
"narHash": "sha256-6CHj+ce0yGOEuKbM0gERuNkLAOrkmcmw5kLYHaW8eMw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "f4a5ca5771ba9ca31ad24a62c8d511a405303436",
|
||||
"rev": "e5105f148c36e423377c6be187186b5bf706c268",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -399,11 +399,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732758830,
|
||||
"narHash": "sha256-bmMRjp4U3RDvLuwOWXMTHitMBMrmmpzP4x0dckJMZD4=",
|
||||
"lastModified": 1732413484,
|
||||
"narHash": "sha256-KZYNKQVAf53MvT4zs8ybtswyJUw5f1HzshZWgCDJQm4=",
|
||||
"owner": "Infinidoge",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "09c3d43938e7b535ecada974759e9ed84ee91235",
|
||||
"rev": "a950aa08f1868355d8b5fe89613f17468d2ae697",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -414,11 +414,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1732483221,
|
||||
"narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=",
|
||||
"lastModified": 1731797098,
|
||||
"narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405",
|
||||
"rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -430,11 +430,11 @@
|
|||
},
|
||||
"nixpkgs-raw": {
|
||||
"locked": {
|
||||
"lastModified": 1732632634,
|
||||
"narHash": "sha256-+G7n/ZD635aN0sEXQLynU7pWMd3PKDM7yBIXvYmjABQ=",
|
||||
"lastModified": 1731797254,
|
||||
"narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6f6076c37180ea3a916f84928cf3a714c5207a30",
|
||||
"rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -445,11 +445,11 @@
|
|||
},
|
||||
"nixpkgs-unstable-raw": {
|
||||
"locked": {
|
||||
"lastModified": 1732521221,
|
||||
"narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
|
||||
"lastModified": 1732014248,
|
||||
"narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
|
||||
"rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -460,11 +460,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1732784817,
|
||||
"narHash": "sha256-I37vvlS+qk4TMzMouw9kJCilahl8+fOjnCWsBJmPv+U=",
|
||||
"lastModified": 1732461014,
|
||||
"narHash": "sha256-4KMZSCldwLImqrGxj8o5VpW5ej0L+EmxrlJzG2na8t4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "7c412613e5ed3d49f2e198c0b0187add6b897b3d",
|
||||
"rev": "5951bcd835d728eb0db62425dba44a79d83c75d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -483,11 +483,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732639391,
|
||||
"narHash": "sha256-kFtXjoCIqx9xe0ZryPXpqS6l/HVg71aNcuL8Y5e8+pI=",
|
||||
"lastModified": 1732450735,
|
||||
"narHash": "sha256-QWNkWawDjoVWZx8bFUYxaCynK/r3+JyttzQ3TBoXaDg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "06e3209d11797d9c741e25df06ab61048746bf93",
|
||||
"rev": "8e75ad96bfcc1a4da33b51c8a82adc146b2be011",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@
|
|||
name = "patched-nixpkgs-unstable";
|
||||
src = nixpkgs-unstable-raw;
|
||||
patches = [
|
||||
./nixpkgs-patches/pr357897.patch
|
||||
./nixpkgs-patches/pr359282.patch
|
||||
];
|
||||
};
|
||||
|
|
|
|||
145
nixpkgs-patches/pr357897.patch
Normal file
145
nixpkgs-patches/pr357897.patch
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
From 91c18e48e58517b176e8b87959293de71789c715 Mon Sep 17 00:00:00 2001
|
||||
From: GetPsyched <priyanshu@getpsyched.dev>
|
||||
Date: Thu, 21 Nov 2024 17:03:57 +0400
|
||||
Subject: [PATCH] nixos-render-docs: don't validate redirects if none were
|
||||
given
|
||||
|
||||
---
|
||||
.../src/nixos_render_docs/manual.py | 40 ++++++++++---------
|
||||
.../src/tests/test_auto_id_prefix.py | 6 +--
|
||||
2 files changed, 25 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py
|
||||
index 64b3740c83522..52b51f63f4d85 100644
|
||||
--- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py
|
||||
+++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py
|
||||
@@ -217,11 +217,11 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
|
||||
_base_path: Path
|
||||
_in_dir: Path
|
||||
_html_params: HTMLParameters
|
||||
- _redirects: Redirects
|
||||
+ _redirects: Redirects | None
|
||||
|
||||
def __init__(self, toplevel_tag: str, revision: str, html_params: HTMLParameters,
|
||||
manpage_urls: Mapping[str, str], xref_targets: dict[str, XrefTarget],
|
||||
- redirects: Redirects, in_dir: Path, base_path: Path):
|
||||
+ redirects: Redirects | None, in_dir: Path, base_path: Path):
|
||||
super().__init__(toplevel_tag, revision, manpage_urls, xref_targets)
|
||||
self._in_dir = in_dir
|
||||
self._base_path = base_path.absolute()
|
||||
@@ -310,9 +310,12 @@ def _file_header(self, toc: TocEntry) -> str:
|
||||
' </div>',
|
||||
])
|
||||
|
||||
- redirects_path = f'{self._base_path}/{toc.target.path.split('.html')[0]}-redirects.js'
|
||||
- with open(redirects_path, 'w') as file:
|
||||
- file.write(self._redirects.get_redirect_script(toc.target.path))
|
||||
+ scripts = self._html_params.scripts
|
||||
+ if self._redirects:
|
||||
+ redirects_path = f'{self._base_path}/{toc.target.path.split('.html')[0]}-redirects.js'
|
||||
+ with open(redirects_path, 'w') as file:
|
||||
+ file.write(self._redirects.get_redirect_script(toc.target.path))
|
||||
+ scripts.append(redirects_path)
|
||||
|
||||
return "\n".join([
|
||||
'<?xml version="1.0" encoding="utf-8" standalone="no"?>',
|
||||
@@ -325,7 +328,7 @@ def _file_header(self, toc: TocEntry) -> str:
|
||||
"".join((f'<link rel="stylesheet" type="text/css" href="{html.escape(style, True)}" />'
|
||||
for style in self._html_params.stylesheets)),
|
||||
"".join((f'<script src="{html.escape(script, True)}" type="text/javascript"></script>'
|
||||
- for script in [*self._html_params.scripts, redirects_path])),
|
||||
+ for script in scripts)),
|
||||
f' <meta name="generator" content="{html.escape(self._html_params.generator, True)}" />',
|
||||
f' <link rel="home" href="{home.target.href()}" title="{home.target.title}" />' if home.target.href() else "",
|
||||
f' {up_link}{prev_link}{next_link}',
|
||||
@@ -509,7 +512,7 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]):
|
||||
_revision: str
|
||||
_html_params: HTMLParameters
|
||||
_manpage_urls: Mapping[str, str]
|
||||
- _redirects: Redirects
|
||||
+ _redirects: Redirects | None
|
||||
_xref_targets: dict[str, XrefTarget]
|
||||
_redirection_targets: set[str]
|
||||
_appendix_count: int = 0
|
||||
@@ -518,7 +521,7 @@ def _next_appendix_id(self) -> str:
|
||||
self._appendix_count += 1
|
||||
return _to_base26(self._appendix_count - 1)
|
||||
|
||||
- def __init__(self, revision: str, html_params: HTMLParameters, manpage_urls: Mapping[str, str], redirects: Redirects):
|
||||
+ def __init__(self, revision: str, html_params: HTMLParameters, manpage_urls: Mapping[str, str], redirects: Redirects | None = None):
|
||||
super().__init__()
|
||||
self._revision, self._html_params, self._manpage_urls, self._redirects = revision, html_params, manpage_urls, redirects
|
||||
self._xref_targets = {}
|
||||
@@ -679,13 +682,14 @@ def _postprocess(self, infile: Path, outfile: Path, tokens: Sequence[Token]) ->
|
||||
)
|
||||
|
||||
TocEntry.collect_and_link(self._xref_targets, tokens)
|
||||
- self._redirects.validate(self._xref_targets)
|
||||
- server_redirects = self._redirects.get_server_redirects()
|
||||
- with open(outfile.parent / '_redirects', 'w') as server_redirects_file:
|
||||
- formatted_server_redirects = []
|
||||
- for from_path, to_path in server_redirects.items():
|
||||
- formatted_server_redirects.append(f"{from_path} {to_path} 301")
|
||||
- server_redirects_file.write("\n".join(formatted_server_redirects))
|
||||
+ if self._redirects:
|
||||
+ self._redirects.validate(self._xref_targets)
|
||||
+ server_redirects = self._redirects.get_server_redirects()
|
||||
+ with open(outfile.parent / '_redirects', 'w') as server_redirects_file:
|
||||
+ formatted_server_redirects = []
|
||||
+ for from_path, to_path in server_redirects.items():
|
||||
+ formatted_server_redirects.append(f"{from_path} {to_path} 301")
|
||||
+ server_redirects_file.write("\n".join(formatted_server_redirects))
|
||||
|
||||
|
||||
def _build_cli_html(p: argparse.ArgumentParser) -> None:
|
||||
@@ -704,16 +708,16 @@ def _build_cli_html(p: argparse.ArgumentParser) -> None:
|
||||
|
||||
def _run_cli_html(args: argparse.Namespace) -> None:
|
||||
with open(args.manpage_urls) as manpage_urls, open(Path(__file__).parent / "redirects.js") as redirects_script:
|
||||
- redirects = {}
|
||||
+ redirects = None
|
||||
if args.redirects:
|
||||
with open(args.redirects) as raw_redirects:
|
||||
- redirects = json.load(raw_redirects)
|
||||
+ redirects = Redirects(json.load(raw_redirects), redirects_script.read())
|
||||
|
||||
md = HTMLConverter(
|
||||
args.revision,
|
||||
HTMLParameters(args.generator, args.stylesheet, args.script, args.toc_depth,
|
||||
args.chunk_toc_depth, args.section_toc_depth, args.media_dir),
|
||||
- json.load(manpage_urls), Redirects(redirects, redirects_script.read()))
|
||||
+ json.load(manpage_urls), redirects)
|
||||
md.convert(args.infile, args.outfile)
|
||||
|
||||
def build_cli(p: argparse.ArgumentParser) -> None:
|
||||
diff --git a/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py b/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py
|
||||
index a3d33930b3035..ae847de6b8a8d 100644
|
||||
--- a/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py
|
||||
+++ b/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py
|
||||
@@ -11,7 +11,7 @@ def set_prefix(token: Token, ident: str) -> None:
|
||||
|
||||
|
||||
def test_auto_id_prefix_simple() -> None:
|
||||
- md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {}, Redirects({}, ''))
|
||||
+ md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
|
||||
|
||||
src = f"""
|
||||
# title
|
||||
@@ -32,7 +32,7 @@ def test_auto_id_prefix_simple() -> None:
|
||||
|
||||
|
||||
def test_auto_id_prefix_repeated() -> None:
|
||||
- md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {}, Redirects({}, ''))
|
||||
+ md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
|
||||
|
||||
src = f"""
|
||||
# title
|
||||
@@ -58,7 +58,7 @@ def test_auto_id_prefix_repeated() -> None:
|
||||
]
|
||||
|
||||
def test_auto_id_prefix_maximum_nested() -> None:
|
||||
- md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {}, Redirects({}, ''))
|
||||
+ md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
|
||||
|
||||
src = f"""
|
||||
# h1
|
||||
Loading…
Add table
Add a link
Reference in a new issue