Commit a6852224 authored by Raphael's avatar Raphael

Printable endorsements updates

* general election HTML and PDF
* primary: removed automatically advancing races (less than 3 candidates filed)
* "see reverse" for info side
* increase font sizes
* Roboto font families
parent ff1e342b
Pipeline #70422941 passed with stages
in 1 minute and 55 seconds
import Helmet from 'react-helmet'
import {createElement as h}from 'react'
import logo from '../../../../../components/logo.js'
const title = `General Endorsements Info`
const month = 'November'
const day_ordinal = '5th'
const color = '#0000A0'
const highlight_logo = '#8080C0'
const size = 15
const fontSize = size
const padding = `0 ${size}px`
const p = {style: {
lineHeight:'1.5',
marginBottom:size,
padding,
}}
const Page = () => (
h('div', {style: {
display:'flex',
fontSize,
}},
h(Helmet, {},
h('title', {}, title),
),
h(Card),
h(Card),
)
)
const Card = () => (
h('div', {style: {
borderColor:color,
borderStyle:'solid',
borderWidth:4,
boxSizing:'border-box',
color,
display:'flex',
flexDirection:'column',
justifyContent:'space-between',
fontFamily:'Roboto, sans-serif',
fontWeight:'normal',
margin:'0.25in',
height:'10.5in',
width:'3.75in',
}},
h('div', {style: {
display:'flex',
margin:'.5em',
}},
h('div', {style: {
background:color,
marginRight:'.5em',
}},
h('div', {
style: {height:'5em', width:'5em', },
},
logo({fill:highlight_logo})
),
),
h('div', {style: {
alignSelf:'flex-end',
fontFamily:'Roboto Slab, serif',
fontSize:'1.25em',
fontWeight:'bold',
letterSpacing:'3',
}},
h('div', {},
h('span', {style: {fontSize:'2em'}}, '32'),
h('span', {style: {textTransform:'uppercase'}}, 'nd'),
),
h('div', {style: {textTransform:'uppercase'}}, 'District'),
h('div', {style: {textTransform:'uppercase'}}, 'Democrats'),
),
),
h('div', {style:{
fontFamily: 'Roboto Mono, monospace',
padding,
}},
'See reverse side for endorsements.',
),
h('div', {},
h('div', p, 'Hi Neighbors,'),
h('div', p, `We are the 32nd District Democrats, and we fight for progressive issues. We hope this endorsement list will help you with your voting decisions for the ${month} ${day_ordinal} ballot.`),
h('div', p, 'Our meetings are held on the 2nd Wednesday of the each month at 7pm — please join us!'),
h('div', p, 'Check out our website for meeting location, agenda, and current issues: https://32democrats.org/'),
),
h('img', {src:'/img/map-screenshot.png', style:{
maxHeight:'4.75in',
maxWidth:`calc(3.75in - ${2*size}px)`,
objectFit: 'contain',
margin:'0 auto',
}}),
h('div', p,
'Paid for by: 32nd District Democrats',
h('br'),
'PO Box 55622, Shoreline, WA 98155',
h('br'),
'Alan Charnley, Chair',
),
)
)
export default Page
import Helmet from 'react-helmet'
import {createElement as h} from 'react'
import logo from '../../../../../components/logo.js'
const county = 'King'
const election = 'General'
const year = '2019'
const month = 'November'
const day = '5'
const title = `${county} ${year} ${election} Endorsements`
const color = '#0000A0'
const highlight = '#E8E8F8'
const highlight_logo = '#8080C0'
const size = 14
const fontSize = size
const padding = `3px ${size}px`
const group = {style:{
background: highlight,
fontSize: '1.5em',
marginTop: size,
padding,
}}
const office = {style:{
fontWeight: 'bold',
padding,
}}
const names = {style:{
display:'flex',
}}
const name = {
style: {
display: 'list-item',
listStyleType: 'square',
margin: `3px 0 3px ${size*3}px`,
whiteSpace:'nowrap',
},
}
const Page = () => (
h('div', {style:{
display: 'flex',
fontSize,
}},
h(Helmet, {},
h('title', {}, title),
),
h(Card),
h(Card),
)
)
const Card = () => (
h('div', {style:{
borderColor: color,
borderStyle: 'solid',
borderWidth: 4,
boxSizing:'border-box',
color,
fontFamily:'Roboto, sans-serif',
fontWeight: 'normal',
margin: '0.25in',
height: '10.5in',
width: '3.75in',
}},
h('div', {style:{
display: 'flex',
margin: '.5em',
}},
h('div', {style: {
background:color,
marginRight:'.5em',
}},
h('div', {
style: {height:'5em', width:'5em', },
},
logo({fill:highlight_logo})
),
),
h('div', {style:{
alignSelf:'flex-end',
fontFamily:'Roboto Slab, serif',
fontSize:'1.25em',
fontWeight:'bold',
letterSpacing:'3',
}},
h('div', {},
h('span', {style:{fontSize:'2em'}},'32'),
h('span', {style:{textTransform:'uppercase'}},'nd'),
),
h('div', {style: {textTransform:'uppercase'}}, 'District'),
h('div', {style: {textTransform:'uppercase'}}, 'Democrats'),
),
),
h('div', {style:{
background: color,
color: 'white',
padding: '.5em 0',
}},
h('div', {style:{
fontSize:'2em',
padding,
}},
`${month} ${day}, ${year}`
),
h('div', {style:{padding}}, `${election} Election Endorsements`),
),
h('div', {style:{
background: highlight,
fontSize:'2em',
marginTop: size,
padding,
}},
`${county} County`
),
h('div', office, 'King County Council, District 4'),
h('div', name, 'Jeanne Kohl-Welles'),
h('div', office, 'King County Superior Court Judge, Position 5'),
h('div', name, 'Maureen McKee'),
h('div', office, 'King County Superior Court Judge, Position 16'),
h('div', name, 'Averil Rothrock'),
h('div', office, 'King County Superior Court Judge, Position 31'),
h('div', name, 'Marshall Ferguson'),
h('div', office, 'King County Superior Court Judge, Position 37'),
h('div', name, 'Michael Ryan'),
h('div', office, 'King County Superior Court Judge, Position 49'),
h('div', name, 'Aimee Sutton'),
h('div', group, 'Port of Seattle'),
h('div', office, 'Port of Seattle, Commissioner Position 2'),
h('div', name, 'Sam Cho'),
h('div', office, 'Port of Seattle, Commissioner Position 5'),
h('div', name, 'Fred Felleman'),
h('div', group, 'City of Seattle'),
h('div', office, 'Seattle Council, District 5'),
h('div', names,
h('div', name, 'Debora Juarez'),
h('div', name, 'John Lombard'),
),
h('div', office, 'Seattle School District Director, District 1'),
h('div', name, 'Eric Blumhagen'),
h('div', group, 'City of Shoreline'),
h('div', office, 'Shoreline Council, Position 2'),
h('div', name, 'Keith Patrick Scully'),
h('div', office, 'Shoreline Council, Position 4'),
h('div', name, 'Doris McConnell'),
h('div', office, 'Shoreline Council, Position 6'),
h('div', name, 'Betsy Robertson'),
h('div', office, 'Shoreline School District 412, Director, District 1'),
h('div', name, 'Meghan Jernigan'),
h('div', office, 'Shoreline School District 412, Director, District 4'),
h('div', name, 'Rebeca Rivera'),
h('div', office, 'Shoreline School District 412, Director, District 5'),
h('div', names,
h('div', name, 'Joe Cunningham'),
h('div', name, 'Sara Betnel'),
),
)
)
export default Page
import Helmet from 'react-helmet'
import {createElement as h}from 'react'
import logo from '../../../../../components/logo.js'
const county = 'Snohomish'
const election = 'General'
const year = '2019'
const month = 'November'
const day = '5'
const title = `${county} ${year} ${election} Endorsements`
const color = '#0000A0'
const highlight = '#E8E8F8'
const highlight_logo = '#8080C0'
const size = 12
const fontSize = size
const padding = `2px ${size}px`
const group = {style: {
background:highlight,
fontSize:'1.5em',
marginTop:size,
padding,
}}
const office = {style: {
fontWeight:'bold',
padding,
}}
const names = {style: {
display:'flex',
}}
const name = {
style: {
display:'list-item',
listStyleType:'square',
margin:`3px 0 3px ${size * 3}px`,
whiteSpace:'nowrap',
},
}
const Page = () => (
h('div', {style: {
display:'flex',
fontSize,
}},
h(Helmet, {},
h('title', {}, title),
),
h(Card),
h(Card),
)
)
const Card = () => (
h('div', {style: {
borderColor:color,
borderStyle:'solid',
borderWidth:4,
boxSizing:'border-box',
color,
fontFamily:'Roboto, sans-serif',
fontWeight:'normal',
margin:'0.25in',
height:'10.5in',
width:'3.75in',
}},
h('div', {style: {
display:'flex',
margin:'.5em',
}},
h('div', {style: {
background:color,
marginRight:'.5em',
}},
h('div', {
style: {height:'5em', width:'5em', },
},
logo({fill:highlight_logo})
),
),
h('div', {style: {
alignSelf:'flex-end',
fontFamily:'Roboto Slab, serif',
fontSize:'1.25em',
fontWeight:'bold',
letterSpacing:'3',
}},
h('div', {},
h('span', {style: {fontSize:'2em'}}, '32'),
h('span', {style: {textTransform:'uppercase'}}, 'nd'),
),
h('div', {style: {textTransform:'uppercase'}}, 'District'),
h('div', {style: {textTransform:'uppercase'}}, 'Democrats'),
),
),
h('div', {style: {
background:color,
color:'white',
padding:'.5em 0',
}},
h('div', {style: {
fontSize:'2em',
padding,
}},
`${month} ${day}, ${year}`
),
h('div', {style:{padding}}, `${election} Election Endorsements`),
),
h('div', {style: {
background:highlight,
fontSize:'2em',
marginTop:size,
padding,
}},
`${county} County`
),
h('div', office, 'Snohomish County Executive'),
h('div', name, 'Dave Somers'),
h('div', office, 'Snohomish County Sheriff'),
h('div', name, 'Ty Trenary'),
h('div', office, 'Snohomish County Council, District 3'),
h('div', name, 'Stephanie Wright'),
h('div', office, 'Snohomish County Auditor'),
h('div', name, 'Cindy Gobel'),
h('div', office, 'Superior Court Judge Position 7'),
h('div', name, 'Edirin Okoloko'),
h('div', office, 'Superior Court Judge Position 13'),
h('div', name, 'Jennifer Langbehn'),
h('div', office, 'Superior Court Judge Position 14'),
h('div', name, 'Paul W. Thompson'),
h('div', office, 'South Sno. Co. Fire & Rescue RFA Commissioner, District 1'),
h('div', name, 'Ted Hikel'),
h('div', group, 'City of Edmonds'),
h('div', office, 'Edmonds Mayor'),
h('div', name, 'Mike Nelson'),
h('div', office, 'Edmonds Council, Position 4'),
h('div', name, 'Jenna Nand'),
h('div', office, 'Edmonds Council, Position 5'),
h('div', name, 'Alicia Crank'),
h('div', office, 'Edmonds Council, Position 6'),
h('div', name, 'Susan Paine'),
h('div', office, 'Edmonds Council, Position 7'),
h('div', name, 'Laura Johnson'),
h('div', {style:{
background:highlight,
marginTop:size,
padding,
}},
h('div', {style:{fontSize:'1.5em',}}, 'Edmonds School District 15'),
h('div', {style:{lineHeight:1.5}}, 'also includes Brier, Lynnwood, Mountlake Terrace'),
),
h('div', office, 'Edmonds School District 15 Director, District 1'),
h('div', name, 'Carin Chase'),
h('div', office, 'Edmonds School District 15 Director, District 3'),
h('div', names,
h('div', name, 'Jennifer Cail'),
h('div', name, 'Rory Graves'),
),
h('div', office, 'Edmonds School District 15 Director, District 5'),
h('div', name, 'Nancy Katims'),
h('div', group, 'City of Lynnwood'),
h('div', office, 'Lynnwood Council, Position 4'),
h('div', name, 'Van AuBuchon'),
h('div', office, 'Lynnwood Council, Position 5'),
h('div', name, 'Rosamaria Graziani'),
h('div', office, 'Lynnwood Council, Position 6'),
h('div', name, 'George Hurst'),
h('div', office, 'Lynnwood Council, Position 7'),
h('div', name, 'Shirley Sutton'),
)
)
export default Page
......@@ -8,7 +8,7 @@ const day_ordinal = '6th'
const color = '#0000A0'
const highlight_logo = '#8080C0'
const size = 12
const size = 15
const fontSize = size
const padding = `0 ${size}px`
......@@ -40,7 +40,7 @@ h('div', {style: {
display:'flex',
flexDirection:'column',
justifyContent:'space-between',
fontFamily:'sans-serif',
fontFamily:'Roboto, sans-serif',
fontWeight:'normal',
margin:'0.25in',
height:'10.5in',
......@@ -62,7 +62,7 @@ h('div', {style: {
),
h('div', {style: {
alignSelf:'flex-end',
fontFamily:'serif',
fontFamily:'Roboto Slab, serif',
fontSize:'1.25em',
fontWeight:'bold',
letterSpacing:'3',
......@@ -75,12 +75,17 @@ h('div', {style: {
h('div', {style: {textTransform:'uppercase'}}, 'Democrats'),
),
),
h('div', {style:{
fontFamily: 'Roboto Mono, monospace',
padding,
}},
'See reverse side for endorsements.',
),
h('div', {},
h('div', p, 'Hi Neighbors,'),
h('div', p, `We are the 32nd District Democrats, and we fight for progressive issues. We hope this endorsement list will help you with your voting decisions for the ${month} ${day_ordinal} ballot.`),
h('div', p, 'Our meetings are held on the 2nd Wednesday of the each month at 7pm — please join us!'),
h('div', p, 'Check out our website for meeting location, agenda, and current issues:'),
h('div', p, 'https://32democrats.org/'),
h('div', p, 'Check out our website for meeting location, agenda, and current issues: https://32democrats.org/'),
),
h('img', {src:'/img/map-screenshot.png', style:{
maxHeight:'4.75in',
......
......@@ -12,13 +12,13 @@ const title = `${county} ${year} ${election} Endorsements`
const color = '#0000A0'
const highlight = '#E8E8F8'
const highlight_logo = '#8080C0'
const size = 12
const size = 14
const fontSize = size
const padding = `3px ${size}px`
const group = {style:{
background: highlight,
fontSize: '1.5em',
fontSize: '1.5em',
marginTop: size,
padding,
}}
......@@ -57,7 +57,7 @@ h('div', {style:{
borderWidth: 4,
boxSizing:'border-box',
color,
fontFamily: 'sans-serif',
fontFamily:'Roboto, sans-serif',
fontWeight: 'normal',
margin: '0.25in',
height: '10.5in',
......@@ -79,7 +79,7 @@ h('div', {style:{
),
h('div', {style:{
alignSelf:'flex-end',
fontFamily:'serif',
fontFamily:'Roboto Slab, serif',
fontSize:'1.25em',
fontWeight:'bold',
letterSpacing:'3',
......@@ -113,25 +113,13 @@ h('div', {style:{
}},
`${county} County`
),
h('div', office, 'King County Council, District 4'),
h('div', name, 'Jeanne Kohl-Welles'),
h('div', office, 'King Superior Court Judge, Position 5'),
h('div', name, 'Maureen McKee'),
h('div', office, 'King Superior Court Judge, Position 16'),
h('div', name, 'Averil Rothrock'),
h('div', office, 'King Superior Court Judge, Position 31'),
h('div', name, 'Marshall Ferguson'),
h('div', office, 'King Superior Court Judge, Position 37'),
h('div', name, 'Michael Ryan'),
h('div', office, 'King Superior Court Judge, Position 49'),
h('div', name, 'Aimee Sutton'),
h('div', group, 'Port of Seattle'),
h('div', office, 'Port of Seattle, Commissioner Position 2'),
h('div', name, 'Sam Cho'),
h('div', office, 'Port of Seattle, Commissioner Position 5'),
h('div', name, 'Fred Felleman'),
h('div', group, 'City of Seattle'),
h('div', office, 'Seattle Council, District 5'),
h('div', office, 'Seattle Council, District 5'),
h('div', names,
h('div', name, 'Debora Juarez'),
h('div', name, 'John Lombard'),
......@@ -139,17 +127,9 @@ h('div', {style:{
h('div', office, 'Seattle School District Director, District 1'),
h('div', name, 'Eric Blumhagen'),
h('div', group, 'City of Shoreline'),
h('div', office, 'Shoreline Council, Position 2'),
h('div', name, 'Keith Patrick Scully'),
h('div', group, 'City of Shoreline'),
h('div', office, 'Shoreline Council, Position 4'),
h('div', name, 'Doris McConnell'),
h('div', office, 'Shoreline Council, Position 6'),
h('div', name, 'Betsy Robertson'),
h('div', office, 'Shoreline School District 412, Director, District 1'),
h('div', name, 'Meghan Jernigan'),
h('div', office, 'Shoreline School District 412, Director, District 4'),
h('div', name, 'Rebeca Rivera'),
h('div', office, 'Shoreline School District 412, Director, District 5'),
h('div', names,
h('div', name, 'Joe Cunningham'),
......
......@@ -12,9 +12,9 @@ const title = `${county} ${year} ${election} Endorsements`
const color = '#0000A0'
const highlight = '#E8E8F8'
const highlight_logo = '#8080C0'
const size = 12
const size = 14
const fontSize = size
const padding = `2px ${size}px`
const padding = `3px ${size}px`
const group = {style: {
background:highlight,
......@@ -58,7 +58,7 @@ h('div', {style: {
borderWidth:4,
boxSizing:'border-box',
color,
fontFamily:'sans-serif',
fontFamily:'Roboto, sans-serif',
fontWeight:'normal',
margin:'0.25in',
height:'10.5in',
......@@ -80,7 +80,7 @@ h('div', {style: {
),
h('div', {style: {
alignSelf:'flex-end',
fontFamily:'serif',
fontFamily:'Roboto Slab, serif',
fontSize:'1.25em',
fontWeight:'bold',
letterSpacing:'3',
......@@ -114,34 +114,11 @@ h('div', {style: {
}},
`${county} County`
),
h('div', office, 'Snohomish County Executive'),
h('div', name, 'Dave Somers'),
h('div', office, 'Snohomish County Sheriff'),
h('div', name, 'Ty Trenary'),
h('div', office, 'Snohomish County Council, District 3'),
h('div', name, 'Stephanie Wright'),
h('div', office, 'Snohomish County Auditor'),
h('div', name, 'Cindy Gobel'),
h('div', office, 'Superior Court Judge Position 7'),
h('div', name, 'Edirin Okoloko'),
h('div', office, 'Superior Court Judge Position 13'),
h('div', name, 'Jennifer Langbehn'),
h('div', office, 'Superior Court Judge Position 14'),
h('div', name, 'Paul W. Thompson'),
h('div', office, 'South Sno. Co. Fire & Rescue RFA Commissioner, District 1'),
h('div', name, 'Ted Hikel'),
h('div', group, 'City of Edmonds'),
h('div', office, 'Edmonds Mayor'),
h('div', name, 'Mike Nelson'),
h('div', office, 'Edmonds Council, Position 4'),
h('div', name, 'Jenna Nand'),
h('div', office, 'Edmonds Council, Position 5'),
h('div', name, 'Alicia Crank'),
h('div', office, 'Edmonds Council, Position 6'),
h('div', name, 'Susan Paine'),
h('div', office, 'Edmonds Council, Position 7'),
h('div', name, 'Laura Johnson'),
h('div', {style:{
background:highlight,
marginTop:size,
......@@ -150,8 +127,6 @@ h('div', {style: {
h('div', {style:{fontSize:'1.5em',}}, 'Edmonds School District 15'),
h('div', {style:{lineHeight:1.5}}, 'also includes Brier, Lynnwood, Mountlake Terrace'),
),
h('div', office, 'Edmonds School District 15 Director, District 1'),
h('div', name, 'Carin Chase'),
h('div', office, 'Edmonds School District 15 Director, District 3'),
h('div', names,
h('div', name, 'Jennifer Cail'),
......@@ -164,8 +139,6 @@ h('div', {style: {
h('div', name, 'Van AuBuchon'),
h('div', office, 'Lynnwood Council, Position 5'),
h('div', name, 'Rosamaria Graziani'),
h('div', office, 'Lynnwood Council, Position 6'),
h('div', name, 'George Hurst'),
h('div', office, 'Lynnwood Council, Position 7'),
h('div', name, 'Shirley Sutton'),
)
......
......@@ -35,23 +35,40 @@ const IndexPage = () => (
</dl>
<hr/>
<h2>Printable Endorsements</h2>
<table>
<tr>
<td>King</td>
<td><Link to="/endorsements/print/2019/primary/king">HTML</Link></td>
<td><a href='/doc/2019/endorsements/primary/king.pdf'>PDF</a></td>
</tr>
<tr>
<td>Snohomish</td>
<td><Link to="/endorsements/print/2019/primary/snohomish">HTML</Link></td>
<td><a href='/doc/2019/endorsements/primary/snohomish.pdf'>PDF</a></td>
</tr>
<tr>
<td>Info</td>
<td><Link to="/endorsements/print/2019/primary/info">HTML</Link></td>
<td><a href='/doc/2019/endorsements/primary/info.pdf'>PDF</a></td>
</tr>