DOC-7089: Migrate content/operate/oss_and_stack/stack-with-enterprise/deprecated-features/ to render hooks - #4070
Merged
Conversation
…/deprecated-features/ to render hooks
Convert relref shortcode links to plain markdown links (canonical
/content/<path>.md[#anchor] form) and note/tip/warning/alert callout
shortcodes to native > [!NOTE] blockquotes across the deprecated-features
tree (gears-v1, triggers-and-functions, graph): 113 relrefs and 14 callouts
across 44 of 77 files.
Hand-fixed the blockquote-indentation bug (known tool limitation) in 4
files where a callout is nested inside a list item:
installing-redisgears.md, python/install.md,
python/recipes/write-behind.md, jvm/install.md.
11 files use the shortcode's tight (no-space) form, {{<note>}}...{{</note>}},
which the earlier scoping note mis-identified as a legacy literal HTML
<note> wrapper. There is no such literal HTML wrapper anywhere in this
tree -- all instances are the real shortcode, correctly converted along
with the other 3.
diff_rendered_hrefs.py flagged 2 href changes (Quick_Start_CLI.md,
Quick_Start_RI.md), both the same pre-existing malformed construct: a
relref target with a UTM query string appended, backslash-escaping its
ampersands (?utm_source=redis\&utm_medium=...). Hugo's relref shortcode
passes that argument through raw, rendering a literal backslash; the
shared render-link.html hook receives the same raw (un-unescaped)
Destination from Goldmark's AST and percent-encodes the backslash instead,
so the migrated href reads redis%5c& instead of redis\&. Same
page and anchor resolve either way, and any real browser normalizes a raw
backslash in a URL to %5C before making the request, so this looks
behaviourally inert -- but it is a genuine byte-level render change, not
a diff-tool artifact, so it's flagged here rather than silently fixed.
Left the source text untouched pending a call on whether to strip the
stray backslashes or fix the hook's escaping.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
Contributor
Contributor
🧠 Redis MemoryFound 5 related items from repository history (5 new this commit):
Memory updated at 6199bbf |
dwdougherty
approved these changes
Sep 21, 2026
dwdougherty
left a comment
Collaborator
There was a problem hiding this comment.
Just a coupla throwaway comments. No need to fix them.
| {{</note>}} | ||
| > [!NOTE] | ||
| > When you use [`GearsBuilder.run()`](/content/operate/oss_and_stack/stack-with-enterprise/deprecated-features/gears-v1/jvm/classes/gearsbuilder/run.md), `RG.JEXECUTE` runs your code immediately. | ||
| > <br></br> |
Collaborator
There was a problem hiding this comment.
I'm pretty sure just a new line here will work instead of back to back br tags (?). No need to fix now.
| {{</note>}} | ||
| > [!NOTE] | ||
| > For offline installation of RedisGears v1.2 and later, you also need to download the **RedisGears Dependencies** packages for both Python and Java. | ||
| > <br/> |
6 tasks
This was referenced Sep 21, 2026
Merged
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.
Summary
Unit 4 of 5 for DOC-7089, continuing the site-wide migration off the
relrefand callout (note/tip/warning/alert) shortcode families onto native Hugo render hooks (DOC-6909, DOC-7047, DOC-7059, DOC-7074, DOC-7079, DOC-7080).Scope: every
*.mdfile undercontent/operate/oss_and_stack/stack-with-enterprise/deprecated-features/(gears-v1, triggers-and-functions, graph) — 77 files total, 44 changed.build/migrate_shortcode_links.py allover the full file set: converted 113relreflinks to plain canonical/content/<path>.md[#anchor]links, and 14 callout shortcodes to native> [!NOTE]/> [!TIP]/> [!WARNING]blockquotes.installing-redisgears.md,python/install.md,python/recipes/write-behind.md,jvm/install.md), confirming in the built HTML that each still renders nested inside its list item.<note>wrapper, out of scope, leave untouched." That wrapper doesn't actually exist anywhere in this tree — all 11 are the real{{<note>}}...{{</note>}}shortcode written in its tight (no-space) form, which the tool correctly recognized and converted along with the other 3 spaced instances (14 total).Verification
grepfor remainingrelref/callout shortcodes in scope: 0.origin/maincheckout vs this branch) and compared withbuild/diff_rendered_hrefs.py, filtered to this unit's path prefix: 77 vs 77 pages compared, 0 missing on either side.One flagged anomaly, not fixed here: the href diff found 2 changed pages,
triggers-and-functions/Quick_Start_CLI.mdandQuick_Start_RI.md. Both carry the same pre-existing malformed construct — arelreftarget with a UTM tracking query string appended, its ampersands backslash-escaped (?utm_source=redis\&utm_medium=...). The oldrelrefshortcode passes that argument through raw, rendering a literal backslash in the href. The sharedrender-link.htmlhook (already merged by a prior unit, not touched here) receives the same un-unescaped.Destinationfrom Goldmark's AST and percent-encodes the backslash instead, so the migrated href readsredis%5c&instead ofredis\&. Same page and anchor resolve either way, and any real browser would normalize a raw backslash in a URL to%5Cbefore issuing the request, so this looks behaviorally inert — but it's a genuine byte-level render change, not a diff-tool artifact, so I'm flagging it rather than deciding unilaterally whether to strip the stray backslashes from the tracking URL or adjust the hook's escaping.Test plan
find ... -name '*.md' | wc -l= 77 before and aftermigrate_shortcode_links.py allrun over the full file set, 44/77 files converteddiff_rendered_hrefs.pyfiltered to this unit's path, reviewed both flagged diffs down to root cause🤖 Generated with Claude Code
Note
Low Risk
Documentation-only link and callout formatting; no application or runtime code. Minor href encoding differences on two pages with malformed tracking URLs are unlikely to affect navigation.
Overview
Migrates deprecated-features docs (gears-v1, graph, triggers-and-functions) off Hugo
relrefand{{<note>}}shortcodes onto canonical/content/...markdown links and GitHub-style> [!NOTE]callouts, aligned with the site-wide render-hook migration (DOC-7089).Across 44 of 77 pages, internal links now use explicit
/content/<path>.mddestinations (including_index.mdand hash anchors) instead ofrelref. 14 note callouts were converted from shortcodes; four install/recipe pages got manual blockquote indentation so notes still nest correctly inside numbered lists.No substantive doc copy changes—only link and callout mechanics. Watch: two triggers-and-functions quick-start pages may render slightly different hrefs for keyspace-notification links that still carry escaped UTM query strings (
\&vs%5c&) after the link render hook processes them.Reviewed by Cursor Bugbot for commit 6199bbf. Bugbot is set up for automated code reviews on this repo. Configure here.