UNPKG

@paroicms/public-menu-plugin

Version:

Public menu plugin for ParoiCMS

25 lines (24 loc) 1.2 kB
import { strVal } from "@paroi/data-formatters-lib"; import { escapeHtml, makeStylesheetLinkAsyncTag, resolveModuleDirectory, } from "@paroicms/public-server-lib"; import { readFileSync } from "node:fs"; import { dirname, join } from "node:path"; const projectDir = resolveModuleDirectory(import.meta.url, { parent: true }); const packageDir = dirname(projectDir); const version = strVal(JSON.parse(readFileSync(join(packageDir, "package.json"), "utf-8")).version); const plugin = { version, slug: "public-menu", async siteInit(service) { service.setPublicAssetsDirectory(join(packageDir, "public-front", "dist")); service.registerHeadTags(({ html }) => { if (html.includes(`data-effect="paMobileMenu`)) { return [ makeStylesheetLinkAsyncTag(`${service.pluginAssetsUrl}/public-front-plugin.css`), `<script type="module" src="${escapeHtml(`${service.pluginAssetsUrl}/public-front-plugin.mjs`)}" async></script>`, `<style>@media(max-width:992px){[data-mobile-menu-action="move"]{display:none}}</style>`, ]; } }); }, }; export default plugin;