From d442546057f8280a141d4aa54f633a09c429e2d3 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 10 Jan 2023 16:55:04 -0400 Subject: extract absoluteTo --- src/util/urls.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/util') diff --git a/src/util/urls.js b/src/util/urls.js index 78bcd200..4672c6a2 100644 --- a/src/util/urls.js +++ b/src/util/urls.js @@ -137,6 +137,8 @@ export const thumb = { small: thumbnailHelper('.small'), }; +// Makes the generally-used and wiki-specialized "to" page utility. +// "to" returns a relative path from the current page to the target. export function getURLsFrom({ urls, @@ -184,6 +186,30 @@ export function getURLsFrom({ }; } +// Makes the generally-used and wiki-specialized "absoluteTo" page utility. +// "absoluteTo" returns an absolute path, starting at site root (/) leading +// to the target. +export function getURLsFromRoot({ + baseDirectory, + urls, +}) { + const from = urls.from('shared.root'); + + return (targetFullKey, ...args) => { + const [groupKey, subKey] = targetFullKey.split('.'); + return ( + '/' + + (groupKey === 'localized' && baseDirectory + ? from.to( + 'localizedWithBaseDirectory.' + subKey, + baseDirectory, + ...args + ) + : from.to(targetFullKey, ...args)) + ); + }; +} + export function getPagePathname({ baseDirectory, device = false, -- cgit 1.3.0-6-gf8a5