Welcome to the blog Hitech Tips

A blog about web and IT. Sharing things I use at work.
Showing posts with label Templates. Show all posts
Showing posts with label Templates. Show all posts

How to setup the AddThis share buttons

Posted by Mr.Editor Thursday, November 4, 2010 0 comments

This tutorial shows how to add the "Share This" buttons to your blogger blog. At the end, you will have something like this:

image

tip level: intermediate

1. First of all, backup your template. See how: Template actions: download, backup, edit and restore. If anything goes wrong, this is your chance to go back.

 

2. Now, setup an AddThis account:

  • Go to http://www.addthis.com
  • Choose the sharing style:
    image
    Personally, I prefer the first option, but without the "Share" button ( because it makes a popup window to appear). Bellow the instructions will show how to have this:
    image
  • Choose to have sharing analytics:
    image
  • Click to have the button code:
    image 
  • Now you will need to register. Bellow I show my registration. Note at the username, it'll be used bellow.
    image
  • Now, copy the code:
    image
    and paste it in some text editor (notepad it's ok).  We will return to this code later.

3. Having this done, it's time to modify your template.

  • Make a copy of your template you downloaded in step one and let's modify it. You can use any text editor (such as notepad).
  • Search for the text  </head> and open a new line above it.
  • In order to choose the language in use, paste the following text:
    <script type='text/javascript'>
        var addthis_config = {
            ui_language: &quot;pt&quot;
        };
    </script>

  • Where it's written pt you can place the letters for your language. After this change, it should look like this:
    image

  • Now search in your template for this text:
    <data:post.body/>
    If you can't find it, search for
    data:post.body
    and then make sure it has a similar pattern to <data:post.body/>
  • Open a blank line bellow this text and paste there the following code:
  • <script type='text/javascript'>   
    var addthis_share = {
        url: &#39;data:post.url&#39;,
        title: &#39;data:post.title&#39;,
        templates: {
            twitter: &#39;RT @fliscorno {{title}} {{url}}&#39;
        }
    };
    </script>

    <div class='sharepost'>
        <div class='addthis_toolbox addthis_default_style'>   
            <span class='addthis_separator'>Partilhar: </span>
            <a class='addthis_button_facebook' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_twitter' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_myspace' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_blogger' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_wordpress' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>   
            <a class='addthis_button_google' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_friendfeed' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_delicious' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_email' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_favorites' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>
            <a class='addthis_button_print' expr:addthis:title='data:post.title' expr:addthis:url='data:post.url'/>   
        </div>
    </div>                                                   
    <script type='text/javascript'>var addthis_config = {'data_track_clickback':true};</script>
    <script type='text/javascript' src =
    'http://s7.addthis.com/js/250/addthis_widget.js#username=hitechtips'> </script>

    <br/>


    IMPORTANT: replace the red text above by your own usernames:
    - replace fliscorno with your twitter username
    - replace hitechtips with the username you created at step 2. You can copy if from the text you pasted at the end of step 2.

    Replace the text Partilhar with whatever you want to say (eg. Share)

    At the end of this step, it should look as the following picture:
    image
    (click to enlarge)

    Another tip about where to put this last piece of code: it must be in between <data:post.body/> and </b:includable> (see the picture).

  • Save the template and upload it to your blog (see the link at step 1).
  • Preview the blog and it's done. If the blog stop working, then restore the older template you have backed up at step 1.

 

Further steps:

  • The AddThis button can have Facebook and Twitter counts. See the AddThis help for instructions. See also here.

Help, this doesn't work!

  • Be sure that all the opening quotes (') have a corresponding closing quote
  • Make sure the text you have paste is OK
  • Make sure you pasted the text at the right places

 

Did you enjoy this tutorial? Make short post on your blog with a link to here :) I will appreciate it.

Template actions: download, backup, edit and restore

Posted by Mr.Editor Thursday, May 13, 2010 0 comments

This tutorial describes how to perform a backup of your template, how to edit your template and how to restore your template.

tip level: beginner

 

Some times people find problems editing their template and then I figure out that the root for the problem is because they didn't select the "Expand Widget Templates" check box. So, if you are using the code directly from this check box, be sure to select it:

 

image

 

However, I would recommend that you edit your template another way.

 

1. Download the full template, by clicking the link "Download Full Template":

image

 

2. Choose to save the file and give it a meaningful filename:

image

Including the date in the filename it's a good idea for backup organization.

 

3. Keep this file unchanged and perform the edits in a copy of this file. This way, if something goes wrong you can go back by uploading the previous version of the template.

Use a text editor to perform your changes in the .xml file. You can use a basic editor such as Windows Notepad but consider to use an editor that colorize the code. Notepad++ is a good choice and it's free. Links:

- Notepad++ page: http://notepad-plus.sourceforge.net

- Download page; click at the "Download Now!" button:

image

 

4. Perform your edits in the template, save the file and upload the new template. The template will be immediately changed and in use.

image

 

If you want to preview the changes before applying them, copy the edited template text and replace the text of the text box with it. Then press "Preview":

image

If it is ok, press "Save Template".

This preview method doesn't always work, particularly if the changes involve JavaScript. The best approach is to create a test blog and performing the template tests there.

5. If your changes become problematic, just upload the original template that you saved at points 1/2.

 

That's it. Enjoy.

Temas Wordpress mais ou menos gratuitos

Posted by Mr.Editor Tuesday, March 9, 2010 0 comments

image Encontram-se com facilidade temas gratuitos para o Wordpress. Mas como alguém disse, não há almoços grátis e algo terá que ser sempre pago, nem que seja apenas um link para o site do criador do tema. Acontece que por vezes algumas surpresas vêm escondidas no tema e é preciso estar a alerta:

Temas do Wordpress – Copyright a troco de segurança

«(…) alguns destes websites incluem “surpresas” nos temas. E por surpresas, digo código ofuscado de maneira a não ser perceptível pelo administrador do blog. Muitos websites alegam que se trata de código para manter os devidos créditos aos autores dos temas, e o ofuscam para mante-los. Mas será apenas esse o conteúdo que está por trás desse bloco de código? A verdade é que muitas vezes também é incluído código que permite rastrear utilizadores, incluir links para blackhat SEO, entre outras coisas»  continuar a ler

Por isso se encontrou um fantástico tema Wordpress e acha que seria a cara do seu blog, assegure-se primeiro que faz uma pesquisa no Google com o nome do tema e com o termo "blackhat SEO". Depois perca algum tempo a ver o que se diz sobre esse tema. Poderá nada encontrar mas se não procurar também não saberá se há algo a ter em conta ;-)

 

Leitura adicional: A Diverse Portfolio of Scareware/Blackhat SEO Redirectors Courtesy of the Koobface Gang (ver também a lista Infowar Blogosphere na barra lateral).

Tools: Cloaking Detector

New Wordpress template: Libetarion / web2feel

Posted by Mr.Editor Monday, February 22, 2010 0 comments

Liberation WP theme

Liberation is the latest News- magazine type of wordPress theme from web2feel.com. This is a widgetized 3 column theme with a magazine layout for the home page. Theme holds a featured post section in which posts from a featured category is displayed in a tabbed content style. a The home page displays latest posts and posts from specific categories. Theme also comes with a customizable “about us section” , Twitter widget, Featured video etc. There is a screencast explaining the setup process of the theme.

Links:

The designs made by  Jinsona / web2feel.com are inspiring and it's worth a visit to its website. As if not enough, these templates are available for free!

Personalizar caixa de comentários do Blogger

Posted by Mr.Editor Monday, February 15, 2010 1 comments

No Usuário Compulsivo:

Que tal deixar a sua caixa de comentários incorporada as páginas de postagem do Blogger / Blogspot melhor integrada ao seu template?

Neste tutorial você vai aprender como colocar bordas na mensagem que aparece antes do formulário de comentários. Como deixar a área do formulário de comentários mais larga, igual a largura da coluna das postagens, e como otimizar o cabeçalho da área de comentários. (...)

Este texto apresenta conceitos básicos sobre HTML e sobre a estrutura de templates do blogger, mas sem entrar demasiado pelo informatiquês. Servirá de apoio a à descrição de outras técnicas bloguísticas.

Se não se sente à vontade com o HTML e pretende aprender aprender, recomendo este curso online: http://pt-br.html.net

Conteúdo:

  1. Estrutura de um documento HTML
  2. Conceito de servidor/cliente
  3. CSS e DIV
  4. HTML ou XML?
  5. Estrutura de uma template do blogger
  6. Estrutura dos contentores da template
  7. Conclusão

Estrutura de um documento HTML

Um documento HTML é um simples documento de texto onde se misturam comandos para o browser interpretar com texto como este que está a ler. Genericamente, a estrutura de um documento HTML é a seguinte:


<html>
<head>
.....
</head>
<body>
.....
</body>
</html>


Neste exemplo podemos notar que:




  1. O pontinhos são conteúdo e comandos diversos; o resto são comandos HTML;


  2. Os comandos HTML (chamados de HTML tag ou simplesmente tag) estão contidos entre os caracteres < e >.


  3. Um comando HTML é formado por uma parte de "abertura do comando" (tal como "<html>") e outra de "fecho do comando" (tal como "</html>"). A parte de abertura de um comando começa por "<", seguindo-se-lhe o comando propriamente dito (caracteres até ao primeiro espaço ou até ao sinal ">"), continua com parâmetros específicos do comando e termina com ">". A parte de fecho do comando começa por "</", seguindo-se-lhe os mesmos caracteres do comando de abertura e termina por ">". Assim, os comandos das linhas 1 e 8 formam o respectivo par de abertura e fecho.


  4. Apesar de não mostrado no exemplo, alguns comandos fecham-se a si mesmos, como é o caso do comando que insere uma imagem: <img ..... />. Estes comandos começam "<", segue-se-lhes o comando propriamente dito (caracteres até ao primeiro espaço), continuam com parâmetros específicos do comando e terminam com "/>".


  5. Um documento HTML começa necessariamente com a linha 1 e termina com a linha 8. As linhas 2 a 4 e as linhas 5 a 7 formam os dois blocos principais. O primeiro bloco contém instruções para o browser e o segundo bloco contém o que o browser irá mostrar numa página. Antes da linha 1 deve constar a informação sobre que versão de documento se está a construir, o que é feito com o comando "<!DOCTYPE HTML PUBLIC ..... >".


  6. Há comandos específicos de cada um destes blocos.


  7. Genericamente, os comandos HTML que contenham parte de abertura e de fecho podem ser encadeados uns dentro dos outros, desde que se respeite a ordem "primeiro a abrir, último a fechar" (ver os comandos nas linhas 5 e 7).



Conceito de servidor/cliente



Chama-se cliente ao dispositivo onde o documento HTML será mostrado (o browser, geralmente) e chama-se servidor ao software que corre no computador ao qual se acede por um URL (o http://bloger.com, por exemplo).



Quando se coloca no browser o endereço de um site, o servidor processa o pedido e devolve um resultado. De seguida, o browser recebe o pedido e poderá realizar processamento adicional até que, finalmente, o resultado é mostrado. Exemplo:




  1. no browser digito http://fliscorno.blogspot.com;


  2. ao primir enter, o browser envia ao blogger o pedido da página inicial do blog;


  3. o blogger, que contém os textos dos posts numa base de dados, lê as configurações do blog, pega nos posts a mostrar e mistura-os com a template que estiver em uso. De seguida devolve o resultado ao browser;


  4. o browser pega na resposta devolvida pelo blogger e interpreta a resposta recebida. Além do conteúdo a exibir, entre os comandos podem estar comandos de formatação, de posicionamento e de processamento adicional (com javascript). Havendo javascript a ser processado, o browser executa-o, podendo alterar profundamente a resposta devolvida pelo servidor;


  5. finalmente, o resultado é apresentado ao utilizador.



CSS e DIV



A formatação e posicionamento dos conteúdos de uma página HTML pode ser feita com CSS, colocando o atributo class num elemento HTML. A propriedades definidas por pela classe de uma elemento serão válidas para esse elemento, bem para os que dentro dele estejam (salvo se forem redefinidos, por outra classe ou por formatações específicas).



DIV é um elemento estrutural do HTML e serve sobretudo para definir o posicionamento de conteúdos numa página. Um DIV associado a uma classe permite posicionar os conteúdos e atribuir-lhes formatações específicas.



HTML ou XML?



Um documento HTML é uma particularização de um documento XML. Neste âmbito não entrarei em especificidades mas quem quiser saber mais pode ler aqui: http://pt.wikipedia.org/wiki/Xml



Estrutura de uma template do blogger



Um template do blogger é um documento especial, em formato XML, semelhante a um documento HTML mas com comandos adicionais. Uma template pode ter várias estruturas, sendo os seguintes blocos uma abordagem bastante comum:




  1. Cabeçalho (header);


  2. Área de posts (posts area);


  3. Área de componentes (widget area);


  4. Rodapé (footer).





Nestas imagens (adaptadas daqui) vemos a disposição destes blocos. Também está realçado o facto de as áreas de componentes, frequentemente chamadas de "barra lateral", poderem ter número e posição variáveis. A seguir está uma simplificação do que poderia ser uma template correspondente à primeira imagem. NOTA: esta template não é funcional. Apenas serve para ilustrar conceitos.




<?xml .... ?>
<!DOCTYPE ... >
<html .... >
<head>
<b:skin><![CDATA[/*
#outer-wrapper {
....
}
#header-wrapper {
....
}
#main-wrapper {
....
}
#sidebar-wrapper {
....
}
#footer-wrapper {
....
}
]]></b:skin>
... outras definições ...
</head>
<body>
<div id='outer-wrapper'>
<div id='header-wrapper'>
.....
</div>
<div id='main-wrapper'>
.....
</div>
<div id='sidebar-wrapper'>
.....
</div>
<div id='footer-wrapper'>
.....
</div>
</div>
</body>
</html>


As linhas 1 e 2 classificam a template. Partir de uma template existente e deixá-las como estiverem.



As linhas 3 a 40 são o HTML a enviar para o browser. Contém comandos que serão interpretados pelo blogger antes de enviar a resposta ao cliente.



O bloco head do documento HTML está entre as linhas 4 a 23. Neste bloco é onde se incluem ficheiros de javascript, de CSS e onde se define o CSS estrutural do blog (linhas 5 a 21). O CSS estrutural do blog define um conjunto de classes (contentores) que posicionam os blocos como os das figuras anteriores em locais específicos da página HTML.



Entre as linhas 24 e 39 fica contido o conteúdo propriamente dito do blog (cabeçalho, posts, barra lateral e rodapé). Na figura são mostrados os blocos correspondentes aos da primeira das três figuras anteriores. De realçar:




  • os diversos blocos da template estão contidos entre tags DIV;


  • cada DIV tem uma propriedade "class" que identifica a classe d CSS correspondente. Essa classe está definida no bloco de CSS do head.



Estrutura dos contentores da template

Dentro de cada DIV que formam os contentores da template, existem blocos como os que se seguem:




<b:section ... >
<b:widget id='HTML1' type='HTML' ... >
<b:includable id='main'>
... conteúdo .....
</b:includable>
</b:widget>
</b:section>


As "section" agrupam blocos como por exemplo múltiplas colunas na barra lateral. Dentro de cada uma delas existem "widget" que são a "engenhoca" que mostra os conteúdos da secção. Finalmente, dentro do widget existem "includable" que são os conteúdos propriamente ditos: texto, fotos, javascript, etc.



Os widget aceitam conteúdos específicos em função do seu "type" e têm que ter uma identificação (id) única em toda a template. Esta identificação tem que ser formada pelo type seguindo de um número.



Os widgets podem ser do seguinte tipo:




  • BlogArchive


  • Blog


  • Feed


  • Header


  • HTML


  • SingleImage


  • LinkList


  • List


  • Logo


  • BlogProfile


  • Navbar


  • VideoBar


  • NewsBar



Para uma leitura mais aprofundada, o blogger tem alguma informação disponível (em inglês):





Conclusão



Uma template do blogger é um misto de HTML e comandos interpretados pelo blogger antes de enviar o resultado ao browser. Depois do browser receber uma página do blog, poderá haver lugar a processamento adicional com JavaScript.



As templates são formadas por blocos onde os conteúdos são mostrados. O seu posicionamento e formatação são feitos por CSS.



Criar ou alterar templates é um trabalho essencialmente de pachorra (para identificar os principais blocos da template) e de criatividade (pelo uso de CSS e outras técnicas no design).

Este artigo explica como fazer para ter diferentes ícones antes do título

Quem por aqui passa já terá reparado que associado a cada post aparece um ícone e que não é constante. Com efeito, cada conjunto de categorias do blog (labels) está associado a um ícone, o qual é escolhido automaticamente. Assim, quando se cria um post, escolhe-se a categoria para o marcar e plimmmm depois de publicar o respectivo ícone aparece. Mais tarde, se alterar a categoria do post, o ícone mudará em correspondência.

Passo a expôr como implementei esta funcionalidade na template. Dada a extensão do artigo, este será partido em 3 partes:

  1. O problema
  2. Implementação
  3. Juntando as peças

Associar ícones às categorias do post- parte 1/3: O problema

O objectivo

Dizem as regras da boa blogagem, as quais supostamente ajudam a aumentar o número de visitantes, que se deve manter coêrencia no género de conteúdos abordados no blog. Por exemplo, evitar falar dos negócios da política num blog de culinária sob pena disso causar indigestão. A ideia subjacente é que quem vai a um site espera encontrar lá um certo tipo de conteúdos e isso fidelizará o visitante. Pela minha experiência pessoal, sei que assim é. E se não se quiser ter vários blogs para malhar em áreas diferentes conforme a pachorra do momento? Claro que para o visitante poderá ser algo frustrante, daí que optei por facilitar a identificação visual dos conteúdos pelo uso de um ícone que esteja relacionado com a categoria do post. Já agora, na mesma linha da separação da separação de conteúdos, também abordarei noutro artigo a forma de ter um feed por cada categoria.

As limitações do Blogger

Olhado para uma template genérica, vemos que a parte onde as categorias são mostradas é esta (ir a Layout | Edit HTML | Download Full Template e abrir o ficheiro XML descarregado):

<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'>
<data:label.name/></a>
<b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
</b:loop>


Mais à frente explicarei este pedaço de código mas por agora basta verificar que existe um clico (loop) dentro do qual são listadas as categorias associadas ao post.



Portanto, para ter um ícone diferente para cada post, bastaria olhar para cada categoria e decidir sobre o ícone a usar. Algo assim:



<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'>
<data:label.name/></a>
<b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
IF categoria = gracinha THEN
usa o ícone da gracinha
END IF
</b:loop>


O problema desta abordagem está no facto de o Blogger não ter o bloco IF ... THEN ... ELSE!



A solução



Como resolver então o problema? O truque que encontrei para contornar este problema foi:




  1. parte do processamento é feito pelo Blogger


  2. a parte restante é feita pelo browser ao receber a página.



Assim, na template do Blogger coloquei comandos para gerar um javascript. Este script é depois interpretado pelo cliente (o browser) para escolher o ícone certo a apresentar.



Na próxima parte deste artigo detalharei a solução implementada. Entretanto, se a curiosidade apertar, experimente ver o código fonte desta página e olhe para o script gerado (procure o texto "var all_labels")

Followers