Front in BH 2014: Eu Fui!!!

Resumo Frontin BH

Obs: este artigo pode ser lido em inglês em: https://medium.com/@sheldonled/frontin-bh-2014-66b5a1178b28

Já tem um certo tempo que estou focando meus estudos em tecnologias front-end, e nada melhor que eventos/conferências/workshops/etc para nos manter atualizados. Quase não estou saindo da terra do pequi para me aventurar em eventos, e percebo que estou fazendo uma média de 1 evento por ano.

Em 2013 fui ao TDC SP (trilha de UX/Front-end), e aprendi muita coisa legal. Pude levar minha esposa, e pude rever meu amigo e sócio deste blog, Relson. Esse ano foi a vez de ir para Belo Horizonte, prestigiar o magnífico FrontinBH. Foi a primeira vez que eu e minha amada fomos para BH, e deu pra curtir bastante esse fim de semana.

Planejamento ft. Ansiedade

Confirmei minha ida aproximadamente um mês antes do evento, porém só na sexta-feira que antecedeu o evento pude confirmar como e com quem eu iria. Convidei alguns amigos para ir ao evento, verifiquei a possibilidade de ir com alguns parentes, mas no fim fomos minha esposa e eu.

Chegamos em BH poucos minutos antes do evento, e ela ficou comigo no início, depois eu a levei ao hotel para descansar enquanto eu enfrentava chuva e a demora do metrô para chegar novamente ao Teatro Ney Soares e perder o início da palestra sobre TrackingJS. Fiquei um pouco perdido na cidade no começo do dia mas após umas caminhadas e com ajuda do GPS eu consegui ir e vir mais tranquilamente.

O Evento

Fiquei admirado com o evento. Ao mesmo tempo que eu estava em um auditório lotado, com centenas de pessoas que eu não conhecia, eu me vi ao lado de grandes mentes, pessoas que estão puxando a web pra frente ‘trocadilho alerts’, pude trocar idéias com pessoas que eu costumava ver no youtube, e tudo isso contribuiu bastante para minha experiência.

O evento nos deixou momentos alegres, como os momentos: “Livraria” e “Oxenti”, e o autor do primeiro pode me dar dicas bem legais sobre o mercado internacional e como treinar Inglês sozinho 🙂 Ele (Michael Lancaster) foi responsável por apresentar à platéia o Node Webkit, uma plataforma de desenvolvimento nativo usando tecnologias conhecidas por nós web developers.

A abertura do evento foi feita pelo incrível Bernard De Luna, uma pessoa já conhecida pelos seus projetos sexys, e a primeira palestra foi sobre frameworks de testes de UI, dos quais, os que mais me chamaram atenção foram: Jasmine, Qunit, Mocha, Buster e Karma. Outra palestra interessantíssima foi a dos caras da RC Comunicação sobre o workflow de desenvolvimento web (Design ?Implementação). Nessa palestra, destacou-se o poder do Webflow.

Como eu disse acima, perdi algumas palestras, pois fui almoçar próximo ao hotel, fazer check-in e guardar minhas coisas. Cheguei no meio da palestra sobre TrackingJS, um framework incrível que possibilita reconhecimento de cor, de face e outras. Perguntei ao Zeno Rocha, na hora do lanche, se eles começaram a desenvolver isso com algum objetivo em mente, e ele me respondeu: “Não, e isso nem tem nada a ver com o nosso trabalho (na Liferay). A gente teve a ideia e começou a fazer”.

Falando em lanche, estava tudo muito bom 😀 e eu pude conhecer pessoalmente, como citei acima, caras que eu só via nas redes sociais. Conversei um pouco com Yamil Asusta, que palestrou sobre o incrível Browserify, uma ferramenta que permite trazer modulos do npm para o browser. Conversei também com o Felquis, sobre várias coisas, principalmente sobre meet ups e workshops.

No final da tarde tivemos as meninas do Github, falando sobre o poder dos Polyfills e o Mathias Bynens falando sobre Unicode no JavaScript. Dentre outras coisas que tiveram no evento e eu não citei aqui, só gostaria de terminar esse post com o principal conselho que ouvi no evento: “Agarre os desafios, só assim você vai crescer”.

Ansioso para o FrontinBH 2015 =)

Personalizar página inicial do WordPress

Esse tutorial é fruto de uma frustração, pois ao pesquisar diversas vezes por maneiras de sair do padrão de página inicial do wordpress para ter algo mais personalizado, encontrei informações esparramadas em vários posts, nenhum conteúdo objetivo ou compilado para esse devido fim, portanto resolvi criar esse tutorial, pois talvez possa ajudar outras pessoas.

Se você conhece algum tutorial que ensina esse assunto, por favor cite nos comentários, para que possamos editar esse post com mais links interessantes, dando maior completude na informação a ser passada.

Diferença entre Home e Front Page no WordPress

Quem já desenvolveu ou alterou um tema no wordpress sabe que o arquivo principal é o index.php, e que caso não houver outro arquivo mais específico, na hierarquia, o index.php será executado. Por padrão, o wordpress mostra uma listagem de posts na página inicial, porém existe também a possibilidade de exibir uma página estática, e isso é definido em Configurações > Leitura.

Quando a opção de mostrar posts recentes está marcada, o arquivo procurado pelo wordpress no seu template é o home.php, no entanto, quando a opção de página estática está marcada, o arquivo em questão é o front-page.php. Tendo isso em mente fica mais fácil implementar a página inicial personalizada. Existe uma maneira de verificação fornecida pela API do wordpress: as funções is_home()is_front_page()

Ajustando configuração da página inicial

O primeiro passo da nossa página inicial personalizada então, é setar a configuração no wordpress. No meu caso, eu deixei a opção de página estática marcada. Sendo assim, na pasta do tema, precisamos criar/editar o arquivo front-page.php. Em seguida, definiremos um layout padrão para a página inicial, algo como isso:

Exemplo de Layout

Codificando o front-page.php

O código inicial da nossa página inicial será mais ou menos assim:

<?php get_header(); ?>
	<div id="home-content" class="content-area">
		<div class="banner"></div>
		<div class="boxes">
			<div class="thebox"></div>
			<div class="thebox"></div>
			<div class="thebox"></div>
		</div>
	</div>
<?php get_footer(); ?>

Bom, o slider de banners pode ser muito facilmente configurado através do WP Nivo Slider, portanto não colocarei aqui essa parte, pois o interessante é colocar os 3 widgets logo abaixo.

Adicionando área de widgets

Precisamos adicionar o código que informa ao WordPress as áreas dinâmicas. Edite o arquivo front-page.php, na parte das boxes com o código abaixo

<div class="boxes">
	<div class="thebox first">
	    <?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('left_box')) : else : ?>  
	        <p><strong>Widget Pronto</strong></p>  
	        <p>Essa left_box é uma área dinâmica! Adicione widget no painel do Administrador.</p>  
	    <?php endif; ?>  
	</div>
	<div class="thebox">
	    <?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('center_box')) : else : ?>  
	        <p><strong>Widget Pronto</strong></p>  
	        <p>Essa center_box é uma área dinâmica! Adicione widget no painel do Administrador.</p> 
	    <?php endif; ?>  
	</div>
	<div class="thebox">
	    <?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('right_box')) : else : ?>  
	        <p><strong>Widget Pronto</strong></p>  
	        <p>Essa right_box é uma área dinâmica! Adicione widget no painel do Administrador.</p> 
	    <?php endif; ?>  
	</div>
	<div class="clear"></div>
</div>

Agora a página inicial já está quase pronta, porém precisamos registrar as áreas dinâmicas, como você provavelmente já deve ter feito com a sidebar. Edite o arquivo functions.php adicionando o código abaixo:

if (function_exists('register_sidebar'))
{
    register_sidebar(array(  
        'name' => 'Left Box',  
        'id'   => 'left_box',  
        'description'   => 'Widget area para primeira caixa de conteúdo da página inicial',  
        'before_widget' => '<div id="%1$s" class="widget %2$s">',  
        'after_widget'  => '</div>',  
        'before_title'  => '<h4>',  
        'after_title'   => '</h4>'  
    ));  
    register_sidebar(array(  
        'name' => 'Center Box',  
        'id'   => 'center_box',  
        'description'   => 'Widget area para segunda caixa de conteúdo da página inicial',  
        'before_widget' => '<div id="%1$s" class="widget %2$s">',  
        'after_widget'  => '</div>',  
        'before_title'  => '<h4>',  
        'after_title'   => '</h4>'  
    ));  
    register_sidebar(array(  
        'name' => 'Right Box',  
        'id'   => 'right_box',  
        'description'   => 'Widget area para terceira caixa de conteúdo da página inicial',  
        'before_widget' => '<div id="%1$s" class="widget %2$s">',  
        'after_widget'  => '</div>',  
        'before_title'  => '<h4>',  
        'after_title'   => '</h4>'  
    ));  

}

Pronto, agora você pode adicionar widgets em Aparência > Widgets, como aparece na imagem ilustrativa abaixo:

widgetsEditando os estilos

Como é possível perceber, na parte de baixo da página inicial foi utilizado o plugin Flexible Posts Widget para exibir informações de alguns conteúdos na página inicial. Você pode utilizar de diversas técnicas CSS para estruturar a informação da página inicial, porém segue abaixo um pouco do código que servirá de base inicial para desenvolvimento do seu tema:

.home-content {
    width: 80%;
    margin: 0 auto;
    min-width: 1000px;
}

 .boxes {
 	width: 1000px;
 	min-height: 200px;
 	margin: 50px auto;
 }
 .thebox {
 	float: left;
	width: 300px;
	min-height: 200px;
	background: rgba(255,255,255,0.1);
	margin-left:50px;
}
.thebox.first {
	margin: 0;
}

Tribo do C.I. Podcast – Episódio #008 – SemiRetrospectiva 2010

Tribo do CI - Retrospectiva 2010

E aí Galera, beleza? É com grande alegria que a Tribo do CI publica ao mundo o 8º episódio do PodCast Tribo do C.I. Neste episódio, nós fizemos uma retrospectiva de acontecimentos no mundo tecnológico durante o ano de 2010, aprender um pouco de Tupi (Tupi antigo) com a participação bastante tímida de Joelias Júnior, que foi entrevistado no podcast anterior, Sebastião RelsonSheldon Led. Espero que gostem, comentem e mande-nos e-mails.

Para divulgar, utilize esta url encurtada: — http://relink.ws/VQbb

Foi falado no podcast:

Até o Próximo