Tento plugin formátuje zdrojové kódy pod článkem v diskuzi.
Instalace: spočívá nakopírovaní celého adresáře do .\plugins\extend. V administraci webu je třeba zapnout podporu externích zásuvných modulů. Pro správný chod tohoto zásuvného modulu nainstalujte i HCM modul GESHI. V seznamu ikon u psaní komentáře je o jednu ikonu navíc.
Mezi vytvořené tagy vložte požadovaný zdrojový kód. Pokud nic dalšího nezadáte, tak se použije prosta šablona TEXT, pokud chcete specifikovat formátovací jazyk zadejte úplně na začátek klíčové slovo lang, malým písmem a za znak rovnosti přidáte požadovaný jazyk formátování. Nic nedávejte do apostrofů, nebo uvozovek a vše bez mezer. Za celým tímto zápisem bude čárka a ihned následuje formátovaný text.
Stáhnout GeshiBBCode.rar modul: GeshiBBCode.rar verze 1.1.0.
Příklad použití:
BYTE IoData[1];
DWORD BytesRet;
IoData[0] = a|0x10; // set the bit for read operations
DeviceIoControl(hUSB_LPT,IOCTL_VLPT_OutIn,IoData ,sizeof(IoData),IoData,sizeof(IoData),&BytesRet,NULL);
return IoData[0];
}[/geshi]
V tomto konkrétním příkladu: [geshi]lang=cpp, je určen jazyk cpp, to znamená C++.
Kód GeshiBBCode:
// Autor www.prochazka.zde.cz
// verze souboru v1.1.0.
// dne 30.11.2013 - vytvoreni modulu
/* ---- kontrola jadra ---- */
if (!defined('_core')) die;
// registrace do udalosti
_extend('regm', array(
// registraci syntaxe tagu
'bbcode.extend.tags'=> function($args) {
// parovy 1/0; ma argument 1/0; muze byt umisten v jinych tazich 1/0; muze obsahovat jine tagy 1/0; null=bez obrazku
$args['tags']['geshi'] = array(true, false, false, false, _indexroot. "plugins/extend/web.code/geshi.png");
},
// registraci provedeni tagu
'bbcode.extend.proc' => function($args) {
// vyhodnoceni tagu
$args['tags']['geshi'] = function($argument, $obsah) {
$StytleCode='' ;
$sConstanc ="lang=";
$nLenghtConstanc = strlen ($sConstanc);
$nPosition = stripos($obsah,$sConstanc,0);
$nPositionStart = stripos($obsah,',',$nPosition + $nLenghtConstanc);
$SlandGeshi = substr($obsah,$nPosition + $nLenghtConstanc, $nPositionStart - ($nPosition + $nLenghtConstanc));
$obsahNew = substr ($obsah,$nPositionStart + 1);
if ($StytleCode != '' ){$StytleCode = ' - '. $StytleCode;}
include_once _indexroot.'plugins/hcm/hacesoft/geshi/geshi.php';
$geshi= new GeSHi($obsahNew ,$SlandGeshi);
if ($geshi -> error ( )){$geshi->set_source ($obsah); $geshi->set_language ("text");}
$geshi->set_header_type(GESHI_HEADER_DIV);
$geshi->set_header_content($geshi->get_language_name().' code'. $StytleCode);
$geshi->set_overall_style('font: normal normal 100% monospace; color: #100066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', true);
$geshi->set_line_style('color: #403030;', 'font-weight: bold; color: #026060;', true);
$geshi->set_code_style('color: #f010d0;', true);
$geshi->set_header_content_style('font-family: sans-serif; color: #807080; font-size: 100%; text-align : center; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #70d0d0; padding: 2px;');
$output = $geshi->parse_code();
return $output;
};
}
));
Komentáře
Nebyly přidány žádné komentáře.