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

Hipnoted

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

36 mensagens neste tópico

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito útil o destacar linhas. ;)

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

Bons posts.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora