Nix Documentation | 399 Members | |
| Discussion about documentation improvements around the Nix ecosystem | 78 Servers |
| Sender | Message | Time |
|---|---|---|
| 16 Jan 2024 | ||
In reply to @fricklerhandwerk:matrix.org I can do that first quite happily! But then it won't live in the docs "properly", as it won't be formatted per the contributing instructions. Perhaps it can just live in a side branch, where it can still receive reviews? | 07:13:48 | |
| I was not thrilled when I found out how the EBNF had to be formatted. | 07:14:08 | |
| So if I can skip that all together for now, I'd be much happier, yes. | 07:14:17 | |
In reply to @bzzm3r:matrix.orgThere are no real conventions for it, it just started adding stuff using some dreamt-up EBNF syntax from my faulty memory and wrapping it in a block quote for highlighting. | 07:15:21 | |
| (The other thing I was noticing while writing out the EBNF: it would be very, very nice to be able to link between meta-identifiers. So that would be missing in the first pass too, hopefully not to the chagrin of reviewers.) | 07:15:28 | |
| Yeah, the block quotes are what I am referring to: backticking each piece..., putting > | 07:16:03 | |
| Well, I'll give it a go, maybe I was being too lazy. | 07:16:11 | |
In reply to @bzzm3r:matrix.orgAll of that would be super nice to have, but it doesn’t matter as long as nothing is written down to begin with. Stressing out about those details just postpones the writing. | 07:16:52 | |
| Alright, will re-prioritize. Expect something even sooner | 07:17:25 | |
| (Will do it piecemeal too) | 07:17:33 | |
| * (Will do it piecemeal too, tiny PRs) | 07:17:40 | |
In reply to @bzzm3r:matrix.orgJust give it a go. If I’m at the keyboard I can always fix it up. | 07:17:42 | |
| fricklerhandwerk: https://github.com/NixOS/nix/pull/9783 I forced myself to stay small. Tried to put most of that aside to prioritize "keep it small" and "get feedback fast and early"; punted plenty to todo lists, and the "Draft" status of the PR. | 09:05:14 | |
| * fricklerhandwerk: https://github.com/NixOS/nix/pull/9783 I forced myself to stay small. Tried to put most of what I felt would be necessary in a final product aside to prioritize "keep it small" and "get feedback fast and early"; punted plenty to todo lists, and the "Draft" status of the PR. | 09:06:07 | |
| Am I right in thinking the next part of this PR should be a push which has a guide to the EBNF we plan on using? As much as possible, I want to eliminate (Ideally, we would have "raw" EBNF live in a bunch of separate files, which are processed and formatted as markdown, then inserted into the guide for presentation. These files can then also be used to drive parsers. During the processing stage, inter-linking would be performed as well, between the EBNF, and those regions of the documentation that mention something from the EBNF.) | 09:13:47 | |
| * Am I right in thinking the next part of this PR should be a push which has a guide to the EBNF we plan on using? Especially because: as much as possible, I want to eliminate (Ideally, we would have "raw" EBNF live in a bunch of separate files, which are processed and formatted as markdown, then inserted into the guide for presentation. These files can then also be used to drive parsers. During the processing stage, inter-linking would be performed as well, between the EBNF, and those regions of the documentation that mention something from the EBNF.) | 09:15:21 | |
| are there any downsides to using
(is the same as)
This could also be presented as:
| 23:33:29 | |
I guess the stuff around nix-repl> looks noisy, perhaps. Are there any other downsides? | 23:35:07 | |
| 17 Jan 2024 | ||
| * are there any downsides to using
(whole bunch of language explaining "this is the same as"....)
This could also be presented as:
| 05:04:55 | |
| While there’s no one currently working on it to my knowledge (although Shahar "Dawn" Or (mightyiam) has started work in that direction last year), REPL examples would probably be more hassle for automatic testing, and we really need automatic testing eventually. | 07:56:43 | |
| My opinion on this somewhat technically unqualified because I haven’t done concrete work on it, but I see a few theoretical advantages to have pairs of code blocks for input/output:
Generally documentation (and everything, really) should be low-tech so it’s easy to contribute to and understand how it works. That is, it shouldn’t do anything clever, because it will be hard to change for most people if it does, if only because it requires time to figure out. And time is a very scarce resource. | 08:02:49 | |
| The nix manuals are build with mdbook, which has stuff like https://github.com/FauconFan/mdbook-cmdrun which might be a possible solution for repl testing | 08:12:47 | |
| * The nix manuals are built with mdbook, which has stuff like https://github.com/FauconFan/mdbook-cmdrun which might be a possible solution for repl testing | 08:12:54 | |
| Ideally the manuals should be able to reuse the same solution, but I find that hard unless the manuals move to mdbook as well (something that I have in a note to maybe explore some day) | 08:13:44 | |
In reply to @fricklerhandwerk:matrix.org Based on your input: https://github.com/NixOS/nix.dev/issues/864 I am not sure if this qualifies as low-tech. Maybe it does because all it uses is a CLI tool. With modern tools, it is easy to make a heavily automatically documented CLI tool (e.g. if using Rust: can use However, low-tech ought to be measured against cost-of-manual-work? In this particular case: cost of copying+pasting, verifying output expression against expectation, validating that examples remain valid across Nix updates. | 11:05:57 | |
In reply to @fricklerhandwerk:matrix.org* Based on your input: https://github.com/NixOS/nix.dev/issues/864 I am not sure if this qualifies as low-tech. Maybe it does because all it uses is a CLI tool. With modern tools, it is easy to make a heavily automatically documented CLI tool (e.g. if using Rust: can use However, low-tech ought to be measured against cost-of-manual-work? In this particular case: cost of copying+pasting, verifying output expression against expectation, validating that examples remain valid across Nix updates. (Regardless: not a "must-do". Only a "could-do". Happy to execute on a draft version, if time can be made for its review, with full understanding that it will likely not be accepted.) | 11:33:17 | |
| * Based on your input: https://github.com/NixOS/nix.dev/issues/864 I am not sure if this qualifies as low-tech. Maybe it does because all it uses is a CLI tool. With modern tools, it is easy to make a heavily automatically documented CLI tool (e.g. if using Rust: can use However, low-tech ought to be measured against cost-of-manual-work? In this particular case: cost of copying+pasting, verifying output expression against expectation, validating that examples remain valid across Nix updates. (Regardless: not a "must-do". Only a "could-do". Happy to execute on a draft version, if time can be made for its review, with full understanding that it will likely not be accepted. Will not create a draft version if it only adds to review burden.) | 11:34:03 | |
| Per your request, even simpler: https://github.com/NixOS/nix/pull/9793 | 11:35:04 | |
| * Based on your input: https://github.com/NixOS/nix.dev/issues/864 I am not sure if this qualifies as low-tech. Maybe it does because all it uses is a CLI tool. With modern tools, it is easy to make a heavily automatically documented CLI tool (e.g. if using Rust: can use However, low-tech ought to be measured against cost-of-manual-work? In this particular case: cost of copying+pasting, verifying output expression against expectation, validating that examples remain valid across Nix updates. (Regardless: not a "must-do". Only a "could-do". Happy to execute on a draft version, if time can be made for its review, with full understanding that it will likely not be accepted. Will not create a draft version if it only adds to review burden.) | 12:02:40 | |
| bzm3r: the doctester is coming along | 12:05:26 | |