Skip to content

DOC-7104: Migrate content/operate/rs/security/ to render hooks - #4088

Merged
andy-stark-redis merged 1 commit into
mainfrom
DOC-7104-security
Sep 24, 2026
Merged

andy-stark-redis merged 1 commit into
mainfrom
DOC-7104-security

Conversation

@andy-stark-redis

@andy-stark-redis andy-stark-redis commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Unit 3 of 15 in the shortcode-to-render-hook migration (DOC-7104), extending
the pattern already shipped across content/develop/, content/commands/,
content/operate/oss_and_stack/, content/integrate/, and the RDI product
into Redis Software's content/operate/rs/security/ directory.

  • Converts the relref link shortcode to plain Markdown links, resolved by
    layouts/_default/_markup/render-link.html.
  • Converts note/tip/warning/alert callout shortcodes to
    > [!NOTE] etc. blockquotes, resolved by
    layouts/_default/_markup/render-blockquote.html.
  • Purely mechanical syntax migration — no prose, terminology, or fact changes.

Scope

  • Files changed: 38 of 39 files under content/operate/rs/security/
    (access-control/manage-users/_index.md had no relref/callout shortcodes to
    convert).
  • relref shortcodes converted: 294
  • Callout shortcodes converted: 45

Hand-fixes / findings

  • Indented/list-nested callouts (known gotcha): 13 callout instances
    across 7 files (recommended-security-practices.md,
    certificates/certificate-based-authentication.md (×2),
    certificates/create-certificates.md (×4),
    certificates/updating-certificates.md, access-control/create-users.md,
    access-control/saml-sso.md (×4),
    access-control/ldap/map-ldap-groups-to-roles.md) were indented inside a
    list item. The mechanical converter reindented the blockquote's header line
    but left its continuation/closing lines unindented, which would have
    detached the callout from its <li> nesting. Hand-fixed by reindenting
    every continuation line to match the header's indentation, and confirmed via
    rendered-HTML diff that the surrounding <li>/<ul>/<ol> structure is
    byte-identical before and after for all 7 files.
  • No missing-paren relrefs, no literal HTML <note>/<tip>/<warning>
    wrappers, no unquoted title= attributes, and no genuine no-slash relref
    concatenation bugs found. Three relref ... >}}#anchor instances in
    access-control/redis-acl-overview.md matched that no-slash-concatenation
    shape but are not the bug — they're the standard fragment-suffix idiom
    (]({{< relref "X" >}}#anchor)), which converts cleanly since a fragment
    never needs a leading slash.

Verification

  • hugo --minify built before and after conversion (using the patched
    build/diff_rendered_hrefs.py from the not-yet-merged
    DOC-7104-diff-hrefs-fix branch, pulled into the worktree for verification
    only — not included in this PR's diff).
  • build/diff_rendered_hrefs.py scoped to operate/rs/security: 47 pages
    compared, 0 href diffs.
  • Build warning/error counts identical before and after (145/145, no new
    entries). Remaining warnings/errors are pre-existing and unrelated to this
    change: jupyter-example shortcode examples.json gaps under
    content/develop/clients/, and a JS-minification failure on
    /commands/cf.reserve/ that requires network access unavailable in this
    sandbox.

Test plan

  • CI build passes
  • Spot-check a few converted pages in preview, especially the 7 files
    with hand-fixed indented callouts, to confirm callouts render nested
    correctly inside their list items

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only syntax migration with no product or security-behavior changes; link correctness depends on existing render hooks and was verified with href diff tooling per the PR.

Overview
Mechanical Hugo shortcode migration across Redis Software security docs (content/operate/rs/security/, 38 files): internal links move from {{< relref ... >}} to plain Markdown paths under /content/..., and callouts move from {{< note >}} / {{< warning >}} / {{< tip >}} to GitHub-style > [!NOTE] (etc.) blockquotes for the render-link and render-blockquote hooks.

No terminology or procedural changes—only link and admonition syntax. A handful of list-nested callouts were reindented so blockquote continuation lines stay inside their list items (seven files). The security index link table and cross-links to REST API, LDAP, TLS, certificates, and access-control topics all use the new path style (including _index.md where section roots apply).

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

Converts every file under content/operate/rs/security/ (39 files) from the
relref link shortcode and note/tip/warning/alert callout shortcodes to their
render-hook equivalents: plain Markdown links resolved by
layouts/_default/_markup/render-link.html, and `> [!NOTE]` etc. blockquotes
resolved by layouts/_default/_markup/render-blockquote.html. Purely mechanical
syntax migration, no prose/terminology/fact changes.

294 relref shortcodes and 45 callout shortcodes converted across 38 of the 39
files (access-control/manage-users/_index.md had none to convert).

Hand-fix: 13 callout instances across 7 files (recommended-security-practices,
certificates/certificate-based-authentication, certificates/create-certificates,
certificates/updating-certificates, access-control/create-users,
access-control/saml-sso, access-control/ldap/map-ldap-groups-to-roles) were
indented inside a list item. The mechanical converter reindented the
blockquote's header line but not its continuation/closing lines, which would
have detached the callout from its <li> nesting. Reindented every continuation
line to match the header's indentation and confirmed via rendered-HTML diff
that the surrounding <li>/<ul>/<ol> structure is byte-identical before and
after for all 7 files.

Verified: hugo --minify build before/after is byte-identical in href set
(build/diff_rendered_hrefs.py, 47 pages compared, 0 diffs) and in build
warnings/errors (145 before, 145 after, no new entries — remaining
warnings/errors are pre-existing and unrelated: jupyter-example examples.json
gaps under content/develop/clients/, and a JS-minification failure on
/commands/cf.reserve/ that needs network access unavailable in this sandbox).

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

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

DOC-7104

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

Staging links:
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/create-cluster-roles/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/create-combined-roles/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/create-db-roles/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/create-users/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/disable-basic-authentication/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/ldap/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/ldap/certificate-based-authentication/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/ldap/enable-role-based-ldap/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/ldap/map-ldap-groups-to-roles/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/ldap/migrate-to-role-based-ldap/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/ldap/update-database-acls/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-passwords/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-passwords/active-active-admin-credentials/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-passwords/password-complexity-rules/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-passwords/password-expiration/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-passwords/password-hashing-algorithm/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-passwords/rotate-passwords/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-users/default-user/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/manage-users/login-lockout/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/redis-acl-overview/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/access-control/saml-sso/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/audit-events/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/certificates/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/certificates/certificate-based-authentication/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/certificates/create-certificates/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/certificates/monitor-certificates/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/certificates/ocsp-stapling/
https://redis.io/docs/staging/DOC-7104-security/operate/rs/security/certificates/updating-certificates/

@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
andy-stark-redis merged commit 96c060d into main Sep 24, 2026
100 checks passed
@andy-stark-redis
andy-stark-redis deleted the DOC-7104-security branch September 24, 2026 08:16
@andy-stark-redis

Copy link
Copy Markdown
Contributor Author

Follow-up: the bare /commands link in security/access-control/redis-acl-overview.md is fixed in #4103, along with a few other link issues found by review on this migration's sibling PRs.

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