Files
authentik/website/remark/preview-directive.ts
Teffen Ellis 264f59775c website/docs: Update deps. (#14397)
* website/docs: Update deps.

* website/docs: Port partial monorepo fixes. Fix build warnings.

* website/docs: Update Prettier.

* website/docs: Format. Update deps.

* website/docs: Remove empty entry.
2025-05-05 16:59:49 +00:00

43 lines
1.1 KiB
TypeScript

import { h } from "hastscript";
import { Root } from "mdast";
import "mdast-util-directive";
import "mdast-util-to-hast";
import { SKIP, visit } from "unist-util-visit";
/**
* MDAST plugin to transform `ak-preview` directives into preview badges.
*/
function remarkPreviewDirective() {
return function (tree: Root) {
visit(tree, "textDirective", function (node) {
if (node.name !== "ak-preview") return SKIP;
const data = node.data || (node.data = {});
const hast = h("span", {
...node.attributes,
"className": "badge badge--preview",
"title": `This feature is in preview and may change in the future.`,
"aria-description": "Preview badge",
"role": "img",
});
data.hName = hast.tagName;
data.hProperties = hast.properties;
data.hChildren = [
{
type: "text",
value: "Preview",
},
];
node.children = [];
return SKIP;
});
};
}
export default remarkPreviewDirective;