Хаброформатирование

    Сегодня переводил статью о KIS, и встретился с одной очень неприятной особенностью хабра: трудностью вставки кода (sources).

    Единственный способ сделать это удобно — воспользоваться тегом pre.
    Но в силу неизвестных науке причин высота линий в этом теге выставлена непомерно большой.

    Это видно по коду ниже. Для лучшей видимости я обернул его в блок-квоту и показал как выглядит один и тот же код с pre и без pre.

    Изменить стиль невозможно. Каким же образом публиковать код?

    С pre (пробелы на месте — линии ультравысокие):
    class Test {
        
        protected $justForFun;
    
        public static function test2() {
            echo "Line1\n";
            echo "Line2\n";
            echo "Line3\n";
            echo "Line4\n";
        }
      
    }


    Без pre (линие нормальные, пробелы ушли лесом):
    class Test {
    protected $justForFun;

    public static function test2() {
    echo «Line1\n»;
    echo «Line2\n»;
    echo «Line3\n»;
    echo «Line4\n»;
    }
    }


    При написании перевода я решил эту проблему скопировав предварительно текст в редактор и заменив все пробелы на nbsp и отказавшись от использования pre — но это ведь не выход…

    12 ноября. Вопрос решён
    rossomachin 12 ноября 2007 10:40
    Мы знаем об этом. В следующей версии Хабра ошибки не будет.

    Похожие публикации

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 5 953 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 12

      +1
      Все очень просто! Там помимо обычного текстового перевода строки стоит еще и тэг !
        0
        На совсем вас понял.
        Где "там"?
          0
          Внутри <pre&qt; -тега. (У меня из-за отрицательной кармы выризало написанный мною тэг <br&qt;).
          Откройте исходный код страницы, найдите этот фрагмент (где вы говорите про отступы) и вы увидите, что внутри тега ПРЕ стоят переводы строк и тэги БР
            0
            Да. Об этом я конечно догадываюсь :) Посмотрел спасибо, но я и не сомневался, что проблема в этом.
            Вопрос в другом: что делать и зачем тогда вообще тег pre, если все равно работает некорректно?

            Есть как бы тег code, но он тоже не сохраняет форматирование.
              0
              Зачем тег pre - это вопрос философский. Видимо "так вышло", а править лениво. Но на самом деле достаточно взять GeSHi, потом sed - и всё в порядке. Заодно и читать код в таком виде удобнее...
                0
                GeSHi конечно интересно, но сохранять подсвеченный код умеет и мой редактор по умолчанию - SciTE.
                А вот как раз последний пункт - sed - мне и хотелось бы избежать, иначе пост бы не создавал.

                Кстати ссылка "все в порядке" - не в порядке :))
        0
        Можно, конечно...
        class Test {

            protected $justForFun;

            public static function test2() {
                echo "Line1\n";
                echo "Line2\n";
                echo "Line3\n";
                echo "Line4\n";
            }

        }
        Это если все отступы (табы) заменить на "&nbsp; &nbsp; " и выбрать моноширинный шрифтик.

        Хотя это изврат, да.

        P.S: Может быть это дело двинут в блог, более непосредственно связанный с хабром?
          0
          Ну как я написал, я так и сделал. Но изврат :)

          Надеюсь что на это обратят внимание - недоработочка неприятная.
          +1
          Мы знаем об этом. В следующей версии Хабра ошибки не будет.
            0
            Спасибо. Очень приятно что разработчики не игнорируют такие репорты :)
            0
            Сейчас есть галка «Отключить автоформатирование».
              +1
              Есть. Но на весь пост.
              В любом случае фидбек от разработчиков есть - значит пост был не зря.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое