Skip to content

Commit 42e2f9e

Browse files
committed
Remove numbering from head>title when number-sections false
fixes #3304
1 parent 752056a commit 42e2f9e

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

news/changelog-1.3.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
- Listings now support `template-params`, which will be passed to custom EJS templates in a variable called `templateParams` when a listing is rendered.
3636
- Custom listing objects now resolve `path: ` fields into the metadata that would be generated by standard listings, giving custom listing access to computed metadata like `reading-time`, etc.
3737

38+
## Books
39+
40+
- Remove chapter number of HTML head title when `number-sections` is `false` (#3304).
41+
3842
## Miscellaneous
3943

4044
- Work around pandoc strict checking of `number-offset` type. ([#3126](https://github.com/quarto-dev/quarto-cli/issues/3126))

src/project/types/website/website-meta.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { dirname, join, relative } from "path/mod.ts";
1010
import {
1111
kAbstract,
1212
kDescription,
13+
kNumberSections,
1314
kSubtitle,
1415
kTitle,
1516
} from "../../../config/constants.ts";
@@ -418,7 +419,6 @@ function metaMarkdownPipeline(format: Format, extras: FormatExtras) {
418419

419420
const ogMeta = opengraphMetadata(format);
420421
inlines[kOgTitle] = ogMeta.title as string || resolvedTitle || "";
421-
422422
return { inlines };
423423
},
424424
processRendered(rendered: Record<string, Element>, doc: Document) {
@@ -429,7 +429,18 @@ function metaMarkdownPipeline(format: Format, extras: FormatExtras) {
429429
`head title`,
430430
);
431431
if (el) {
432-
el.innerHTML = renderedEl.innerText;
432+
if (format.pandoc[kNumberSections] === false) {
433+
// Remove chapter numbers if not numbered
434+
const numberEl = renderedEl.querySelector("span.chapter-number");
435+
if (numberEl) {
436+
numberEl.remove();
437+
}
438+
// Collapse contiguous whitespace
439+
const collapsed = renderedEl.innerText.replaceAll(/\s+/g, " ");
440+
el.innerHTML = collapsed;
441+
} else {
442+
el.innerHTML = renderedEl.innerText;
443+
}
433444
}
434445
}
435446

0 commit comments

Comments
 (0)