• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Hipnoted

[Tutorial] Como utilizar o GeSHi (Código Colorido)

36 posts in this topic

Este tópico encontra-se desactualizado. Indicações para utilização do GeSHi no fórum actual (IP.Board) estão disponíveis na Ajuda do fórum (mais concretamente, aqui).


Apesar de ser uma coisa relativamente fácil, os novos utilizadores podem não saber como postar o código de forma correcta. Deixo aqui um pequeno tutorial para utilizar o GeSHi (colorir o código).

Temos várias maneiras de colocar as tags, mas as todas vão ter ao mesmo:

1 - Clicamos na listbox "Inserir Código", lá e escolhemos a linguagem. No meu caso para dar um exemplo escolhi a linguagem C. Este passo é importante pois cada linguagem tem características próprias.

2- Depois de escolher a linguagem, aparecem as tags na caixa de texto.

3- Agora é só colocar o código no meio das tags.

Também podemos fazer de outra maneira:

1- Escrever o código directamente e seleccioná-lo.

2- Clicar na listbox "Inserir Código" e seleccionar a linguagem correspondente.

Outra forma é colocar as tags manualmente e depois é só seguir os passos acima indicados.

Também se pode destacar algumas linhas, para isso é necessário introduzir depois do nome da linguagem as linhas que queremos, por exemplo para destacar as linhas 2, 3 e 4:

[ code=c,2,3,4] ... [/code] ou usando range [ code=c,2-4] ... [/code]

ficando assim:

if ( a > b ) {
  printf( " a e maior que b !");
}
printf("olá");
//^^

E pronto, já está! :D

Já agora aqui fica a diferença sem GeSHi e com GeSHi:

if ( a > b ) {

printf( " a e maior que b !");

}

if ( a > b ) {
  printf( " a e maior que b !");
}

Qual será melhor de ler? ;)

0

Share this post


Link to post
Share on other sites

Este será um tutorial de referência para a comunidade. Bom trabalho Hipnoted. :(

0

Share this post


Link to post
Share on other sites

Bem desde a actualização para o SMF2 que ficamos sem GeSHi, até hoje.

O mod foi quase completamente reescrito pelo staff e já está a funcionar.

Existe agora uma nova funcionalidade que permite destacar linhas, ex: [ code=python,2,3] ... [ /code]

print ""
print "Olá"
print ""
print "Adeus"

Se alguém quiser melhorar os ficheiros das linguagens (melhorar as cores, colocar links nas keywords, etc..) pode faze-lo, basta contactar alguem do staff para ele colocar o ficheiro no servidor.

Bons post ;)

0

Share this post


Link to post
Share on other sites

Muito útil o destacar linhas. ;)

EDIT: No tema SilentWave, não se notam muito as linhas destacadas. :P

0

Share this post


Link to post
Share on other sites

EDIT: No tema SilentWave, não se notam muito as linhas destacadas. ;)

Eu noto bem, vou é aumentar um pouco o tamanho da letra...
0

Share this post


Link to post
Share on other sites

Não dá para colocar os números de linhas? Se calhar é difícil, mas ajudava mais a interpretar o código.

0

Share this post


Link to post
Share on other sites

Não dá para colocar os números de linhas? Se calhar é difícil, mas ajudava mais a interpretar o código.

Vamos analizar essa situação.
0

Share this post


Link to post
Share on other sites

As licenças do GeSHi e do SMF são incompatíveis. Podemos usar o GeSHi aqui, mas não o podemos distribuir. Portanto, todas essas alterações terão de ser feitas por nós...

0

Share this post


Link to post
Share on other sites

Sim, acho que sim. Mas depois o SMF passou a ficar mais "restrito" no que respeita à licença, não permite forks :P

0

Share this post


Link to post
Share on other sites

Mais uma novidade, pode-se usar range para destacar linhas, [ code=c,2-45] ... [ /code].

Bons posts.

0

Share this post


Link to post
Share on other sites

Existe algum sitio onde se possa ver as linguagens suportadas?

Por exemplo, se for C já reparei q é code=c, mas onde posso ver quais são as restantes? tipo C#, sql, java, ...

0

Share this post


Link to post
Share on other sites

Tens uma caixa que diz "Inserir código" na página de edição de posts.

0

Share this post


Link to post
Share on other sites

Boas.

Já tinha tentado sem ler o post fazer isto mas sem sucesso, pensei que fosse de outra maneira. Agora lendo o post

vejo que estava a fazer tudo bem por isso não compreendo por não funciona. Uso o FF e tenho o JS activado.

0

Share this post


Link to post
Share on other sites

Tens de fazer manualmente como está explicado no fim do guia. A versão com JavaScript não está a funcionar correctamente.

0

Share this post


Link to post
Share on other sites

Ok, obrigado. E já agora, não funciona porquê ? Parece ser uma função simples.

0

Share this post


Link to post
Share on other sites

Ok, obrigado. E já agora, não funciona porquê ? Parece ser uma função simples.

Porque o sistema do editor foi alterado no SMF 2.0 e o plugin precisa de ser actualizado.

0

Share this post


Link to post
Share on other sites

O plugin do geshi foi actualizado pelo staff.

Assim a versão javascript já está a funcionar correctamente e pode ser usada por todos. :(

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now