import {fromHtml} from 'hast-util-from-html';
import {toHtml} from 'hast-util-to-html';
import {visit} from 'unist-util-visit';
/*
* The idea: need to create another subdir `title/nl/index.html`
*/
export default async (page) => {
const html = await page.html;
return {
"index.html": page.html,
...handleTranslations(html, page.trls)
}
}
function handleTranslations(html, trls) {
if (trls) {
const outputs = {};
trls.forEach(trl => {
outputs[trl] = {
"index.html": reorderTranslations(html, trl)
}
})
return outputs;
} else {
return;
}
}
//reorders all '.translation-group's so the element with given lang is first, and 'open' is set appropriately.
//also, handles latest/laatst. Is that a special case, or should that be translated in the page too?
function reorderTranslations(body, lang){
//handles both text and dom object as input
const hast = fromHtml(body);
//visit: trlselector>radio, and set active on current lang and inactive on other langs.
return toHtml(hast);
}