
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
@hatchly/nuxt-navigation-module
Advanced tools
Official nuxt integration for the Hatchly/Navigation module
Module to easily fetch and access navigations from the
hatchly/navigation
api
yarn add @hatchly/nuxt-navigation-module
Register the module in your nuxt applications config file:
module.exports = {
// Nuxt config
modules: {
// Other Modules
['@hatchly/nuxt-navigation-module', {
// Options
}],
},
hatchly: {
navigation: {
// Options can also be defined here
},
},
};
Add the API url to your .env:
API_URL=http://my-application.localhost
The options object can contain the following values:
{
baseURL: '',
browserBaseURL: '',
apiPath: '',
},
Each option is described below.
baseURL
The url of your Hatchly site. If
browserBaseURL
is not provided this url will be used for both server side and client side fetching.
process.env.API_URL
string
browserBaseURL
The public url of your Hatchly site.
process.env.API_URL_BROWSER
string
apiPath
The path to the api modules
hatchly-path
value. This can be modified in the Hatchly api config file, so make sure this path corresponds to that value.
'_hatchly/api'
hatchly.apiPath
string
If using nuxt runtime config to inject env variables at runtime, each of the above options can be overwritten in both publicRuntimeConfig
and privateRuntimeConfig
objects, for example:
module.exports = {
publicRuntimeConfig: {
hatchly: {
// Inherit options for all hatchly modules
baseURL: process.env.API_URL,
navigation: {
// Overwrite options for the navigation module
baseURL: process.env.API_URL,
},
},
},
};
All navigations are downloaded server side on page load.
To access a navigation you can use the global $nav()
method:
<ul v-if="$nav('main')">
<li v-for="link in $nav('main')" :key="link.id">
<component :is="link.tag" v-bind="link.attributes">
{{ link.title }}
</component>
<ul>
<li v-for="child in link.children" :key="child.id">
<component :is="child.tag" v-bind="child.attributes">
{{ child.title }}
</component>
</li>
</ul>
</li>
</ul>
FAQs
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.