Hi Martijn, I'm the primary developer of the PacletTools package. I'm sorry to hear that you've been having trouble with PacletDocumentationBuild. As you mentioned, it's still quite new and experimental, so there are some aspects of the UX that are not yet as polished as they could be — the lack of incremental rebuilds being a big one.
Incremental rebuilds are coming to PacletDocumentationBuild, likely for 13.1. However, for now, I'll describe a workaround that should mitigate both the slow builds and the crash.
PacletDocumentationBuild is partly a wrapper around our DocumentationBuild` package (which long-time users of the Workbench may recognize). If you use the lower-level DocumentationBuildNotebooks function directly, you can more precisely control which files get built:
Needs["DocumentationBuild`"]
DocumentationBuildNotebooks[
(* Input directory. *)
"~/path/to/QMRITools/Documentation",
(* Output directory. Pick any location you'd prefer *)
"~/Desktop/QMRIToolsDocumentation",
(* Predicate function to filter which files to build.
E.g., build only the CardiacTools and DenoiseTools guides *)
StringContainsQ[#, "CardiacTools.nb" | "DenoiseTools.nb"] &
]
This should allow you to more quickly check changes to the documentation page you are currently working on, while avoiding re-building all the files you don't care about at that moment.
PacletDocumentationBuild[ , , "HTML"] also consistently crashes Mathematica between 400 and 500 function pages build.
The first step in building the HTML documentation is building the notebook documentation, so this likely crashes for the same reason.
I'm attempting to reproduce the crash locally, and I'll let you know what I'm able to find. For now, you may be able to narrow down which file is causing the crash by evaluating:
DocumentationBuildNotebooks[
"~/path/to/QMRITools/Documentation",
"~/Desktop/QMRIToolsDocumentation",
Function[path,
Print["Building: ", path];
True
]
]
and making note of what the last printed file name is (and if it's even the same file every time).
EDIT: I just noticed that the QMRITools repository on GitHub doesn't appear to contain the full ~600 function pages mentioned in the description. Would it be possible for you to commit those to a branch that you could share with me? I've also reached out internally to our DocumentationTools team.