A simple boilerplate to help those people who wants to organize conferences/events and don't have too much time to create the website of it.
For more details about the stack, see this.
This boilerplate uses some of the coolest technologies we have today, like: the Jade Engine, SASS, Gulp and many others.
Make sure you have the main dependencies:
Clone this repository:
$ git clone https://github.com/mabrasil/conf-boilerplate.git my_event
Install all dependencies:
$ cd my_project
$ npm install
Run the default gulp task:
$ gulp
For more details about the Folders and Files structure, see this.
If everything from the Getting Started section goes well, you should have this:
|-- docs/
|-- gulp/
|-- src/
| |-- images/
| |-- scripts/
| |-- styles/
| |-- templates/
| |-- config.json
|-- www/
| |-- css/
| |-- main.css
| |-- img/
| |-- js/
| |-- main.js
| |-- index.html
|-- .editorconfig
|-- gulpfile.js
|-- nightwatch.json
|-- package.json
For more details about customizing your project, see this.
The project already comes with a visual template, feel free to use it, but we recommend you create your own in order to put your own identity in the event.
Anyway, we have prepared something highly customizable for you, so for most of the changes just go to the config.json
file and change the value of variables.
Do you want to change the name, date, address or city of the conference? Go ahead! Here you also put site details and conference contact info.
"about":{
"name":"Conference name",
"shortDescription":"Conference description",
"longDescription":"So you want to organize a conference? That's pretty awesome! But we know that you don't have time to create the website, since you have to worry about contacting sponsors, chossing the right place, buying airplane tickets for speakers and many other things. That's why we created this project!",
"date":"November 15",
"logo":"img/logo.png",
"register":{
"message":"Register now!",
"link":"https://www.eventick.com.br"
},
"location":{
"place":"Coco Bongo",
"address":"Boulevard Kukulcan, 30",
"city":"Cancún",
"state":"Quintana",
"mapsKey":"AIzaSyBA8zmp_Mwlz19cazVlsox7QF-apmKtOQY"
},
"site":{
"url":"Conference Example",
"googleAnalytics": "UA-33656081-1"
},
"contact":{
"email":"[email protected]",
"twitter":"@example",
"facebook":"example.conf",
"github":"example.conf"
}
}
If you want to use different words than default or different language just change labels for corresponding elements:
"labels": {
"sections":[
{
"name": "about",
"label": "About"
},
{
"name": "location",
"label": "Location"
},
{
"name": "speakers",
"label": "Speakers"
},
{
"name": "schedule",
"label": "Schedule"
},
{
"name": "sponsors",
"label": "Sponsors"
},
{
"name": "partners",
"label": "Partners"
},
{
"name": "organizers",
"label": "Organizers"
}
],
"messages":{
"getTickets": "Get Tickets",
"moreInformation": "More Information",
"sponsors":{
"description": "A very special thanks to our sponsors who believe and are fundamental to the event.",
"invitation": "Sponsor us to be part of this event, and benefit from this unique environment.",
"moreInformation": "More Information",
"mediakit": "#"
},
"partners":{
"description": "A very special thanks to our partners who believe and are fundamental to the event.",
"invitation": "Help us and be part of this event, and benefit from this unique environment.",
"moreInformation": "More Information",
"mediakit": "#"
},
"organizers": "This event is brought to you by they:",
"contact": "Get in Touch",
"footer":"Made with ♥ by Conf Boilerplate :)"
}
}
You can also use this object to define other labels, which you would like to access in your templates.
To add/change/exclude a speaker is equally simple, just see speakers
variable.
"speakers":[
{
"name":"Chuck Norris",
"bio":"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo",
"photo":"img/speakers/speaker.jpg",
"company":"Delta Command",
"twitter":"littlechuck"
}
]
To add/change/exclude any event in the agenda (check-in, lunch, coffee-break,
talks etc.) just see schedule
variable.
"schedule":[
{
"name":"Check-in / Breakfast",
"time":"9:00"
},
{
"name":"Digging into a Linux Kernel",
"time": "10h00",
"speaker": "Linus Torvalds",
"description":"Lorem ipsum dolor sit amet."
},
{
"name":"Introducing Windows 12",
"time": "11h00",
"speaker": "Bill Gates",
"description":"Lorem ipsum dolor sit amet."
},
{
"name": "Lunch",
"time": "12h00"
},
{
"name":"How to kill a elephant with one finger",
"time": "13h00",
"speaker": "Chuck Norris",
"description":"Lorem ipsum dolor sit amet.",
"room":"Auditorium 1"
}
]
To add/change/exclude a partner, just see partners
variable.
"partners":[
{
"name":"Sponsor 1",
"logo":"img/sponsors/your-logo.jpg",
"website":"#"
}
]
To add/change/exclude a sponsor, just see sponosors
variable.
"sponsors":[
{
"name":"Sponsor 1",
"logo":"img/sponsors/your-logo.jpg",
"website":"#"
}
]
To add/change/exclude a partner, just see partners
variable.
"organizers":[
{
"name":"Organizer 1",
"photo":"img/organizers/organizer.jpg",
"website":"#"
}
]
For more details about the automation process, see this.
All the Gulp tasks are in the tasks/
folder. Each one consists of a module with a function which is required into tasks defined in the gulpfile
.
gulp
: Initialize watch for changes and a servergulp js
: Minify and concat filesgulp jade
: Compile Jade filesgulp sass
: Compile SASS filesgulp img-clean
: Clean imagesgulp img-min
: Clean images folder and compress image filesgulp watch
: Call to watch filesgulp deploy-gh
: Deploy to Github Pagesgulp deploy-rsync
: Deploy via rsyncgulp build-gh
: Minify files and deploy to Github Pagesgulp build-rsync
: Minify files and deploy via rsyncgulp tests
: Run nightwatch.js - see testing
-
Create a GitHub repo for you event.
-
Do the steps from Getting Started section.
-
Point the cloned repo to the repo you created:
$ git remote set-url origin [email protected]:username/projectname.git
- Run
gulp deploy-gh
.
- Go to the
config.json
file and fill thedeploy.rsync
object:
-
username
:-
Type:
string
-
Description: Your username at the remote server.
-
-
hostname
:-
Type:
string
-
Description: Your server domain (URL).
-
-
dest
:-
Type:
string
-
Description: Path on the server that will receive the files.
-
- Run
gulp deploy-rsync
.
Have you created a website using ConfBoilerplate? Let's us know :)
See the conferences that already used this project as a kickstart:
Contributions are very welcome! If you'd like to contribute, these guidelines may help you.
##License
Conf Boilerplate is distributed under the MIT License, available in this repository. All contributions are assumed to be also licensed under the MIT License.
-
All markup, scripts and styles were originally written by the Front in Amsterdam organizers. Copyright 2015, Front in Amsterdam. The original repo can be found here.
-
The documentation, mocking images & data, themes, purpose, and everything related to the idea/philosophy of the project is brought from the original Conf Boilerplate which is MIT Licensed © BrazilJS Foundation.