Marzec
06
2009

Google SyntaxHighlighter

Słowa kluczowe: , , | Kategorie: Bez kategorii
No Gravatar

Formatowanie kodu źródłowego w Bloggerze opisane jest już dość dokładnie na wielu blogach. Jednak miałem pewne problemy z poprawnym formatowaniem, więc postanowiłem napisać, w jaki sposób rozwiązałem tę kwestię.

Podczas dodawania skryptów aplikacji Google SyntaxHighlighter, korzystałem z informacji zawartych na blogach:

Cała operacja dodawania obsługi podświetlania składni ogranicza się do dodania kilku fragmentów kodu w szablonie bloga. Podczas edycji ustawień należy otworzyć Układ, a następnie wybrać Edytuj kod HTML. Na obszarze edycji trzeba wyszukać komentarz <!-- end outer-wrapper -->, za którym należy dodać fragment kodu:

<script language='javascript'
  src='http://syntaxhighlighter.googlecode.com/svn-history/r92/trunk/Scripts/shCore.js'/>
<script language='javascript'
  src='http://syntaxhighlighter.googlecode.com/svn-history/r92/trunk/Scripts/shBrushXml.js'/>
<script language='javascript'
  src='http://syntaxhighlighter.googlecode.com/svn-history/r92/trunk/Scripts/shBrushJava.js'/>
<script language='javascript'>
dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code');
</script>

Aby nie tworzyć własnej strony ze skryptami, odwołuję się do repozytorium projektu SyntaxHighlighter – do ostatniej rewizji (w tej chwili jest to rewizja 92). Dodałem główny skrypt (shCore.js), a także skrypty obsługujące pliki XML oraz Java (shBrushXml.js, shBrushJava.js). W repozytorium znajduje się więcej skryptów, przeznaczonych do składni innych języków.

Na koniec dopisałem dwie linijki konwertujące wybrane znaczniki pre oraz textarea na kod z podświetloną składnią. Parametr 'code' oznacza, że tylko znaczniki z atrybutem name="code" będą brane pod uwagę przez skrypt.

Aby rozwiązać problem z formatowaniem, nie dodałem odwołania do arkusza stylów, ale skopiowałem całą zawartość pliku SyntaxHighlighter.css do szablonu bloga – tuż przed fragmentem:

]]></b:skin>
  </head>

Teraz już pozostało mi tylko dostosować wystąpienia znacznika pre na moim blogu. Dla formatu XML:

<pre name="code" class="xml">

Dla formatu Java:

<pre name="code" class="java">

Pełna lista wartości atrybutu class dla poszczególnych języków znajduje się tutaj.

Napisz Komentarz

*