diff --git a/news/changelog-1.5.md b/news/changelog-1.5.md index 37dc15d108..e6d26824a7 100644 --- a/news/changelog-1.5.md +++ b/news/changelog-1.5.md @@ -27,6 +27,7 @@ All changes included in 1.5: ## Jupyter +- ([#4802](https://github.com/quarto-dev/quarto-cli/issues/4802)): Change name of temporary input notebook to avoid accidental overwriting. - ([#8433](https://github.com/quarto-dev/quarto-cli/issues/8433)): Escape jupyter widget states that contain `` so they can be embedded in HTML documents. ## Website Listings diff --git a/src/execute/jupyter/jupyter.ts b/src/execute/jupyter/jupyter.ts index 741fe6ac46..5a441762ba 100644 --- a/src/execute/jupyter/jupyter.ts +++ b/src/execute/jupyter/jupyter.ts @@ -185,7 +185,13 @@ export const jupyterEngine: ExecutionEngine = { if (isQmdFile(file) || isPercentScript) { // write a transient notebook const [fileDir, fileStem] = dirAndStem(file); - const notebook = join(fileDir, fileStem + ".ipynb"); + // See #4802 + // I don't love using an extension other than .ipynb for this file, + // but doing something like .quarto.ipynb would require a lot + // of additional changes to our file handling code (without changes, + // our output files would be called $FILE.quarto.html, which + // is not what we want). So for now, we'll use .quarto_ipynb + const notebook = join(fileDir, fileStem + ".quarto_ipynb"); const target = { source: file, input: notebook,