Skip to content

Commit 1dfd958

Browse files
cwickhamcderv
authored andcommitted
Redirect blog to Posit Open Source site (#2036)
* Archive blog sources under docs/blog/_archive/ Moves docs/blog/posts/, docs/blog/index.qmd, and docs/blog/quarto-blog-v2.png into docs/blog/_archive/ so Quarto no longer renders them. The Quarto blog has migrated to https://opensource.posit.co/blog/q/quarto/; sources are preserved here for reference. * Redirect blog URLs to opensource.posit.co Adds 42 per-post 301 redirects, plus redirects for the blog listing and RSS feed, so existing links to quarto.org/docs/blog/* land on the corresponding posts on the Posit Open Source site. Also updates the navbar Blog link (with an external-link icon) and the footer/navbar RSS hrefs to point at the new site. Drops the resource entry for the now-archived beautiful-tables-in-typst demo. * Remove orphaned _freeze cache for archived blog posts The blog post sources moved to docs/blog/_archive/ and are no longer rendered, so their _freeze cache under _freeze/docs/blog/posts/ is dead weight. Drop it. * Keep the blog-moved announcement post live on quarto.org Moves docs/blog/_archive/posts/2026-05-07-new-blog-home/ back to docs/blog/posts/ so the announcement explaining the move stays reachable at its original URL. _metadata.yml moves with it so the post still inherits Giscus comments and title-block-banner settings. * Remove giscus config from blog posts metadata The Quarto blog now lives on opensource.posit.co; the announcement post that remains on quarto.org doesn't need a comments section. Existing threads in the quarto-dev/quarto-cli Discussions "Blog" category are untouched. * Remove draft-check workflow and detect-drafts action * Finish removing draft-check: drop detect-drafts usage from preview.yml Commit 24dacc2 deleted the detect-drafts composite action and draft-check.yml but left preview.yml still calling the action via 'uses: ./.github/workflows/actions/detect-drafts', breaking the build-deploy-preview job. Remove the step, its outputs, and the related draft-tagging/callout logic from the PR comment, plus the stale README entries. * Match blog index.html and sub-page URLs in redirects The production sitemap.xml lists blog posts in /index.html form (43 of 50 entries), so search engines indexed those URLs — but the exact-path redirect rules only matched the trailing-slash form, leaving /index.html (and examples/ sub-pages) to 404 after the migration. Append a /* splat to each per-post rule so the trailing-slash form, index.html, and any sub-pages all 301 to the post's new home on opensource.posit.co. --------- Co-authored-by: christophe dervieux <christophe.dervieux@gmail.com> (cherry picked from commit 0060e56) # Conflicts: # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/index.qmd # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-article-2.png # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-article-3.png # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-article-landscape.png # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-article.png # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-book-1.png # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-book-2.png # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-book-3.png # docs/blog/_archive/posts/2026-03-31-typst-books-and-more/typst-book-part-page.png
1 parent 9c4baa9 commit 1dfd958

286 files changed

Lines changed: 166 additions & 341 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/README.md‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ Note that technically, <prerelease.quarto.org> is also a deploy preview on Netli
3030
- For `prerelease` branch, we use `git cherry-pick` the commit from main following previous above step.
3131
- Then we trigger the `publish.yml` workflow with `workflow_call` event trigger for each of the branch.
3232

33-
- `draft-check.yml` - A lightweight workflow that detects `draft: true` pages among changed `.qmd` files. Runs on all PRs to `main` and `prerelease` with no `paths-ignore`, so it always creates a status check.
34-
- Uses the reusable composite action at `.github/workflows/actions/detect-drafts/`.
35-
- Configured as a required status check on `main` (`check-drafts` job), blocking merge until `draft: true` is removed.
36-
- Admin override is available for intentional draft merges.
37-
3833
- `port-to-prerelease.yml` - This workflow is used to sync changes made to main for quarto.org to prerelease branch for prerelease.quarto.org.
3934
- It is triggered when a PR is merged in to `main`. It can also be triggered manually by adding a comment `/sync-prerelease` on a merged PR.
4035
- This workflow uses [`korthout/backport-action`](https://github.com/korthout/backport-action) to create a PR with the changes merged into `main` branch to be synced to `prerelease` branch.
@@ -45,7 +40,6 @@ Note that technically, <prerelease.quarto.org> is also a deploy preview on Netli
4540

4641
Local composite actions live in `.github/workflows/actions/`:
4742

48-
- `detect-drafts/` - Scans changed `.qmd` files for `draft: true` in YAML frontmatter. Outputs `found` (true/false) and `files` (newline-separated paths). Used by both `preview.yml` (to tag drafts in the PR comment) and `draft-check.yml` (to fail the required check).
4943
- `release-info/` - Retrieves release information from the quarto-cli repository.
5044

5145
## Netlify Configurations

‎.github/workflows/actions/detect-drafts/action.yml‎

Lines changed: 0 additions & 36 deletions
This file was deleted.

‎.github/workflows/draft-check.yml‎

Lines changed: 0 additions & 44 deletions
This file was deleted.

‎.github/workflows/preview.yml‎

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -184,29 +184,19 @@ jobs:
184184
fi
185185
shell: bash
186186

187-
- name: Detect draft pages
188-
id: detect-drafts
189-
uses: ./.github/workflows/actions/detect-drafts
190-
with:
191-
changed-files: ${{ steps.changed-files.outputs.all_changed_files }}
192-
193187
- name: Create custom PR comment
194188
if: github.event.pull_request || github.event.issue.pull_request
195189
uses: actions/github-script@v8
196190
env:
197191
DEPLOY_URL: ${{ steps.netlify-deploy.outputs.deploy-url }}
198192
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
199193
IMAGE_PAGES: ${{ steps.image-pages.outputs.pages }}
200-
DRAFT_FILES: ${{ steps.detect-drafts.outputs.files }}
201-
HAS_DRAFTS: ${{ steps.detect-drafts.outputs.found }}
202194
with:
203195
github-token: ${{ secrets.GITHUB_TOKEN }}
204196
script: |
205197
const prNumber = context.payload.pull_request?.number || context.payload.issue.number;
206198
const deployUrl = process.env.DEPLOY_URL;
207199
const changedFiles = JSON.parse(process.env.CHANGED_FILES || '[]');
208-
const draftFilesList = (process.env.DRAFT_FILES || '').trim().split('\n').filter(Boolean);
209-
const draftSet = new Set(draftFilesList);
210200
211201
let commentBody = `## 📝 Preview Deployment\n\n`;
212202
commentBody += `🔍 Full site preview: [${deployUrl}](${deployUrl})\n\n`;
@@ -263,16 +253,14 @@ jobs:
263253
commentBody += `### 🔄 Modified Documents\n\n`;
264254
for (const [page, files] of pageToFiles) {
265255
const fileUrl = `${deployUrl}/${page}`;
266-
const isDraft = files.some(f => draftSet.has(f));
267-
const draftTag = isDraft ? ' — ⚠️ `draft`' : '';
268256
if (files.length === 1) {
269-
commentBody += `- [${page}](${fileUrl})${draftTag}\n`;
257+
commentBody += `- [${page}](${fileUrl})\n`;
270258
} else {
271259
// Multiple source files map to one page - show page with file summary
272260
const basenames = files.map(f => f.split('/').pop());
273261
const shown = basenames.slice(0, 3).join(', ');
274262
const rest = basenames.length > 3 ? `, +${basenames.length - 3} more` : '';
275-
commentBody += `- [${page}](${fileUrl}) (${shown}${rest})${draftTag}\n`;
263+
commentBody += `- [${page}](${fileUrl}) (${shown}${rest})\n`;
276264
}
277265
}
278266
}
@@ -291,13 +279,6 @@ jobs:
291279
}
292280
}
293281
294-
// Add draft warning callout (no file list — already tagged inline above)
295-
const hasDrafts = process.env.HAS_DRAFTS === 'true';
296-
if (hasDrafts) {
297-
commentBody += `\n> [!WARNING]\n`;
298-
commentBody += `> This PR contains pages with \`draft: true\`. Remove the draft status before merging if the content is ready to publish.\n`;
299-
}
300-
301282
await github.rest.issues.createComment({
302283
issue_number: prNumber,
303284
owner: context.repo.owner,

‎_freeze/docs/blog/posts/2022-02-17-advanced-layout/index/execute-results/html.json‎

Lines changed: 0 additions & 17 deletions
This file was deleted.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)