[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Web site i18n with Haunt
From: |
Ricardo Wurmus |
Subject: |
Re: Web site i18n with Haunt |
Date: |
Sun, 11 Feb 2018 15:45:12 +0100 |
User-agent: |
mu4e 0.9.18; emacs 25.3.1 |
pelzflorian (Florian Pelz) <address@hidden> writes:
> I did not use SXPath. This one still looks ugly:
>
> (div (@ (id "powered-by"))
> ,@(__ "Powered by <link \
> url=\"https://www.gnu.org/software/guile/\">GNU Guile</link> and \
> <link url=\"https://haunt.dthompson.us/\">Haunt</link>."
> `(link
> . ,(lambda (tag attr text)
> (a-href
> (cadadr attr)
> text)))))
>
> I suppose I should have used SXPath for it to get the URL out of the
> (@ (url "…")) attribute?
Since the URL isn’t supposed to be translated I wouldn’t present it as
part of the translatable text, i.e. the string would be:
Powered by <guile>GNU Guile</guile> and <haunt>Haunt</haunt>.
And then I’d apply the transformations:
(foo s
`(guile . ,(lambda (_ . contents)
(a-href "https://www.gnu.org/software/guile/" ,@contents)))
`(haunt . ,(lambda (_ . contents)
(a-href "https://haunt.dthompson.us/" ,@contents))))
You could use sxpath to avoid cadadr, but it wouldn’t be less verbose:
(foo s
`(link . ,(lambda (_ attr contents)
(a-href (car ((sxpath '(url *text*)) attr)) ,contents))))
(Correctly but annoyingly, “sxpath” always returns a list, so we still
need to unpack the URL from the result with “car”.)
sxpath takes a path as a list of symbols and returns a selector function
that takes a nodeset. So the selector function applied to “attr” gets
us a list of all “*text*” nodes inside of a “url” node in the argument
“attr”.
--
Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
https://elephly.net
- Re: Haunt patches, pelzflorian (Florian Pelz), 2018/02/08
- Re: Haunt patches, Ludovic Courtès, 2018/02/09
- Re: Haunt patches, pelzflorian (Florian Pelz), 2018/02/09
- Web site i18n with Haunt, Ludovic Courtès, 2018/02/09
- Re: Web site i18n with Haunt, pelzflorian (Florian Pelz), 2018/02/09
- Re: Web site i18n with Haunt, Ricardo Wurmus, 2018/02/09
- Re: Web site i18n with Haunt, pelzflorian (Florian Pelz), 2018/02/11
- Re: Web site i18n with Haunt,
Ricardo Wurmus <=
- Re: Web site i18n with Haunt, pelzflorian (Florian Pelz), 2018/02/11