createCanonicalURL() — astro Function Reference
Architecture documentation for the createCanonicalURL() function in util.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD c5c97369_2f98_f35c_fabe_d11ed6ec685a["createCanonicalURL()"] d9adc373_c064_68f1_79ad_de252369fed2["util.ts"] c5c97369_2f98_f35c_fabe_d11ed6ec685a -->|defined in| d9adc373_c064_68f1_79ad_de252369fed2 a2a19b70_aaec_edad_6a7c_04cc484ebb65["getUrlExtension()"] c5c97369_2f98_f35c_fabe_d11ed6ec685a -->|calls| a2a19b70_aaec_edad_6a7c_04cc484ebb65 style c5c97369_2f98_f35c_fabe_d11ed6ec685a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro-rss/src/util.ts lines 4–23
export function createCanonicalURL(
url: string,
trailingSlash?: RSSOptions['trailingSlash'],
base?: string,
): string {
let pathname = url.replace(/\/index.html$/, ''); // index.html is not canonical
if (!getUrlExtension(url)) {
// add trailing slash if there’s no extension or `trailingSlash` is true
pathname = pathname.replace(/\/*$/, '/');
}
pathname = pathname.replace(/\/+/g, '/'); // remove duplicate slashes (URL() won’t)
const canonicalUrl = new URL(pathname, base).href;
if (trailingSlash === false) {
// remove the trailing slash
return canonicalUrl.replace(/\/*$/, '');
}
return canonicalUrl;
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does createCanonicalURL() do?
createCanonicalURL() is a function in the astro codebase, defined in packages/astro-rss/src/util.ts.
Where is createCanonicalURL() defined?
createCanonicalURL() is defined in packages/astro-rss/src/util.ts at line 4.
What does createCanonicalURL() call?
createCanonicalURL() calls 1 function(s): getUrlExtension.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free