Skip to content

DOC-7059: Migrate develop/programmability+pubsub+using-commands to render hooks - #3983

Merged
andy-stark-redis merged 1 commit into
mainfrom
DOC-7059-programmability-pubsub-using-commands
Sep 11, 2026
Merged

DOC-7059: Migrate develop/programmability+pubsub+using-commands to render hooks#3983
andy-stark-redis merged 1 commit into
mainfrom
DOC-7059-programmability-pubsub-using-commands

Conversation

@andy-stark-redis

@andy-stark-redis andy-stark-redis commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Converts ]({{< relref "X" >}}) links to plain ](X), canonicalized to repo-root-relative /content/<path>.md[#anchor] form, resolved by layouts/_default/_markup/render-link.html. Part of the DOC-6909/DOC-7047 render-hook rollout, continued under DOC-7059.
  • Scope: content/develop/programmability/, content/develop/pubsub/, content/develop/using-commands/ (file-disjoint unit; other agents are converting other develop/ subdirectories in parallel).
  • Ran build/migrate_shortcode_links.py all <file> (relref-to-plain, callouts-to-blockquote, linkify) over every .md file in the three directories.

Scope details

  • 12 of 13 files changed, 337 relref links converted (337 insertions / 337 deletions — pure link-syntax conversion, no other content touched).
  • content/develop/using-commands/multi-key-operations.md was a no-op: it has zero Hugo shortcodes at all (not even relref), so nothing to convert.
  • Zero {{< note >}}/{{% note %}}/warning/tip/info/alert callouts existed in this unit, so zero > [!TYPE] blockquotes were introduced — the  -spacer adjacency fix from earlier units didn't apply here.
  • One deliberate non-rewrite: [commands](/commands) in programmability/_index.md stays as a bare relative link because content/commands has no _index.md/index.md file for the script's resolver to match against (it's a generated section). This follows the script's own "a missed rewrite is fine, a wrong one is not" rule — individual command pages like /commands/eval do resolve and were canonicalized normally.
  • Post-conversion grep across the unit for any remaining {{< relref|note|warning|tip|info|alert >}} (either delimiter form) found nothing left. Diff scan confirmed no other shortcode types (clients-example, multitabs, embed-md, etc.) were touched.

Test plan

  • Central href-diff verification against main (done across this migration batch's units together, in the main checkout — not part of this PR)
  • Build-warning verification against main (same batch-wide process)
  • Human review of the diff

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only link syntax migration with no runtime or product behavior changes; main risk is a broken internal link if render-link resolution differs from the old relref behavior.

Overview
This PR replaces Hugo relref shortcodes with plain Markdown links across content/develop/programmability/, content/develop/pubsub/, and content/develop/using-commands/ so layouts/_default/_markup/render-link.html can resolve them at build time.

Roughly 337 link-only edits in 12 files: targets are canonicalized to repo-root paths like /content/develop/programmability/lua-api.md#script_flags and /content/commands/eval.md, with anchors preserved where they existed before. Prose and examples are unchanged.

The /commands index link stays a bare /commands path (no /content/commands/_index.md) because that section has no index page for the migrator to target—individual command pages still use /content/commands/<name>.md. multi-key-operations.md had no shortcodes and is untouched.

Reviewed by Cursor Bugbot for commit bd62376. Bugbot is set up for automated code reviews on this repo. Configure here.

…nder hooks

Converts relref shortcode links to plain Markdown resolved by
render-link.html, per DOC-6909/DOC-7047. Ran
build/migrate_shortcode_links.py (all stages) over every .md file under
content/develop/programmability, content/develop/pubsub, and
content/develop/using-commands.

12 of 13 files changed (337 relref links converted, all to the canonical
/content/<path>.md[#anchor] form). multi-key-operations.md was a no-op:
it contains zero Hugo shortcodes at all, not even relref, so there was
nothing to convert.

No {{< note >}}/{{% note %}}/warning/tip/info/alert callouts existed in
this unit -- confirmed zero `> [!TYPE]` blockquotes were introduced, so
the &nbsp;-spacer adjacency check from DOC-6909/DOC-7047 didn't apply
here.

One intentional non-rewrite: `[commands](/commands)` in
programmability/_index.md stays as a bare relative link rather than
being canonicalized, because content/commands has no _index.md/index.md
file for linkify's _find_content_file to resolve against (it's a
generated section, not a plain content page). This matches the script's
own "a missed rewrite is fine, a wrong one is not" rule -- individual
command pages like /commands/eval do have real files and did get
canonicalized normally.

Post-conversion grep across the unit for any remaining
{{< relref|note|warning|tip|info|alert >}} (either delimiter form)
found nothing left, and a diff scan confirmed no shortcode types
outside relref/note/warning/tip/info/alert were touched (clients-example,
multitabs, embed-md etc. untouched, as required).

Gotcha for future sessions: running the migration script via a shell
command that `cd`s to the shared main checkout path (rather than using
relative/worktree-local paths) can silently write through to that
shared checkout instead of the isolated worktree, because the Bash
sandbox's write-allowlist includes cwd ("."). Always run this script
with paths relative to the worktree's own cwd, never via `cd
<shared-checkout> && ...`. Caught and fully reverted before this commit
by restoring the 12 affected shared-checkout files from their git blobs
at the shared checkout's actual HEAD commit, verified byte-identical
before redoing the conversion correctly in the worktree.

Central href-diff and build-warning verification against main, plus
human review, are still pending -- to be done across this migration
batch's units together in the main checkout, not per-unit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

DOC-7059

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

🧠 Redis Memory

Found 5 related items from repository history (5 new this commit):

Memory updated at bd62376

@dwdougherty dwdougherty left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM.

@andy-stark-redis

Copy link
Copy Markdown
Contributor Author

Thanks @dwdougherty !

@andy-stark-redis
andy-stark-redis merged commit a1ea4d3 into main Sep 11, 2026
100 checks passed
@andy-stark-redis
andy-stark-redis deleted the DOC-7059-programmability-pubsub-using-commands branch September 11, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants