Browsed by
Month: July 2009

Como validar o target=”_blank” no W3C validator usando XHTML 1.0 Strict

Como validar o target=”_blank” no W3C validator usando XHTML 1.0 Strict

Eu estava com um problema numa página, onde a única parte da página que não validava pelo W3C Validador, era um trecho assim:

<a href="http://www.lucascaton.com.br/" target="_blank">Lucas Catón</a>

Pesquisando a maneira correta de se fazer isto, descobri que o W3C depreciou o target porque o correto seria o usuário escolher o que fazer com os links, ou seja, segurar Ctrl ou Shift caso quisesse abrir em uma nova aba ou nova página. Porém, muitos usuários não sabem fazer isso e simplesmente clicam no link diretamente, não abrindo em uma nova aba/página.

A melhor solução que encontrei para resolver isso me foi recomendada pelo Thiago Aléssio e a explicarei a seguir:

1. No XHTML, você adiciona uma class à tag a:

<a href="http://www.lucascaton.com.br/" class="external">Lucas Catón</a>

2. No javascript (estou usando jQuery) você adiciona uma função para o evento de click no link:

$(".external").click(function(){
  window.open($(this).attr('href'));
  return false;
});

Você pode ainda, via css inserir um pequeno ícone para diferenciar o link:

.external{
  background:url(/images/external.gif) no-repeat center right;
  padding-right:10px;
}

Pronto! Agora, para validar sua página, acesse o http://validator.w3.org/ e ganhe um:
This document was successfully checked as XHTML 1.0 Strict!

[Wiki] Web development & web design

[Wiki] Web development & web design

Criei um wiki chamado Web development & web design. O objetivo é auxiliar desenvolvedores e designers web, reunindo apenas informações relevantes e ferramentas / soluções disponíveis.

http://wiki.lucascaton.com.br/

Colabore!

Os vídeos de apresentações da Apple

Os vídeos de apresentações da Apple

Estou lendo “A cabeça de Steve Jobs”, de Leander Kahney e hoje de manhã eu estava no início do capítulo 3, o qual fala sobre a apresentação do iMac – em 1998 – realizada por Jobs e conta sobre todos os detalhes com os quais ele se atentava. Fiquei curioso para ver tal apresentação e a achei facilmente no Youtube e resolvi compartilhar com vocês:

1998 – The First iMac Introduction
http://www.youtube.com/watch?v=0BHPtoTctDY

 

Além dela, encontrei outras apresentações da Apple:

2002 – iMac G4 introduction
http://www.youtube.com/watch?v=06ws6M2-S3w

2004 – The New iMac G5
http://www.youtube.com/watch?v=UL46PTX6Ps4

2007 – Steve Jobs introduces iPhone
Parte 1http://www.youtube.com/watch?v=PZoPdBh8KUs
Parte 2http://www.youtube.com/watch?v=4phetZsLvGU
E vai até a parte 12…

[Tutorial] Traduzir rotas do Ruby on Rails com o plugin translate_routes

[Tutorial] Traduzir rotas do Ruby on Rails com o plugin translate_routes

Neste tutorial vou ensinar como traduzir rotas no Ruby on Rails, usando um plugin chamado translate_routes.

No Rails, uma boa prática é usar o inglês para nomear controllers, models, views, layouts, helpers, etc. O problema é que às vezes não fica legal deixar as URLs em inglês, principalmente quando você vai desenvolver um site estático (um site institucional por exemplo), o seu cliente pode não gostar.

É aí que entra o plugin “translate_routes”. Nós traduziremos somente as URLs públicas, porém todo código backend não será afetado. Ah! Um detalhe: este plugin funciona bem mesmo usando RESTful e Named routes.

Atenção: os comandos de terminal que são usados neste tutorial foram feitos no Linux, embora pouca coisa mude no Mac ou no Windows.

Então, mãos à obra:

1. Crie um projeto novo:

rails translate_routes_test

2. Instale o plugin:

cd translate_routes_test
script/plugin install git://github.com/raul/translate_routes.git

3. Vou criar um scaffold client pra demonstrar como fica a tradução, usando RESTful:

script/generate scaffold client name:string phone:integer

4. Não esqueça da migração do banco:

rake db:migrate

5. Crie um arquivo chamado i18n-routes.yml no diretório /config/locales/:

touch config/locales/i18n-routes.yml

6. É aqui onde você realmente vai traduzir as rotas. Edite o arquivo i18n-routes.yml, para que ele fiquei assim:

pt-BR:
  clients: "clientes"
  new: "novo"
  edit: "editar"
  show: "detalhes"

7. Adicione a seguinte linha no final do arquivo ./config/routes.rb (depois do end):

ActionController::Routing::Translator.i18n('pt-BR')

8. Retire o comentário da seguinte linha do seu arquivo .config/environment.rb e altere para pt-BR:

config.i18n.default_locale = 'pt-BR'

9. Pra verificas as rotas, rode o comando rake routes. A saída será:

$ rake routes
(in /home/caton/Desktop/translate_routes_test)
    clients_pt_br GET    /clientes(.:format)
                  POST   /clientes(.:format)
 new_client_pt_br GET    /clientes/novo(.:format)
edit_client_pt_br GET    /clientes/:id/editar(.:format)
     client_pt_br GET    /clientes/:id(.:format)
                  PUT    /clientes/:id(.:format)
                  DELETE /clientes/:id(.:format)
                         /:controller/:action/:id
                         /:controller/:action/:id(.:format)

10. Rode o servidor e entre no link: http://localhost:3000/clientes/novo pra testar.

Pronto! Suas rotas estão traduzidas.

Um detalhe importante: a versão atual do plugin só funciona com Rails 2.3.x. Se você usa outra versão, consulte o wiki.

Qualquer dúvidas, sugestões ou críticas, deixem aí nos comentários!

Java vs Ruby on Rails (by Rails Envy) [legendado]

Java vs Ruby on Rails (by Rails Envy) [legendado]

Final do ano passado eu mandei para o Lucas Borges e ele traduziu, e agora eu adaptei a legenda.

Entendendo o desenvolvimento web

Entendendo o desenvolvimento web

Eu criei uma coleção de textos para auxiliar iniciantes no desenvolvimento web, ser dar foco em nenhuma tecnologia específica. O objetivo dos textos é mostrar o “caminho das pedras” pra quem está migrando do desenvolvimento desktop ou mesmo pra quem nunca desenvolveu antes.

Quem quiser colaborar, o projeto está no GitHub:

http://github.com/lucascaton/understanding_the_web_development/tree/master

Fique a vontade quem quiser colaborar, criticar, dar sugestões ou tirar dúvidas.

Post atualizado!

Eu migrei o projeto do Github para um wiki que criei como subdomínio do meu site:
http://wiki.lucascaton.com.br/index.php?title=Entendendo_o_desenvolvimento_web

Continue à vontade quem quiser colaborar, criticar, dar sugestões ou tirar dúvidas.