Home / Function/ rewriteRelativeLinks() — supabase Function Reference

rewriteRelativeLinks() — supabase Function Reference

Architecture documentation for the rewriteRelativeLinks() function in Troubleshooting.script.mjs from the supabase codebase.

Entity Profile

Dependency Diagram

graph TD
  b2c82e4c_703b_a66f_7fa8_79d3c3b4ccea["rewriteRelativeLinks()"]
  9f54ef0f_95e0_5c5a_ac3f_760c863599e6["addCanonicalUrl()"]
  9f54ef0f_95e0_5c5a_ac3f_760c863599e6 -->|calls| b2c82e4c_703b_a66f_7fa8_79d3c3b4ccea
  style b2c82e4c_703b_a66f_7fa8_79d3c3b4ccea fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/docs/features/docs/Troubleshooting.script.mjs lines 263–292

function rewriteRelativeLinks(content) {
  const baseUrl = 'https://supabase.com'

  // Parse the markdown to AST
  const mdast = fromMarkdown(content, {
    extensions: [gfm()],
    mdastExtensions: [gfmFromMarkdown()],
  })

  // Walk the tree and modify link nodes
  /**
   * @param {import('mdast').Root|import('mdast').Content} node
   */
  function visitNode(node) {
    if (node.type === 'link' && node.url && node.url.startsWith('/')) {
      // Convert relative URL to absolute
      node.url = `${baseUrl}${node.url}`
    }

    // Recursively visit children
    if ('children' in node) {
      node.children.forEach(visitNode)
    }
  }

  visitNode(mdast)

  // Convert back to markdown
  return toMarkdown(mdast, { extensions: [gfmToMarkdown()] })
}

Subdomains

Called By

Frequently Asked Questions

What does rewriteRelativeLinks() do?
rewriteRelativeLinks() is a function in the supabase codebase.
What calls rewriteRelativeLinks()?
rewriteRelativeLinks() is called by 1 function(s): addCanonicalUrl.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free