DOC-7104: Migrate content/operate/rs/7.8/references/ (incl. rest-api) to render hooks - #4096
Conversation
… to render hooks
Unit 12 of 15: converts the frozen 7.8 references tree (264 files, 180
carrying relref/callout shortcodes) from {{< relref >}} and
{{< note >}}/{{< warning >}} shortcodes to plain markdown links and
> [!NOTE]/> [!WARNING] blockquotes resolved by the DOC-6909 render hooks.
The rest-api/ subtree (182 of the 264 files) is explicitly in scope per
the ticket: it was generated once when 7.8 was frozen and never
regenerated since, so a one-time conversion is safe and permanent.
Real counts (re-measured by grep, not taken from the ticket estimate):
1128 relref shortcodes (1029 as `{{< relref`, 99 as the no-space
`{{<relref` variant) across the tree, 28 callout shortcodes (18 note,
10 warning, 0 tip/info/alert) across 20 files. Post-conversion grep
confirms 0 remaining shortcode-form relref/callout instances anywhere
in the tree -- unlike the 7.4 and 7.22 units, no pre-existing malformed
relref recurred here (cli-utilities/redis-cli/_index.md's "More info"
list already had its closing paren intact).
One gotcha instance found and hand-fixed: cli-utilities/rladmin/_index.md
had a {{<note>}} indented inside a numbered list item, with only the
header line indented and the continuation/closing lines flush left (the
known converter limitation), plus a stray whitespace-only `>` artifact
line left by the closing tag's indentation -- the same defect pattern
already fixed in the 7.4 and 7.22 units. Fixed by re-indenting all
blockquote lines to match the list item and dropping the stray line.
Checked all 19 other callout-bearing files in this tree: none are
indented inside a list, so no further nesting fixes were needed.
No relref-missing-slash instances found in this unit.
Verification: full-site hugo builds before/after (non-minified -- see
below), diffed with the DOC-7104-diff-hrefs-fix build/diff_rendered_hrefs.py
scoped to operate/rs/7.8/references: 262/262 pages compared, 0 href-set
changes. The verification-only patched diff script was staged from
origin/DOC-7104-diff-hrefs-fix, then unstaged and reverted before this
commit; build/diff_rendered_hrefs.py carries no changes here.
Build note: both before and after builds hit the same pre-existing fatal
error on content/develop/clients/hiredis/_index.md (jupyter-example
shortcode failing on a missing data/examples.json entry, unrelated to
this unit's path) after Hugo had already finished rendering and copying
all pages, including the full operate/rs/7.8/references tree (262 HTML
pages present in both output trees) -- confirmed pre-existing and
identical in both builds, so the comparison is unaffected.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
🧠 Redis MemoryFound 6 related items from repository history:
Memory updated at 1a3d60a |
dwdougherty
left a comment
There was a problem hiding this comment.
A few things to fix. I'll go ahead and approve.
| --- | ||
|
|
||
| The `redis-cli` command-line utility lets you interact with a Redis database. With `redis-cli`, you can run [Redis commands]({{< relref "/commands" >}}) directly from the command-line terminal or with [interactive mode](#interactive-mode). | ||
| The `redis-cli` command-line utility lets you interact with a Redis database. With `redis-cli`, you can run [Redis commands](/commands) directly from the command-line terminal or with [interactive mode](#interactive-mode). |
| [Clustering in Redis Enterprise Software](/content/operate/rs/7.8/databases/durability-ha/clustering.md) and [Redis Cloud](/content/operate/rc/databases/configuration/clustering.md) differs from the [Redis Open Source cluster](/content/operate/oss_and_stack/management/scaling.md) and works with all standard Redis clients. | ||
|
|
||
| Redis Enterprise blocks most [cluster commands]({{< relref "/commands" >}}?group=cluster). If you try to use a blocked cluster command, it returns an error. | ||
| Redis Enterprise blocks most [cluster commands](/commands?group=cluster). If you try to use a blocked cluster command, it returns an error. |
| --- | ||
|
|
||
| The following tables show which Redis Open Source [connection management commands]({{< relref "/commands" >}}?group=connection) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. | ||
| The following tables show which Redis Open Source [connection management commands](/commands?group=connection) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. |
| --- | ||
|
|
||
| The following table shows which Redis Open Source [key (generic) commands]({{< relref "/commands" >}}?group=generic) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. | ||
| The following table shows which Redis Open Source [key (generic) commands](/commands?group=generic) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. |
| --- | ||
|
|
||
| The following table shows which Redis Open Source [pub/sub commands]({{< relref "/commands" >}}?group=pubsub) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. | ||
| The following table shows which Redis Open Source [pub/sub commands](/commands?group=pubsub) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. |
| --- | ||
|
|
||
| The following table shows which Redis Open Source [scripting and function commands]({{< relref "/commands" >}}?group=scripting) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. | ||
| The following table shows which Redis Open Source [scripting and function commands](/commands?group=scripting) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. |
| --- | ||
|
|
||
| The following tables show which Redis Open Source [server management commands]({{< relref "/commands" >}}?group=server) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. | ||
| The following tables show which Redis Open Source [server management commands](/commands?group=server) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. |
| --- | ||
|
|
||
| The following table shows which Redis Open Source [transaction commands]({{< relref "/commands" >}}?group=transactions) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. | ||
| The following table shows which Redis Open Source [transaction commands](/commands?group=transactions) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. |
| | [PUT](./backup_reset_status#put-bdbs-actions-backup-reset-status) | `/v1/bdbs/{uid}/actions/backup_reset_status` | Reset database backup status | | ||
|
|
||
| ## Export | ||
|
|
||
| | Method | Path | Description | | ||
| |--------|------|-------------| | ||
| | [PUT]({{< relref "./export_reset_status#put-bdbs-actions-export-reset-status" >}}) | `/v1/bdbs/{uid}/actions/export_reset_status` | Reset database export status | | ||
| | [POST]({{< relref "./export#post-bdbs-actions-export" >}}) | `/v1/bdbs/{uid}/actions/export` | Initiate database export | | ||
| | [PUT](./export_reset_status#put-bdbs-actions-export-reset-status) | `/v1/bdbs/{uid}/actions/export_reset_status` | Reset database export status | | ||
| | [POST](./export#post-bdbs-actions-export) | `/v1/bdbs/{uid}/actions/export` | Initiate database export | | ||
|
|
||
| ## Import | ||
|
|
||
| | Method | Path | Description | | ||
| |--------|------|-------------| | ||
| | [PUT]({{< relref "./import_reset_status#put-bdbs-actions-import-reset-status" >}}) | `/v1/bdbs/{uid}/actions/import_reset_status` | Reset database import status | | ||
| | [POST]({{< relref "./import#post-bdbs-actions-import" >}}) | `/v1/bdbs/{uid}/actions/import` | Initiate manual dataset import | | ||
| | [PUT](./import_reset_status#put-bdbs-actions-import-reset-status) | `/v1/bdbs/{uid}/actions/import_reset_status` | Reset database import status | | ||
| | [POST](./import#post-bdbs-actions-import) | `/v1/bdbs/{uid}/actions/import` | Initiate manual dataset import | | ||
|
|
||
| ## Optimize shards placement | ||
|
|
||
| | Method | Path | Description | | ||
| |--------|------|-------------| | ||
| | [GET]({{< relref "./optimize_shards_placement#get-bdbs-actions-optimize-shards-placement" >}}) | `/v1/bdbs/{uid}/actions/optimize_shards_placement` | Get optimized shards placement for a database | | ||
| | [GET](./optimize_shards_placement#get-bdbs-actions-optimize-shards-placement) | `/v1/bdbs/{uid}/actions/optimize_shards_placement` | Get optimized shards placement for a database | |
There was a problem hiding this comment.
Lotsa bad links here and above.
| | [GET](./all#get-all-debuginfo) | `/v1/debuginfo/all` | Gets debug info for all nodes | | ||
| | [GET](./all/bdb#get-all-debuginfo-bdb) | `/v1/debuginfo/all/bdb/{bdb_uid}` | Gets debug info for a database from all nodes | | ||
|
|
||
| ## Get debug info for the current node | ||
|
|
||
| | Method | Path | Description | | ||
| |--------|------|-------------| | ||
| | [GET]({{< relref "./node#get-debuginfo-node" >}}) | `/v1/debuginfo/node` | Gets debug info for the current node | | ||
| | [GET]({{< relref "./node/bdb#get-debuginfo-node-bdb" >}}) | `/v1/debuginfo/node/bdb/{bdb_uid}` | Gets debug info for a database from the current node | | ||
| | [GET](./node#get-debuginfo-node) | `/v1/debuginfo/node` | Gets debug info for the current node | | ||
| | [GET](./node/bdb#get-debuginfo-node-bdb) | `/v1/debuginfo/node/bdb/{bdb_uid}` | Gets debug info for a database from the current node | |
…(same fix as #4093 review) Same defect pattern found and fixed on PR #4093 (7.22/references) after human review: 7 bare /commands?group=<x> links in compatibility/commands/ missing the /content/ prefix, and 10 source-relative relrefs in rest-api/requests/{bdbs/actions,debuginfo}/_index.md pointing at a directory/file with no extension (works via Hugo's render-link.html GetPage resolution, confirmed byte-identical rendered href before/after, but not a working link when the same markdown renders in GitHub's PR view or VS Code). This version snapshot is a near-identical copy of 7.22's rest-api tree, so the same instances recur in the same two files. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Proactively applied the identical fix that #4093's review caught (same pattern: bare |
…o slash The original regex required `/` or end-of-string right after the mount name, so a link like `/commands?group=cluster` (no trailing slash before the query) silently passed through unchecked -- this tool's own blind spot, found the hard way: human review caught it by hand on DOC-7104 PR #4093, and the identical instances recurred in #4094/#4096/#4098 before this fix existed to catch them. Also reconsiders the `/commands` special case: it has no backing _index.md on disk, so _find_content_file always reports it unresolvable, but Hugo auto-generates a section page for the directory and GetPage finds it anyway (confirmed by building both /commands?group=x and /content/commands?group=x and comparing rendered hrefs -- identical). Review wanted the canonical form applied there too, so it's now hardcoded as FIXABLE instead of silently skipped. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Also fixed the bare |
…r hooks Converts relref link shortcodes and note/tip/warning/alert callout shortcodes to render-hook equivalents across content/operate/rs/7.8/, excluding references/ (done separately in #4096) -- 153 of 171 files, 932 relref links and 153 callouts. Found and fixed 42 indented-callout instances across 28 files, and the recurring HGETALL missing-paren relref in databases/connect/troubleshooting-guide.md. Flagged, not fixed: the same 6 pre-existing broken relref targets in new-features-redis-enterprise.md (draft: true, never renders). Review (round 2) caught three more issues, all fixed -- same as #4095: - Bare /commands links in _index.md and security/access-control/redis-acl-overview.md, missing the /content/ prefix (confirmed identical rendered href either way). - new-features-redis-enterprise.md's 6 dead links: applied the same /content/ prefix for consistency. Cosmetic only. - databases/import-export/flush.md: the port-configurations link's anchor was a stray old absolute URL concatenated into the fragment, predating this migration. Replaced with the real heading slug. Verified via build/diff_rendered_hrefs.py: after filtering the known CSS-asset-fingerprint noise from comparing builds in two different worktree environments, the only real content change is the corrected flush.md anchor -- everything else confirmed 0 diff. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Summary
Unit 12 of 15 in the DOC-7104 shortcode-to-render-hook migration. Converts the frozen
content/operate/rs/7.8/references/tree (264 files, 180 touched) from{{< relref >}}and{{< note >}}/{{< warning >}}shortcodes to plain Markdown links and> [!NOTE]/> [!WARNING]blockquotes resolved by the DOC-6909 render hooks (layouts/_default/_markup/render-link.html,layouts/_default/_markup/render-blockquote.html).rest-api/(182 of the 264 files) is explicitly in scope per the ticket: generated once when 7.8 was frozen and never regenerated since, so this one-time conversion is safe and permanent.{{< relref, 99 no-space{{<relref) and 28 callout shortcodes (18 note, 10 warning, 0 tip/info/alert) across 20 files. Post-conversion grep confirms 0 remaining shortcode-form relref/callout instances anywhere in the tree.cli-utilities/rladmin/_index.mdhad a{{<note>}}indented inside a numbered list item; the converter left the header line indented but flattened the continuation/closing lines and left a stray whitespace-only>line — the same defect pattern already fixed in the 7.4 and 7.22 units. Re-indented all blockquote lines to match the list item and dropped the stray line.cli-utilities/redis-cli/_index.mdspecifically for the missing-paren relref that recurred in both the 7.4 and 7.22 snapshots — it did not recur here; the file's "More info" list already had its closing paren intact.Verification
--minifyesbuild issue on/commands/cf.reserve), diffed with the patchedbuild/diff_rendered_hrefs.py(fromorigin/DOC-7104-diff-hrefs-fix, staged for verification only and reverted before committing) scoped tooperate/rs/7.8/references: 262/262 pages compared, 0 href-set changes.content/develop/clients/hiredis/_index.md(ajupyter-exampleshortcode failing on a missingdata/examples.jsonentry, unrelated to this unit) — confirmed identical in both builds and after Hugo had already rendered/copied all 262 pages in the target tree, so the comparison is unaffected.build/diff_rendered_hrefs.pycarries no changes in this PR (confirmed viagit diff --stat origin/main -- build/).Test plan
rladmin/_index.md,redis-cli/_index.md) checked by handdiff_rendered_hrefs.pyscoped tooperate/rs/7.8/references: 0 href diffs across 262 pagesbuild/directory unchanged relative toorigin/mainDo not merge — leaving for team review per ticket instructions.
🤖 Generated with Claude Code
Note
Low Risk
Documentation-only link and callout syntax changes in a frozen 7.8 tree; no runtime or product behavior changes.
Overview
Migrates the frozen Redis Enterprise 7.8
references/docs (CLI utilities, compatibility tables, REST API cross-links, and related pages) off Hugo{{< relref >}}shortcodes to plain Markdown links under/content/...paths so DOC-6909 render hooks resolve them.Replaces
{{< note >}}/{{< warning >}}(and similar callouts) with GitHub-style> [!NOTE]and> [!WARNING]blockquotes in a handful of CLI reference pages (for example internal-utilities warnings andrladminshell notes). Prose and tables are unchanged; only link and callout syntax moves to hook-friendly Markdown.Reviewed by Cursor Bugbot for commit 1a3d60a. Bugbot is set up for automated code reviews on this repo. Configure here.