Skip to content

Commit 851d06e

Browse files
authored
Add secret sidebar for Diátaxis structure (#2633)
1 parent ad53b72 commit 851d06e

File tree

10 files changed

+399
-1
lines changed

10 files changed

+399
-1
lines changed

.ci_scripts/check_sidebars.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ def main():
5555
print("Checking", dirname, "sidebar...")
5656
directory = REPO_ROOT / dirname
5757
docs_files = set(get_all_documents(directory))
58-
initial_items = json.loads((directory / "_sidebar.json").read_text())
58+
initial_items = [
59+
item
60+
for json_path in directory.glob("_sidebar*.json")
61+
for item in json.loads(json_path.read_text())
62+
]
5963
sidebar_files = set(get_sidebar_files(initial_items))
6064
missing_files_from_sidebar = docs_files - sidebar_files
6165
if missing_files_from_sidebar:

docs/_sidebar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const fs = require("fs");
44
const sidebars = {
55
docs: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar.json`)),
6+
diataxis: JSON.parse(fs.readFileSync(`${__dirname}/_sidebar_diataxis.json`)),
67
};
78

89
export default sidebars;

docs/_sidebar_diataxis.json

Lines changed: 307 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,307 @@
1+
[
2+
"diataxis",
3+
{
4+
"type": "category",
5+
"label": "End-user guide",
6+
"collapsed": true,
7+
"items": [
8+
"user/introduction",
9+
{
10+
"type": "link",
11+
"label": "Miniforge",
12+
"href": "/download"
13+
},
14+
{
15+
"type": "link",
16+
"label": "Get help",
17+
"href": "/docs/user/how_to_get_help/"
18+
},
19+
{
20+
"type": "link",
21+
"label": "Get involved",
22+
"href": "/docs/user/contributing/"
23+
},
24+
{
25+
"type": "link",
26+
"label": "Become a maintainer",
27+
"href": "/docs/maintainer/guidelines/#becoming-a-maintainer"
28+
}
29+
]
30+
},
31+
{
32+
"type": "html",
33+
"value": "<span>For maintainers:</span>",
34+
"defaultStyle": true
35+
},
36+
{
37+
"type": "category",
38+
"label": "Tutorials",
39+
"link": {
40+
"type": "doc",
41+
"id": "tutorials/index"
42+
},
43+
"items": [
44+
{
45+
"type": "link",
46+
"label": "Contribute your first recipe",
47+
"href": "/docs/maintainer/adding_pkgs/#the-staging-process"
48+
}
49+
]
50+
},
51+
{
52+
"type": "category",
53+
"label": "How-to guides",
54+
"link": {
55+
"type": "doc",
56+
"id": "how-to/index"
57+
},
58+
"items": [
59+
{
60+
"type": "category",
61+
"label": "Basics",
62+
"link": {
63+
"type": "doc",
64+
"id": "how-to/basics"
65+
},
66+
"items": [
67+
{
68+
"type": "link",
69+
"label": "Rerender a feedstock",
70+
"href": "/docs/maintainer/updating_pkgs/#rerendering-feedstocks"
71+
}
72+
]
73+
},
74+
{
75+
"type": "category",
76+
"label": "Advanced",
77+
"link": {
78+
"type": "doc",
79+
"id": "how-to/advanced"
80+
},
81+
"items": [
82+
{
83+
"type": "link",
84+
"label": "Deal with numpy",
85+
"href": "/docs/maintainer/knowledge_base/#building-against-numpy"
86+
},
87+
{
88+
"type": "link",
89+
"label": "Enable osx-arm64",
90+
"href": "/docs/maintainer/knowledge_base/#apple-silicon-builds"
91+
},
92+
{
93+
"type": "link",
94+
"label": "Talk to the bots",
95+
"href": "/docs/maintainer/conda_forge_yml/"
96+
},
97+
{
98+
"type": "link",
99+
"label": "Cross-compile",
100+
"href": "/docs/maintainer/knowledge_base/#cross-compilation"
101+
},
102+
{
103+
"type": "link",
104+
"label": "Enable CUDA",
105+
"href": "/docs/maintainer/knowledge_base/#cuda-builds"
106+
},
107+
{
108+
"type": "link",
109+
"label": "Create multi-output recipes",
110+
"href": "/docs/maintainer/knowledge_base/#multi-output-recipes"
111+
},
112+
{
113+
"type": "link",
114+
"label": "Maintain several versions",
115+
"href": "/docs/maintainer/updating_pkgs/#maintaining-several-versions"
116+
},
117+
{
118+
"type": "link",
119+
"label": "Rename packages",
120+
"href": "#"
121+
}
122+
]
123+
},
124+
{
125+
"type": "category",
126+
"label": "Emergencies",
127+
"link": {
128+
"type": "doc",
129+
"id": "how-to/emergencies"
130+
},
131+
"items": [
132+
{
133+
"type": "link",
134+
"label": "Patch repodata",
135+
"href": "https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/blob/main/recipe/README.md"
136+
},
137+
{
138+
"type": "link",
139+
"label": "Remove broken packages",
140+
"href": "/docs/maintainer/updating_pkgs/#removing-broken-packages"
141+
}
142+
]
143+
}
144+
]
145+
},
146+
{
147+
"type": "category",
148+
"label": "Understanding conda-forge",
149+
"items": [
150+
{
151+
"type": "link",
152+
"label": "The life cycle of a package",
153+
"href": "/docs/maintainer/understanding_conda_forge/life_cycle/"
154+
},
155+
{
156+
"type": "ref",
157+
"id": "maintainer/understanding_conda_forge/staged_recipes"
158+
},
159+
{
160+
"type": "ref",
161+
"id": "maintainer/understanding_conda_forge/feedstocks"
162+
},
163+
{
164+
"type": "category",
165+
"label": "Building packages",
166+
"items": [
167+
{
168+
"type": "link",
169+
"label": "Compilation concepts",
170+
"href": "#"
171+
},
172+
{
173+
"type": "link",
174+
"label": "Build environments",
175+
"href": "/docs/maintainer/knowledge_base/#placing-requirements-in-build-or-host"
176+
},
177+
{
178+
"type": "link",
179+
"label": "Compilers",
180+
"href": "/docs/maintainer/infrastructure/#compilers-and-runtimes"
181+
},
182+
{
183+
"type": "link",
184+
"label": "Global pinning",
185+
"href": "/docs/maintainer/pinning_deps/"
186+
},
187+
{
188+
"type": "link",
189+
"label": "Run exports",
190+
"href": "/docs/maintainer/pinning_deps/#specifying-run_exports"
191+
},
192+
{
193+
"type": "link",
194+
"label": "Jinja functions",
195+
"href": "/docs/maintainer/adding_pkgs/#jinja-templating"
196+
}
197+
]
198+
},
199+
{
200+
"type": "category",
201+
"label": "Bots & automation",
202+
"items": [
203+
{
204+
"type": "link",
205+
"label": "Overview",
206+
"href": "#"
207+
},
208+
{
209+
"type": "link",
210+
"label": "Migrations",
211+
"href": "/docs/maintainer/knowledge_base/#migrators-and-migrations"
212+
},
213+
{
214+
"type": "link",
215+
"label": "Version updates",
216+
"href": "/docs/maintainer/updating_pkgs/#how-does-regro-cf-autotick-bot-create-automatic-version-updates"
217+
},
218+
{
219+
"type": "link",
220+
"label": "Infrastructure",
221+
"href": "#"
222+
}
223+
]
224+
},
225+
{
226+
"type": "category",
227+
"label": "Security",
228+
"items": [
229+
{
230+
"type": "link",
231+
"label": "General considerations",
232+
"href": "/docs/maintainer/knowledge_base/#security-considerations-for-conda-forge-builds"
233+
}
234+
]
235+
},
236+
{
237+
"type": "category",
238+
"label": "Maintainer's handbook",
239+
"items": [
240+
{
241+
"type": "link",
242+
"label": "Transferring a package",
243+
"href": "/docs/maintainer/guidelines/#transferring-to-conda-forge"
244+
},
245+
{
246+
"type": "link",
247+
"label": "Intended usage",
248+
"href": "/docs/maintainer/guidelines/#intended-usage"
249+
},
250+
{
251+
"type": "link",
252+
"label": "Renaming packages",
253+
"href": "/docs/maintainer/guidelines/#intended-usage"
254+
},
255+
{
256+
"type": "link",
257+
"label": "Fixing broken packages",
258+
"href": "/docs/maintainer/guidelines/#fixing-broken-packages"
259+
},
260+
{
261+
"type": "link",
262+
"label": "Becoming a maintainer",
263+
"href": "/docs/maintainer/guidelines/#becoming-a-maintainer"
264+
},
265+
{
266+
"type": "link",
267+
"label": "Responsibilities",
268+
"href": "/docs/maintainer/adding_pkgs/#maintainer-role"
269+
},
270+
{
271+
"type": "link",
272+
"label": "Best practices",
273+
"href": "#"
274+
}
275+
]
276+
}
277+
]
278+
},
279+
{
280+
"type": "category",
281+
"label": "Reference",
282+
"items": [
283+
{
284+
"type": "ref",
285+
"id": "maintainer/infrastructure"
286+
},
287+
{
288+
"type": "ref",
289+
"id": "maintainer/conda_forge_yml"
290+
},
291+
{
292+
"type": "link",
293+
"label": "Current pins",
294+
"href": "https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml"
295+
},
296+
{
297+
"type": "link",
298+
"label": "Ongoing migrations",
299+
"href": "/status/#migrations"
300+
},
301+
{
302+
"type": "ref",
303+
"id": "glossary"
304+
}
305+
]
306+
}
307+
]

docs/diataxis.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Reorganized documentation
2+
3+
:::info
4+
You have a reached a hidden page! 🥷
5+
6+
We are slowly reorganizing and extending our documentation following the [Diátaxis framework](https://diataxis.fr/). This is a preview that will list the documentation structure while it's in progress. The expectation is to promote it to the [Docs](/docs) section once ready.
7+
8+
You can provide feedback and read more about this effort in [conda-forge/conda-forge.github.io#2164](https://github.com/conda-forge/conda-forge.github.io/issues/2164).
9+
:::

docs/how-to/advanced.mdx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
tags: [how-to, advanced]
3+
---
4+
5+
# Emergencies
6+
7+
The following how-to guides are available in this category:
8+
9+
import DocCardList from '@theme/DocCardList';
10+
11+
<DocCardList />

docs/how-to/basics.mdx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
tags: [how-to, basic]
3+
---
4+
5+
# Emergencies
6+
7+
The following how-to guides are available in this category:
8+
9+
import DocCardList from '@theme/DocCardList';
10+
11+
<DocCardList />

docs/how-to/emergencies.mdx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
tags: [how-to, emergency]
3+
---
4+
5+
# Emergencies
6+
7+
The following how-to guides are available in this category:
8+
9+
import DocCardList from '@theme/DocCardList';
10+
11+
<DocCardList />

docs/how-to/index.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
tags: [how-to]
3+
---
4+
5+
# How-to guides
6+
7+
## What to expect
8+
9+
This section will provide guides on _how to_ perform different actions in the conda-forge ecosystem.
10+
Their main goal is to help you complete a task you are already familiar with.
11+
They are not [tutorials](../tutorials/index.mdx) or guided lessons to learn the foundations of basic and advanced topics.
12+
13+
For more information, read [The difference between a tutorial and how-to guide](https://diataxis.fr/tutorials-how-to/).
14+
15+
## Available how-tos
16+
17+
The following how-to guides are available:
18+
19+
import DocCardList from '@theme/DocCardList';
20+
21+
<DocCardList />

0 commit comments

Comments
 (0)