Plugin nemůže být aktivován, protože způsobil závažnou chybu

Nebo chcete-li „Plugin could not be activated because it triggered a fatal error“. Při psaní minulého článku jsem zatajil ještě jeden problém, který instalaci WordPressu může provázet. Tenhle spot je o jedné nepříjemné hlášce, o jednom příjemném hostingu a o jednom pěkném nástroji z Google Code.

Jakmile svůj redakční systém nahodíte, začnete se poohlížet po hromadách dalších úžasných funkcí, jimiž je možné vyšperkovat nové sídlo. Začnete instalovat další a další pluginy, což je ve WordPressu opravdu jednoduché (většinou stačí nakopírovat zásuvný modul do adresáře wp-content/plugins a v menu Pluginy kliknout na odkaz Aktivovat), když tu náhle… Ouha! Plugin nemůže být aktivován, protože způsobil závažnou chybu.

Já jsem na tento zádrhel narazil při aktivaci pluginu WP-Syntax, ale může se to stát prakticky s jakýmkoliv. Důvod? Zásuvný modul neprošel validací. Proč? V zásadě je několik možností:

  • Nedostatek paměti
  • Chyba v pluginu (syntaktická apod.)
  • Plugin není kompatibilní s Vaší verzí WordPressu

Nejpravděpodobněji se jedná a nedostatek paměti. Na Českém hostingu, kde momentálně sídlím, je paměťový limit nastaven na 8MB. Když samotný WordPress konzumuje přibližně 5.5MB, na pluginy věru mnoho místa nezbývá. Většina zvýrazňovačů syntaxe pro WordPress navíc používá knihovnu GeSHi, která také není zrovna drobek.

Pravda je, že pánové z Českého hostingu mi celkem ochotně navýšili množství sosatelné paměti, ale stalo se tak až druhý den a do té doby jsem našel moc pěkné rozšíření založené na zvýrazňovači syntaxe, který si říká dost prozaicky SyntaxHighlighter. Ten umí obarvit kódy v: C#, CSS, C++, VB & VB.NET, Delphi, Pascal, Java, JavaScript, PHP, Python, Ruby, SQL, XML, HTML, XSLT a jiné kódy na bázi XML.

Na rozdíl od většiny ostatních zvýrazňovačů je však tento kompletně napsaný v JavaScriptu. Čili odpadá zátěž serveru při zpracování větších knihoven a toto břímě je přeneseno na klienta. Nevýhodou může být nutnost stahování poměrně velký externích souborů s JavaScriptem, což lze do jisté míry potřít importováním pouze souborů s jazyky, v nichž chceme ve finále publikovat. Každopádně problémy s nedostatkem paměti pro pluginy jsou vyřešeny.

Plugin jsem si trochu přizpůsobil, takže je zde k dispozici česká verze zvýrazňovače syntaxe WP-dp.SyntaxHighlighter.

Použití se lehce liší od verze původní. Kvůli validátoru jsem vypustil identifikaci pomocí atributu name, který není u tagu pre úplně košer. Místo toho se kód, který chceme zvýraznit, identifikuje pomocí atributu lang.

<pre lang="code" class="html">
   kód, který chceme zvýraznit
</pre>

Pomocí atributu class lze nadefinovat použitý jazyk uvedením jeho aliasu (viz. tabulka):

Jazyk Alias
C++ cpp, c, c++
C# c#, c-sharp, csharp
CSS css
Delphi delphi, pascal
Java java
Java Script js, jscript, javascript
PHP php
Python py, python
Ruby rb, ruby, rails, ror
Sql sql
VB vb, vb.net
XML/HTML xml, html, xhtml, xslt

K dispozici je ještě několik předvoleb zobrazení, jež je možné rovněž zadat prostřednictvím atributu class.

<pre lang="code" class="html:collapse:firstline[51]:showcolumns">
   kód, který chceme zvýraznit
</pre>
  • nogutter – skryje čísla řádků
  • nocontrols – skryje menu v horní části (kopírovat atd.)
  • collapse – zobrazí kód implicitně sbalený v jedné řádce, ten se musí následně rozkliknout
  • firstline[číslo_řádku] – začne počítat řádky od čísla_řádku
  • showcolumns – v horní části zobrazí čísla sloupců

Nechte své nudné zdrojové kódy zazářit!

Příspěvek byl publikován v rubrice Software se štítky . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>