DataHub frontend in Node.js.
Clone the repo, install dependencies using yarn (or npm), and run the server:
# or npm install
yarn install
npm start
We use .env
file for loading environment variables. Please use the provided env.template
as a template:
SITE_URL
- FQ base URL of the site, e.g. https://datahub.io
API_URL
- FQ base URL of the API endpoint, e.g. https://api.datahub.io
BITSTORE_URL
- base URL for the bitstore (pkgstore) e.g. https://pkgstore.datahub.io
When running locally, use test api address in .env
:
API_URL=https://api-testing.datahub.io
BITSTORE_URL=https://pkgstore-testing.datahub.io
See the docs for more information.
The JavaScript portion of the app, which is responsible for rendering views, comes from a different repo. That repo must be submoduled in and then built:
git submodule init && git submodule update
To build the CSS:
Run:
sass --watch public/sass:public/stylesheets
Now run the server:
export API_URL=https://api.datahub.io
export BITSTORE_URL=https://pkgstore.datahub.io
export dev=true
npm start
To run in watch mode:
# Note the -e which means we watch for changes in templates too
nodemon -e "js html" index.js
To run tests (make sure all environment variables are set):
yarn test
We use Google Tag Manager to manage all tags (eg, google analytics, optimize and more) so instead of adding a new script into templates, you should consider editing via UI of Tag Manager.
master
branch, it triggers a build on the Deploy repo which then creates a pull request there.