Added language specific URL transformers

This commit is contained in:
Maxim Lebedev 2023-11-19 19:02:13 +06:00
parent 0ea82fe25d
commit fa1faa3bc3
Signed by: toby3d
GPG Key ID: 1F14E25B7C119FC5
2 changed files with 12 additions and 2 deletions

View File

@ -52,8 +52,10 @@ func New(partialsDir fs.FS, site *domain.Site) template.FuncMap {
Name: "urls",
Handler: func(v ...any) any { return urlsNamespace },
Methods: template.FuncMap{
"absURL": urlsNamespace.AbsURL,
"relURL": urlsNamespace.RelURL,
"absLangURL": urlsNamespace.AbsLangURL,
"absURL": urlsNamespace.AbsURL,
"relLangURL": urlsNamespace.RelLangURL,
"relURL": urlsNamespace.RelURL,
},
})
transformNamespace := transform.New()

View File

@ -28,3 +28,11 @@ func (ns *Namespace) RelURL(p string) string {
func (ns *Namespace) Parse(rawUrl string) (*url.URL, error) {
return url.Parse(rawUrl)
}
func (ns *Namespace) RelLangURL(p string) string {
return path.Join(ns.site.BaseURL.Path, ns.site.LanguagePrefix(), p)
}
func (ns *Namespace) AbsLangURL(p string) string {
return ns.site.BaseURL.JoinPath(ns.site.LanguagePrefix(), p).String()
}