@gouvfr/dsfr-nexus
Version:
Le module `dsfr-nexus` est l'interface de ligne de commande (CLI) centrale du Système de Design de l’État - DSFR. Il offre des outils pour gérer et compiler les ressources du DSFR
50 lines (43 loc) • 869 B
JavaScript
import { DirectiveNode } from './directive-node.js';
const wrap = (map) => {
const children = [
{
type: 'link',
url: map.url,
children: [
{
type: 'text',
value: map.text
}
]
}
];
if (map.children) {
const items = map.children.map(wrap);
children.push({
type: 'list',
ordered: false,
children: items
});
}
return {
type: 'listItem',
children: children,
}
};
class SitemapLeafDirective extends DirectiveNode {
structure (data, state) {
const map = state.urlMap;
data.children = [
{
type: 'list',
classes: ['fr-mb-6v'],
ordered: false,
children: [wrap(map)]
}
]
return super.structure(data, state);
}
}
SitemapLeafDirective.NAME = 'dsfr-doc-sitemap';
export { SitemapLeafDirective };