diff --git a/content/organizers/*organizer-template.json b/content/organizers/*organizer-template.json
new file mode 100644
index 00000000..5c0d0c22
--- /dev/null
+++ b/content/organizers/*organizer-template.json
@@ -0,0 +1,27 @@
+{
+ "name": "",
+ "headshot": "",
+ "pronouns": "",
+ "city": "",
+ "bio": "",
+ "role": [],
+ "links": [
+ {
+ "type": "twitter",
+ "url": ""
+ },
+ {
+ "type": "linkedin",
+ "url": ""
+ },
+ {
+ "type": "github",
+ "url": ""
+ },
+ {
+ "type": "website",
+ "url": ""
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/adrienne-domingus.json b/content/organizers/adrienne-domingus.json
new file mode 100644
index 00000000..777f8c91
--- /dev/null
+++ b/content/organizers/adrienne-domingus.json
@@ -0,0 +1,19 @@
+{
+ "name": "Adrienne Domingus",
+ "headshot": "/images/adrienne-domingus.jpg",
+ "pronouns": "she/her",
+ "city": "Seattle",
+ "bio": "",
+ "role": ["Chapter Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "https://twitter.com/a_domingus"
+ },
+ {
+ "type": "linkedin",
+ "url": "https://www.linkedin.com/in/adriennedomingus/"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/alex-millatmal.json b/content/organizers/alex-millatmal.json
new file mode 100644
index 00000000..86617236
--- /dev/null
+++ b/content/organizers/alex-millatmal.json
@@ -0,0 +1,27 @@
+{
+ "name": "Alex Millatmal",
+ "headshot": "/images/alex-millatmal.jpg",
+ "pronouns": "she/her",
+ "city": "New York City",
+ "bio": "",
+ "role": ["Website Contributor", "Conference Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "halfghaninne"
+ },
+ {
+ "type": "linkedin",
+ "url": "alexandrajmh"
+ },
+ {
+ "type": "github",
+ "url": "halfghaninne"
+ },
+ {
+ "type": "website",
+ "url": "https://alexandramillatmal.com"
+ }
+ ]
+}
+
\ No newline at end of file
diff --git a/content/organizers/kara-carrell.json b/content/organizers/kara-carrell.json
new file mode 100644
index 00000000..d49d043a
--- /dev/null
+++ b/content/organizers/kara-carrell.json
@@ -0,0 +1,15 @@
+{
+ "name": "Kara Carrell",
+ "headshot": "",
+ "pronouns": "she/they",
+ "city": "Chicago",
+ "bio": "Queer blaxican communitechie committed to caring for & growing codebases that challenge the 'Way Things Are'. Developer at TableXI.",
+ "role": ["Chapter Organizer", "Website Contributor"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "karaAJC"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/lateesha-thomas.json b/content/organizers/lateesha-thomas.json
new file mode 100644
index 00000000..4bc218df
--- /dev/null
+++ b/content/organizers/lateesha-thomas.json
@@ -0,0 +1,21 @@
+{
+ "name": "Lateesha Thomas",
+ "pronouns": "she/her",
+ "city": "Oakland",
+ "role": ["Board Member"],
+ "headshot": "/images/lateesha-thomas.jpg",
+ "links": [
+ {
+ "type": "twitter",
+ "url": "lateeshathomas"
+ },
+ {
+ "type": "linkedin",
+ "url": "lateeshathomas"
+ },
+ {
+ "type": "github",
+ "url": "lateesha"
+ }
+ ]
+}
diff --git a/content/organizers/lynn-cyrin.json b/content/organizers/lynn-cyrin.json
new file mode 100644
index 00000000..90331f12
--- /dev/null
+++ b/content/organizers/lynn-cyrin.json
@@ -0,0 +1,19 @@
+{
+ "name": "Lynn Cyrin",
+ "headshot": "/images/lynn-cyrin.jpg",
+ "pronouns": "they/them",
+ "city": "Seattle",
+ "bio": "",
+ "role": ["Chapter Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "lynncyrin"
+ },
+ {
+ "type": "github",
+ "url": "lynncyrin"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/marie-casabonne.json b/content/organizers/marie-casabonne.json
new file mode 100644
index 00000000..1ecc11cf
--- /dev/null
+++ b/content/organizers/marie-casabonne.json
@@ -0,0 +1,19 @@
+{
+ "name": "Marie Casabonne",
+ "headshot": "/images/marie-casabonne.jpeg",
+ "pronouns": "she/her",
+ "city": "San Francisco",
+ "bio": "Marie's been riding the Venn diagram of the tech, education, and nonprofit spaces for close to a decade and she firmly believes that the path to improving our world rests where all three meet. She's been involved with Write/Speak/Code since 2017, starting as a volunteer organizer for our annual conference. When she's not organizing conferences or responding to pings on Slack, she can be found hiking and running in the mountains, mastering a macrame project, or cooking with friends. ",
+ "role": ["Board Member", "Conference Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "goodcasa"
+ },
+ {
+ "type": "linkedin",
+ "url": "mariecasabonne"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/nayonna-purnell.json b/content/organizers/nayonna-purnell.json
index a395682b..6eb48dc7 100644
--- a/content/organizers/nayonna-purnell.json
+++ b/content/organizers/nayonna-purnell.json
@@ -1,8 +1,8 @@
{
"name": "Nayonna Purnell",
- "headshot": "/images/untitled.jpg",
+ "headshot": "/images/nayonna-purnell.jpg",
"pronouns": "she/her",
- "role": ["Website Contributor", "Conference Organizer"],
+ "role": ["Website Contributor"],
"links": [
{
"type": "linkedin",
diff --git a/content/organizers/nicola-b.json b/content/organizers/nicola-beuscher.json
similarity index 69%
rename from content/organizers/nicola-b.json
rename to content/organizers/nicola-beuscher.json
index b18ef8c8..01490d15 100644
--- a/content/organizers/nicola-b.json
+++ b/content/organizers/nicola-beuscher.json
@@ -1,6 +1,7 @@
{
- "name": "Nicola B",
- "headshot": "/images/nicola-b.jpg",
+ "name": "Nicola Beuscher",
+ "headshot": "/images/nicola-beuscher.png",
+ "city": "New York City",
"pronouns": "she/her",
"role": ["Website Contributor", "Conference Organizer"],
"links": [
diff --git a/content/organizers/nicole-majeske.json b/content/organizers/nicole-majeske.json
new file mode 100644
index 00000000..451673ab
--- /dev/null
+++ b/content/organizers/nicole-majeske.json
@@ -0,0 +1,19 @@
+{
+ "name": "Nicole Majeske",
+ "headshot": "/images/nicole-majeske.jpg",
+ "pronouns": "she/her",
+ "city": "Austin",
+ "bio": "Nicole is an Experience Designer in Austin, Texas. She pushes to advance more inclusive, accessible, and thoughtful design decisions in her work and in her local tech community. Outside of work you can find traveling, doodling, or cooking up new recipes in her kitchen.",
+ "role": ["Chapter Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "nicole_majeske"
+ },
+ {
+ "type": "linkedin",
+ "url": "nicole_majeske"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/sophia-li.json b/content/organizers/sophia-li.json
new file mode 100644
index 00000000..4ba5e09d
--- /dev/null
+++ b/content/organizers/sophia-li.json
@@ -0,0 +1,15 @@
+{
+ "name": "Sophia Li",
+ "headshot": "/images/sophia-li.jpg",
+ "pronouns": "she/her",
+ "city": "San Francisco",
+ "bio": "",
+ "role": ["Chapter Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "sophia_wyl"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/sravanti-tekumalla.json b/content/organizers/sravanti-tekumalla.json
new file mode 100644
index 00000000..30fa5e50
--- /dev/null
+++ b/content/organizers/sravanti-tekumalla.json
@@ -0,0 +1,15 @@
+{
+ "name": "Sravanti Tekumalla",
+ "headshot": "/images/sravanti-tekumalla.jpg",
+ "pronouns": "she/her",
+ "city": "San Francisco",
+ "bio": "Sravanti is a software engineer who's all about civic tech and creating more vibrant cities. She also believes in the power of strong communication and community to grow (both in tech and in life). Sravanti enjoys exercising her creative side through photography and baking.",
+ "role": ["Chapter Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "sravanti__"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/tien-mimi-nguyen.json b/content/organizers/tien-mimi-nguyen.json
new file mode 100644
index 00000000..fcb9143d
--- /dev/null
+++ b/content/organizers/tien-mimi-nguyen.json
@@ -0,0 +1,15 @@
+{
+ "name": "Tien 'Mimi' Nguyen",
+ "headshot": "/images/tien-mimi-nguyen.jpg",
+ "pronouns": "she/her",
+ "city": "San Francisco",
+ "bio": "Mimi can order from a restaurant menu in under fifteen seconds and have zero regrets. She is a Technical Writer at Sentry.io, a chapter organizer for Write/Speak/Code San Francisco, and a proud coding bootcamp grad. Before starting her career in tech, Mimi wrote creative nonfiction and received a Master of Fine Arts in Creative Writing from Northwestern University.",
+ "role": ["Chapter Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "mimi_dumpling"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/content/organizers/tiffani-elmore.json b/content/organizers/tiffani-elmore.json
new file mode 100644
index 00000000..51bd846f
--- /dev/null
+++ b/content/organizers/tiffani-elmore.json
@@ -0,0 +1,19 @@
+{
+ "name": "Tiffani Elmore",
+ "headshot": "/images/tiffani-elmore.png",
+ "pronouns": "she/her",
+ "city": "Chicago",
+ "bio": "Tiffani is a Chicago chapter organizer. She's been developing software for two years and is currently a Software Crafter at 8th Light. She is especially excited about the intersection of code, art, and social justice. She tries her best when caring for house plants.",
+ "role": ["Chapter Organizer"],
+ "links": [
+ {
+ "type": "twitter",
+ "url": "tiffani_elmore"
+ },
+ {
+ "type": "linkedin",
+ "url": "tiffani-elmore/"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 2f876b8e..f5ee7716 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9778,8 +9778,7 @@
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"aproba": {
"version": "1.2.0",
@@ -9797,13 +9796,11 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -9816,18 +9813,15 @@
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"core-util-is": {
"version": "1.0.2",
@@ -9930,8 +9924,7 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"ini": {
"version": "1.3.5",
@@ -9941,7 +9934,6 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -9954,20 +9946,17 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -9984,7 +9973,6 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -10057,8 +10045,7 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"object-assign": {
"version": "4.1.1",
@@ -10068,7 +10055,6 @@
"once": {
"version": "1.4.0",
"bundled": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -10144,8 +10130,7 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -10175,7 +10160,6 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -10193,7 +10177,6 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -10232,13 +10215,11 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true,
- "optional": true
+ "bundled": true
}
}
},
@@ -12326,14 +12307,12 @@
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "optional": true
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "optional": true
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
"slice-ansi": {
"version": "1.0.0",
@@ -12359,7 +12338,6 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "optional": true,
"requires": {
"ansi-regex": "^4.1.0"
}
@@ -13583,8 +13561,7 @@
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "optional": true
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
},
"is-fullwidth-code-point": {
"version": "2.0.0",
@@ -13607,7 +13584,6 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "optional": true,
"requires": {
"ansi-regex": "^4.1.0"
}
diff --git a/src/components/organizer/index.js b/src/components/organizer/index.js
new file mode 100644
index 00000000..d4c078b9
--- /dev/null
+++ b/src/components/organizer/index.js
@@ -0,0 +1,80 @@
+import React, { useState } from 'react'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faTimes } from '@fortawesome/free-solid-svg-icons'
+import {
+ faTwitter,
+ faLinkedinIn,
+ faGithub
+} from '@fortawesome/free-brands-svg-icons'
+import { faMousePointer } from '@fortawesome/free-solid-svg-icons'
+import styles from './organizer.module.css'
+
+
+const SocialLink = ({ type, url }) => {
+ const icons = {
+ twitter: faTwitter,
+ linkedin: faLinkedinIn,
+ github: faGithub,
+ website: faMousePointer
+ }
+ const urls = {
+ twitter: `https://twitter.com/${url}`,
+ linkedin: `https://linkedin.com/in/${url}`,
+ github: `https://github.com/${url}`,
+ website: url,
+ }
+ return (
+
+
+ Email us at info@writespeakcode.com to learn about different ways to get involved in our community.
+
+
{organizer.name}
+ {organizer.role && {organizer.pronouns}
}
+ {organizer.city && {organizer.city}
}
+ Board Members
+ Chapter Leaders
+ Conference Organizers
+ Website Contributors
+
+
About Us
+
+ Meet the hard-working board, chapter leaders, and conference organizers behind Write/Speak/Code.
+
+
+ + Meet the organizers + +
++ + Read the code of conduct + +
diff --git a/static/admin/config.yml b/static/admin/config.yml index 1ff2e571..405f5aa9 100644 --- a/static/admin/config.yml +++ b/static/admin/config.yml @@ -209,6 +209,14 @@ collections: name: 'pronouns' widget: 'string' required: false + - label: 'City' + name: 'city' + widget: 'string' + required: false + - label: 'Bio' + name: 'bio' + widget: 'text' + required: false - label: 'Role' name: 'role' widget: 'select' diff --git a/static/images/adrienne-domingus.jpg b/static/images/adrienne-domingus.jpg new file mode 100644 index 00000000..5538af51 Binary files /dev/null and b/static/images/adrienne-domingus.jpg differ diff --git a/static/images/lynn-cyrin.jpg b/static/images/lynn-cyrin.jpg new file mode 100644 index 00000000..3905ce04 Binary files /dev/null and b/static/images/lynn-cyrin.jpg differ diff --git a/static/images/marie-casabonne.jpeg b/static/images/marie-casabonne.jpeg new file mode 100644 index 00000000..89b751eb Binary files /dev/null and b/static/images/marie-casabonne.jpeg differ diff --git a/static/images/nayonna-purnell.jpg b/static/images/nayonna-purnell.jpg index 386ff1a0..64470535 100644 Binary files a/static/images/nayonna-purnell.jpg and b/static/images/nayonna-purnell.jpg differ diff --git a/static/images/nicola-beuscher.png b/static/images/nicola-beuscher.png new file mode 100644 index 00000000..c3f51882 Binary files /dev/null and b/static/images/nicola-beuscher.png differ diff --git a/static/images/nicole-majeske.jpg b/static/images/nicole-majeske.jpg new file mode 100644 index 00000000..a0344945 Binary files /dev/null and b/static/images/nicole-majeske.jpg differ diff --git a/static/images/sophia-li.jpg b/static/images/sophia-li.jpg new file mode 100644 index 00000000..8aff51c0 Binary files /dev/null and b/static/images/sophia-li.jpg differ diff --git a/static/images/sravanti-tekumalla.jpg b/static/images/sravanti-tekumalla.jpg new file mode 100644 index 00000000..31c4f3d2 Binary files /dev/null and b/static/images/sravanti-tekumalla.jpg differ diff --git a/static/images/tiffani-elmore.png b/static/images/tiffani-elmore.png new file mode 100644 index 00000000..82055005 Binary files /dev/null and b/static/images/tiffani-elmore.png differ diff --git a/static/images/untitled.jpg b/static/images/untitled.jpg deleted file mode 100644 index 386ff1a0..00000000 Binary files a/static/images/untitled.jpg and /dev/null differ