1. alTus

    10.02.2010

    1 ↑
    0 ↓
    Хотелось бы спросить у Ивана, чем было вызвано изменение поведения... ммм... парсера.
    Ну то есть я раньше ставил теги {code} и {quote} на разных строках, вот так:

    my text...
    {code}
    my_code
    {/code}
    next_text

    и отступы вокруг my_code и до тегов автоматом обрезались, что я всегда считал очень удобным. также как и next_text имел как раз одну строку переноса в таком случае.
    а теперь, как я понял, ничего не убирается.

    у многих, я смотрю, теперь этих отступов очень много, что смотрится несколько неэстетично :)

    а писать , чтобы их не было - не очень удобно, особенно если код в несколько строчек:
    my text... {code}my_code_line_1
    my_code_line_2{/code} next_tex
  2. Иван Сагалаев

    10.02.2010

    0 ↑
    0 ↓

    Я переехал на django-bbmarkup, потому что у предыдущий парсер позволял включать произвольные атрибуты, что по сути является XSS-дыркой. Отступы я сам сегодня заметил, и вспомнил, что когда-то хачил предыдущий парсер. Поправлю, как руки дойдут.

  3. alTus

    10.02.2010

    0 ↑
    0 ↓
    А, понятно! У меня по поводу отступов пунктик просто :)
    А почти везде сделано как раз без таких мелких удобств, и когда я в первый раз здесь что-то писал, меня это очень порадовало.
  4. slav0nic

    13.02.2010

    0 ↑
    0 ↓
    шлите патчи В), а вообще над бы это дело по уму переписать
  5. Иван Сагалаев

    13.02.2010

    0 ↑
    0 ↓

    Пришлю. Если кто-нибудь раньше не успеет. Со временем у меня как обычно неважно.

  6. SmilledKIT

    20.02.2010

    0 ↑
    0 ↓
    И еще в копилку "мелочей", ув. Иван.
    Посмотрите на последний пост здесь: http://softwaremaniacs.org/forum/python/19801/
    Видите, как крайне неудобно когда обрамление кодов имеет только вертикальный скроллер!
    Думаю навскиду, что стилях тегов:
    <div class="usertext"> или в <pre><code>
    это не так сложно поправить...
    Успехов! — Андрей

    PS. Пардон, вертикального как раз нет, есть горизонтальный скроллер! :)
  7. Иван Сагалаев

    20.02.2010

    0 ↑
    0 ↓

    Я не понял, как поправить. Если убрать скроллер, кода за правой границей будет не видно.

  8. SmilledKIT

    20.02.2010

    0 ↑
    0 ↓
    Иван,
    сейчас взял стилевой ф-л с указ странички:
    http://softwaremaniacs.org/media/style/style.css?1265802089
    (кстати, почему к css такой "довесок" как будто это скрипт, принимающий параметры: ?1265802089)
    Пробую разобраться в структуре (очень плотно ксс-ка написана мало читабельно, или так у мноя скачалась браузером — без разбиения на строчки :(...) - смогу, подскажу что именить.
    Короче, разберусь - отпишусь.

    PS. речь не о том чтоб убрать, напротив - что было оба скроллера...
  9. SmilledKIT

    20.02.2010

    0 ↑
    0 ↓
    Итак, навскидку вижу два возможных варианта (1-й не уверен, что прокатит).

    1. заюзать вкладку конетейнера в таблу с размерами, жестко прописанными в стилях навроде:
    table.forcode {style="table-layout: fixed; width: xxx; height:yyy;"}
    (подробности идеи см хоть десь: http://codehelpers.ru/topic/show/4
    Но... не скажу чтоб изящно это было...

    2. заюзать смену тэга
     при парсинге не на <pre><code>, а на контейнер, типичный для текста формы с прописыванием для него в стилях приемлемых величин ширины и высоты -- последняя не более 8-12 текстовых строк)
    -- то не очень изящно, но зато навеняка.

    3.... возможны иные неочевидные вар-ты...

    ЗЫ. ваш стилевой ф-л с бесконечными ".usertext" и без разбиения на строчки практически человеко-НЕчитаем :(
    Успехов!
  10. Иван Сагалаев

    20.02.2010

    0 ↑
    0 ↓

    Эм... Спасибо за такой энтузиазм, но я не спрашивал как конкретно CSS поправить, это я могу. Меня интересовало, что (а не как) надо сделать с кодом. Строчка кода физически длинней колонки. Мне не знакомы никакие нормальные способы показать её всю, кроме скроллинга.

    (подробности идеи см хоть десь: http://codehelpers.ru/topic/show/4

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

    http://softwaremaniacs.org/media/style/style.css?1265802089 (кстати, почему к css такой "довесок" как будто это скрипт, принимающий параметры

    Это время обновления файла. Чтобы браузер обновлял закешированный стиль при его изменении.

    очень плотно ксс-ка написана мало читабельно

    Она не написана так, она сжата. Это файл для браузера, а не для человека.

  11. SmilledKIT

    20.02.2010

    0 ↑
    0 ↓
    А вот еще решение, наиболее удачное имхо (попалось на просматриваемом мною сейчас форуме на SMF):

    Юзаем классическое: <div class="code">...
    А в стилях:
    div.code
    {
    color: #000000;
    background-color: #dddddd;
    font-family: "courier new", "times new roman", monospace;
    font-size: x-small;
    line-height: 1.3em;
    /* Put a nice border around it. */
    border: 1px solid #000000;
    margin: 1px auto 1px auto;
    padding: 1px;
    width: 99%;
    /* Don't wrap its contents, and show scrollbars. */
    white-space: nowrap;
    overflow: auto;
    /* Stop after about 24 lines, and just show a scrollbar. */
    max-height: 24em;
    }
    где max-height: 24em; и ограничивает высоту окошка...
  12. SmilledKIT

    20.02.2010

    0 ↑
    0 ↓
    Иван, Вы меня опять не поняли:
    "Строчка кода физически длинней колонки. Мне не знакомы никакие нормальные способы показать её всю, кроме скроллинга" — я ж не ратовал за отказ от скролиннга! Напротив, я вижу в хороших форумах, как в окнах кода есть один, а если нужно - появляется ДВА скроллера.
    Широкие строчки кода почти всегда вызывают горз. скроллер.
    если же введен листинг длиной более 10-12 строк то появится верт. скроллер, который ОРГАРНИЧИТ высокт окошка кода!!! Только и всего...

    "Она не написана так, она сжата" — упс, впервые сталкиваюс в наше время стакой экономией байтиков...
  13. Иван Сагалаев

    20.02.2010

    0 ↑
    0 ↓

    Ах, высоту вы ограничить хотите... Изначально мне показалось, что вы хотите, чтобы просто у всех элементов кода всегда был вертикальный скроллер зачем-то.

    Но нет, ограничивать высоту я не хочу, потому что тогда ветикальный скроллинг внутри кусков кода начинает путаться со скроллингом окна, когда страницу туда-сюда перематываешь.

  14. SmilledKIT

    20.02.2010

    0 ↑
    0 ↓
    Ну так Иван, мне на моем Ёжике, живущем на пузе %) — с разрешеним экрана 1024Х600 — пришлось скопировать код человека на указ станичке в свой Geany, чтоб прочитать...
    А представьте, что введены 100-200 строк кода!
    Ибо НИКАКОГО экрана по вертикали не хватит, чтоб скроллировать при том, что по горизонтали также мешает нужда "елозить" скроллером по тексту кода... :(

    И в конце-концов *незря* кажется на всех форумах (мною виданных) сделано как именно так, как я говорил, а не как у Вас...
    Знате ли, законы юзабельности одни на этой Планете, как бы кто не утверждал противное...
  15. Иван Сагалаев

    20.02.2010

    0 ↑
    0 ↓

    "Сделано у всех" — это не то же самое, что "законы юзабилити". Я привёл обоснование, почему это плохо.

  16. SmilledKIT

    20.02.2010

    0 ↑
    0 ↓
    Ну... "хозяин-барин!" :)
  17. Loki

    24.02.2010

    0 ↑
    0 ↓
    Я привёл обоснование, почему это плохо.
    Вообще говоря SmiledKIT в чем-то прав: если делать горизонтальный скроллинг, то и вертикальный нужен тоже, потому как если код длинной, например, в 100 строчек, и первый десяток строк как раз и вызывает горизонтальный скролл, то чтобы его просмотреть придется прыгать постоянно вверх-вниз от кода к скроллбару. Навскидку приходят в голову несколько решений:
    1. горизонтальный и вертикальный скролл
    2. код длиннее N строк помещать в аттач
    3. принудительный перенос длинных строк
    4. вертикальная/горизонтальная навигация по коду с помощью JS
    5. Обернуть код в textarea, полностью лишившись подсветки кода
    6. Вообще убрать все вложенные скроллы

    Все варианты по своему плохи и, если пока проблема кода пока не стоит остро то лучше на это и забить:)

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.