Пока я перебираю и расстраиваюсь в возможностях бесплатных блогов. Набрел по высокой необходимости, на набор скриптов для подсветки исходных кодов. Подходящее описание нашел здесь, по этому примеру буду и глаголить на русском.
Сама разработка называется syntaxhighlighter, как то сжато получается, - можно написать Syntax Highlighting Code. Сайт проекта http://alexgorbatchev.com, http://code.google.com/p/syntaxhighlighter.
Построена система красиво на чистых JavaScript да CSS. На момент моего увлекательного тестирования я использовал версию 2.1.364.
В чем ее смысл? Если постить исходники так как есть то браузер не будет кое где учитывать отступы, кавычки, квадратные скобки и т.д. Можно использовать тег pre - тогда мы сохраним исходную формулировку и отступы. Но как не крути – нет той подсветки как в средах разработки или специальных вьюверах. Есть и специальные программы, с помощью которых можно перевести текст исходного кода - в красивый подсвеченный HTML. После чего остается его только вставить на страницу. Но зачем все эти прелести, когда уже готовая система сделает все за вас.
Как использовать?
Скачиваем, распаковываем, получаем структуру
Поддерживаемые языки
Есть и дополнительные языки.
В каталоге Scripts находятся скрипты (как ни странно) в Styles стили, вам нужно эти скрипты подключить к сайту, для этого нужно дописать в шаблоне код:
Все! Для того чтобы запостить, например, код:
Нюансы.
В теге pre название класса за brush – это название языка на котором написан ваш исходный код.
Если вы хотите чтобы подсвечивались некоторые рядки:
Спасибо авторам. Приятной работы.
Сама разработка называется syntaxhighlighter, как то сжато получается, - можно написать Syntax Highlighting Code. Сайт проекта http://alexgorbatchev.com, http://code.google.com/p/syntaxhighlighter.
Построена система красиво на чистых JavaScript да CSS. На момент моего увлекательного тестирования я использовал версию 2.1.364.
В чем ее смысл? Если постить исходники так как есть то браузер не будет кое где учитывать отступы, кавычки, квадратные скобки и т.д. Можно использовать тег pre - тогда мы сохраним исходную формулировку и отступы. Но как не крути – нет той подсветки как в средах разработки или специальных вьюверах. Есть и специальные программы, с помощью которых можно перевести текст исходного кода - в красивый подсвеченный HTML. После чего остается его только вставить на страницу. Но зачем все эти прелести, когда уже готовая система сделает все за вас.
Как использовать?
Скачиваем, распаковываем, получаем структуру
[scripts] shBrushAS3.js shBrushBash.js shBrushColdFusion.js shBrushCpp.js shBrushCSharp.js shBrushCss.js shBrushDelphi.js shBrushDiff.js shBrushErlang.js shBrushGroovy.js shBrushJava.js shBrushJavaFX.js shBrushJScript.js shBrushPerl.js shBrushPhp.js shBrushPlain.js shBrushPowerShell.js shBrushPython.js shBrushRuby.js shBrushScala.js shBrushSql.js shBrushVb.js shBrushXml.js shCore.js shLegacy.js clipboard.swf [src] shCore.js shLegacy.js [styles] shCore.css shThemeDefault.css shThemeDjango.css shThemeEclipse.css shThemeEmacs.css shThemeFadeToGrey.css shThemeMidnight.css shThemeRDark.css help.png magnifier.png page_white_code.png page_white_copy.png printer.png
Поддерживаемые языки
Brush name | Brush aliases | File name |
---|---|---|
ActionScript3 | as3, actionscript3 | shBrushAS3.js |
Bash/shell | bash, shell | shBrushBash.js |
C# | c-sharp, csharp | shBrushCSharp.js |
C++ | cpp, c | shBrushCpp.js |
CSS | css | shBrushCss.js |
Delphi | delphi, pas, pascal | shBrushDelphi.js |
Diff | diff, patch | shBrushDiff.js |
Groovy | groovy | shBrushGroovy.js |
JavaScript | js, jscript, javascript | shBrushJScript.js |
Java | java | shBrushJava.js |
JavaFX | jfx, javafx | shBrushJavaFX.js |
Perl | perl, pl | shBrushPerl.js |
PHP | php | shBrushPhp.js |
Plain Text | plain, text | shBrushPlain.js |
PowerShell | ps, powershell | shBrushPowerShell.js |
Python | py, python | shBrushPython.js |
Ruby | rails, ror, ruby | shBrushRuby.js |
Scala | scala | shBrushScala.js |
SQL | sql | shBrushSql.js |
Visual Basic | vb, vbnet | shBrushVb.js |
XML | xml, xhtml, xslt, html, xhtml | shBrushXml.js |
Есть и дополнительные языки.
В каталоге Scripts находятся скрипты (как ни странно) в Styles стили, вам нужно эти скрипты подключить к сайту, для этого нужно дописать в шаблоне код:
<link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>Для оптимизации лучше использовать только те отношения к языкам которые вы будете использовать. Например если вы используете С# то можно ограничиться:
<link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>файлы *Core нужно использовать обязательно, - это ядро. Если вы имеете возможность закачать скрипты себе на сайт то пишите относительный путь к скриптам, например:
Ели хостинг не позволяет - то можно использовать сторонний, куда вы можете залить
src='http://domain.com/Scripts/shBrushCSharp.js'где http://domain.com/ ваш сайт со скриптами, или сайт разработчика как в моем случае:
Все! Для того чтобы запостить, например, код:
namespace MenuGame.GameScreenManager { class GameScreenInput { public bool Up; public bool Down; public bool Left; public bool Right; } }нужно модифицировать его до вида
и вставить данный HTML код в вашу статью.namespace MenuGame.GameScreenManager { class GameScreenInput { public bool Up; public bool Down; public bool Left; public bool Right; } }
Нюансы.
В теге pre название класса за brush – это название языка на котором написан ваш исходный код.
Если вы хотите чтобы подсвечивались некоторые рядки:
class="brush: php; highlight: [1, 4]"Если вы не хотите чтобы не отображались номера рядков используйте опцию
class="brush: php; gutter: false"Если вы не хотите чтобы отображалась панель управления вверху кода используйте опцию
class="brush: php; toolbar: false;"Если вы хотите чтобы автоматически не переводило на новую строчку
class="brush: plain; wrap-lines: false"
Спасибо авторам. Приятной работы.
Комментарии
Отправить комментарий