diff --git a/Gemfile b/Gemfile index e9667ae..23d47ed 100644 --- a/Gemfile +++ b/Gemfile @@ -33,3 +33,5 @@ gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] # Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem # do not have a Java counterpart. gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] + +gem 'jekyll-node-module' diff --git a/Gemfile.lock b/Gemfile.lock index ea10424..743e8a5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -40,6 +40,8 @@ GEM webrick (~> 1.7) jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) + jekyll-node-module (0.1.3) + jekyll (>= 2.0, < 5.0) jekyll-postcss-v2 (1.0.2) jekyll-sass-converter (3.0.0) sass-embedded (~> 1.54) @@ -127,6 +129,7 @@ DEPENDENCIES http_parser.rb (~> 0.6.0) jekyll jekyll-feed (~> 0.12) + jekyll-node-module jekyll-postcss-v2 tzinfo (>= 1, < 3) tzinfo-data diff --git a/_config.yml b/_config.yml index 06697f2..5c0bd96 100644 --- a/_config.yml +++ b/_config.yml @@ -34,6 +34,18 @@ collections: - glossary - resources +plugins: + - jekyll-node-module + +node_modules: + modules_dir: node_modules + assets: + js: assets/scripts + css: assets/styles + copy: + - source: "@scottlogic/tech-carbon-estimator" + target: assets/tech-carbon-estimator + # Exclude from processing. # The following items will not be processed, by default. # Any item listed under the `exclude:` key here will be automatically added to diff --git a/_data/navigation.yml b/_data/navigation.yml index 3288597..88342b6 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -10,3 +10,5 @@ link: /glossary - name: About link: /about +#- name: Carbon Estimator +# link: /estimator diff --git a/_layouts/default.html b/_layouts/default.html index 47047c8..d8c8dde 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -5,11 +5,19 @@ {{ page.title }} - + + + {% if page.includeEstimator == true %} + + + + + + {% endif %} diff --git a/package-lock.json b/package-lock.json index a2a6d57..1b114e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,10 +1,12 @@ { - "name": "jareth-Technology-Carbon-Standard", + "name": "Technology-Carbon-Standard", "lockfileVersion": 3, "requires": true, "packages": { "": { + "name": "Technology-Carbon-Standard", "devDependencies": { + "@scottlogic/tech-carbon-estimator": "^0.0.1", "@tailwindcss/typography": "^0.5.10", "autoprefixer": "^10.4.17", "cssnano": "^6.0.3", @@ -25,6 +27,182 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@angular/animations": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.11.tgz", + "integrity": "sha512-1y1Egag5jbdUSUWVK+KA39N9VFDrzq9ObjbAhrXFlXKa0npBRw5bprEEeLFQMETMP9Mpjbmj2PoASfl4vqj/Iw==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/core": "17.3.11" + } + }, + "node_modules/@angular/cdk": { + "version": "17.3.10", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz", + "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^17.0.0 || ^18.0.0", + "@angular/core": "^17.0.0 || ^18.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/common": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.11.tgz", + "integrity": "sha512-WG+HQjUaQziYLGdbcv2aW+G73uroN5VF9yk4qWYcolW+VB8SV/DOAol8uFVgCF21cIOl5+wfJZvA4r5oG3dYaw==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/core": "17.3.11", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.11.tgz", + "integrity": "sha512-ingRoREDPkeZGSa13DlztSjZgGArNcmsAWjj+f+vQgQekTjkfQD/N+Bix/LSt5ZdbSjHMtrkDMyRPwbNyk5Keg==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/core": "17.3.11" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.11.tgz", + "integrity": "sha512-2wPZwXFei3kVxK2ylIH6CdGebrC4kvooFx7qoX+250OITAEFMODJGdh/e3x0DpFUjlRvQtIFQ+YpQlfC5JnL4g==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.14.0" + } + }, + "node_modules/@angular/elements": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-17.3.11.tgz", + "integrity": "sha512-Ojd4Qc0b4Ptbu5F6xf5bfuNOCNS++1qx27VDe9NXtehaUIopaVhsGv3lVkRjHgsTT9Yefuiw1BubXDLoyMBIjA==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/core": "17.3.11", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/forms": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.11.tgz", + "integrity": "sha512-719flo/1L64YOAxL3pzszTK+7bczVVOQDXT1khnjb48GVZdBUBwW2D+cFbqSW1VMuWWr2Amwy1lL4YM5S7qPJQ==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/common": "17.3.11", + "@angular/core": "17.3.11", + "@angular/platform-browser": "17.3.11", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.11.tgz", + "integrity": "sha512-sWjMy8qKH6AOt5YV4OMoPhExCbGdRIPjNSwUrxCm8a8Zz5DamoX3Sib9yRk1etjBuRj+oJySSxISJim2OYXJQQ==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/animations": "17.3.11", + "@angular/common": "17.3.11", + "@angular/core": "17.3.11" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.11.tgz", + "integrity": "sha512-JPA0enJyJQ5H340WQ2wfXbCCHzjBiAljEDMr/Siw/CzSe0XI8aQYDqKMLUMtRyCdYhNCEYjnBWgXBi9Za9blZg==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/common": "17.3.11", + "@angular/compiler": "17.3.11", + "@angular/core": "17.3.11", + "@angular/platform-browser": "17.3.11" + } + }, + "node_modules/@angular/router": { + "version": "17.3.11", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.11.tgz", + "integrity": "sha512-A3aU6uHAeJfsfCw1dgNXHn2Kjw/UieRMnFwENkzz96YFCvFPCEZjy/mODuE3zHludMuqVsJhM/uUxWu8ATRTcA==", + "dev": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/common": "17.3.11", + "@angular/core": "17.3.11", + "@angular/platform-browser": "17.3.11", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -135,6 +313,31 @@ "node": ">=14" } }, + "node_modules/@scottlogic/tech-carbon-estimator": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@scottlogic/tech-carbon-estimator/-/tech-carbon-estimator-0.0.1.tgz", + "integrity": "sha512-fb447g0v/k0sR8X3kvlKXnSILKS0L+UpyB5Kwexd4HLuIJaJIpIyh257qU6WeauGhcXZQgi0Sn1JbxF9iQiGqA==", + "dev": true, + "dependencies": { + "@angular/animations": "^17.2.0", + "@angular/cdk": "^17.2.2", + "@angular/common": "^17.2.0", + "@angular/compiler": "^17.2.0", + "@angular/core": "^17.2.0", + "@angular/elements": "^17.2.3", + "@angular/forms": "^17.2.0", + "@angular/platform-browser": "^17.2.0", + "@angular/platform-browser-dynamic": "^17.2.0", + "@angular/router": "^17.2.0", + "@tgwf/co2": "^0.14.3", + "lodash-es": "^4.17.21", + "ng-apexcharts": "^1.9.0", + "rxjs": "~7.8.0", + "tailwindcss-scoped-preflight": "^3.2.5", + "tslib": "^2.3.0", + "zone.js": "~0.14.3" + } + }, "node_modules/@sindresorhus/merge-streams": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.1.0.tgz", @@ -175,6 +378,15 @@ "node": ">=4" } }, + "node_modules/@tgwf/co2": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/@tgwf/co2/-/co2-0.14.4.tgz", + "integrity": "sha512-837dH4n6cGt2s3ssR3Yt904WHy/MDmYZmnHCla6e73YjxIWmvLgYLXUYWzXJ2C5096jTR7yT5tNe1+Dq5bjnNw==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -184,6 +396,13 @@ "node": ">=10.13.0" } }, + "node_modules/@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==", + "dev": true, + "peer": true + }, "node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -227,6 +446,22 @@ "node": ">= 8" } }, + "node_modules/apexcharts": { + "version": "3.49.1", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.49.1.tgz", + "integrity": "sha512-MqGtlq/KQuO8j0BBsUJYlRG8VBctKwYdwuBtajHgHTmSgUU3Oai+8oYN/rKCXwXzrUlYA+GiMgotAIbXY2BCGw==", + "dev": true, + "peer": true, + "dependencies": { + "@yr/monotone-cubic-spline": "^1.0.3", + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -301,12 +536,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -884,9 +1119,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -1186,6 +1421,12 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, "node_modules/lodash.castarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", @@ -1306,6 +1547,21 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/ng-apexcharts": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.10.0.tgz", + "integrity": "sha512-Bg85iL3uAuALaj7yQ29XsPYGx8cr3gDrlBPYQtWzEbHcIHP1PBl9IEH9CLF7ESxypW/XPbliH3pc95o5+9gIag==", + "dev": true, + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "^17.0.2", + "@angular/core": "^17.0.2", + "apexcharts": "^3.45.2", + "rxjs": "^6.5.5 || ^7.4.0" + } + }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", @@ -1360,6 +1616,19 @@ "node": ">= 6" } }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "optional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -2182,6 +2451,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2391,6 +2669,105 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "dev": true, + "peer": true, + "dependencies": { + "svg.js": "^2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "dev": true, + "peer": true, + "dependencies": { + "svg.js": ">=2.3.x" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "dev": true, + "peer": true, + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==", + "dev": true, + "peer": true + }, + "node_modules/svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "dev": true, + "peer": true, + "dependencies": { + "svg.js": "^2.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "dev": true, + "peer": true, + "dependencies": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js/node_modules/svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "dev": true, + "peer": true, + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "dev": true, + "peer": true, + "dependencies": { + "svg.js": "^2.6.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/svgo": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", @@ -2453,6 +2830,16 @@ "node": ">=14.0.0" } }, + "node_modules/tailwindcss-scoped-preflight": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/tailwindcss-scoped-preflight/-/tailwindcss-scoped-preflight-3.2.6.tgz", + "integrity": "sha512-Q0mE+77258D5kIfMOAJ8iOFEUFoeGMqaWG/n8H9deBFwN7E9zB+qmxTmcF6JfmrEkwx6vfBZN7JSneBGYJn4Kg==", + "dev": true, + "peerDependencies": { + "postcss": "^8", + "tailwindcss": "^3" + } + }, "node_modules/tailwindcss/node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", @@ -2507,6 +2894,12 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, "node_modules/unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", @@ -2755,6 +3148,12 @@ "engines": { "node": ">=8" } + }, + "node_modules/zone.js": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.7.tgz", + "integrity": "sha512-0w6DGkX2BPuiK/NLf+4A8FLE43QwBfuqz2dVgi/40Rj1WmqUskCqj329O/pwrqFJLG5X8wkeG2RhIAro441xtg==", + "dev": true } } } diff --git a/package.json b/package.json index 0960d65..dce9357 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "cssnano": "^6.0.3", "postcss": "^8.4.33", "postcss-cli": "^11.0.0", - "tailwindcss": "^3.4.1" + "tailwindcss": "^3.4.1", + "@scottlogic/tech-carbon-estimator": "^0.0.1" } } diff --git a/pages/estimator.md b/pages/estimator.md new file mode 100644 index 0000000..c241d56 --- /dev/null +++ b/pages/estimator.md @@ -0,0 +1,21 @@ +--- +layout: default +title: Carbon Estimator +permalink: /estimator +includeEstimator: true +--- + +# Technology Carbon Estimator + +**The Technology Carbon Estimator is designed to give a high-level overview of the possible areas of carbon impact within your IT estate.** + +The estimations are framed within our proposed model of tech emissions – the [Technology Carbon Standard](/) – designed to help you map out, measure and improve the environmental impacts of your technology. + +Scott Logic helps organisations achieve their business sustainability goals by improving their technology sustainability. If you'd like to discuss your technology carbon estimate with us, [please get in touch](https://www.scottlogic.com/contact-us?formId=sales-enquiries). + +If you experience any issues using the calculator, you can [report them on GitHub](https://github.com/ScottLogic/sl-tech-carbon-estimator/issues). + +## Calculate your technology's potential carbon impact + + +