-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve cross referencing in NixOS Manual #38831
Conversation
Do you have a script for adding the links? I think it would be best if the links were added during the build, otherwise the files will be quite messy or people will keep forgetting to add the links. |
Unfortunately no - they were added by hand. Automating the process is non-trivial, for the following reasons:
It's not unfeasible, but it's a decent chunk of work. My suggestion is that we start by manually maintaining the links, and figure out how/if we want to automate it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love it!
Just one issue: you've modified the indentation in various places, which is mostly fine, except in some cases where the elements actually preserve whitespace, particularly <screen>
sections. In these cases it results in worse rendering, since the leading whitespace is preserved. However, I see you've also fixed the same issue in some other places, which is also nice.
Thanks for this!
I was learning the docbook syntax as I worked through this, so I probably did those sections before I realised that |
This should be ready to merge now, unless I've missed anything. |
Haskell is much too big. NixOS docs's build closure should remain fairly small. |
Motivation for this change
Discoverability of Appendix A, which documents the options, is poor. This results in issues like #20548, where users copy isolated snippets without understanding them.
Things done
This PR modifies all references to options in manual to be links or cross-references to their section in the appendix. This means that the generated HTML will render them as hyperlinks, and that the manual will fail to build if someone removes/renames an option without updating it.
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)