Dokumentace k pluginu 'Geshi'
(serendipity_event_geshi)

Dokumentaci k tomuto pluginu přeložil do češtiny Vladimír Ajgl (vlada [zavinac] ajgl [tecka] cz) a naposledy zkontroloval dne 5.4.2013. Od té doby mohl být plugin pozměněn nebo mohly být rozšířené jeho funkce. Zkontrolujte pro jistotu i aktuální anglické "readme" a ChangeLog.

O pluginu

Tento plugin umožňuje vkládat do příspěvků blogu útržky programovacího kódu v různých programovacích jazycích, a to s barveným zvýrazněním jejich syntaxe. Volitelně lze zobrazovat i čísla řádků. Číslování řádků je provedeno pomocí stylů, takže návštěvníci stránek mohou jednoduše zkopírovat kód bez čísel řádků.

Plugin je založen na obecné knihovně pro zvýraznění syntaxe GeSHi (která je součástí pluginu). Domovská stránka GeSHi je http://qbnz.com/highlighter/.

Tento plugin napsal David Rolson. V případě otázek nebo návrhů k vylepšení navštivte fórum na jeho webové stránce. Fórum najdete na stránce http://www.gizmola.com/.

Aktualizace, upgrade

Pokud nahrazujete verzi .01, musíte buď odinstalovat starou verzi a znovu nainstalovat plugin GeSHi, nebo v administrační sekci blogu najděte nastavení pluginu a znovu ho uložte. Tato procedura je nutná kvůli tomu, že v novějších verzích pluginu byly do nastavení přesunuty cesty k jednotlivým částem pluginu, dříve natvrdo zabudované do kódu pluginu.

Jak používat plugin GeSHi

  1. Nainstalujte a povolte tento plugin událostí.
  2. Ujistěte se, že v seznamu pluginů je před pluginem NL2BR. Také doporučuji umístit ho i před plugin BBCode.
  3. Většině lidí by mělo vyhovovat výchozí nastavení, snad s výjimkou nastavení číslování řádků, které je ve výchozím stavu vypnuto. Pokud ho zapnete, bloky geshi budou obsahovat i čísla řádků, aniž byste je museli ručně psát do textu.

Pokud chcete do příspěvku vložit zdrojový kód, použijte následující syntaxi:

[geshi lang=nazev] Sem napiště kód [/geshi]

Podporované programovací jazyky naleznete v podadresáři pluginu /geshi. Každý podporovaný jazyk má svůj php soubor, jehož jméno má formát "nazev.php".

Následuje výčet nejčastěji používaných programovacích jazyků:

Každý příspěvek může obsahovat libovolný počet bloků geshi. Není žádný problém mít v jednom příspěvku více bloků s různými programovacími jazyky.

Nastavení čísel řádků

Pokud potřebujete výslovně zapnout nebo vypnout číslování řádek u jednoho konkrétního bloku geshi, můžete použít parametr ln= (line numbering). Parametr může nabývat hodnot ln={y|n}, kde y = yes = ano (zapnuté číslování) a n = no = ne (vypnuté číslování). Takže například pro zapanutí číslování řádek v bloku s kódem v jazyce php byste použili značku:

[geshi lang=php ln=y]...php code [/geshi]
Narozdíl od html, kde na pořadí parametrů nezáleží, zde musí být parametr "ln" bezpodmínečně až ZA parametrem "lang".

Známé vlastnosti a nedostatky

Tato verze je nyní stabilní beta!!! Používáte ji na vlastní nebezpečí (i když riziko nehody je pravděpodobně zanedbatelné).

Příklad (v c++)

[geshi lang=cpp]
double CAAPluto::EclipticLongitude(double JD)
{
  double T = (JD - 2451545) / 36525;
  double J = 34.35 + 3034.9057*T;
 
  //Calculate Longitude
  double L = 0;
  int nPlutoCoefficients = sizeof(g_PlutoArgumentCoefficients) / sizeof(PlutoCoefficient1);
  for (int i=0; i<nPlutoCoefficients; i++)
  {
    double Alpha = g_PlutoArgumentCoefficients[i].J * J +  g_PlutoArgumentCoefficients[i].S * S + g_PlutoArgumentCoefficients[i].P * P;
    Alpha = CAACoordinateTransformation::DegreesToRadians(Alpha);
    L += ((g_PlutoLongitudeCoefficients[i].A * sin(Alpha)) + (g_PlutoLongitudeCoefficients[i].B * cos(Alpha)));
  }
  L = L / 1000000;
  L += (238.958116 + 144.96*T);
  L = CAACoordinateTransformation::MapTo0To360Range(L);

  return L;
}
[/geshi]

ChangeLog (Historie verzí)