Autor | Zpráva | ||
---|---|---|---|
Camo Profil |
#1 · Zasláno: 3. 6. 2015, 03:59:38
Zdravím,
prosím vás čo si myslíte o zvýrazňovaní kódu cez javascript? Našiel som niečo takéto: https://github.com/google/code-prettify Zdá sa že to funguje. Nechce sa mi to robiť na servry. Ak dobre vidím aj Diskuse zvýrazňuje cez js. čo za zvýrazňovač sa tu používa? |
||
Jan Tvrdík Profil |
#2 · Zasláno: 3. 6. 2015, 04:20:32
Jush
|
||
Camo Profil |
Jan Tvrdík:
Díky A nevedel by tu niekto tie zvýrazňovače porovnať? |
||
Kajman Profil |
#4 · Zasláno: 3. 6. 2015, 12:17:38
Pokud vybíráte jen ze dvou, bude lepší si oba vyzkoušet a podle toho se rozhodnout.
|
||
_es Profil |
Camo:
„Nechce sa mi to robiť na servry. Ak dobre vidím aj Diskuse zvýrazňuje cez js. čo za zvýrazňovač sa tu používa?“ Používa sa to len ako (dlhodobé) provizórne riešenie: Zvýrazňování kódů na straně serveru. |
||
Camo Profil |
Sakrapráce, každý z tých dvoch má nejaký problém. Ako je napr. možné, že tu sa tento kód cez Jush ofarbí a u mňa nie:
abstract class BasePresenter extends Nette\Application\UI\Presenter { /** @var Nette\Database\Context @inject */ public $database; /** @var Nette\Security\IAuthorizator */ public $authorizator; public function startup() { parent::startup(); $this['breadcrumbs']->add('Články', ':Articles:default'); } A čo toto: /** * @param $name * @return \NasExt\Controls\VisualPaginator */ protected function createComponentVp($name) { $control = new \NasExt\Controls\VisualPaginator($this, $name); // enable ajax request, default is false /*$control->setAjaxRequest(); } No tak je zrejme rozhodnuté. Takto to nemôže fungovať. Moderátor Alphard: Zkráceno, nejsem na hřišti.
|
||
Dan Charousek Profil |
#7 · Zasláno: 3. 6. 2015, 23:17:03
Camo:
„Ako je napr. možné, že tu sa tento kód cez Jush ofarbí a u mňa nie:“ Zkus to s otevírací značkou php: <?php /** * @param $name * @return \NasExt\Controls\VisualPaginator */ protected function createComponentVp($name) { $control = new \NasExt\Controls\VisualPaginator($this, $name); // enable ajax request, default is false /*$control->setAjaxRequest(); $that = $this; $control->onShowPage[] = function ($component, $page) use ($that) { if($that->isAjax()){ $that->invalidateControl(); } };*/ return $control; } ?> |
||
Alphard Profil |
#8 · Zasláno: 3. 6. 2015, 23:18:36
Tady je problém s detekcí jazyka, která je doimplementovaná přímo pro tuto diskusi, to dělal myslím Kajman a Chamurappi. abstract není rozpoznáno jako klíčové slovo, <?php to vyřeší. Jestli si chcete hrát, běžte na hřiště, sem tychle kódy nevkládejte.
<?php abstract class BasePresenter extends Nette\Application\UI\Presenter { /** @var Nette\Database\Context @inject */ public $database; /** @var Nette\Security\IAuthorizator */ public $authorizator; public function startup() { parent::startup(); $this['breadcrumbs']->add('Články', ':Articles:default'); } public function afterRender() { if ($this->isAjax() && $this->hasFlashSession()) $this->redrawControl('flash'); } /** * @desc Used in menu detects name of module section == module * @param $url * @return bool */ |
||
Camo Profil |
#9 · Zasláno: 3. 6. 2015, 23:26:38
Hej značka <?php to vyrieši ale aj tam zostane viditeľná.
|
||
Alphard Profil |
#10 · Zasláno: 3. 6. 2015, 23:31:39
Lze zapsat explicitní [prephp], pak tento workaround není třeba. Pro původní JUSH to je ale irelevantní, tam je potřeba explicitně zadat obarvovaný jazyk, žádná autodetekce tam není.
|
||
Camo Profil |
#11 · Zasláno: 3. 6. 2015, 23:46:20
A ako sa s tým vyrovnávajú serverové highlightery? Dokážu takéto útržky kódu spracovať správne? Aké používate?
Pozná niekto GeSHi? |
||
snazimse Profil |
#12 · Zasláno: 4. 6. 2015, 04:04:50
Camo:
„Pozná niekto GeSHi?“ Jo pracuje se s tím dobře si myslím. Umí to snad drtivou většinu jazyků co existujou. Alphard: „Pro původní JUSH to je ale irelevantní, tam je potřeba explicitně zadat obarvovaný jazyk, žádná autodetekce tam není.“ Já jsem se díval do kódu, pro zajímavost, je to už starší knihovna. Narazil jsem na tuto js proměnnou s regulárem: var php = /<\?(?!xml)(?:php)?|<script\s+language\s*=\s*(?:"php"|'php'|php)\s*>/i; // asp_tags=0, short_open_tag=1 A vůbec jsem nepochopil v tom reguláru ty php alternativy v atributu language. A docela mě dostalo, že se takhle používalo php, to jsem teda čuměl o tom jsem neslyšel ani neviděl dneska v žádném php kódu.Používá se to dneska ještě někde? |
||
juriad Profil |
#13 · Zasláno: 4. 6. 2015, 05:41:08
„There are four different pairs of opening and closing tags which can be used in PHP. Two of those, <?php ?> and <script language="php"> </script>, are always available. The other two are short tags and ASP style tags, and can be turned on and off from the php.ini configuration file. As such, while some people find short tags and ASP style tags convenient, they are less portable, and generally not recommended.“
php.net/manual/en/language.basic-syntax.phpmode.php |
||
snazimse Profil |
#14 · Zasláno: 4. 6. 2015, 22:13:49
juriad:
Děkuji za zpřesnění, každopádně je to nepraktické, tak se ani nedivím, že jsem to nikde neviděl. A ty asp tagy, vůbec nechápu, k čemu to bylo zamýšleno jaký by to mělo přínos. A ještě to sami uznají they are less portable, and generally not recommended.“ |
||
Alphard Profil |
juriad [#13], snazimse [#14]:
Dodávám, že budou zrušeny wiki.php.net/rfc/remove_alternative_php_tags. |
||
Časová prodleva: 10 let
|
0