{"id":19951969,"url":"https://github.com/studio24/amplify","last_synced_at":"2025-05-03T19:30:41.447Z","repository":{"id":42077303,"uuid":"422538161","full_name":"studio24/amplify","owner":"studio24","description":"Front-End starter kit for Studio 24","archived":false,"fork":false,"pushed_at":"2025-04-22T15:44:11.000Z","size":25578,"stargazers_count":10,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-01T04:17:32.233Z","etag":null,"topics":["accessibility","css","html"],"latest_commit_sha":null,"homepage":"https://amplify.studio24.net/amplify/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/studio24.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-29T10:46:37.000Z","updated_at":"2025-03-12T10:06:27.000Z","dependencies_parsed_at":"2024-01-04T18:30:27.887Z","dependency_job_id":"6644b361-0d18-4982-a4cc-54473667dc8c","html_url":"https://github.com/studio24/amplify","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Famplify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Famplify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Famplify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Famplify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/studio24","download_url":"https://codeload.github.com/studio24/amplify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252241905,"owners_count":21717067,"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":["accessibility","css","html"],"created_at":"2024-11-13T01:11:01.727Z","updated_at":"2025-05-03T19:30:41.432Z","avatar_url":"https://github.com/studio24.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amplify\n\nFront-End starter kit by Studio 24.\n\n## Getting started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See [deployment](#deployment) for how to deploy the project to staging and live environments. \n\nAlso see more [detailed project documentation](docs/README.md).\n\n### In this document\n\n* [Site URLs](#site-urls)\n* [Installing](#installing)\n* [Making changes](#making-changes)\n* [Deployment](#deployment)\n* [Built with](#built-with)\n* [Credits](#credits)\n\n## Site URLs\n\n### Live\n* https://amplify.studio24.net\n* https://amplify.studio24.net/_build_summary.json\n\n### Staging\n* https://amplify-staging.studio24.net\n* https://amplify-staging.studio24.net/_build_summary.json\n\n### Development\n* http://local.amplify.studio24.net/\n\n## Installing\n\n### Requirements\n\n- Node (check the `.nvmrc` file in the project root for latest version)\n- [NPM](https://www.npmjs.com/)\n- [NVM](https://github.com/creationix/nvm)\n- [Composer](https://getcomposer.org/)\n- [Deployer](https://deployer.org/docs/installation)\n\n### Installing locally\n\nA step-by-step set of instructions that tell you how to get your local dev environment running.\n\nClone repo:\n\n````bash\ngit clone git@github.com:studio24/amplify.git\n````\n\nInstall PHP dependencies:\n\n```php\ncomposer install\n```\n\nInstall project dependencies:\n\n````bash\n# Switch your version of Node to the correct version for this project (see `.nvmrc`)\nnvm use\n\nnpm install\n````\n\nBuild front-end assets:\n\n````bash\nnpm run build\n````\n\nThere are also specific commands if you only want to build certain front-end assets:\n\n````bash\nnvm use \n\n# Copy font assets to the `dist` directory\nnpm run fonts\n\n# Copy image assets to the `dist` directory (note they are **not optimised** as part of this step)\nnpm run images\n\n# Optimise and then copy SVG assets to the `dist` directory\nnpm run svgs\n\n# Compile the Sass partials into CSS files in the `dist` directory\nnpm run styles\n\n# Compile, transpile and minify the JS files, place them in the `dist` directory\nnpm run js\n````\n\nWatch for changes:\n\n````bash\nnpm run watch\n````\n\n* [More about CSS](docs/CSS.md)\n* [More about JavaScript](docs/javascript.md)\n\n### Configuration\n\n#### NPM\n\nIf needed, update the `package.json` file in the project root to specify [which browsers are supported](docs/browser-support.md) (referenced by the CSS and JS build tools) and manage the packages and NPM scripts required to build the site assets.\n\n#### SVG Optimizer\n\n[SVG Optimizer](https://github.com/svg/svgo) is used to optimise SVG files. There is a `svgo.config.js` file in the project root to determine optimisation settings.\n\n#### Stylelint\n\n[Stylelint](https://stylelint.io/) is used to help avoid errors and enforce conventions in our CSS. There is a `stylelint.config.js` file in the project root which controls this process. [Linting Sass in Amplify](docs/css.md#linting-sass).\n\n#### Webpack\n\n[Webpack](https://webpack.js.org/) is used to compile, transpile and minify JavaScript files. There is a `webpack.config.js` file in the project root which controls this process.\n\n#### Copying over JS libraries\nIf there are libraries that you would like to use as is in your project, set up Webpack to copy them across from the src folder to the dist folder.\n\n##### If the script file is in a node_module\nIn the `webpack.config.js` file, add a 'from-to' pattern to the CopyPlugin configuration parameters, using the syntax:\n\n```\n{ from: \"./../../node_modules/[node_package_name]/[path to the js file]]\", to: \"./libraries\" }\n```\n\n##### If the script file is NOT in a node_module\nIn the `webpack.config.js` file, uncomment the following line from the CopyPlugin configuration parameters:\n\n```\n// { from: \"./libraries/\", to:  \"./libraries\" },\n```\n\nYou can now add the script to the `assets-src/js/libraries` folder and run the full build script or the 'webpack-expanded' script.\n\n## Making changes\n\nCreate a new branch for your work, when you are ready for your changes to be integrated into the main branch, create a new release commit (if you haven't done so already), push to the repo, and issue a PR into main. **All merge requests need to be authorised by a Code Owner**\n\nOnce the PR is accepted, you can merge your branch into main. A new release will then be automatically generated.\n\nA release is a new version of Amplify, tagged with a version number (e.g. 1.2.0). The current version number can be found in the file `version.txt`.\nEach release can be revisited separately in Github, e.g. when you want to look up documentation or code related to a legacy version of Amplify.\nEach release comes with an associated .zip file that contains the `assets-src` folder and the build scripts for that version.\n\n### Creating new release commit\nNote you can create a new release even if your work is still in progress and not just yet ready to merge into main. Further commits can be made to the branch.\nPRs to the main branch will need review by another dev.\n\nFirst, decide on the level of the release (see [https://semver.org/](https://semver.org/) for full details): \n* patch: quick fix, no new feature (e.g. going from 1.0.0 to 1.0.1)\n* minor: new feature, no breaking change (e.g. going from 1.0.0 to 1.1.0)\n* major: major release, new features or refactoring with breaking changes (e.g. going from 1.0.0. to 2.0.0)\n\nTo create a new release use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) in your commit message.\nTheir syntax is as follows:\n\n* To create a new __patch__ version - `fix:` Example: `fix: fixed typo in JS file comment`\n* To create a new __minor__ version - `feat:` Example: `feat: added carousel component`\n* To create a __major__ version - there are two possible ways:\n  * `fix!:` or `feat!:` Example: `feat!: updraging CSS properties, not compatible with IE11 anymore`\n  * Alternatively, add a footer of `BREAKING CHANGE:` with details of what breaking changes there are. See example below\n\n```ssh\n$ git commit -m \"feat: upgrading css syntax\n\nFOOTER latest CSS properties not compatible with IE11 anymore\n\"\n```\n\nThis repo uses [Release Please](https://github.com/marketplace/actions/release-please-action) to automatically create releases, based on [semantic versioning](https://semver.org/).\nIf the action fails to run you can view the action under https://github.com/studio24/amplify/actions and re-run it (full instructions on re-running actions: [https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs](https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs)).\n\n## Deployment\n\nThe site uses Deployer for deployment (installed via Composer). Please note if no branch is specified your current branch is used.\n\n### Deploy to Live\n\nYou should always deploy the `main` branch to production.\n\n````\n./vendor/bin/dep deploy production --branch=main\n````\n\n### Deploy to Staging\n\nThe deploy process outputs a summary of what branch is currently deployed to staging, please check this to ensure you're not overwriting someone's work.\n\n````\n./vendor/bin/dep deploy staging --branch=branch-name-to-deploy\n````\n\n## Credits\n- **Nicola Saunders** - *Front-End Lead Developer* - Studio 24\n- **Marie Manandise** - *Senior Web Developer* - Studio 24\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\n\n## Acknowledgements\n\nInspired by [Springer Nature Front End Playbook](https://github.com/springernature/frontend-playbook), [Every Layout](https://every-layout.dev/) and [CUBE CSS](https://cube.fyi/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudio24%2Famplify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstudio24%2Famplify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudio24%2Famplify/lists"}