diff --git a/packages/core/src/plugins/hiddenSiteNav.css b/packages/core/src/plugins/hiddenSiteNav.css new file mode 100644 index 0000000000..a8d24a89e4 --- /dev/null +++ b/packages/core/src/plugins/hiddenSiteNav.css @@ -0,0 +1,13 @@ +/* hiddenSiteNav.css */ +#site-nav-show-button, +#site-nav-hide-button { + margin-right: 10px; +} + +/* Media query settings were copied from core/template/default/stylesheets/main.css */ +@media screen and (max-width: 991.98px) { + #site-nav-show-button, + #site-nav-hide-button { + display: none; + } +} \ No newline at end of file diff --git a/packages/core/src/plugins/hiddenSiteNav.js b/packages/core/src/plugins/hiddenSiteNav.js new file mode 100644 index 0000000000..4d409e9310 --- /dev/null +++ b/packages/core/src/plugins/hiddenSiteNav.js @@ -0,0 +1,42 @@ +// hiddenSiteNav.js +const cheerio = module.parent.require('cheerio'); + +module.exports = { + processNode: (pluginContext, node) => { + if (node.name === 'navbar') { + pluginContext.navbarTheme = node.attribs.type; + } + + if (node.attribs.hasOwnProperty('#brand')) { + cheerio(node) + .children('.navbar-brand') + .removeAttr('slot') + .wrap('
') + .before( + '` + ) + .before( + '` + ); + } + + if (node.attribs.id === 'site-nav') { + cheerio(node).attr('hidden', 'hidden'); + } + }, + getLinks: (pluginContext, frontMatter, content) => [ + '' + ], + getScripts: (pluginContext, frontMatter, content) => [ + '' + ] +} diff --git a/packages/core/template/default/site.json b/packages/core/template/default/site.json index b8ad4a6e2e..0916fb40bc 100755 --- a/packages/core/template/default/site.json +++ b/packages/core/template/default/site.json @@ -23,5 +23,13 @@ ], "deploy": { "message": "Site Update." + }, + "plugins": [ + "hiddenSiteNav" + ], + "pluginsContext": { + "hiddenSiteNav": { + "navbarTheme": "dark" + } } }