{"id":22712213,"url":"https://github.com/buildit/buildit","last_synced_at":"2025-07-21T12:37:13.813Z","repository":{"id":18735205,"uuid":"85185689","full_name":"buildit/buildit","owner":"buildit","description":"The buildit website","archived":false,"fork":false,"pushed_at":"2023-04-18T07:43:04.000Z","size":81448,"stargazers_count":8,"open_issues_count":38,"forks_count":2,"subscribers_count":9,"default_branch":"develop","last_synced_at":"2025-04-13T16:13:09.891Z","etag":null,"topics":["buildit","buildit-gravity-consumer","metalsmith","website"],"latest_commit_sha":null,"homepage":"https://buildit.wiprodigital.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/buildit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-16T10:56:19.000Z","updated_at":"2024-04-16T12:37:58.000Z","dependencies_parsed_at":"2024-12-10T13:09:45.220Z","dependency_job_id":"988c6305-26e7-4f26-8f3a-cb255089be90","html_url":"https://github.com/buildit/buildit","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildit%2Fbuildit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildit%2Fbuildit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildit%2Fbuildit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildit%2Fbuildit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/buildit","download_url":"https://codeload.github.com/buildit/buildit/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741193,"owners_count":21154255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buildit","buildit-gravity-consumer","metalsmith","website"],"created_at":"2024-12-10T13:09:41.070Z","updated_at":"2025-04-13T16:13:16.596Z","avatar_url":"https://github.com/buildit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Buildit website\n\nThis is the source code for the Buildit website: [https://buildit.wiprodigital.com/](https://buildit.wiprodigital.com/)\n\nTo provide feedback, raise bugs or request features, please use our [Buildit website feedback form](https://docs.google.com/forms/d/e/1FAIpQLScOeoF7XfYYs3R8b9K_zvSY0oVS92hAV82FXUOyy8JnDz2lNg/viewform).\n\nIf you want to get involved in the development of this website, then please see our [contribution guidelines](./CONTRIBUTING.md).\n\n## Requirements\n\nNode v8.10.0 or higher is required.\n\nIf you use [NVM](https://github.com/creationix/nvm) for managing Node, you can just issue the following command to install the right node version\n\n    $ nvm install\n\nand before running any other npm command, run\n\n    $ nvm use \n\n\n## Build and development\n\nThere are three ways to build and run the website:\n\n| Script | Description |\n|:--|:--|\n| `npm run build` | Generates a minified local build |\n| `npm run start` | Generates a minified local build and a local server instance |\n| `npm run dev` | Generates a non minified local build and a local server instance |\n\nLocal hosting is at http://localhost:8080 and a browser window should open automatically.\n\nDistribution goes into `./dist`.\n\nRefer to the [build process](./docs/build-process.md) document for further details on all the tasks the build performs.\n\n### Committing\n\nAll commits should be made with [Commitizen](https://github.com/commitizen/cz-cli). To make your commits with it \nsimply run the following command.\n \n`npm run commit`\n \nFailure to format your commits properly will result in a rejected PR and/or failed cloud builds.\n\n### Environments\n\nSome of the files produced by the build, for example `sitemap.xml`, need to contain the website's absolute URL. Others, such as `robots.txt`, need to have different contents depending on where the build will be deployed to (so that we can prevent search engines indexing our staging environments).\n\nTo facilitate this, multiple environments can be defined in the `envs` section of [`config.json`](./config.json). Both the `npm start` and `npm run-script build` commands support an additional `--env` argument which takes the name of the desired environment for that build as its parameter (note that you need to proceed it with `--` so that `npm` passes that argument through to the underlying build script). For example:\n\n    $ npm run-script build -- --env production\n\nWhere `production` corresponds to the key of the desired environment defined in `config.json`:\n\n```js\n{\n  // ...\n  \"envs\": {\n\n    \"production\": {\n\n      // The absolute URL that this site is deployed to\n      \"url\": \"https://buildit.foo.bar\",\n\n      // Whether or not search engine bots should be\n      // prevented from indexing this site\n      \"excludeRobots\": true\n\n    },\n\n    \"other-env\": {\n      // ...\n    },\n    // ...\n  },\n  // ...\n}\n```\n\nIf no `--env` argument is provided to the builds, then the first environment defined in `config.json` will be used.\n\n## Branches\n\nFor complete info see our [branching strategy docs](./docs/branching-strategy.md). The basic premise is that `master` is always correct and deployed, `develop` is used for creating feature branches and to then merge in to `master`. `next` is \"special\" and is used to build and test the _next_ big version of the app.\n\n## Deployment\n\nThe app will auto-deploy to [production](https://buildit.wiprodigital.com/) using Travis with every passing merge to `master`.\n\nIt will also auto-deploy to the [`next` environment](www-next.buildit.digital/) with every passing merge to the `next` branch.\n\n## More information\n\n### General\n* [Contribution guidelines](./CONTRIBUTING.md)\n* [Coding standards](./docs/coding-standards.md)\n* [Branching strategy](./docs/branching-strategy.md)\n* [Testing](./docs/tests.md)\n* [Build process](./docs/build-process.md)\n* [Build and deploy pipeline](./docs/build-deploy-pipeline.md)\n\n### Design\n* [Flourish design elements](./docs/flourishes.md) to use, extend or create the flourish component\n\n### Website technologies\nBehind the scenes the website is using the following technologies, so be sure you know what you're doing before starting to change anything.\n\n* [Metalsmith](http://metalsmith.io) for the core of the website,\n* [HandlebarJS](https://handlebarsjs.com/) as templating engine,\n* [`SCSS`](http://sass-lang.com/), with the addition of\n  * [autoprefixer](https://github.com/postcss/autoprefixer)\n  * [csso](https://github.com/css/csso)\n  * [eyeglass](https://github.com/sass-eyeglass/eyeglass)\n* [Cypress](./docs/tests.md), for end-to-end testing\n* [Pa11y-CI](./docs/tests.md), for automated accessibility\n\n### Decisions\nDecisions linked to implementation details, have not been catalogued. Many of those decisions are now lost.  \nTherefore, although late, we have decided to start logging all new decisions. These decisions will now be catalogued in the [Decision Log](./docs/DECISIONLOG.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildit%2Fbuildit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbuildit%2Fbuildit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildit%2Fbuildit/lists"}