<?php echo "Syntax Highlighter" . "/Code Snippet/Plugin"; ?> <br />
Stvar koja mi je trebala (prvenstveno zbog PHP vodiča) za lakše uređivanje i pisanje postova jest stavljanje izvornog/source koda na pregled na stranicu, a da se isti ne renderira (prevede). Izvorni WordPressov je nešto siromašan, tj. nešto prevodi, nešto ne i sl. Tražio sam neki dodatak (plugin) koji bi imao mogućnost “farbanja” (bojenja) koda, tj. da se kod može vrlo lako i jednostavno pratiti i čitati te da ništa ne prevađa (npr. <br> tag u HTML – što bi značilo red ispod). Našao sam jedan vrlo zanimljiv imena CodeHighlighter te se ispočetka činio i više nego dobar (čak je imao mogućnost da se ubace linije sa lijeve strane po želji). No kada je došao php kod u kojem je bio HTML (točnije <br> tag) – isti se prevodio te tako samo prikazivanje koda nije bilo ispravno. Pokušao sam editirati neke datoteke, dodati <br> tag u Visual rasporedu, no sve bez uspjeha – on ga je i dalje tupo prevodio.
Tada sam išao u potragu za drugim pluginom te pronašao to što mi je falilo, jednostavnog imena WP-Syntax. Dopušta bojenje koda, dodavanje linija sa strane po želji, te odabir jezika (puna lista podržanih jezika) pri tipu koda tako da kod dodajete na način:

Plugin prije njega kojim nisam bio zadovoljan (CodeHighlighter) te sada navedeni WP-Syntax bazirani su na GeSHi “sustavu” koji kako sam već naveo podržava vrlo široki spektar dostupnih jezika.
Par primjera kako to izgleda u praksi (kodovi su preuzeti sa CodeHighlighter):
C++
class nsScannerBufferList { public: /** * Buffer objects are directly followed by a data segment. The start * of the data segment is determined by increment the |this| pointer * by 1 unit. */ class Buffer : public PRCList { public: Buffer() { ++index_; }
PHP (sa početnom linijom 5)
5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php for ($i = 0; $i < strlen( $utf8_string ); $i++ ) { $value = ord( $utf8_string[ $i ] ); if ( $value < 128 ) { // ASCII $unicode .= chr($value); } else { if ( count( $values ) == 0 ) { $num_octets = ( $value < 224 ) ? 2 : 3; } $values[] = $value; |
Perl (sa početnom linijom 1)
1 2 3 4 5 6 | my ($class, $mail, $orig) = @_; my $new_list = $class->_detect($orig) or return; $new_list->add_to_posts({mail => $mail->id}) unless Email::Store::List::Post->search( mail => $mail->id, list => $new_list->id ); |
CSS
pre { border: 1px solid #ccc; padding: 0em 0.5em; /* Browser specific (not valid) styles to make preformatted text wrap */ white-space: pre-wrap; /* css-3 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* Internet Explorer 5.5+ */ # } .strike { text-decoration: line-through; }