Skip to content

Commit 1db7d42

Browse files
committed
update big picture
1 parent 0227b8d commit 1db7d42

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

docs/get-started/dev-big-picture.qmd

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The code below shows a Builder object being loaded from a `_quarto.yml` config (
2828
```{python}
2929
import yaml
3030
31-
from quartodoc import Builder, preview, blueprint, collect, MdRenderer
31+
from quartodoc import Builder, blueprint, collect, MdRenderer
3232
3333
cfg = yaml.safe_load("""
3434
quartodoc:
@@ -48,7 +48,7 @@ builder
4848
```
4949

5050
Note that .from_quarto_config used the `style:` field to decide which Builder to create
51-
(in this case, PkgdownBuilder).
51+
(in this case, `BuilderPkgdown`).
5252

5353
We can view the config as a [layout.Layout](`quartodoc.layout.Layout`), by looking at the `.layout` attribute.
5454

@@ -59,6 +59,7 @@ builder.layout
5959
This can be a bit difficult to read, so quartodoc implements a [preview](`quartodoc.preview`) function, which spaces things out.
6060

6161
```{python}
62+
from quartodoc import preview
6263
preview(builder.layout)
6364
```
6465

@@ -69,14 +70,14 @@ a pipe connecting it to each of its arguments.
6970
* The content entry `MdRenderer` is represented by an [Auto](`quartodoc.Auto`) class.
7071
This specifies a Python object to look up and document.
7172

72-
We can follow the path in the preview above, to pull out just the contents piece:
73+
We can follow the path in the preview above, to pull out just this first piece of content containing `MdRenderer`:
7374

7475
```{python}
7576
content = builder.layout.sections[0].contents[0]
7677
preview(content)
7778
```
7879

79-
Next, we'll look at `blueprint()`, which processes the layout, including transforming `Auto` objects into more concrete instructions.
80+
Next, we'll look at `blueprint()`, which processes the layout, including transforming `Auto` objects (like the one representing the `MdRenderer` above) into more concrete instructions.
8081

8182
## From config to blueprint
8283

@@ -96,7 +97,7 @@ Notice two key pieces:
9697
This element holds everything needed to render this doc, including the class signature
9798
and parsed docstring.
9899

99-
Importantly, the `.members` attribute specifies how to render the class methods we specified (`.render()` and `.summarize()`).
100+
Importantly, the `.members` attribute stores how to render the class methods we listed in our configuration yaml, `.render()` and `.summarize()`:
100101

101102
```{python}
102103
preview(bp_contents.contents[0].members, max_depth=2)
@@ -112,7 +113,7 @@ Before to building the site, we need to `collect()` all the pages.
112113
The [collect](`quartodoc.collect`) function pulls out two important pieces of information:
113114

114115
* **pages** - each page to be rendered.
115-
* **items** - information on where each documented object lives in the site.
116+
* **items** - information on where each documented object lives in the site, which is used for things like [interlinks](interlinks.qmd).
116117

117118
```{python}
118119
pages, items = collect(bp, builder.dir)
@@ -130,21 +131,28 @@ Notice that if you wanted to look up `quartodoc.MdRenderer.render`, the first it
130131

131132
## Rendering and writing
132133

133-
A `Builder` instantiates a `Renderer` (like [MdRenderer](`quartodoc.MdRenderer`)).
134-
Use the `.renderer` attribute to access it.
134+
A `Builder` instantiates a `Renderer` (like [](`~quartodoc.MdRenderer`)).
135+
Use the `.renderer` attribute to access it:
135136

136137
```{python}
137138
builder.renderer
138139
```
139140

141+
The `render` method of of the [](`~quartodoc.MdRenderer`) returns a markdown string that can be rendered by Quarto:
140142
```{python}
141143
print(builder.renderer.render(pages[0]))
142-
143144
```
144145

146+
:::{.callout-note}
147+
### Cross References
148+
149+
The `{ #quartodoc.MdRenderer.render }` in the output above is extended Quarto markdown that is a [cross reference](https://quarto.org/docs/authoring/cross-references.html).
150+
151+
:::
152+
145153
## Writing pages
146154

147-
The builder has a number of methods it uses during build.
155+
The builder has a number of methods it uses while materializing files that will be rendered by Quarto.
148156
The main method is [.build()](`quartodoc.Builder.build`).
149157
See the [Builder section of the API](#api-builders) for a list of methods,
150158
or this [giant build process diagram](/get-started/extra-build-sequence.qmd) for a full breakdown.

0 commit comments

Comments
 (0)