Skip to content

GRO-685-3 Remove jekyll/ruby - #1282

Open
bpander wants to merge 4 commits into
gro-684-2-migrate-remaining-jekyll-pagesfrom
gro-685-remove-jekyll
Open

GRO-685-3 Remove jekyll/ruby#1282
bpander wants to merge 4 commits into
gro-684-2-migrate-remaining-jekyll-pagesfrom
gro-685-remove-jekyll

Conversation

@bpander

@bpander bpander commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

GRO-685

PR env: https://gro-685-remove-jekyll.dkkh35gceu2po.amplifyapp.com/docs/latest/

Final removal of jekyll/ruby from docs repo.

All remaining jekyll/ruby code should be removed and anything that relied on it should use astro/bun.

@bpander bpander self-assigned this Aug 12, 2026
@@ -0,0 +1,159 @@
// usage: bun script/check-broken-links.ts [output-file]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We were using htmlproofer for this, but that's ruby. This is a (mostly) vibe-coded replacement for it. It's suspiciously fast, but in my testing, it catches the same broken links that htmlproofer would, and the output can still be piped into script/analyze_links.clj (e.g. for .github/workflows/update-docs-base-bun.yml).

One difference is it doesn't check opengraph links:

// OpenGraph is intentionally NOT checked even though it was previously with
// htmlproofer. It was essentially an expensive no-op since OG images are
// served over cdn and external urls are skipped.
const CHECK_OPEN_GRAPH = false;

@bpander
bpander marked this pull request as ready for review August 12, 2026 18:20
@bpander
bpander requested a review from a team August 12, 2026 18:20

@gantoreno gantoreno left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving to not block, just one minor item re: link checking. Nice work!

Comment on lines +40 to +41
const TAG_RE =
/<(?:a|link|img|script|iframe|source|track)\b[^>]*?\s(?:href|src)="([^"]*)"[^>]*>/gi;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like this only targets double quoted attributes, but there are many occurrences of single-quoted links in the _site output which are probably getting skipped

Comment on lines +106 to +109
// Existence only depends on the path; fragments/query strings don't
// point at separate files.
const urlPath = rawUrl.split("#")[0].split("?")[0];
if (!urlPath) continue; // pure fragment/query, e.g. href="#section"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing HTMLProofer did was fragment validation, fine to go if we're intentionally skipping this as a minimal replacement, but it's a parity difference worth knowing

Comment thread script/local_dev.clj

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is now wrapping astro commands, and we can now go through Bun for that, do we need to keep this?

@iethree iethree left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So good ❤️ 💎

Comment thread amplify.yml
- gem install bundler -v 2.5.22
- bundle _2.5.22_ config set --local path 'vendor/bundle'
- bundle _2.5.22_ install
- sudo yum install -y rsync

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants