M Makefile => Makefile +10 -0
@@ 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 > $@
M index.scss => index.scss +19 -1
@@ 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;
M index.slim => index.slim +9 -0
@@ 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
A kitchener/Kitchener.purs => kitchener/Kitchener.purs +66 -0
@@ 0,0 1,66 @@
+-- Full source may be found at: https://git.singpolyma.net/post-part
+-- Copyright 2020 Stephen Paul Weber <singpolyma.net>
+--
+-- 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"
A kitchener/index.scss => kitchener/index.scss +278 -0
@@ 0,0 1,278 @@
+/*
+* Full source may be found at: https://git.singpolyma.net/post-part
+* Copyright 2020 Stephen Paul Weber <singpolyma.net>
+*
+* 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;
+}
A kitchener/index.slim => kitchener/index.slim +93 -0
@@ 0,0 1,93 @@
+/ Full source may be found at: https://git.singpolyma.net/post-part
+ Copyright 2020 Stephen Paul Weber <singpolyma.net>
+
+ 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. [](https://ambrosiacornerbakery.com/)
+ 1. [](https://www.encompasshealth.ca/)
+ 1. 
+ 1. [](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).