Link readers to the next useful guide. Authoring uses generated rows; Start and Extend use curated rows with summaries written for the task.
Each row supplies a destination, title, and description. Keeping them inside one
link makes the whole row a target for opening the guide. A query fence uses
component: doc-item and supplies those values from its result.
For curated rows, import this Source and pass a public route with the title and
summary. For example, paths/docs/start/index.md contains:
[@docs-items]: ../docs.components.md
<doc-item href="/docs/start/first-site.guide" title="Quickstart" description="Create a project, run it, edit the home page, and add another page." />
The result is one linked row. Use the rendered route in href; the component's
string attribute does not resolve a relative Markdown filename. See the working
Start and Extend indexes.
<a class="pmx-doc-item" href="{{ href }}">
<strong>{{ title }}</strong>
<span>{{ description }}</span>
</a>
On wider screens, titles and descriptions form two columns. On small screens, the description sits below its title. Theme tokens supply the border, muted text, and link highlight colors.
[data-pmx-query-component="doc-item"] {
display: grid;
gap: 0.35rem;
margin-block: 1.25rem 2rem;
}
.pmx-doc-item {
display: grid;
grid-template-columns: 11rem minmax(0, 1fr);
gap: 1rem;
padding: 0.6rem 0;
border-top: 1px solid var(--pmx-color-border);
color: inherit;
text-decoration: none;
}
.pmx-doc-item:last-child {
border-bottom: 1px solid var(--pmx-color-border);
}
.pmx-doc-item strong {
font-family: var(--pmx-font-heading);
font-weight: 650;
}
.pmx-doc-item > span {
color: var(--pmx-color-muted);
font-size: 0.92rem;
}
.pmx-doc-item:hover strong,
.pmx-doc-item:focus-visible strong {
color: var(--pmx-color-accent);
}
@media (max-width: 40rem) {
.pmx-doc-item {
grid-template-columns: 1fr;
gap: 0.2rem;
}
}