Страницы

воскресенье, 7 апреля 2013 г.

Публикация красиво оформленного кода

Т.к., существует необходимость публикации исходных кодов и файлов конфигураций, то сразу озадачимся вопросом подсветки и оформления. После анализа возможных вариантов выбор пал на SyntaxHighlighter

Подключение
1. Сохраняем шаблон блога в файл, используя механизм backup/restore
2. Открываем файл и вставляем в тэг <head> несколько строк, а именно подключение таблицы стилей, темы и скриптов поддержки нужных нам языков
...
<head>
    <!-- Core -->
    <link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
    <!-- Thema -->
    <link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
    <!-- Syntax -->
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
    <!-- Starting -->
    <script language='javascript'>
      SyntaxHighlighter.config.bloggerMode = true;
      SyntaxHighlighter.all();
    </script>
    ...
</head>
...

Список доступных цветовых тем можно посмотреть здесь, список поддерживаемых синтаксисов здесь. В примере используется тема по умолчанию, и список синтаксисов ограничен необходимым для моих целей.
3. Загружаем файл обратно

Использование
Метод <script />
Данный метод позволяет не подготавливать исходный код, переводя его в html последовательность
К одному из недостатков данного метода можно отнести то, что отформатированный исходный код появляется не сразу. А так же то, что исходный код не виден в WYSIWYG режиме редактирования поста.

Метод <pre />
Данный метод требует перевода исходного кода в html последовательность. Сервисов позволяющих реализовать данный перевод предостаточно, например можно воспользоваться HTMLEscape.net.

        public static T[] SubArray<T>(this T[] sourceArray, int index, int length)
        {
            var result = new T[length];
            Array.Copy(sourceArray, index, result, 0, length);
            return result;
        }

Полезные параметры
Все доступные параметры и примеры их использования можно найти на сайте производителя.
gutter - Нумерация строк (по умолчанию включена)
highlight - Подсветка строк

Комментариев нет :

Отправить комментарий