GeSHi - kolorowanie kodu w Joomla 1.5.8
Środa, 24 Grudzień 2008 00:18
GeSHi to klasa służąca do wyświetlania pokolorowanej składni kodu wielu języków programistycznych. Klasa ta znalazła się również w CMS Joomla umożliwiając zamieszczanie pokolorowanego kodu źródłowego wewnątrz artykułu. Wśród domyślnie dostępnych języków po zainstalowaniu Joomla 1.5.8 znajdują się:
- CSS
- html4strict
- JavaScript
- PHP
- PHP Brief
- SQL
- XML
Dodatkowo można zainstalować obsługę innych języków min. Action Script, C, C++, Delphi, Java, Pascal. Pełna lista wspieranych języków dostępna jest pod adresem: http://qbnz.com/highlighter/
Z uwagi na bezpieczeństwo z treści artykułu przy jego zapisie usuwane są niektóre znaczniki HTML czy też kod PHP. Z tego powodu pierwszą czynnością jaka należy wykonać by cieszyć się funkcjonalnością GeSHi w CMS Joomla jest wyłączenie usuwania kodu dla konta Super Administrator. Dokonuje się tego w Artykuły->Wszystkie artykuły wybierając ikonę Preferencje. Następnie zaznaczamy wszystkich użytkowników, oprócz użytkownika Super Administrator i wybieramy "Czarna list"
Kolejna czynnością jest włączenie dodatku GeSHi. Przechodzimy do Rozszerzenia -> Dodatki i odnajdujemy pozycję: "Content - Code Highlighter (GeSHi)" i ją włączamy. Ponieważ na działanie poszczególnych dodatków może mieć wpływ ich kolejność, ustawiamy dodatek "Content - Code Hightlighter (GeSHi)" powyżej "Content - Email Cloaking".
Umieszczenie kodu źródłowego możliwe jest jedynie w trybie wprowadzania kodu HTML używanego edytora WYSIWYG. Po przełączeniu się do tego trybu kod zamieszczamy pomiędzy znacznikami <pre> </pre>, w którym xml:lang="jezyk" przyjmuje wartość użytego języka np.:
<pre xml:lang="html4strict">kod</pre> <pre xml:lang="php">kod</pre> <pre xml:lang="sql">kod</pre>Poniżej przykład przedstawia sposób zamieszczenia kodu HTML wewnątrz artykułu. W podobny sposób można zamieścić kod php lub innego ze wspieranych przez klasę GeSHi języka.
<pre xml:lang="html4strict"> <html> <head> </head> <body> </body> </html> </pre>
<pre xml:lang="php"> <?php echo 'GeSHi - kolorowanie składni'; ?> </pre>
Zmieniony: Poniedziałek, 05 Styczeń 2009 12:46
Komentarze
Piątek 13 Luty 2009, 13:42
Wiele opisów Geshi nie uzywa prefiksu xml przed atrybutem lang i tego właśnie mi brakowało. Po dodaniu prefiksu wszystko pięknie działa.