Теперь у вас есть возможность использовать подсветку синтаксиса с помощью тега
[ syntax ]Доступные аргументы простой версии тега (без указания языка):
- start="<номер>" -- начать нумерацию с заданного числа
- filename="<имя файла, используемое при скачивании кода>"
- highlight="Номера строк, которые надо выделить, разделенные запятыми, либо дефисом в случае диапазона строк". Если язык указан, то эта фича неактивна.
- Для подсветки части строки можно использовать тег [highlight] ... [/highlight]. Для подсветки строки целиком, используйте аргумент highlight
Важно: Используя нотацию [ syntax=php ], вы задаете язык, поэтому вышеуказанные опции неприменимы.
Если вы указываете язык для подсветки с помощью аргумента lang=<язык> (например,
lang=mysql) то можно использовать следующие опции:
- lang="latex | matlab | python | cpp | sql | ... " - Поддерживается более 130 языков
- start="<номер строки>" -- начать нумерацию с заданного числа
- filename="<имя файла, используемое при скачивании кода>"
- lines="n | f " -- способ отображения номеров строк. 'n' -- обычная (normal) нумерация, 'f' -- с поддержкой 'fancy' строк. См. примеры.
- fancy="5" -- Выделяет каждую 5-ю строку, используется только если опция lines выставлена в 'f'
По умолчанию, если указан язык, то номера строк отображаться не будут. Для их отображения используйте опцию
lines.
Примеры:1. Пример без указания языка:
Код:
[syntax] ... [/syntax]
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam enim magna, commodo in ultricies id,
- venenatis sed massa. Fusce at massa lacus. Ut aliquam, erat at auctor molestie, libero orci venenatis lorem,
- sit amet vulputate libero nisi eget massa. Aliquam erat enim, mollis eget molestie ut, ullamcorper at lectus.
- Aenean mi turpis, hendrerit in venenatis et, lobortis nec libero. Fusce pretium gravida nisi sed aliquet.
- Morbi lobortis, erat sit amet dapibus ultrices, est orci aliquam orci, ut pellentesque erat odio in enim. Etiam id
- ipsum at nisi vestibulum ullamcorper. Aliquam sollicitudin sollicitudin enim, eu dignissim metus laoreet vel. Proin
- auctor, turpis vitae blandit semper, nisi diam molestie elit, ac iaculis ligula diam eu mauris. Sed sit amet elit
- sapien. Proin at quam sem, vitae cursus diam. In varius nisi quis nunc scelerisque vitae varius arcu semper.
- Vivamus consectetur placerat aliquet.
2. Без указания языка, но с использованием опций:
Код:
[syntax start="4" filename="lorem.txt" highlight="4-5,7,9"] ... [highlight]....[/highlight] .... [/syntax]
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam enim magna, commodo in ultricies id,
- venenatis sed massa. Fusce at massa lacus. Ut aliquam, erat at auctor molestie, libero orci venenatis lorem,
- sit amet vulputate libero nisi eget massa. Aliquam erat enim, mollis eget molestie ut, ullamcorper at lectus.
- Aenean mi turpis, hendrerit in venenatis et, lobortis nec libero. Fusce pretium gravida nisi sed aliquet.
- Morbi lobortis, erat sit amet dapibus ultrices, est orci aliquam orci, ut pellentesque erat odio in enim. Etiam id
- ipsum at nisi vestibulum ullamcorper. Aliquam sollicitudin sollicitudin enim, eu dignissim metus laoreet vel. Proin
- auctor, turpis vitae blandit semper, nisi diam molestie elit, ac iaculis ligula diam eu mauris. Sed sit amet elit
- sapien. Proin at quam sem, vitae cursus diam. In varius nisi quis nunc scelerisque vitae varius arcu semper.
- Vivamus consectetur placerat aliquet.
3. Основной вариант использования:
Код:
[syntax=latex] ... [/syntax] или [syntax="latex"] ... [/syntax]
[syntax lang=perl] ... [/syntax]
Используется синтаксис latex
\documentclass [11pt] {letter}
\begin{document}
\begin{letter} {Mr. G. Electric
\\Wheatstone Inc.\\33 Circuit Dr.\\
Corporation, California 02019}
\address{Mr. J. Powers\\Buffalo Lighting Co.
\\33 Washington St.\\Bison, New York 14230}
\signature{James Powers\\
President, Buffalo Lighting Co.}
\opening{Dear Mr. Electric:}
The power grid at 33 Washington St. has
failed due to an explosion of your
supermagneto transformer. We would
like you to repair it as per
your warranty stipulation.
\closing{Best regards,}
\cc{VP JES}
\end{letter}
\end{document}Парсинг занял 0.005 сек. Использовалась библиотека
GeSHi 1.0.8.4
Если строк в коде совсем немного, то Сворачивать/Разворачивать нечего:
Используется синтаксис perl
#!/usr/bin/perl
print "Hello, world!\n";
Парсинг занял 0.007 сек. Использовалась библиотека
GeSHi 1.0.8.4
4. Использование дополнительных опций:
Код:
[syntax lang=oracle11 start=91 lines=n] ... [/syntax]
Используется синтаксис oracle11
DELETE FROM btv_program_vb
WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
v_del_count := SQL%ROWCOUNT;
state_output('Delete rows count for (btv_program_vb) : ' ||
v_del_count);
DELETE FROM btv_program_ml
WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
v_del_count := SQL%ROWCOUNT;
state_output('Delete rows count for (btv_program_ml) : ' ||
v_del_count);
Парсинг занял 0.015 сек. Использовалась библиотека
GeSHi 1.0.8.4
Код:
[syntax lang=oracle11 start=91 lines=f fancy=5] ... [/syntax]
Используется синтаксис oracle11
DELETE FROM btv_program_vb
WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
v_del_count := SQL%ROWCOUNT;
state_output('Delete rows count for (btv_program_vb) : ' ||
v_del_count);
DELETE FROM btv_program_ml
WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
v_del_count := SQL%ROWCOUNT;
state_output('Delete rows count for (btv_program_ml) : ' ||
v_del_count);
Парсинг занял 0.014 сек. Использовалась библиотека
GeSHi 1.0.8.4
Поддерживаемые языки: abap, actionscript, actionscript3, ada, apache, applescript, apt_sources, asm, asp, autoit, avisynth,
bash, basic4gl, bf,
bibtex, blitzbasic, bnf, boo,
c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, cmake, cobol,
cpp, cpp-qt,
csharp,
css, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo,
fortran, freebasic, genero, gettext, glsl, gml, gnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io,
java, java5,
javascript, kixtart, klonec, klonecpp,
latex,
lisp, locobasic, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make,
matlab, mirc, modula3, mpasm, mxml, mysql, nsis, oberon2, objc, ocaml, ocaml-brief, oobas, oracle11, oracle8, pascal, per,
perl,
php, php-brief, phpbb, pic16, pixelbender, plsql, povray, powershell, progress, prolog, properties, providex,
python, qbasic, rails, rebol, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty,
sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xhtml,
xml, xorg_conf, xpp, z80
Известные проблемы: парсинг bbcode и смайликов.
Планы: Пока тег придется набирать вручную, но в будущем для популярных диалектов будет выпадающий список в редакторе.