[Sync to prerelease] Blog post: Chrome Headless Shell in Quarto#1992
Merged
cwickham merged 1 commit intoprereleasefrom Apr 14, 2026
Merged
[Sync to prerelease] Blog post: Chrome Headless Shell in Quarto#1992cwickham merged 1 commit intoprereleasefrom
cwickham merged 1 commit intoprereleasefrom
Conversation
* add blog post writing skill Skill codifies conventions derived from 40+ existing quarto.org/blog posts: frontmatter schema, post-type structures, writing voice, and technical conventions (images, code blocks, links, callouts). Uses progressive disclosure with SKILL.md core + references/post-types.md loaded on demand. * draft blog post: chrome-headless-shell announcement Feature announcement covering chrome-headless-shell as replacement for Puppeteer Chromium: what it is, why the switch, migration path, CI compatibility, and v1.9/v1.10 timeline. * add thumbnail design guide to blog post skill Gap found during live test: skill had no guidance on thumbnail dimensions, visual style, or design patterns. Adds references/thumbnail-guide.md with conventions derived from 40 existing thumbnails (1200x630 standard, steel blue palette, per-type patterns). * add thumbnail and icon attribution to blog post Thumbnail created from HTML/CSS with actual SVG logos and screenshotted at 1200x630. Chromium icon by Jeremiah (CC BY 4.0), arrow from SVG Repo (Public Domain). Attribution line at end of post matches existing blog convention (see 1.9 release post OpenMoji credit). * update thumbnail guide with HTML/CSS creation method Documents the HTML-to-screenshot approach for creating thumbnails with real SVG logos, icon sourcing (svgrepo.com PD, icon-icons.com CC BY), and the attribution format used in existing blog posts. * show draft pages in PR deploy previews Add pr-preview Quarto profile that sets draft-mode: visible, so draft blog posts and pages are rendered in Netlify deploy previews. Without this, quarto render (used in CI) hides drafts by default — unlike quarto preview (used locally) which always shows them. * detect draft pages in PR previews and warn before merge - Render drafts as visible in deploy previews (pr-preview profile) - Detect draft: true pages among changed files - Tag draft pages inline in the Modified Documents list - Add a WARNING callout listing all draft pages - Create a "No draft pages" commit status check (can be made required in branch protection to block merging with drafts) * extract draft detection into reusable composite action Moves draft: true detection to .github/workflows/actions/detect-drafts/ composite action, used by both preview.yml (PR comment tagging) and the new draft-check.yml (standalone required check). The dedicated workflow runs on all PRs with no paths-ignore, so the required check is always created. * simplify draft warning in PR comment to avoid duplicate links * document draft-check workflow and detect-drafts action in README * document pr-preview profile in README * fix review findings: shell injection, POSIX grep, .md coverage, CI wording - Use env var instead of expression interpolation for changed-files input in composite action (shell injection risk) - Replace \s with POSIX [[:space:]] in grep pattern (portability) - Include .md files in draft detection (draft-check.yml and composite action) - Fix CI section in blog post: v1.9 shows deprecation warning, v1.10 does the transparent redirect * update thumbnail background to Quarto blue (#5286ab) * shorten blog post description for listing card * address review feedback: light thumbnail, remove platform examples - Redesign thumbnail with light background (#F0F5F9) and Quarto blue (#5286AB) elements per Charlotte's contrast feedback - Remove "Raspberry Pi or AWS Graviton" platform examples from arm64 bullet - Save thumbnail SVG source alongside PNG for future editing - Update image-alt to match actual visual content - Add brand colors table and contrast guidance to thumbnail skill guide - Make screenshot tooling generic (not tied to specific CLI tools) * fix file:// example in thumbnail guide to include --allow-file-access * add prerequisites section to thumbnail guide for tool availability * remove draft: true from chrome-headless-shell blog post * note in thumbnail guide: always use PNG, never SVG directly SVGs don't center properly in listing cards — the HTML uses flexbox for layout which standalone SVGs can't replicate. * update blog post date to 2026-04-14 and rename directory to match * add publish-date script for blog post date + directory rename TypeScript script (quarto run) that sets the post date to today and renames the directory to match. Zero dependencies — uses Deno stdlib bundled with Quarto. * add README to _tools/ documenting project scripts * note renv/pipenv setup in _tools README * fix publish-date: rename dir even when date matches, rename before write Two fixes from code review: - Don't exit early when date matches — directory prefix may still be stale - Rename directory before writing file to avoid partial updates on failure (cherry picked from commit f91afd4)
Collaborator
|
/deploy-preview |
Contributor
Author
📝 Preview Deployment🔍 Full site preview: https://deploy-preview-1992.quarto.org 🔄 Modified Documents |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Sync of #1991 to
prerelease.Original PR
Blog post: Chrome Headless Shell in Quarto
Summary
.claude/skills/blog-post/) codifying conventions from 40+ existing quarto.org/blog posts: frontmatter schema, post-type structures, writing voice, technical conventions, and thumbnail design patterns.pr-previewQuarto profile and draft detection to the deploy preview workflow so thatdraft: truepages are rendered and visible in PR previews, with inline warnings in the preview comment.draft-check.ymlrequired status check that blocks merging PRs containingdraft: truepages. Uses a reusable composite action (.github/workflows/actions/detect-drafts/) shared with the preview workflow._tools/publish-date.ts— aquarto runscript to set a blog post date to today and rename its directory to match. Zero dependencies (uses Deno stdlib bundled with Quarto)._tools/README.mddocumenting all project scripts.Draft page handling in PR previews
quarto render(used in CI) hidesdraft: truepages by default — unlikequarto preview(used locally) which always shows them. This meant draft blog posts were blank in Netlify deploy previews, making them impossible to review.This PR fixes that with three changes:
_quarto-pr-preview.yml— A Quarto profile that setswebsite: draft-mode: visible, used by the preview workflow so drafts render in deploy previews.draft) and shows a warning callout reminding to removedraft: truebefore merging.draft-check.yml— A standalone workflow (nopaths-ignore, runs on all PRs) that fails if any changed.qmdfile hasdraft: true. This is configured as a required status check onmain, blocking merge until the draft status is removed. Admin override is available for intentional draft merges.Review feedback addressed
#F0F5F9) with Quarto blue (#5286AB) elements for better contrast