Ir para conteúdo

Este site usa cookies. Ao continuar a usar este site está a concordar com a sua utilização. [Mais detalhes]   Fechar

Revista PROGRAMAR: a edição 52 já está disponível para download!

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


  • Por favor inicie sessão para responder
35 respostas a este tópico

#1 Hipnoted

Hipnoted

    Stack Overflow

  • Membro
  • PipPipPipPipPipPipPip
  • 5109 mensagens

Publicado 03 de Janeiro de 2007 - 12:11

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:
Código (C):
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 !");
}

Código (C):
if ( a > b ) {
   printf( " a e maior que b !");
}

Qual será melhor de ler? ;)

#2 Triton

Triton

    Stack Overflow

  • Membro
  • PipPipPipPipPipPipPip
  • 7572 mensagens

Publicado 03 de Janeiro de 2007 - 13:03

Bom tutorial, tópico inamovível por agora. ;)

#3 TheDark

TheDark

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3637 mensagens

Publicado 03 de Janeiro de 2007 - 16:21

Porreiraço ;)

#4 deathseeker25

deathseeker25

    Fundador

  • Membro
  • PipPipPipPipPipPip
  • 4647 mensagens

Publicado 06 de Janeiro de 2007 - 22:52

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

#5 fnds

fnds

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3132 mensagens

Publicado 19 de Maio de 2009 - 15:17

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]

Código (Python):
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 ;)

#6 Baderous

Baderous

    Unsigned User

  • Moderador
  • PipPipPipPipPipPip
  • 2583 mensagens

Publicado 19 de Maio de 2009 - 15:41

Bem jogado!

#7 scorch

scorch

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 2898 mensagens

Publicado 19 de Maio de 2009 - 15:42

Muito útil o destacar linhas. ;)

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

#8 fnds

fnds

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3132 mensagens

Publicado 19 de Maio de 2009 - 16:04

Ver Mensagemscorch, em 19 de Maio de 2009 - 15:42, disse:

EDIT: No tema SilentWave, não se notam muito as linhas destacadas. ;)
Eu noto bem, vou é aumentar um pouco o tamanho da letra...

#9 scorch

scorch

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 2898 mensagens

Publicado 19 de Maio de 2009 - 22:55

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

#10 fnds

fnds

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3132 mensagens

Publicado 20 de Maio de 2009 - 11:30

Ver Mensagemscorch, em 19 de Maio de 2009 - 22:55, disse:

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.

#11 scorch

scorch

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 2898 mensagens

Publicado 20 de Maio de 2009 - 19:50

Algo tipo isto: http://alexgorbatchev.com/wiki/SyntaxHighlighter:Integration

Estive a ver mas não existe nenhum para o SMF.

#12 HecKel

HecKel

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3028 mensagens

Publicado 21 de Maio de 2009 - 08:56

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...

#13 scorch

scorch

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 2898 mensagens

Publicado 21 de Maio de 2009 - 19:37

Mas o SMF 1.5 tinha as licenças compatíveis, acho eu. :P

#14 HecKel

HecKel

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3028 mensagens

Publicado 21 de Maio de 2009 - 20:00

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

#15 fnds

fnds

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3132 mensagens

Publicado 22 de Maio de 2009 - 13:24

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

Bons posts.

#16 bruno1234

bruno1234

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 2252 mensagens

Publicado 26 de Julho de 2009 - 19:38

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, ...

#17 Triton

Triton

    Stack Overflow

  • Membro
  • PipPipPipPipPipPipPip
  • 7572 mensagens

Publicado 26 de Julho de 2009 - 20:11

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

#18 bruno1234

bruno1234

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 2252 mensagens

Publicado 26 de Julho de 2009 - 20:23

Nunca tinha reparado.
Obrigado.

#19 NCS_One

NCS_One

    CRLF

  • Membro
  • PipPipPipPipPip
  • 537 mensagens

Publicado 06 de Janeiro de 2010 - 22:50

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.

#20 scorch

scorch

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 2898 mensagens

Publicado 06 de Janeiro de 2010 - 22:54

Não funcionam apenas os teus?