chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.77k stars 417 forks source link

Split Chapel Documentation into distinct sections/sites? #25282

Open bradcray opened 2 months ago

bradcray commented 2 months ago

Capturing an anonymous and intriguing comment made at ChapelCon'24:

it is also a good idea to redesign the documentation website, split it into several parts like tutorials, standard library, examples, etc. A good example is Python (de-facto standard for documents) and Mojo websites.

mppf commented 2 months ago

Yes I have been thinking about this as well. The sphinx tool we are using can support linking between different projects (see https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html ). So we could divide our documentation into different sphinx projects / sites. IMO the thing that most obviously should be separated is the C++ compiler frontend docs, which are only useful to compiler developers, but come up in the search results for Chapel users. Splitting more than that is intriguing, but it's not immediately obvious to me what a good landing point there is. In particular, I think it's good that today a search for something like forall gives results that include primers and the spec.

bradcray commented 2 months ago

Would there be a way to support both targeted search (e.g., search just the spec / just the primers) vs. more of an umbrella search? Either using something within sphinx, or by having multiple overlapping sphinx projects?

I definitely agree that it'd be nice to have the C++ compiler front-end docs be their own thing

mppf commented 2 months ago

We have customized the search page javascript. In that page, we could make checkboxes for searching the different categories of items (spec, primer, module docs, technotes, ...). In my recent efforts with the search box, I thought about doing this but did not get to it.