There are several ongoing efforts to improve the conda-forge website, which has yielded the new website, status page, as well as some work around the infrastructure pages.
Additionally @jaimergp wrote in the context of the more tightly-scoped #2154:
Last year, I experimented with how Diátaxis would apply to our docs in https://cf-infra-docs.netlify.app/docs. Some of the docs written for that experiment are being migrated over to our new website. @zklaus is almost finished, I think, with that effort.
I took that idea and came up with a rough draft of how the website could be structured (originally looking only at the infrastructure page, but I felt I needed a big picture view even for that). Some new content would have to be written, but mainly it is intended to reshuffle existing content into easily discoverable and more granular pieces.
As Diátaxis intentionally aims at gradual transformation rather than big bang refactoring, this outline would likely change as we iterate, but I wanted to get people's thoughts on the rough strokes (and then discuss it in the core call), so we can agree on the overall direction and let people start chipping away at some first pieces.
This is based on looking at our current docs as well as @jaimergp's experiment with Diátaxis; a more detailed comparison is available below the fold.
Welcome
For users
└ ... # not in scope here
For maintainers
├ Tutorials
| ├ Generate a conda recipe # Using greyskull or whatever
| ├ Write your first recipe # Segue from first tutorial, make some changes
| ├ Submit your first recipe # Segue again, process for submission
| └ ...
├ How-to guides
| ├ Easy # the below is just a selection, obviously
| | ├ Read a recipe # Component overview, refer to in-depth explanation
| | ├ Rerender feedstock
| | ├ Test packages
| | ├ Deal with numpy
| | ├ Enable osx-arm64 # Same for arches
| | ├ Talk to the bots # refer to bot command reference page
| | └ ...
| ├ Medium
| | ├ Cross-compile
| | ├ Enable CUDA
| | ├ Multi-output recipes
| | ├ LTS branches
| | └ ...
| └ Emergencies
| ├ Patch repodata
| └ Mark a package broken
├ Understanding conda-forge # Explanation part of Diátaxis
| ├ Life-cycle of a package # essentially https://cf-infra-docs.netlify.app/docs/fundamentals/life-cycle/
| | └ ...
| ├ How a package gets built
| | ├ Compilation concepts # shared/static/etc.
| | ├ Environment roles # e.g. build: vs. host:
| | ├ Compilers # e.g. role of activation
| | ├ Global pinning
| | ├ Run exports
| | ├ Jinja functions
| | └ ...
| ├ How our bots work
| | ├ Migrations
| | ├ regro infrastructure
| | └ ...
| ├ Security
| | ├ Output validation
| | └ ...
| ├ Maintainer roles
| └ ...
├ Reference
| ├ Infrastructure # more in-depth discussion in #2154
| | ├ Staged recipes # including teams
| | ├ Compilers
| | ├ Other core packages # sysroots, CDTs, msys2, ...
| | ├ CI Setup # docker images, conda-forge-ci-setup
| | ├ CI providers
| | ├ Global pinning
| | ├ Feedstock evolution # conda-smithy
| | ├ Feedstock metadata # graphs, feedstocks, feedstock-outputs
| | ├ Metadata corrections # repodata-patches, admin-requests
| | ├ Bot repos # all things regro
| | ├ Website
| | └ ...
| ├ Bot commands
| ├ Feedstock settings # conda-forge.yml, CBC, migrators
| ├ Glossary
| ├ Current pins # Auto-generated / subset?
| ├ Ongoing migrations # refer to status page
| └ ...
├ Miniforge
└ FAQ # separate section because questions cover both how-to & reference...?
Comparison with current docs and Diátaxis experiment
|
vs. docs |
vs. Infra Exp. |
Comment |
Welcome |
== here |
== Welcome |
|
For users |
== here |
n/a |
could surely be improved... |
└ ... |
|
|
... but not in scope here |
For maintainers |
== here |
n/a |
|
├ Tutorials |
partially here |
== Tutorials |
|
| ├ Generate a conda recipe |
|
|
Using greyskull or whatever |
| ├ Write your first recipe |
|
|
Segue from first tutorial, make some changes |
| ├ Submit your first recipe |
|
~= placeholder |
Segue again, process for submission |
| └ ... |
|
|
|
├ How-to guides |
distributed all over |
== How-to guides |
|
| ├ Easy |
|
|
|
| | ├ Read a recipe |
|
|
Component overview, refer to in-depth explanation |
| | ├ Rerender feedstock |
|
|
|
| | ├ Test packages |
|
|
|
| | ├ Deal with numpy |
roughly here |
|
|
| | ├ Enable osx-arm64 |
roughly here |
|
Same for arches |
| | ├ Talk to the bots |
|
|
refer to bot command reference page |
| | └ ... |
|
|
|
| ├ Medium |
|
|
|
| | ├ Cross-compile |
~= here |
|
|
| | ├ Enable CUDA |
~= here |
|
|
| | ├ Multi-output recipes |
~= here |
|
|
| | ├ LTS branches |
~= here |
|
|
| | └ ... |
|
|
|
| └ Emergencies |
|
|
|
| ├ Patch repodata |
|
|
|
| └ Mark a package broken |
~= here |
|
|
├ Understanding c-f |
not much |
~= Fundamentals |
"Explanation" part of diataxis |
| ├ Life-cycle of a pkg |
|
== here |
|
| | └ ... |
|
|
|
| ├ How a pkg gets built |
|
|
|
| | ├ Compilation concepts |
|
|
shared/static/etc. |
| | ├ Env. roles |
short comment |
|
e.g. build: vs. host: |
| | ├ Compilers |
partially here |
|
e.g. role of activation |
| | ├ Global pinning |
~= here |
|
|
| | ├ Run exports |
~= here |
|
|
| | ├ Jinja functions |
|
|
|
| | └ ... |
|
|
|
| ├ How our bots work |
|
see here |
|
| | ├ Migrations |
~= here |
|
|
| | ├ regro infra |
|
|
|
| | └ ... |
|
|
|
| ├ Security |
~= here |
see placeholder |
|
| | ├ Output validation |
|
|
|
| | └ ... |
|
|
|
| ├ Maintainer roles |
roughly here & here |
|
|
| └ ... |
|
|
|
├ Reference |
all over |
== Reference |
|
| ├ Infrastructure |
|
~same content split somewhat differently |
|
| | ├ Staged recipes |
|
roughly here |
incl. teams |
| | ├ Compilers |
roughly here |
|
|
| | ├ Other core packages |
|
|
sysroots, CDTs, msys2, ... |
| | ├ CI Setup |
|
|
docker images, conda-forge-ci-setup |
| | ├ CI providers |
|
roughly here |
|
| | ├ Global pinning |
~= here |
|
+explain migrators |
| | ├ Feedstock evolution |
|
|
conda-smithy |
| | ├ Feedstock metadata |
|
|
graphs, feedstocks, feedstock-outputs |
| | ├ Metadata corrections |
|
|
repodata-patches, admin-requests |
| | ├ Bot repos |
|
|
all things regro |
| | ├ Website |
|
== here |
|
| | └ ... |
|
|
|
| ├ Bot commands |
~= here |
== here |
|
| ├ Feedstock settings |
mostly here |
== here |
conda-forge.yml, CBC, migrators |
| ├ Glossary |
== here |
== here |
|
| ├ Current pins |
|
== here |
Auto-generated / subset? |
| ├ Ongoing migrations |
|
|
refer to status page |
| └ ... |
|
|
|
├ Miniforge |
|
== here |
|
└ FAQ |
~= here |
|
separate section because questions cover both how-to & reference...? |
There are several ongoing efforts to improve the conda-forge website, which has yielded the new website, status page, as well as some work around the infrastructure pages.
Additionally @jaimergp wrote in the context of the more tightly-scoped #2154:
I took that idea and came up with a rough draft of how the website could be structured (originally looking only at the infrastructure page, but I felt I needed a big picture view even for that). Some new content would have to be written, but mainly it is intended to reshuffle existing content into easily discoverable and more granular pieces.
As Diátaxis intentionally aims at gradual transformation rather than big bang refactoring, this outline would likely change as we iterate, but I wanted to get people's thoughts on the rough strokes (and then discuss it in the core call), so we can agree on the overall direction and let people start chipping away at some first pieces.
This is based on looking at our current docs as well as @jaimergp's experiment with Diátaxis; a more detailed comparison is available below the fold.
Comparison with current docs and Diátaxis experiment
WelcomeFor users└ ...For maintainers├ Tutorials| ├ Generate a conda recipegreyskullor whatever| ├ Write your first recipemake some changes
| ├ Submit your first recipeprocess for submission
| └ ...├ How-to guides| ├ Easy| | ├ Read a reciperefer to in-depth explanation
| | ├ Rerender feedstock| | ├ Test packages| | ├ Deal with numpy| | ├ Enable osx-arm64| | ├ Talk to the botsreference page
| | └ ...| ├ Medium| | ├ Cross-compile| | ├ Enable CUDA| | ├ Multi-output recipes| | ├ LTS branches| | └ ...| └ Emergencies| ├ Patch repodata| └ Mark a package broken├ Understanding c-f| ├ Life-cycle of a pkg| | └ ...| ├ How a pkg gets built| | ├ Compilation concepts| | ├ Env. rolesbuild:vs.host:| | ├ Compilers| | ├ Global pinning| | ├ Run exports| | ├ Jinja functions| | └ ...| ├ How our bots work| | ├ Migrations| | ├ regro infra| | └ ...| ├ Security| | ├ Output validation| | └ ...| ├ Maintainer roles| └ ...├ Reference| ├ Infrastructuresomewhat differently
| | ├ Staged recipes| | ├ Compilers| | ├ Other core packages| | ├ CI Setupconda-forge-ci-setup
| | ├ CI providers| | ├ Global pinning| | ├ Feedstock evolution| | ├ Feedstock metadatafeedstock-outputs
| | ├ Metadata corrections| | ├ Bot repos| | ├ Website| | └ ...| ├ Bot commands| ├ Feedstock settingsconda-forge.yml, CBC, migrators| ├ Glossary| ├ Current pins| ├ Ongoing migrations| └ ...├ Miniforge└ FAQquestions cover both
how-to & reference...?