The easiest way to create websites for conference/events
Leia a documentação em Português
An initiative of BrazilJS Foundation to help those people who want to organize conferences/events and don't have too much time to create the website of it.
Maintainer: Jean Carlo Emer
We use DocPad, a static generator in NodeJS, to create an easily customizable template. More than that, hosting is free via GitHub Pages and you can use your own domain (more information about that on Deploy).
By default, we have the following sections:
P.S. 1: There is no integration with any registration and/or payment system. For this reason, we recommend Eventick.
P.S. 2: We haven't developed a highly automated and customizable solution for contact forms yet. For this reason, we recommend Wufoo.
Now clone it:
$ git clone git://github.com/braziljs/conf-boilerplate.git
Then go to the project's folder:
$ cd conf-boilerplate
Install all dependencies:
$ npm install
And finally run:
$ npm run watch
Now you can see the website running in
localhost:9778:D
Once you're done editing and want to publish the site to GitHub Pages:
$ npm run deploy
The basic structure of the project is given in the following way:
. |-- out/ |-- src/ | |-- documents | |-- layouts | |-- partials |-- docpad.js |-- package.json
This is where the generated files are stored, once DocPad has been runned. However, this directory is unnecessary in versioning, so it is ignored (.gitignore).
Contains the file responsible for importing all sections of the application. Also all theme's assets like images, CSS and JS.
Contains the default template of the application.
Are blocks of code used to generate the site's main page (index.html).
Stores most settings of the application.
List NodeJS modules dependencies.
The project already comes with a visual template. Feel free to use it, but we recommend that 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
docpad.jsand change the value of variables.
Do you want to change the name, date, address, city or price of the conference? Go ahead!
conf: name: "Conference name" description: "Conference description" date: "November 15" price: "$100" address: "Boulevard Kukulcan, 30, México" venue: "Coco Bongo" city: "Cancún"
Do you want to change the cover image, Google Analytics code or favicon? Go ahead!
site: theme: "yellow-swan" url: "http://braziljs.github.io/conf-boilerplate/" googleanalytics: "UA-33656081-1"
Still don't get a full schedule of the event? No problem, just comment out
scheduleline (using
#).
Still don't get who is going to speak? Ok, just comment out
speakersline (using
#).
And so on.
sections: [ "about" "location" #"speakers" #"schedule" "sponsors" "partners" "contact" ]
You can also change order in which they appear on page and in navigation by changing order of lines here!
If you want to use different words than default or different language just change labels for corresponding elements:
labels: about: "Sobre" location: "Localização" speakers: "Palestrantes" schedule: "Agenda" sponsors: "Patrocinadores" partners: "Parceiros" contact: "Contato"
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
schedulevariable.
schedule: [ name: "Chuck Norris" photo: "http://f.cl.ly/items/2A3p1N0C3c0n3N3R1w2B/speaker.jpg" 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" company: "Delta Command" twitter: "littlechuck" presentation: title: "How to kill a elephant with one finger" description: "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" time: "13h00" ]
Do you want to list an attribute of the speaker that is not there? Okay just add it on
docpad.jsand then show it with on speakers.html.eco.
To change the time of check-in, lunch and coffee-break, just see
schedulevariable.
schedule: [ name: "Check-in / Breakfast" time: "9h00" ]
But if you want to add another coffee-creak or any kind of item on agenda, just add the item on the list.
To add any sponsor or partner, just use
sponsorsand
partnersvariables.
partners: [ name: "BrazilJS" logo: "http://f.cl.ly/items/2N3i2W0X2f3c2g2Z2N0f/Untitled-1.png" url: "http://braziljs.org" ]
We don't like to centralize the power of deploy in one person, so we'll use GitHub Pages that is free. You just need to run:
$ npm run deploy
Wait a few minutes until GitHub send you an email telling that everything went well. Then just access:
http://yourUser.github.io/yourFork
If you don't want to use GitHub domain, you can use your own with a few steps.
CNAMEfile under
src/filesfolder and fill with your domain:
yourevent.com.
If you want to use your own server to host the website:
npm run generateon the root of the project.
This command will generate a folder called
outthat contains just static files, then just upload them to your server.
See the conferences that already used this project as a kickstart:
Have you created a website using ConfBoilerplate? Let's us know =D
If you want to submit a pull request, please do it in
devbranch.
mastercontains the stable version of it.
devcontains features that are being developed.
We're a group of developers who have been through hard times organizing conferences around Brazil and now just want to help another people to do this hard task.
Created by:
Special thanks to all community members for feedbacks and contributions.
MIT License © BrazilJS Foundation