These are the sources for the B&G Data Website, including the content (md) and website (nuxt/vue).
- Node.js v22.x.
If you use nvm
to manage different Node versions, running nvm use
will activate the required version through .nvmrc
.
Frontend:
- Nuxt v3 as application framework, and for static site generation.
- Vuetify as component library.
- Nuxt Content to fetch content, see the
content/
directory in this repository. - Nuxt Image to convert and include images in various formats.
- nuxtjs/i18n for localization.
Content Management:
Forestry CMS to manage) Deprecated and waiting for replacement. Until that time content can be managed directly in this repository ../content
.
LOD DataCatalog:
- Datasets from DataCatalog, fetched during build
The following commands require Node.js and NPM (ships with Node) to be installed globally.
NB: we've switched from Yarn to NPM after encountering issues with dependabot updates.
# install dependencies
npm install
# start the development server
npm run dev
other commands, which might come in handy as needed
# fetching latest datacatalog in JSON-LD format
npm run fetch
# generate static project
npm run generate
# build app for production
npm run build
# locally preview production build
npm run preview
For detailed explanation on how things work, the Nuxt docs are a good starting point.
We branch from main
to work on changes to the website. Use the steps under Development Setup to work on your changes locally. To share your changes with others, create a draft pull request on GitHub. This deploys your branch through Vercel for Github to a new environment, and posts a shareable preview URL to the pull request. If your changes are ready to be released, set the pull request to 'ready for review' and ask someone for a code review. After review, the change is deployed by merging to main
.