, ),
+ // ==highlight== becomes , callouts become styled divs, and
+ // wikilinks resolve to links — none of them may show up as raw source.
+ const fmtId = (await window.folio.createChapter("Formatting")).id;
+ await window.folio.saveChapter(
+ fmtId,
+ [
+ "**bold** *italic* ~~strike~~ ==highlight== under",
+ 'red marked',
+ "",
+ "> [!note] Callout title",
+ "> callout body",
+ "",
+ "[[Beta Renamed]]",
+ ].join("\n")
+ );
+ await new Promise((r) => setTimeout(r, 500));
+ document.getElementById("fullBookBtn").click();
+ await new Promise((r) => setTimeout(r, 400));
+ const pbInner = document.getElementById("printBook").innerHTML;
+ const pbText = document.getElementById("printBook").textContent;
+ out.printFmtBold = /bold<\/strong>/.test(pbInner);
+ out.printFmtMark = /highlight<\/mark>/.test(pbInner);
+ out.printFmtUnderline = /under<\/u>/.test(pbInner);
+ out.printFmtColor = /red<\/span>/.test(pbInner);
+ out.printFmtNoRawEq = !pbText.includes("==highlight==");
+ out.printFmtCallout = /class="callout callout-note"/.test(pbInner);
+ out.printFmtNoRawCallout = !pbText.includes("[!note]");
+ out.printFmtWikilink = /class="wikilink internal"/.test(pbInner);
+ out.printFmtNoRawWikilink = !pbText.includes("[[Beta Renamed]]");
+ out.printFmtOk =
+ out.printFmtBold &&
+ out.printFmtMark &&
+ out.printFmtUnderline &&
+ out.printFmtColor &&
+ out.printFmtNoRawEq &&
+ out.printFmtCallout &&
+ out.printFmtNoRawCallout &&
+ out.printFmtWikilink &&
+ out.printFmtNoRawWikilink;
+
const okFlags = [
"dndMoved",
"kbMoved",
@@ -537,6 +579,7 @@ const BOOK2_DIR = __BOOKDIR2_VALUE__;
"printBookHasAllChapters",
"printBookLongFull",
"pdfLongExportOk",
+ "printFmtOk",
];
out.all = okFlags.every((f) => out[f] === true);
} catch (e) {