diff --git a/src/content.js b/src/content.js index 0a0d25f..683a927 100644 --- a/src/content.js +++ b/src/content.js @@ -22,6 +22,7 @@ const bronzeSponsors = sponsors.filter( module.exports = { breakfasts: require("./breakfasts"), coffeeBreaks: require("./coffee-breaks"), + locations: resolveSocialLinks(require('./locations')), keynotes, lightningTalks, lunches: require("./lunches"), diff --git a/src/locations/elisa-appelsiini.js b/src/locations/elisa-appelsiini.js new file mode 100644 index 0000000..4aecaf3 --- /dev/null +++ b/src/locations/elisa-appelsiini.js @@ -0,0 +1,18 @@ +const sponsor = require('../sponsors/elisa'); + +module.exports = { + name: "Elisa Appelsiini", + about: + "In addition to being a silver sponsor of the event, Elisa is supporting the event by providing space for our workshops", + image: "sponsors/elisa.svg", + social: sponsor.social, + location: { + country: { + name: "Finland", + code: "FI", + }, + city: "Helsinki", + address: "Kaarlenkatu 11", + }, + keywords: sponsor.keywords +}; diff --git a/src/locations/index.js b/src/locations/index.js new file mode 100644 index 0000000..4010ce8 --- /dev/null +++ b/src/locations/index.js @@ -0,0 +1,4 @@ +module.exports = [ + require('./elisa-appelsiini'), + require('./valkoinen-sali') +]; diff --git a/src/locations/valkoinen-sali.js b/src/locations/valkoinen-sali.js new file mode 100644 index 0000000..fb6698c --- /dev/null +++ b/src/locations/valkoinen-sali.js @@ -0,0 +1,16 @@ +module.exports = { + name: "Valkoinen Sali", + about: + "Valkoinen Sali is the main venue of the event.", + social: { + homepage: "http://www.valkoinensali.com/", + }, + location: { + country: { + name: "Finland", + code: "FI", + }, + city: "Helsinki", + address: "Aleksanterinkatu 16", + }, +}; diff --git a/src/type-defs.js b/src/type-defs.js index c4efd08..75630f6 100644 --- a/src/type-defs.js +++ b/src/type-defs.js @@ -4,6 +4,7 @@ module.exports = ` coffeeBreaks: [Session], keynotes: [Session], lightningTalks: [Session], + locations: [Contact], lunches: [Session], organizers: [Contact], panels: [Session], @@ -29,7 +30,8 @@ module.exports = ` type: String, speakers: [Contact], tickets: [Ticket], - keywords: [String] + keywords: [String], + location: Location } type Page { @@ -44,7 +46,7 @@ module.exports = ` type Contact { name: String!, about: String!, - image: String!, + image: String, type: String, social: Social, location: Location, @@ -70,7 +72,8 @@ module.exports = ` type Location { country: Country, - city: String + city: String, + address: String } type Country { diff --git a/src/workshops/andrey-and-artem.js b/src/workshops/andrey-and-artem.js index 568f1a6..4e597f7 100644 --- a/src/workshops/andrey-and-artem.js +++ b/src/workshops/andrey-and-artem.js @@ -42,4 +42,5 @@ module.exports = { require("../speakers/artem-sapegin").keywords ), ], + location: require("../locations/valkoinen-sali"), }; diff --git a/src/workshops/david-khourshid.js b/src/workshops/david-khourshid.js index e3e0e2f..231fea8 100644 --- a/src/workshops/david-khourshid.js +++ b/src/workshops/david-khourshid.js @@ -23,4 +23,5 @@ module.exports = { }, ], keywords: require("../speakers/david-khourshid").keywords, + location: require("../locations/elisa-appelsiini"), }; diff --git a/src/workshops/gant-laborde.js b/src/workshops/gant-laborde.js index 98e82d8..7367177 100644 --- a/src/workshops/gant-laborde.js +++ b/src/workshops/gant-laborde.js @@ -23,4 +23,5 @@ module.exports = { }, ], keywords: require("../speakers/gant-laborde").keywords, + location: require("../locations/valkoinen-sali"), }; diff --git a/src/workshops/juho-vepsalainen.js b/src/workshops/juho-vepsalainen.js index 8a9acc5..f69261a 100644 --- a/src/workshops/juho-vepsalainen.js +++ b/src/workshops/juho-vepsalainen.js @@ -33,4 +33,5 @@ The topics covered include: }, ], keywords: require("../speakers/juho-vepsalainen").keywords, + location: require("../locations/elisa-appelsiini"), }; diff --git a/src/workshops/michel-weststrate.js b/src/workshops/michel-weststrate.js index 7c87bb2..ea021b2 100644 --- a/src/workshops/michel-weststrate.js +++ b/src/workshops/michel-weststrate.js @@ -23,4 +23,5 @@ module.exports = { }, ], keywords: require("../speakers/michel-weststrate").keywords, + location: require("../locations/valkoinen-sali"), }; diff --git a/src/workshops/patrick-and-nik.js b/src/workshops/patrick-and-nik.js index 6f392f8..7c54834 100644 --- a/src/workshops/patrick-and-nik.js +++ b/src/workshops/patrick-and-nik.js @@ -42,4 +42,5 @@ In the end, ambitious attendees will be able to integrate Reason React component }, ], keywords: require("../speakers/patrick-stapfer").keywords, + location: require("../locations/elisa-appelsiini"), }; diff --git a/src/workshops/rotem-mizrachi-meidan.js b/src/workshops/rotem-mizrachi-meidan.js index b9fe3ce..1c9b0a2 100644 --- a/src/workshops/rotem-mizrachi-meidan.js +++ b/src/workshops/rotem-mizrachi-meidan.js @@ -25,4 +25,5 @@ We will experiment with the following: }, ], keywords: require("../speakers/rotem-mizrachi-meidan").keywords, + location: require("../locations/valkoinen-sali"), }; diff --git a/src/workshops/sara-vieira.js b/src/workshops/sara-vieira.js index 28a75d3..2e2abfd 100644 --- a/src/workshops/sara-vieira.js +++ b/src/workshops/sara-vieira.js @@ -21,4 +21,5 @@ By the end, we will implement all of this in continuous development with GitHub }, ], keywords: require("../speakers/sara-vieira").keywords, + location: require("../locations/valkoinen-sali"), }; diff --git a/src/workshops/sia-karamalegos.js b/src/workshops/sia-karamalegos.js index 9473ec0..14422f9 100644 --- a/src/workshops/sia-karamalegos.js +++ b/src/workshops/sia-karamalegos.js @@ -25,4 +25,5 @@ module.exports = { }, ], keywords: require("../speakers/sia-karamalegos").keywords, + location: require("../locations/elisa-appelsiini"), }; diff --git a/src/workshops/sven-sauleau.js b/src/workshops/sven-sauleau.js index 8ec981c..76eb5fc 100644 --- a/src/workshops/sven-sauleau.js +++ b/src/workshops/sven-sauleau.js @@ -31,4 +31,5 @@ You will learn how to refactor your React code effectively in this workshop by S }, ], keywords: require("../speakers/sven-sauleau").keywords, + location: require("../locations/elisa-appelsiini"), }; diff --git a/tests.js b/tests.js index 2b5f4a8..4221c57 100644 --- a/tests.js +++ b/tests.js @@ -36,6 +36,16 @@ assert.equal( "https://www.solita.fi/en/" ); +assert.equal( + content.locations.find(o => o.name === "Elisa Appelsiini").social.linkedin, + "https://linkedin.com/company/elisa" +); + +assert.equal( + content.locations.find(o => o.name === "Valkoinen Sali").location.address, + "Aleksanterinkatu 16" +); + assert.equal( content.speakers.find(o => o.name === "Christian Alfoni").presentations[0] .title,