!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

417 Members
Discussion about documentation improvements around the Nix ecosystem88 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
17 Mar 2024
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host * I am also not sure when it was decided to move reference documentation out of the source it is related to. I think this was mistake. I just took a look at this file: https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/trivial-builders/default.nix It appears all doc-comments where removed from the code. Regardless we still have nixdoc to retrieve doc-comments and it was extended recently. So wiring should only be a question of adding more files to the index.16:04:32
@infinisil:matrix.orginfinisil Johannes Kirschbauer @hsjobeki: See https://github.com/NixOS/nixpkgs/pull/294944, I wouldn't call it being moved out of the source. Rather it was dedulicated in one place 17:04:42
@infinisil:matrix.orginfinisilI'd also favor having it in the source code, but not having duplicated docs is more important than that17:05:27
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host
In reply to @infinisil:matrix.org
I'd also favor having it in the source code, but not having duplicated docs is more important than that
I'd like moving those back into the source code until we have a working system that allows to track external documents, so we dont loose track of the reference documentation.
Maybe i'll open a PR soonish.
More importantly we should work on reference tracking for those that are moved already.
18:39:15
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host
In reply to @infinisil:matrix.org
I'd also favor having it in the source code, but not having duplicated docs is more important than that
*

I'd like moving those back into the source code until we have a working system that allows to track external documents, so we dont loose track of the reference documentation.

More importantly we should work on reference tracking for those that are moved already. Maybe i'll open a PR soonish.

18:39:31
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

I'd like moving those back into the source code until we have a working system that allows to track external documents, so we dont loose track of the reference documentation.

More importantly we should work on reference tracking for those that are moved already. Maybe i'll open a PR with a proposed solution soonish.

18:40:41
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostWith tracked references we'd be able to tell which funcions are undocumented or report breakages if functions change without updating documentation 18:42:40
@infinisil:matrix.orginfinisil Johannes Kirschbauer @hsjobeki: I feel like you talked about this before, but what do you mean by reference tracking exactly? 18:46:12
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef.

But regarding this topic i was mainly refering to refences of 1. because moving doc-comments out of the source without replacement leaves the code side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling)

20:12:41
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef.

But regarding this topic i was mainly refering to refences of 1. because moving doc-comments out of the source without replacement leaves the code side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling)

20:13:21
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef.

But regarding this topic i was mainly refering to refences of 1. because moving doc-comments out of the source without replacement leaves the code side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling)

20:14:51
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef.

But regarding this topic i was mainly refering to references of 1. because moving doc-comments out of the source without replacement leaves the code side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling)

20:15:33
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef.

But regarding this topic i was mainly refering to references of 1. because moving doc-comments out of the source without replacement leaves the code-side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling)

20:15:43
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef.

But regarding this topic i was mainly refering to references of 1. because moving doc-comments out of the source without replacement leaves the code-side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling we cannot create backlinks here anymore)

20:16:04
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef. (Imagine every manual exports its available URL as well as the internal "tags", that could also be referenced from elsewhere in the nix ecosystem)

But regarding this topic i was mainly refering to references of 1. because moving doc-comments out of the source without replacement leaves the code-side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling we cannot create backlinks here anymore)

20:17:15
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef. (Imagine every manual exports its available URLs as well as the internal "tags", that could also be referenced from elsewhere in the nix ecosystem)

But regarding this topic i was mainly refering to references of 1. because moving doc-comments out of the source without replacement leaves the code-side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling we cannot create backlinks here anymore)

20:17:29
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef. (Imagine every manual exports its available URLs as well as the available "tags", that could be referenced from elsewhere in the nix ecosystem)

But regarding this topic i was mainly refering to references of 1. because moving doc-comments out of the source without replacement leaves the code-side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling we cannot create backlinks here anymore)

20:17:52
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host *

infinisil: Roughly tracking the following relations:

  1. Code <-> Documentation
  2. Documenation <-> Documentation
  3. Documentation -> external references. e.g. references from nixpkgs to nix manual

For each of those we should have some kind of solution.

fricklerhandwerk Brought TagRef (concept) to me, which i really like because of its simplicity. (Can solve 2. / maybe 3.)

For 1. we have the RFC145 but may need additional extensions for something like: https://github.com/NixOS/nixpkgs/blob/b286b8df1c0ecff4baa44a7224282aeccc6695c2/pkgs/build-support/trivial-builders/default.nix#L29
You want to automatically link from the documentation to the exact source code position (file/line/column) if there is such a reference. And we are doing this for, e.g., lib already.

Then for 3. I imagine that every of our manuals could export sitemaps (https://www.sitemaps.org/de/protocol.html) Which could be used in conjunction with TagRef. (Imagine every manual exports its available URLs as well as the available "tags", that could be referenced from elsewhere in the nix ecosystem)

But regarding this topic i was mainly refering to references of 1. because moving doc-comments out of the source without replacement leaves the code-side of those references untracked. (We don't relly properly track them yet) But its a nice property we kind of "destroyed" here. (At least for automated tooling we cannot create backlinks here anymore)

20:20:16
@qyriad:matrix.org@qyriad:matrix.org left the room.20:43:02
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostPerhaps there is a simpler explanation of the matter. But so far I haven't managed to formulate it so that it's easier to understand. Feel free to help me 😃21:03:58
@fricklerhandwerk:matrix.orgfricklerhandwerk Johannes Kirschbauer @hsjobeki: the problem this tries to solve doesn't seem to have an English term. German: Medienbruch, French: Rupture de média - loosely translated "media discontinuity". Which is that you have information in different substrates that belongs together but there is some annoying technical barrier in between. 21:40:14
@fricklerhandwerk:matrix.orgfricklerhandwerkSource comments are just character sequences, but you're trying to point to a web document, which in turn is compiled from characters somewhere else, etc.21:41:14
@qyriad:katesiria.orgQyriad @Johannes Kirschbauer @hsjobeki like how haskell's docs do it? all the types and whatnot in the source view in https://hackage.haskell.org/package/base-4.19.1.0/docs/src/Control.Arrow.html#Arrow are clickable and whatnot 21:43:18
18 Mar 2024
@darkwater4213:matrix.orgdarkwater4213 joined the room.00:39:43
@jade_:matrix.org@jade_:matrix.org
In reply to @qyriad:katesiria.org
@Johannes Kirschbauer @hsjobeki like how haskell's docs do it? all the types and whatnot in the source view in https://hackage.haskell.org/package/base-4.19.1.0/docs/src/Control.Arrow.html#Arrow are clickable and whatnot
it's done by evil shit but we could instrument a Nix evaluator. also fyi as someone who worked on that it works even better locally on nixpkgs haskell because cross library references work in the source view :))
03:57:15
@jade_:matrix.org@jade_:matrix.org (actually i wonder if nixd already contains the necessary technology) 04:01:47
@rina/:matrix.orgkait
In reply to @johannes.kirschbauer:scs.ems.host
If you could give a concrete example i can tell you if its a wiring issue or would need to be maintained seperately anyways in the long term. I remembered that the writers because some of them are dynamically created by partial application
I am thinking of the functions in this file: https://github.com/NixOS/nixpkgs/blob/8f0d434c23d2ae84d0bf32622358361ade96d077/pkgs/build-support/writers/scripts.nix#L402
07:15:42
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostI think they do. I also started a minimal project that does only the reference tracking https://github.com/hsjobeki/flutsch by value introspection07:30:53
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host * I think nixd does. I also started a minimal project that does only the reference tracking https://github.com/hsjobeki/flutsch by value introspection 07:31:59
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host jade_: 07:32:09

Show newer messages


Back to Room ListRoom Version: 6