diff --git a/src/components/EmissionsBreakdownGraph.vue b/src/components/EmissionsBreakdownGraph.vue index 1dd34f81..25c8d525 100644 --- a/src/components/EmissionsBreakdownGraph.vue +++ b/src/components/EmissionsBreakdownGraph.vue @@ -18,6 +18,7 @@ export default class EmissionsBreakdownGraph extends Vue { src="/chicago-2017-ghg-emissions.png" width="167" height="400" + class="-shadowed" alt="2017 GHG Emissions - 31M metric tons CO2 equivalent 69% buildings diff --git a/src/layouts/Default.vue b/src/layouts/Default.vue index 47d76c50..c4917c93 100644 --- a/src/layouts/Default.vue +++ b/src/layouts/Default.vue @@ -112,6 +112,13 @@ export default class Default extends Vue { About + + Blog + +
+import { Component, Vue } from 'vue-property-decorator'; + +import NewTabIcon from '~/components/NewTabIcon.vue'; +import { LatestDataYear } from '../constants/globals.vue'; + +// TODO: Figure out a way to get metaInfo working without any +// https://github.com/xerebede/gridsome-starter-typescript/issues/37 +@Component({ + components: { + NewTabIcon, + }, + metaInfo() { + return { title: 'Blog' }; + }, +}) +export default class About extends Vue { + readonly LatestDataYear: number = LatestDataYear; +} + + + diff --git a/src/pages/Index.vue b/src/pages/Index.vue index defc0bc4..9b8a9bcf 100644 --- a/src/pages/Index.vue +++ b/src/pages/Index.vue @@ -90,6 +90,10 @@ export default class BiggestBuildings extends Vue { Electrify Chicago +

+ An independent tool for viewing City of Chicago building data +

+

@@ -104,11 +108,10 @@ export default class BiggestBuildings extends Vue { , a whopping 69% of Chicago's emissions come from buildings, making it our biggest challenge and our biggest opportunity as a city to tackle - change. At Electrify Chicago we want to showcase some of the best and worst performing + change. At Electrify Chicago, we want to showcase some of the best and worst performing buildings in the city using publicly available data and manual annotations to add building photographs and label multi-building owners like universities.

-

You can start by looking at Chicago's buildings with the highest greenhouse gas @@ -117,27 +120,50 @@ export default class BiggestBuildings extends Vue { buildings on this metric.

-
-

Legislative update! ๐ŸŽ‰

- -

- As of late January 2024, legislation is being introduced to require new buildings use - more efficient forms of water and space heating, via the Clean And Affordable - Buildings Ordinance (CABO), which will reduce the number of highly polluting and - inefficient buildings that end up on this site. -

- -

- If you're in Chicago, - - - write to your alderman to support the CABO! - -

+
+
+

+
+ New Article +
+ ๐Ÿ“ฐ $30 Million In Missed Fines +

+ +

+ The City Of Chicago failed to collect $30 million in potential fines from + the building benchmarking ordinance, reducing transparency and accountability. +

+ +

+ Read Our Full Blog Post On Millions in Missed Fines. +

+
+ +
+

Legislative update! ๐ŸŽ‰

+ +

+ As of late January 2024, legislation is being introduced to require new + use more efficient forms of water and space heating, via the Clean And Affordable + Buildings Ordinance (CABO), which will reduce the number of highly polluting and + inefficient buildings that end up on this site. +

+ +

+ If you're in Chicago, + + + write to your alderman to support the CABO! + +

+
@@ -208,12 +234,25 @@ export default class BiggestBuildings extends Vue { .homepage { h1 { margin-bottom: 0; } + .tagline { + font-weight: bold; + margin-bottom: 1rem; + } + .row { display: flex; justify-content: space-between; gap: 2rem; - p.constrained { font-size: 1.25rem; } + p.constrained { font-size: 1.125rem; } + } + + .announcements { + display: flex; + gap: 1rem; + align-items: flex-start; + + > * { flex-basis: 100%; } } .emissions-breakdown { @@ -256,13 +295,14 @@ export default class BiggestBuildings extends Vue { } @media (max-width: $mobile-max-width) { + .announcements { flex-direction: column; } + .row { display: block; } .emissions-breakdown { width: 100%; text-align: center; - &.-mobile { display: block; } &.-desktop { display: none; } } diff --git a/src/pages/blog/MillionsInMissedFines.vue b/src/pages/blog/MillionsInMissedFines.vue new file mode 100644 index 00000000..1675f169 --- /dev/null +++ b/src/pages/blog/MillionsInMissedFines.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/scss/colors.scss b/src/scss/colors.scss index ccc5425b..666a29db 100644 --- a/src/scss/colors.scss +++ b/src/scss/colors.scss @@ -5,12 +5,14 @@ $grey: #dcdcdc; $grey-dark: #c4c1c1; $grey-light: #eaeaea; +$off-white: #f6f6f6; $orange: #ffa500; $black: #000; $white: #fff; $text-main: #000; +$text-light: #737373; $link-blue: #2136ab; $chicago-blue: #41B6E6; diff --git a/src/scss/global.scss b/src/scss/global.scss index 29c7bf3a..4f6046b4 100644 --- a/src/scss/global.scss +++ b/src/scss/global.scss @@ -20,13 +20,32 @@ body { a { color: $link-blue; } +a.grey-link { + background-color: $grey-light; + color: $black; + border-radius: $brd-rad-small; + padding: 0.25rem 1rem; + text-decoration: none; + + &:hover, &:focus { background-color: $grey; } +} + h1, h2, h3, h4, h5, h6 { &:focus { border-bottom: solid 0.5rem $chicago-blue; outline: none; } + + // Drop margin for the first paragraph after a heading + + p { margin-top: 0; } } +h1 { margin: 1.5rem 0 0.5rem 0; } +h2 { margin: 1rem 0 0.5rem 0; } + +p.-no-margin, p:first-of-type { margin: 0; } + + /** * Default Form Styling */ @@ -74,14 +93,17 @@ summary:focus { outline-offset: 0; } img { max-width: 100%; } img.-shadowed { + margin-top: 1rem; border: solid $border-thin $grey; - box-shadow: 0.125rem 0.125rem 0.125rem $box-shadow-main; + box-shadow: 0.125rem 0.125rem 0.25rem $box-shadow-main; } .large-text { font-size: 1.3em; } .smaller { font-size: smaller; } +.regular-text-size { font-size: 1rem; ;} + .x-small-text { font-size: 0.75rem; } .footnote { @@ -139,10 +161,13 @@ form.search-form { padding: 1rem; border-radius: 1rem; border: solid 0.25rem #ff5454; - background: #ffdce8; - border-top-width: 3rem; + background: $off-white; + border-top-width: 2rem; max-width: 40rem; + &.-orange { border-color: $orange; } + &.-blue { border-color: $chicago-blue; } + h2 { margin-top: 0; } .bold { font-size: 1.125rem; } diff --git a/static/blog/millions-in-missed-fines/max-fine-quote.webp b/static/blog/millions-in-missed-fines/max-fine-quote.webp new file mode 100644 index 00000000..285592cd Binary files /dev/null and b/static/blog/millions-in-missed-fines/max-fine-quote.webp differ diff --git a/static/blog/millions-in-missed-fines/non-reporting-buildings-query.webp b/static/blog/millions-in-missed-fines/non-reporting-buildings-query.webp new file mode 100644 index 00000000..432347d0 Binary files /dev/null and b/static/blog/millions-in-missed-fines/non-reporting-buildings-query.webp differ diff --git a/static/blog/millions-in-missed-fines/zoomed-non-reporting-count.webp b/static/blog/millions-in-missed-fines/zoomed-non-reporting-count.webp new file mode 100644 index 00000000..2466c337 Binary files /dev/null and b/static/blog/millions-in-missed-fines/zoomed-non-reporting-count.webp differ