diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 0000000..f95170c Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png new file mode 100644 index 0000000..e8f865d Binary files /dev/null and b/android-chrome-512x512.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 0000000..0ed785f Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/docs/404.html b/docs/404.html index 086a5c9..9d77563 100644 --- a/docs/404.html +++ b/docs/404.html @@ -3,20 +3,6 @@ layout: default --- - -

404

diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml index ba31afb..4ca9268 100644 --- a/docs/_data/navigation.yml +++ b/docs/_data/navigation.yml @@ -1,4 +1,4 @@ - name: Technology Carbon Standard link: / - name: About - link: /about.html + link: /about \ No newline at end of file diff --git a/docs/_includes/carbonStandard.html b/docs/_includes/carbonStandard.html index dd1945a..0261d10 100644 --- a/docs/_includes/carbonStandard.html +++ b/docs/_includes/carbonStandard.html @@ -1,6 +1,6 @@
-

Technology Carbon Standard

+

Technology Carbon Standard

@@ -20,14 +20,14 @@

Technology Carbon Standard

-
+
-

Upstream Emissions

+

Upstream Emissions

{% include categoryLabel.html label="Category U" bgColor="cat-u" scope="3" %}
@@ -39,10 +39,10 @@

Upstream Emissions

Upstream emissions relating to the embodied carbon of hardware and the development of software.

-

Commercial Software

+

Commercial Software

{% include categoryItem.html bgColor="cat-u" icon="./assets/images/icons.svg#web" description="Commercial Off The Shelf (COTS) Software" %} -

Hardware Manufacture, Transport and Installation

+

Hardware Manufacture, Transport and Installation

{% include categoryItem.html bgColor="cat-u" icon="./assets/images/icons.svg#devices" description="Employee Hardware (laptops, phones, printers, etc.)" %} {% include categoryItem.html bgColor="cat-u" icon="./assets/images/icons.svg#router" description="Networking Hardware" %} {% include categoryItem.html bgColor="cat-u" icon="./assets/images/icons.svg#storage" description="Data Center and Server Hardware" %} @@ -55,7 +55,7 @@

Hardware Manufacture, Transport and Installation

-

Operational Emissions

+

Operational Emissions

@@ -67,7 +67,7 @@

Operational Emissions

-

Direct

+

Direct

{% include categoryLabel.html label="Category O" bgColor="cat-o" scope="2" %}
@@ -88,7 +88,7 @@

Direct

-

Indirect

+

Indirect

{% include categoryLabel.html label="Category C" bgColor="cat-c" scope="3" %}
@@ -109,7 +109,7 @@

Indirect

-

Downstream Emissions

+

Downstream Emissions

{% include categoryLabel.html label="Category D" bgColor="cat-d" scope="3" %}
@@ -119,7 +119,7 @@

Downstream Emissions

Carbon associated with the use of products and services produced by the business.

-

End Use (B2B, B2C)

+

End Use (B2B, B2C)

{% include categoryItem.html bgColor="cat-d" icon="./assets/images/icons.svg#devices" description="End-User Devices" %} {% include categoryItem.html bgColor="cat-d" icon="./assets/images/icons.svg#cell-tower" description="Network Data Transfer" %}
@@ -129,7 +129,7 @@

End Use (B2B, B2C)

-

Out of Scope

+

Out of Scope

diff --git a/docs/_includes/navigation.html b/docs/_includes/navigation.html index 9fedc5d..41cc4c8 100644 --- a/docs/_includes/navigation.html +++ b/docs/_includes/navigation.html @@ -1,5 +1,5 @@ {% for item in site.data.navigation %} - - {{ item.name }} + + {{ item.name }} {% endfor %} diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index d2025ad..f353426 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -14,12 +14,13 @@ -
+
{{ content }}
diff --git a/docs/assets/css/__main.css b/docs/assets/css/__main.css index e60f6d8..c5db231 100644 --- a/docs/assets/css/__main.css +++ b/docs/assets/css/__main.css @@ -10,34 +10,10 @@ font-size: 16px; } - h1 { - @apply text-2xl lg:text-3xl font-semibold; - } - - h2 { - @apply text-xl font-medium; - } - - h3 { - @apply text-lg font-medium; - } - - h4 { - @apply text-base lg:text-lg font-medium; - } - - h1, h2, h3, h4, p, ul, li { - @apply mb-2; - } - a { @apply underline text-blue-600 hover:text-blue-800 visited:bg-purple-800 focus:outline-none focus-visible:ring focus:ring-blue dark:text-blue-300 dark:hover:text-blue-100; } - ul { - @apply list-disc list-inside; - } - /* CATEGORY U */ .cat-u { @apply bg-blue dark:bg-blue-700 text-white; diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css index 9b68418..b4a47a1 100644 --- a/docs/assets/css/main.css +++ b/docs/assets/css/main.css @@ -396,50 +396,6 @@ video { font-size: 16px; } - h1 { - font-size: 1.5rem; - line-height: 2rem; - font-weight: 600; -} - - @media (min-width: 1024px) { - - h1 { - font-size: 1.875rem; - line-height: 2.25rem; - } -} - - h2 { - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: 500; -} - - h3 { - font-size: 1.125rem; - line-height: 1.75rem; - font-weight: 500; -} - - h4 { - font-size: 1rem; - line-height: 1.5rem; - font-weight: 500; -} - - @media (min-width: 1024px) { - - h4 { - font-size: 1.125rem; - line-height: 1.75rem; - } -} - - h1, h2, h3, h4, p, ul, li { - margin-bottom: 0.5rem; -} - a { --tw-text-opacity: 1; color: rgb(59 107 127 / var(--tw-text-opacity)); @@ -481,11 +437,6 @@ video { } } - ul { - list-style-position: inside; - list-style-type: disc; -} - /* CATEGORY U */ .cat-u { --tw-bg-opacity: 1; @@ -798,6 +749,421 @@ video { max-width: 1536px; } } +.prose { + color: var(--tw-prose-body); + max-width: 65ch; +} +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} +.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-lead); + font-size: 1.25em; + line-height: 1.6; + margin-top: 1.2em; + margin-bottom: 1.2em; +} +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-links); + text-decoration: underline; + font-weight: 500; +} +.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-bold); + font-weight: 600; +} +.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-left: 1.625em; +} +.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; +} +.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; +} +.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; +} +.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; +} +.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; +} +.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; +} +.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; +} +.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; +} +.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; +} +.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: disc; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-left: 1.625em; +} +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + font-weight: 400; + color: var(--tw-prose-counters); +} +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + color: var(--tw-prose-bullets); +} +.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.25em; +} +.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-color: var(--tw-prose-hr); + border-top-width: 1px; + margin-top: 3em; + margin-bottom: 3em; +} +.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-style: italic; + color: var(--tw-prose-quotes); + border-left-width: 0.25rem; + border-left-color: var(--tw-prose-quote-borders); + quotes: "\201C""\201D""\2018""\2019"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-left: 1em; +} +.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: open-quote; +} +.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: close-quote; +} +.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; +} +.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 900; + color: inherit; +} +.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; +} +.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 800; + color: inherit; +} +.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; +} +.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} +.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; +} +.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} +.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} +.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + display: block; + margin-top: 2em; + margin-bottom: 2em; +} +.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-family: inherit; + color: var(--tw-prose-kbd); + box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%); + font-size: 0.875em; + border-radius: 0.3125rem; + padding-top: 0.1875em; + padding-right: 0.375em; + padding-bottom: 0.1875em; + padding-left: 0.375em; +} +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-code); + font-weight: 600; + font-size: 0.875em; +} +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: "`"; +} +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: "`"; +} +.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.875em; +} +.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.9em; +} +.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} +.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-pre-code); + background-color: var(--tw-prose-pre-bg); + overflow-x: auto; + font-weight: 400; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-right: 1.1428571em; + padding-bottom: 0.8571429em; + padding-left: 1.1428571em; +} +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: inherit; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: none; +} +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: none; +} +.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + width: 100%; + table-layout: auto; + text-align: left; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; +} +.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-th-borders); +} +.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + vertical-align: bottom; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} +.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-td-borders); +} +.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 0; +} +.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: baseline; +} +.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-top-width: 1px; + border-top-color: var(--tw-prose-th-borders); +} +.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: top; +} +.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} +.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-captions); + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; +} +.prose { + --tw-prose-body: #374151; + --tw-prose-headings: #111827; + --tw-prose-lead: #4b5563; + --tw-prose-links: #111827; + --tw-prose-bold: #111827; + --tw-prose-counters: #6b7280; + --tw-prose-bullets: #d1d5db; + --tw-prose-hr: #e5e7eb; + --tw-prose-quotes: #111827; + --tw-prose-quote-borders: #e5e7eb; + --tw-prose-captions: #6b7280; + --tw-prose-kbd: #111827; + --tw-prose-kbd-shadows: 17 24 39; + --tw-prose-code: #111827; + --tw-prose-pre-code: #e5e7eb; + --tw-prose-pre-bg: #1f2937; + --tw-prose-th-borders: #d1d5db; + --tw-prose-td-borders: #e5e7eb; + --tw-prose-invert-body: #d1d5db; + --tw-prose-invert-headings: #fff; + --tw-prose-invert-lead: #9ca3af; + --tw-prose-invert-links: #fff; + --tw-prose-invert-bold: #fff; + --tw-prose-invert-counters: #9ca3af; + --tw-prose-invert-bullets: #4b5563; + --tw-prose-invert-hr: #374151; + --tw-prose-invert-quotes: #f3f4f6; + --tw-prose-invert-quote-borders: #374151; + --tw-prose-invert-captions: #9ca3af; + --tw-prose-invert-kbd: #fff; + --tw-prose-invert-kbd-shadows: 255 255 255; + --tw-prose-invert-code: #fff; + --tw-prose-invert-pre-code: #d1d5db; + --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); + --tw-prose-invert-th-borders: #4b5563; + --tw-prose-invert-td-borders: #374151; + font-size: 1rem; + line-height: 1.75; +} +.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} +.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} +.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0.375em; +} +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0.375em; +} +.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} +.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} +.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} +.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} +.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} +.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} +.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} +.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + padding-left: 1.625em; +} +.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} +.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} +.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} +.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} +.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0; +} +.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right: 0; +} +.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.5714286em; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} +.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-left: 0; +} +.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-right: 0; +} +.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} +.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} +.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; +} .visible { visibility: visible; } @@ -825,9 +1191,6 @@ video { .z-10 { z-index: 10; } -.m-0 { - margin: 0px; -} .mx-auto { margin-left: auto; margin-right: auto; @@ -838,6 +1201,9 @@ video { .mb-2 { margin-bottom: 0.5rem; } +.mb-4 { + margin-bottom: 1rem; +} .ml-2 { margin-left: 0.5rem; } @@ -867,6 +1233,9 @@ video { .h-0 { height: 0px; } +.h-12 { + height: 3rem; +} .h-20 { height: 5rem; } @@ -998,6 +1367,9 @@ video { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } +.fill-cambridge-400 { + fill: #6b9c73; +} .fill-white { fill: #fff; } @@ -1051,10 +1423,18 @@ video { font-size: 1.5rem; line-height: 2rem; } +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} .text-sm { font-size: 0.875rem; line-height: 1.25rem; } +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} .font-light { font-weight: 300; } @@ -1079,27 +1459,69 @@ video { .no-underline { text-decoration-line: none; } + +@media (prefers-color-scheme: dark) { + + .dark\:prose-invert { + --tw-prose-body: var(--tw-prose-invert-body); + --tw-prose-headings: var(--tw-prose-invert-headings); + --tw-prose-lead: var(--tw-prose-invert-lead); + --tw-prose-links: var(--tw-prose-invert-links); + --tw-prose-bold: var(--tw-prose-invert-bold); + --tw-prose-counters: var(--tw-prose-invert-counters); + --tw-prose-bullets: var(--tw-prose-invert-bullets); + --tw-prose-hr: var(--tw-prose-invert-hr); + --tw-prose-quotes: var(--tw-prose-invert-quotes); + --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders); + --tw-prose-captions: var(--tw-prose-invert-captions); + --tw-prose-kbd: var(--tw-prose-invert-kbd); + --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows); + --tw-prose-code: var(--tw-prose-invert-code); + --tw-prose-pre-code: var(--tw-prose-invert-pre-code); + --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg); + --tw-prose-th-borders: var(--tw-prose-invert-th-borders); + --tw-prose-td-borders: var(--tw-prose-invert-td-borders); + } +} + .hover\:text-blue-300:hover { --tw-text-opacity: 1; color: rgb(147 192 205 / var(--tw-text-opacity)); } + .hover\:text-cambridge-100:hover { --tw-text-opacity: 1; color: rgb(223 236 223 / var(--tw-text-opacity)); } + +.hover\:text-inherit:hover { + color: inherit; +} + +.hover\:opacity-80:hover { + opacity: 0.8; +} + .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; } + .focus\:ring-blue:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(64 121 140 / var(--tw-ring-opacity)); } + .focus-visible\:ring:focus-visible { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } + +.prose-headings\:font-light :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) { + font-weight: 300; +} + @media (min-width: 1024px) { .lg\:-ml-\[2rem\] { @@ -1145,7 +1567,13 @@ video { .lg\:pl-\[3rem\] { padding-left: 3rem; } + + .lg\:text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; + } } + @media (prefers-color-scheme: dark) { .dark\:border-cambridge-600 { diff --git a/docs/assets/images/icons.svg b/docs/assets/images/icons.svg index fbeb908..e8dafd1 100644 --- a/docs/assets/images/icons.svg +++ b/docs/assets/images/icons.svg @@ -33,5 +33,8 @@ + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 7828c73..466f339 100644 --- a/docs/index.html +++ b/docs/index.html @@ -9,7 +9,7 @@

Technology Carbon Standard (Proposed)

A proposed Technology Carbon Standard that aims to provide a unified standard for understanding, quantifying, and reducing carbon emissions from an organisation's technology landscape. Outlining a standardised methodology for attributing emissions to different aspects of the tech estate enables organisations to identify priority areas and opportunities to mitigate emissions effectively.

-
+
{% include carbonStandard.html %}
@@ -18,12 +18,10 @@

Technology Carbon Standard (Proposed)

The standard categorises emissions into three key areas:

  • Upstream Emissions: Emissions relating to the embodied carbon of hardware and the carbon emissions of the development and distribution of installed software used by the organisation.
  • -
  • Operational Emissions: Emissions from the day-to-day running of the organisation's IT infrastructure and services. This encompasses emissions from powering devices, data centers, servers, and cloud services.
  • -
  • Downstream Emissions: Emissions arising from customers' use of the organisation's technology outputs and services, such as its public websites and apps.
-

This framework provides comprehensive coverage of an organisation's technology carbon footprint while clarifying the different sources of emissions. Improving quantification and transparency aims to spur more targeted, impactful efforts to reduce IT-related emissions.

+

This standard provides comprehensive coverage of an organisation's technology carbon footprint while clarifying the different sources of emissions. Improving quantification and transparency aims to spur more targeted, impactful efforts to reduce IT-related emissions.

diff --git a/docs/package-lock.json b/docs/package-lock.json index 56ed4a7..f727357 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -5,6 +5,7 @@ "packages": { "": { "devDependencies": { + "@tailwindcss/typography": "^0.5.10", "autoprefixer": "^10.4.17", "cssnano": "^6.0.3", "postcss": "^8.4.33", @@ -133,6 +134,34 @@ "node": ">=14" } }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -966,12 +995,30 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", diff --git a/docs/package.json b/docs/package.json index 3e6c038..4f9895e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,5 +1,6 @@ { "devDependencies": { + "@tailwindcss/typography": "^0.5.10", "autoprefixer": "^10.4.17", "cssnano": "^6.0.3", "postcss": "^8.4.33", diff --git a/docs/about.md b/docs/pages/about.md similarity index 98% rename from docs/about.md rename to docs/pages/about.md index ee69e41..f856f45 100644 --- a/docs/about.md +++ b/docs/pages/about.md @@ -1,6 +1,7 @@ --- layout: default title: About +permalink: /about --- # About diff --git a/docs/pages/categories/downstream.md b/docs/pages/categories/downstream.md new file mode 100644 index 0000000..781f16d --- /dev/null +++ b/docs/pages/categories/downstream.md @@ -0,0 +1,7 @@ +--- +layout: default +title: Downstream Emissions +permalink: categories/downstream.html +--- + +# Downstream Emissions \ No newline at end of file diff --git a/docs/pages/categories/operational.md b/docs/pages/categories/operational.md new file mode 100644 index 0000000..f3d5775 --- /dev/null +++ b/docs/pages/categories/operational.md @@ -0,0 +1,23 @@ +--- +layout: default +title: Operational Emissions +permalink: categories/operational.html +--- + +# Operational Emissions + +Operational emissions are the emissions generated from the organisation's tech operations. This is segmented in to three categories; O, C and G and, organised by emissions that are **directly** and **indirectly** attributed to the organisation. + +## Direct Emissions +Direct emissions are those generated by the organisation where it is *directly* consuming energy (from the energy grid; category O) and /or fuel (generators, solar, wind, etc to generate electrictiy; category G) to power the technology. That includes equipment such as: +- servers and storage devices +- networking equipment +- employee devices (laptops, monitors, phones etc) + +## Indirect Emissions +Indirect emissions are those emissions generated by third party service providers, whose servcies are used by the organisation. Services such as: +- Cloud Services +- Software as a Service (SaaS) +- Managed Services + +The emissions from these services cannot be *directly* measured by the organisation, but the use of those services certainly comes with a carbon cost. \ No newline at end of file diff --git a/docs/pages/categories/upstream.md b/docs/pages/categories/upstream.md new file mode 100644 index 0000000..8984f0d --- /dev/null +++ b/docs/pages/categories/upstream.md @@ -0,0 +1,17 @@ +--- +layout: default +title: Upstream Emissions +permalink: categories/upstream.html +--- + +# Upstream Emissions + +Upstream emissions (Category U) are the emissions associated with two areas: +- the embodied carbon from the production, transport and installation of hardware and equipment. This includes items such as: + - employee equipment including laptops, phones and printers. + - networking hardware installed within an organisation's premises, including routers, access points and switches. + - on-premise data centers, servers and data storage devices. +- the carbon emissions associated with the development and distribution of commercial off the shelf software (COTS). + +The upstream emissions can be estimated by accounting for the organisation's technolgy assets, and refering to the product life cycle data sheets that most manufacturers provide. + diff --git a/docs/tailwind.config.js b/docs/tailwind.config.js index c8b4852..e4e8c76 100644 --- a/docs/tailwind.config.js +++ b/docs/tailwind.config.js @@ -1,3 +1,4 @@ +/** @type {import('tailwindcss').Config} */ const colors = require('tailwindcss/colors') module.exports = { @@ -121,6 +122,8 @@ module.exports = { }, }, }, - plugins: [] + plugins: [ + require('@tailwindcss/typography'), + ], } diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000..a324e21 Binary files /dev/null and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100644 index 0000000..9c4c415 Binary files /dev/null and b/favicon-32x32.png differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..dc8fc63 Binary files /dev/null and b/favicon.ico differ diff --git a/site.webmanifest b/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file