diff --git a/.githooks/check-freeze.sh b/.githooks/check-freeze.sh index a5ddd16231..6c39d76895 100755 --- a/.githooks/check-freeze.sh +++ b/.githooks/check-freeze.sh @@ -39,6 +39,19 @@ while IFS= read -r qmd; do [ -n "$qmd" ] || continue freeze_rel="_freeze/${qmd%.qmd}/execute-results/html.json" + # Skip when the freeze file is intentionally removed in this change: the + # page no longer executes code (e.g. converted to the markdown engine), so + # its freeze entry is vestigial and correctly deleted, not stale. + if [ "$MODE" = "commit" ]; then + if git diff --cached --diff-filter=D --name-only 2>/dev/null | grep -Fxq "$freeze_rel"; then + continue + fi + else + if git diff "${REMOTE}..HEAD" --diff-filter=D --name-only 2>/dev/null | grep -Fxq "$freeze_rel"; then + continue + fi + fi + # Read freeze JSON from git objects, not working tree, to avoid false passes # when the freeze file is updated on disk but not yet staged. if [ "$MODE" = "commit" ]; then diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 3c617d6488..20be8f3b66 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -210,9 +210,14 @@ jobs: 'docs/extensions/listings/custom-formats.yml': 'docs/extensions/index.html', 'docs/extensions/listings/revealjs-formats.yml': 'docs/extensions/index.html', 'docs/extensions/listings/revealjs.yml': 'docs/extensions/index.html', - // Gallery data files → gallery index - 'docs/gallery/carousel.yml': 'docs/gallery/index.html', - 'docs/gallery/gallery.yml': 'docs/gallery/index.html', + // Gallery data files → gallery pages + 'docs/gallery/data/featured.yml': 'docs/gallery/index.html', + 'docs/gallery/data/reports-analytics.yml': 'docs/gallery/reports-analytics.html', + 'docs/gallery/data/dashboards-monitoring.yml': 'docs/gallery/dashboards-monitoring.html', + 'docs/gallery/data/research-scholarship.yml': 'docs/gallery/research-scholarship.html', + 'docs/gallery/data/teaching-learning.yml': 'docs/gallery/teaching-learning.html', + 'docs/gallery/data/software-documentation.yml': 'docs/gallery/software-documentation.html', + 'docs/gallery/data/personal-community.yml': 'docs/gallery/personal-community.html', // Guide listing → guide index 'docs/guide/guide.yml': 'docs/guide/index.html', // Download data → download index diff --git a/_freeze/docs/gallery/index/execute-results/html.json b/_freeze/docs/gallery/index/execute-results/html.json deleted file mode 100644 index f9f6bfda06..0000000000 --- a/_freeze/docs/gallery/index/execute-results/html.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "hash": "838b86bcdf1e147ddbf3ace68d6405b8", - "result": { - "engine": "knitr", - "markdown": "---\npagetitle: \"Gallery\"\nformat:\n html:\n toc: false\nimage: articles/advanced-layout-pdf.png\nsearch: false\nexecute:\n echo: false\nlisting:\n - id: gallery\n template: gallery.ejs\n contents: gallery.yml\ndescription: |\n A gallery of example documents, websites, books, and presentations created with Quarto.\naliases:\n - /docs/dashboards/examples/index.html\n - /docs/dashboards/examples/\n---\n\n::: {#hero-banner .column-screen}\n::: {.grid .column-page}\n::: {.headline .g-col-lg-6 .g-col-12 .g-col-md-12}\n::: {.h1 role=\"heading\" aria-level=\"1\"}\nGallery\n:::\n\n\nQuarto can produce a wide variety of output formats. Here are some examples:\n\n- [Articles & Reports](#articles-reports)\n- [Presentations](#presentations)\n- [Dashboards](#dashboards)\n- [Websites](#websites)\n- [Books](#books)\n- [Interactive Docs](#interactive-docs)\n:::\n\n\n::: {.cell .g-col-lg-6 .g-col-12 .g-col-md-12}\n::: {.cell-output-display}\n\n```{=html}\n