Найти - Пользователи
Полная версия: Куда пропадают пустые строки в редакторе кода?
Начало » Флейм » Куда пропадают пустые строки в редакторе кода?
1
buddha
Пишу код, пропускаю строки, сохраняю пост, в коде все пустые строки вырезаются. Как поправить?
ZZZ

Написать нормальный css для форума.

reclosedev
ZZZ
Написать нормальный css для форума.
Не поможет, это postmarkup удаляет.
https://bitbucket.org/slav0nic/djangobb/pull-request/10/properly-parse-empty-lines-in-code/diff

Надо еще ноябрьские изменения посмотреть, хотя последний пакет Dec 2011.

Upd:
Нет, не исправлено.

Может уговорим slav0nic передумать насчет форка?
buddha
Т.е. ждать и надеяться? =)
ZZZ

reclosedev, мне rss с нормальным форматированием приходит, вот я и решил, что проблема скорее в css. Могу ошибаться, конечно.

reclosedev
buddha
Т.е. ждать и надеяться?
Да
А пока можно в пустые строки добавлять пробелы.
# test
 
# test
slav0nic
reclosedev
я думаю сменить парсер на https://pypi.python.org/pypi/bbcode
ну и я негативно отношусь к форкам в опенсоурсных проектах ;)
пока вечером кодить некогда, жене надо помогать дытыну нянчить В)
reclosedev
slav0nic
я думаю сменить парсер на https://pypi.python.org/pypi/bbcode
Выглядит неплохо, но кажется, ошибку в нем нашел:
import bbcode
 
 
parser = bbcode.Parser()
 
def render_code(name, value, options, parent, context):
    if options:
        lang = parser._replace(options.keys()[0], parser.REPLACE_ESCAPE)
        highlight_class = "lang-%s" % lang
    else:
        highlight_class = 'no-highlight'
    return '<code class="%s">%s</code>' % (highlight_class, value)
 
parser.add_formatter(
    "code", render_code, 
    render_embedded=False, 
    transform_newlines=False, 
    replace_links=False,
    replace_cosmetic=False,
)
 
markup = """[code python]
# before empty line
 
# after empty line
def test():
    print 'test'
    print "test (c)"
    code = 123
    a = [code]
    b = 42
[/code]"""
print parser.format(markup)
print bbcode.Parser().format(markup)
[/code]

Вывод (квадратные скобки заменены на фигурные):
# after empty line
def test():
print &#39;test&#39;
print &quot;test (c)&quot;
code = 123
a = {code}
b = 42
{/code}</code>
<code># before empty line<br /><br /># after empty line<br />def test():<br /> print &#39;test&#39;<br /> print &quot;test &copy;&quot;<br /> code = 123<br /> a = {code}<br /> b = 42<br />{/code}</code>
Добавление {code} ломает разметку. А тут (тест):

def test():
    code = 123
    a = [code]
    b = 42
[/code]
судя по предпросмотру тоже. Закрывающегося code не было в моем тексте.
Или может я неправильно что-то делаю?
Надо будет открыть issue.

upd
Автор уже починил!
slav0nic
test


test

исправили, обновил postmarkup
reclosedev
# code python
# проглатывает
просто code

нет
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB