Skip to content

Split standard library docs into multiple pages #5993

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

Merged
merged 11 commits into from
Apr 30, 2025
Merged

Conversation

bentsherman
Copy link
Member

@christopher-hakkaart I tried splitting up the stdlib page into multiple sections. Moving each type to its own page isn't feasible right now because it creates too many levels of headings. So instead I just split at the level of constants/functions/types, which reduces the max length by a little bit.

To go all the way, I think we would need to split the "Reference" section into multiple sections:

Language

  • syntax
  • stdlib
  • feature flags
  • processes
  • channel factories
  • operators

???

  • CLI
  • config options
  • environment vars

I'm not sure what to call the second section but they seem loosely related. Configuration? User interface? There is also the concept of a "Runtime API" (e.g. the APIs used by plugins) that will need to fit in here one day, somehow.

Anyway, if we can find a sensible hierarchy here, maybe we can move this forward

Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Copy link

netlify bot commented Apr 21, 2025

Deploy Preview for nextflow-docs-staging ready!

Name Link
🔨 Latest commit 3917b81
🔍 Latest deploy log https://app.netlify.com/sites/nextflow-docs-staging/deploys/681222b724a75c0008673b95
😎 Deploy Preview https://deploy-preview-5993--nextflow-docs-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@christopher-hakkaart
Copy link
Collaborator

Love the direction. I'll do some research and thinking and try to come up with some options as well.

Signed-off-by: Christopher Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Christopher Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Christopher Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Christopher Hakkaart <chris.hakkaart@seqera.io>
@christopher-hakkaart
Copy link
Collaborator

A few thoughts:

  • I really like splitting the pages out. I think we should be doing more of this across the nextflow docs to keep pages at a reasonable size.
  • The stlib page feels like an index or landing page for stdlib constants, functions, and types. I like this in principle, but I find that having the Groovy and Java classes below detracts from these links and makes them easy to miss. I'd propose making a page for Groovy and Java classes, adding a line of text, and then having a separate bullet point just for this. The page is short, but the text could be expanded to explain each category/page and then list the pages.
  • Some loose naming for the sections described above could be Language reference and Runtime reference. I'm still simmering on other options. I'm always a little conflicted about moving stuff around too much, one side, it's good to test and work out if it improves navigation, the flip side is confusing users who can't find moved content.
  • This could be expanded to other pages, process reference is an easy win.
  • Eventually, I could see pages like the stlib across the nextflow docs and using cards with descriptions to help direct users to the right content. See Docker docs and MultiQC as examples.

I got a bit excited and pushed my proposal to your branch. I've reverted, but you'll be able to see what I was proposing in the commits.

…classes

Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
@bentsherman bentsherman marked this pull request as ready for review April 29, 2025 14:03
@bentsherman bentsherman requested a review from a team as a code owner April 29, 2025 14:03
@bentsherman
Copy link
Member Author

I introduced the concept of "namespaces" as a better way to document the built-in constants and functions. We can build on this language as we expand the standard library.

I like your idea of moving the groovy/java classses to a separate page.

I think I'm happy with the changes at this point. Not as much splitting as I wanted but it's a good incremental improvement. I will think about splitting up the types separately. We should be able to do it without adding any more sub-headings

I also like the idea of splitting up the process directives, I will try that in a separate PR

Copy link
Collaborator

@christopher-hakkaart christopher-hakkaart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all looks really good. Some minor suggestions. Non-blocking.

@bentsherman bentsherman merged commit 2f82d23 into master Apr 30, 2025
23 checks passed
@bentsherman bentsherman deleted the docs-standard-types branch April 30, 2025 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants