From af32f38d7792bc90545db512ed91dd3a50ca05c4 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 11 Oct 2021 19:19:55 -0500 Subject: [PATCH] New links and put the previous home under kitchener/ --- Makefile | 10 ++ index.scss | 20 ++- index.slim | 9 ++ kitchener/Kitchener.purs | 66 ++++++++++ kitchener/index.scss | 278 +++++++++++++++++++++++++++++++++++++++ kitchener/index.slim | 93 +++++++++++++ 6 files changed, 475 insertions(+), 1 deletion(-) create mode 100644 kitchener/Kitchener.purs create mode 100644 kitchener/index.scss create mode 100644 kitchener/index.slim diff --git a/Makefile b/Makefile index 09e68e9..f2508c1 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ all: \ index.html index.css index.js \ + kitchener/index.html kitchener/index.css kitchener/index.js \ QVtq/index.html \ window/NsD0/index.html \ window/Vfqb/index.html \ @@ -27,6 +28,15 @@ index.js: Interactive.purs packages.dhall spago.dhall credits/index.html: credits/index.slim assets/paras.txt /usr/share/doc/ruby-slim/examples/slimrb -p credits/index.slim > $@ +kitchener/index.html: kitchener/index.slim assets/paras.txt assets/audio/transcripts.txt + /usr/share/doc/ruby-slim/examples/slimrb -p kitchener/index.slim > $@ + +kitchener/index.css: kitchener/index.scss _font-face.scss + sassc -Mt expanded kitchener/index.scss $@ + +kitchener/index.js: kitchener/Kitchener.purs packages.dhall spago.dhall + spago bundle-app -u-c --main Kitchener --to kitchener/index.js + window/NsD0/index.html: window.slim Makefile window.js assets/windowOneTranscript.md assets/windowOneCredits.md mkdir -p window/NsD0 /usr/share/doc/ruby-slim/examples/slimrb -l '{ "num": "One", "location": "Ambrosia Corner Bakery", "sponsors": ["ambrosia", "cotd", "breastfeeding-buddies"] }' -p window.slim > $@ diff --git a/index.scss b/index.scss index d93202f..a56534a 100644 --- a/index.scss +++ b/index.scss @@ -103,7 +103,10 @@ body > hgroup { } } -h1, h2 { font-weight: normal; } +h1, h2 { + font-weight: normal; + font-family: druk, sans-serif; +} body > p { max-width: $column-width; @@ -199,6 +202,21 @@ body > p { } } +#exhibitions { + margin: 15em 0; + + ul { + &, li { + padding: 0; + list-style-type: none; + } + + a { + font-size: 1.5em; + } + } +} + body > small { display: block; margin-top: 20vh; diff --git a/index.slim b/index.slim index 76b0e43..befd055 100644 --- a/index.slim +++ b/index.slim @@ -45,6 +45,15 @@ html p= paras[4] p= paras[5] + + section#exhibitions + h1 Exhibitions + + ul + li: a href="kitchener" CAFKA Biennale : Kitchener, ON 2021 + li: a href="https://workmanarts.com/rendezvous-with-madness/" Rendezvous with Madness Festival : Toronto, ON 2020 + li: a href="https://vimeo.com/359685290" Come Up to My Room : Toronto, ON 2018 + small Click to activate the wallpaper #wallpaper diff --git a/kitchener/Kitchener.purs b/kitchener/Kitchener.purs new file mode 100644 index 0000000..a9c244b --- /dev/null +++ b/kitchener/Kitchener.purs @@ -0,0 +1,66 @@ +-- Full source may be found at: https://git.singpolyma.net/post-part +-- Copyright 2020 Stephen Paul Weber +-- +-- Permission to use, copy, modify, and/or distribute this software for any +-- purpose with or without fee is hereby granted, provided that the above +-- copyright notice and this permission notice appear in all copies. +-- +-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +-- SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +-- RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +-- CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +-- CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +module Kitchener where + +import Prelude +import Effect +import Effect.Class +import Data.Maybe +import Data.Either +import Data.Array +import Debug.Trace +import Data.Traversable +import Math as Math +import Data.Tuple (Tuple(..)) +import Data.Int as Int +import Effect.Timer as Timer +import Effect.Ref as Ref +import Effect.Aff (Aff, Canceler(..), makeAff, launchAff_) +import Web.DOM.ParentNode (querySelector, querySelectorAll, QuerySelector(..), ParentNode) +import Web.DOM.Document as DOMDocument +import Web.HTML.HTMLDocument as HTMLDocument +import Web.HTML.HTMLElement as HTMLElement +import Web.HTML.HTMLMediaElement as HTMLMediaElement +import Web.HTML (window, HTMLElement, HTMLMediaElement) +import Web.HTML.Event.EventTypes (load) +import Web.UIEvent.MouseEvent as MouseEvent +import Web.UIEvent.MouseEvent.EventTypes (mousemove, mouseout, click) +import Web.HTML.Window as Window +import Web.DOM.Element as Element +import Web.DOM.NodeList as NodeList +import Web.DOM.DOMTokenList as DOMTokenList +import Web.Event.EventTarget (addEventListener, eventListener) +import Partial.Unsafe (unsafePartial) +import Web.CSSOM.ElementCSSInlineStyle as Style +import Web.CSSOM.CSSStyleDeclaration as Style + +data TickTock = Tick | Tock + +tick Tick = Tock +tick Tock = Tick + +main = unsafePartial $ do + win <- window + doc <- HTMLDocument.toParentNode <$> Window.document win + tickTockRef <- Ref.new Tick + Timer.setInterval 7500 $ do + Just slideshow <- (HTMLElement.fromElement =<< _) <$> + querySelector (QuerySelector "#slideshow img") doc + slideshowStyle <- Style.style (Style.fromHTMLElement slideshow) + tickTock <- Ref.modify tick tickTockRef + case tickTock of + Tick -> Style.setProperty slideshowStyle "opacity" "0" + Tock -> Style.setProperty slideshowStyle "opacity" "1" diff --git a/kitchener/index.scss b/kitchener/index.scss new file mode 100644 index 0000000..267bccc --- /dev/null +++ b/kitchener/index.scss @@ -0,0 +1,278 @@ +/* +* Full source may be found at: https://git.singpolyma.net/post-part +* Copyright 2020 Stephen Paul Weber +* +* Permission to use, copy, modify, and/or distribute this software for any +* purpose with or without fee is hereby granted, provided that the above +* copyright notice and this permission notice appear in all copies. +* +* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +* CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +@import "../font-face"; + +@include font-face(cardo, "../assets/fonts/cardo-v12-latin-regular"); +@include font-face(druk, "../assets/fonts/Druk Wide Web Medium Regular", null, null, woff2 woff ttf otf); + +$bg: black; +$fg: #fff9e4; +$fg-alt: #887a00; +$column-width: 50vw; + +html, body { + margin: 0; + font-family: cardo, sans-serif; + background: $bg; + color: $fg; + text-align: center; + line-height: 1.7; + + * { + box-sizing: border-box; + } +} + +body > hgroup { + position: relative; + margin-bottom: 3em; + + h1 { + display: block; + width: 100%; + height: 50vh; + margin-top: 2em; + background: url(../assets/img/POST-PART-TITLE.png) no-repeat center; + background-size: contain; + color: rgba(0, 0, 0, 0); + } +} + +a, a:visited, a:link { + color: #0bf; + &:hover { + color: #fb0; + } + + &[href^="https://gofund.me"], + &[href^="https://www.eventbrite.ca"], + &[href="../assets/map.pdf"] { + font-family: druk, sans-serif; + display: inline-block; + text-decoration: none; + background: $fg-alt; + color: $fg; + font-size: 2em; + padding: 0.5em; + margin: 1em; + } + + &[href^="https://www.eventbrite.ca"] { + color: $fg-alt; + background: $fg; + } + + &[href="../assets/map.pdf"] { + color: $bg; + background: transparent; + border: 0.2em solid $fg-alt; + font-size: 1em; + + &:hover { + background: $fg-alt; + border-color: $bg; + } + } +} + +h1, h2 { + font-weight: normal; + font-family: druk, sans-serif; +} + +p { + max-width: $column-width; + margin: 5em auto; + font-size: 1.5em; +} + +img { + max-width: 90%; +} + +#slideshow { + position: relative; + overflow: hidden; + margin-bottom: 5em; + + img:first-of-type { + position: absolute; + opacity: 1; + transition: opacity 5s; + } + + small { + display: block; + } +} + +body > section { + background: $fg; + color: $fg-alt; + padding-top: 5em; + padding-bottom: 5em; + + small { + display: block; + margin: auto; + max-width: $column-width; + } +} + +#location { + ol { counter-reset: ol; } + + li { + list-style-type: none; + margin: 2em 0; + font-size: 1.5em; + + &:before { + display: inline-block; + counter-increment: ol; + content: counter(ol); + background: $bg; + color: $fg; + border-radius: 100%; + width: 1.6em; + height: 1.6em; + margin-right: 0.3em; + } + + img { + max-width: $column-width/2; + max-height: 7em; + display: block; + margin: 1em auto; + } + } + + > p > a > img { + display: block; + margin: 0.5em auto; + } + + &:before { + content: ""; + display: block; + margin: auto; + background: url("../assets/img/womb-pattern.svg") no-repeat center center; + background-size: contain; + height: $column-width/2; + max-width: $column-width; + } + + &:after { + content: ""; + display: block; + margin: auto; + background: url("../assets/img/WOMAN-MIRRORED.png") no-repeat center center; + background-size: contain; + height: $column-width/2; + max-width: $column-width; + } +} + +a[href="interactive"], a[href="../../interactive"], a[href="../credits"], a[href="../"] { + display: block; + font-size: 1.5em; + margin-bottom: 5em; +} + +#sponsors, #window-sponsors, .sponsor { + li { font-size: 1.5em; } + + > p:first-of-type { + margin-top: 0; + margin-bottom: 2em; + } + + img { + display: inline-block; + margin: 2em; + max-width: $column-width/4.5; + vertical-align: middle; + + &[src$="breastfeeding-buddies.png"], + &[src$="ambrosia.png"] { + max-width: $column-width/1.5; + } + } +} + +.sponsor img { + margin-top: -3em; + margin-bottom: 5em; +} + +body > small { + display: block; + margin-bottom: 2em; +} + +#window-sponsors { + color: $bg; +} + +section#locations { + background: $bg; + color: $fg; + + section { font-size: 1.5em; } +} + +#locations { + a[href="../../"] { + &, &:visited { + display: block; + margin: auto; + background: $fg; + color: $fg-alt; + height: 5em; + width: 5em; + line-height: 5em; + text-align: center; + border-radius: 100%; + text-decoration: none; + margin-bottom: 3em; + } + + &:hover { + background: darken($fg, 10%); + } + } + + a img { + background: white; + border-radius: 100%; + } + + &:after { + content: ""; + display: block; + margin: 3em auto; + background: url("../assets/img/WOMAN-MIRRORED.png") no-repeat center center; + background-size: contain; + height: $column-width/2; + max-width: $column-width; + } +} + +.instagram { + font-family: druk, sans-serif; +} diff --git a/kitchener/index.slim b/kitchener/index.slim new file mode 100644 index 0000000..dd40481 --- /dev/null +++ b/kitchener/index.slim @@ -0,0 +1,93 @@ +/ Full source may be found at: https://git.singpolyma.net/post-part + Copyright 2020 Stephen Paul Weber + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +- paras = File.read("#{__dir__}/../assets/paras.txt").lines +doctype html +html + head + meta charset="utf-8" + title Post-Part + link type="text/css" rel="stylesheet" href="index.css" + script type="text/javascript" src="index.js" + base target="_blank" + body + hgroup + h1 Post-Part + + p= paras[8] + p= paras[9] + p= paras[13] + + #slideshow + img src="../assets/img/wallpaper-normal.png" alt="Wallpaper in natural light" + img src="../assets/img/wallpaper-blue.jpg" alt="Wallpaper in blue light" + small + ' Photograph by + a href="http://www.melaniegordon.com" Melanie Gordon + + p== paras[14] + a.sponsor href="https://cotdwaterlooregion.org/": img alt="Climb Out of the Darkness" src="../assets/img/cotd.jpg" + a.sponsor href="https://www.cafka.org/cafka21/everything-not-saved-will-be-lost": img alt="CAFKA" src="../assets/img/cafka.jpg" + + section#location + h1 Exhibition Location & Partners + + a href="../assets/map.pdf" Printable Exhibition Map + + markdown: + 1. [![Abrosia Corner Bakery](../assets/img/ambrosia.png)](https://ambrosiacornerbakery.com/) + 1. [![Encompass Health](../assets/img/encompass.png)](https://www.encompasshealth.ca/) + 1. ![Benton Street Parking Garage, at the corer of Charles Street](../assets/img/CityofKitchener.png) + 1. [![Schneider Haus National Historic Site](../assets/img/schneiderhaus.png)](https://www.schneiderhaus.ca) + + small * we acknowledge that the Post-Part exhibition will be situated on land that is the traditional home of the Neutral, Haudenosaunee (Ho-deh-no-show-nee) and Anishinaabe (Ah-nish-nah-bay) Peoples. We extend our respect to all First Nations, Métis and Inuit peoples for their past and present contributions to this land. + + p.instagram + == paras[15] + a href="https://www.instagram.com/post_part/" + img src="../assets/img/INSTAGRAM.png" alt="Instagram" + + section#sponsors + h1 Thank you to the following sponsors for their support of the Kitchener exhibition of Post-Part + + a href="https://awesomewithoutborders.org/": img alt="Awesome Without Borders" src="../assets/img/AWB.png" + a href="https://www.shorecentre.ca/": img alt="SHORE Centre" src="../assets/img/shore.png" + a href="https://doula.sette.ca": img alt="Lisette Weber, Postpartum Doula" src="../assets/img/lisette.png" + img alt="City of Kitchener" src="../assets/img/CityofKitchener.png" + a href="https://www.canadianperinatalmentalhealthtrainings.com/" + img alt="Canadian Perinatal Mental Health Trainings" src="../assets/img/cpmt.png" + a href="https://www.breastfeedingbuddies.com/" + img alt="Breastfeeding Buddies" src="../assets/img/breastfeeding-buddies.png" + a href="https://mboa.dev" + img alt="MBOA" src="../assets/img/mboa.svg" + + section + h1 Further Thanks + + ul + li Laverne and Ella Brubacher + li: a href="https://www.estherslevinsky.com/" Esther Slevinsky + li Elanor Waslander & Carole Culhane + li: a href="https://www.reeveandcompany.com" Reeve and Company Printing + li Franco Pang + + section + a href="../credits" Credits + + footer + markdown: + This website was designed by [Nat Janin](https://natjanin.com/) and + [Catherine Mellinger](http://www.cargocollective.com/catherinemellinger), + developed by [Stephen Paul Weber](https://git.singpolyma.net/post-part). -- 2.38.4