Coder Social home page Coder Social logo

conf-boilerplate's Introduction

Leia a documentação em Português


Conf Boilerplate Build Status

image

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

Table of contents

How it works?

image

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:

  • About - to describe what's the main goal of your event.
  • Location - to show where it's going to happen through Google Maps.
  • Speakers - to list information about speakers.
  • Schedule - to show the agenda.
  • Sponsors - to show the brand of your sponsors.
  • Partners - to show the brand of your partners.

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.

Getting Started

  1. Install Git and NodeJS, if you don't have it yet.

  2. Now clone it:

    $ git clone git://github.com/braziljs/conf-boilerplate.git
  3. Then go to the project's folder:

    $ cd conf-boilerplate
  4. Install all dependencies:

    $ npm install
  5. And finally run:

    $ npm run watch

    Now you can see the website running in localhost:9778 :D

  6. Once you're done editing and want to publish the site to GitHub Pages:

    $ npm run deploy

Structure

The basic structure of the project is given in the following way:

.
|-- out/
|-- src/
|   |-- documents
|   |-- layouts
|   |-- partials
|-- docpad.js
|-- package.json

out/

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.

Customization

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.js and change the value of variables.

Basic information about the conference

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"

Basic information about the website

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"

Active sections

Still don't get a full schedule of the event? No problem, just comment out schedule line (using #).

Still don't get who is going to speak? Ok, just comment out speakers line (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!

Labels (i18n)

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.

Speakers List

To add/change/exclude a speaker is equally simple, just see schedule variable.

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.js and then show it with <%= speaker.yourNewAttribute %> on speakers.html.eco.

List of another items on Agenda

To change the time of check-in, lunch and coffee-break, just see schedule variable.

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.

List of Sponsors/Partners

To add any sponsor or partner, just use sponsors and partners variables.

partners: [
  name: "BrazilJS"
  logo: "http://f.cl.ly/items/2N3i2W0X2f3c2g2Z2N0f/Untitled-1.png"
  url: "http://braziljs.org"
]

Deploy

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

Custom domain

If you don't want to use GitHub domain, you can use your own with a few steps.

  1. Create a CNAME file under src/files folder and fill with your domain: yourevent.com.
  2. Change the DNS of your domain following GitHub instructions.

How to Deploy without GitHub Pages

If you want to use your own server to host the website:

  • Run npm run generate on the root of the project.

This command will generate a folder called out that contains just static files, then just upload them to your server.

Showcase

See the conferences that already used this project as a kickstart:

Have you created a website using ConfBoilerplate? Let's us know =D

Forks

Contributing

If you want to submit a pull request, please do it in dev branch.

  • master contains the stable version of it.
  • dev contains features that are being developed.

Who is behind it?

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.

License

MIT License © BrazilJS Foundation

conf-boilerplate's People

Contributors

agtlucas avatar awvalenti avatar bernarddeluna avatar davidsonfellipe avatar diogobeda avatar fdaciuk avatar felipesanches avatar felquis avatar filipelinhares avatar gpedro avatar jcemer avatar jonataa avatar jweslley avatar keppelen avatar larruda avatar leobaiano avatar lucasmazza avatar rafaelstz avatar randalmaia avatar rictorres avatar vanessametonini avatar zenorocha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conf-boilerplate's Issues

Atributo title em links do menu

Oi, não pude deixar de notar que não tem o atributo title nos links do menu, por que não tem? É que eu sempre coloco title, é praticamente automático de tão simples, ai fiquei pensando "será que tem algum motivo especial?".

Plus

We're not going to implement everything on a single template, so let's list some ideas that are necessary too.

Palestrantes em paralelo

Diversos eventos tem mais de um auditório disponível e tem uma agenda com palestrantes em paralelo.

Ex.

Sala 1
08:00 - Palestrante 1
10:00 - Palestrante 2
12:00 - Palestrante 3

Sala 1
08:00 - Palestrante 4
10:00 - Palestrante 5
12:00 - Palestrante 6

Seria legal ter este suporte no conf-boilerplate.

Problemas com a instalação na versão docpad

Estou usando Ubuntu, nodejs v0.8.16.. os pré-requisitos estão ok.

Ai quando eu dou um docpad run ele retornas tudo ok, e apenas um alerta ali:
Captura de tela de 2012-12-20 00:20:23

Então vou conferir o resultado em localhost:9778 e...
Captura de tela de 2012-12-20 00:20:43

Eu instalei o docpad usando os snippets que estão no README.md do próprio conf-boilerplate, o que será que estou esquecendo?

[Mobile] Desativar o touch no mapa

Tentei o conf no celular, e me incomodou bastante o touch no mapa, por que não conseguia mais continuar descendo o scroll =s

Teria que ver se tem alguma forma de driblar isso por que incomoda.
Screenshot_2012-12-27-22-13-16

Build adicional para App Nativo

Acredito que se investirmos um tempo em uma feature assim, será de grande relevância.. podemos usar algo como o PhoneGap ou similar, para empacotar o HTML, CSS, JS e 'rodalo' lindamente em uma versão nativa Android e IOS(não sei outras versões)

O que acham?
some_of_the_best_gifs_of_2012_21

[Mobile] Fazer todo o conteúdo como se fosse uma sanfona.

Não sei ao certo qual é o nome disso, "toggle content", "Sanfona" enfim.. na versão mobile, quando entrar no site, acredito que seria muito mais eficiente se todas as sessões de conteúdo, about, Speakers, Location etc... estivessem apenas o titulo e uma seta ao lado algo que indique que aquilo é clicável e quando a pessoa clica, expande o conteúdo(ou faça algo mais inteligência do que expandir) para mostrar o conteúdo daquela sessão..

Neste print eu simulei a ideia..

o que acham dessa melhoria?

Ter um site sobre o conf-bp não com um conf-bp instalado

Pessoal, acho que se o conteúdo do site confboilerplate.com ser realmente um site, explicando o confboilerplate, será muito mais vantajoso e agregador, poderíamos explicar em alguns idiomas o que o conf-bp faz, e ter um DEMO só m ingles...

Deploy

The problem is: Github Pages don't allow you to include Jekyll's custom plugins.

So I just commited a Shell file with some commands to make simple to deploy on Github Pages.

Basically, it takes the content of Jekyll's generated folder _site on branch master and moves it to branch gh-pages.

Also, included a description about it on README.

But I'm not sure if this is the best way to do it.
I think Post-receive Git Hooks can do a better job, but I can't figure out how to get it working.

Some references:

Versão BETA finalizada!

Senhores,

Vim comunicar que a versão BETA do projeto acaba de ser lançada!
A principal alteração com relação à versão anterior foi a troca de engine usada.

A versão ALPHA feita em Jekyll (Ruby), agora dá lugar a versão BETA feita em DocPad (NodeJS).
Com isso esperamos que o tempo de setup do ambiente seja minimizado e fique cada vez mais simples de customizar o projeto para suas necessidades.

Para aqueles que já usaram a antiga versão, você ainda pode encontrar o projeto na branch jekyll ou então baixar o repositório via tag 0.1.0-alpha.zip.

Toda a documentação foi atualizada, portanto seria interessante se fosse realizado o seguinte exercício em busca de obter feedback para melhorar ainda mais o projeto! Não se preocupe, é muito rápido e o tempo de conclusão está previsto para menos de 20 minutos.

1 - Forkar o repositório em suas contas pessoais
2 - Alterar o nome da conferência
3 - Alterar a localização
4 - Alterar capa
5 - Deixar a seção de apoio inativa
6 - Incluir um patrocinador
7 - Adicionar encerramento do evento na agenda
8 - Trocar o nome da seção About para Sobre
9 - Adicionar um palestrante
10 - Colocar online através do sistema de Deploy sugerido na documentação

i18n

Para facilitar a tradução das seções do site e também incentivar o uso de versões bilingue, estou criando essa issue para discutir qual seria o melhor modelo de internacionalização.

Utilizamos um plugin externo do Jekyll ou então alterarmos a lógica que está sendo feita no projeto?

Makefile

Criar um Makefile para simplicar os passos de instalação das gems, rodar o projeto, build e deploy.

Offline first

Events don't have a good internet connection.
As a user I want to access the event grade without internet connection (App Cache).

Feedback

Para coleta de feedback sobre o estado atual do projeto, são propostas as seguintes tarefas:

1 - Forkar o repositório em suas contas pessoais
2 - Alterar o nome da conferência
3 - Alterar a localização
4 - Alterar capa
5 - Deixar a seção de apoio inativa
6 - Incluir um patrocinador
7 - Adicionar encerramento do evento na agenda
8 - Trocar o nome da seção About para Sobre
9 - Adicionar um palestrante
10 - Colocar online através do sistema de Deploy sugerido na documentação

Não é nada complexo, o usuário deve ser capaz de realizar elas em menos de 30 minutos.

Sinta-se convidado para participar desse teste e se possível enviar feedback sobre como foi sua experiência realizando-a.

[Mobile] Descrição dos Speakers e descrição das Palestras

Seria interessante de na descrição dos speakers e na descrição da palestra, conteúdo que fica escondido na versão para mobile, ao tocar no conteúdo correspondente, ele aparecesse tipo um slidedown com o conteúdo, ou algo assim.. ai mesmo quem ta no mobile, conseguiria ter aquela informação(se tiver buscando por ela)

Uma coisas interessante seria fazer esse feature com uma animação que não cause reflows, só repaints, por que ficará muito lenta qualquer animação que cause reflows.

Aqui tem um print das partes que me refiro..

Relative theme path in a tag

Some projects prefere to use relative path instead absolute path, so we need to define a way to call the theme directory inside a docpad tag.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.