Ru-Board.club
← Вернуться в раздел «Программы»

» OutWiker

Автор: unreal666
Дата сообщения: 03.06.2012 09:18
Jenyay
Создай, плиз, переменную типа [= =], но чтобы еще внутри не создавались теги <br>. А то эти теги всю разметку ломают, т.к. встревают там, где они не должны быть вообще по правилам html.
Автор: Jenyay
Дата сообщения: 03.06.2012 09:20
unreal666



Цитата:
А то эти теги всю разметку ломают, т.к. встревают там, где они не должны быть вообще по правилам html.


Например?
Автор: unreal666
Дата сообщения: 03.06.2012 09:41
При вставке html-кода типа кода таблиц, списков, <pre> и т.п. Про таблицы я уже говорил, что напрямую их можно вставить тегами, только если писать всю таблицу в одной строке, т.к. если теги таблицы на разных строках, то код ломается.

ЗЫ.
Чего-то ты слишком быстро отвечаешь

Добавлено:
ЗЫ2.
Заметил, что при использовании плагинов типа (:style: ), (:source: ) тег <br> автоматом не ставится. Это поведение по умолчанию для плагинов или в самом плагине это указывается? Если первое, nj может просто сделать плагин-пустышку?
Автор: Jenyay
Дата сообщения: 03.06.2012 12:11
unreal666


Цитата:
При вставке html-кода типа кода таблиц, списков, <pre> и т.п. Про таблицы я уже говорил, что напрямую их можно вставить тегами, только если писать всю таблицу в одной строке, т.к. если теги таблицы на разных строках, то код ломается.


На самом деле надо просто сделать более умную расстановку переносов. В принципе, сделать команду для включения/выключения переносов можно (что-то подобное есть и в pmWiki), но для начала хотелось бы решить саму проблему, а не ее последствия. Почему я пока за это не брался - есть подозрение, что это отрицательно скажется на скорости рендеринга, но надо пробовать.



Цитата:
Чего-то ты слишком быстро отвечаешь




Автор: unreal666
Дата сообщения: 03.06.2012 12:37
Я хоть в питоне не разбираюсь, но так быстро посмотрел реальные и тестовые плагины и решил замутить два фиктивных плагина: 1-ый - для вставки текста по месту (DummyBody), 2-ой - для вставки чего-либо в тег <head> (DummyHead).
2-ой как бы не обязателен, т.к. можно путем "хака" плагина Style внести что-угодно в заголовок, но так все-таки будет лучше.

Цитата:
есть подозрение, что это отрицательно скажется на скорости рендеринга

а для питона разве нет чего-то там связанного с языком C. Типа модуль или вставка, написанные на C (и даже кажется чего-то с ассемблером было) и компилирующиеся в нативный код. Или на скорости это не сильно скажется?
Автор: Jenyay
Дата сообщения: 03.06.2012 12:42

Цитата:
а для питона разве нет чего-то там связанного с языком C. Типа модуль или вставка, написанные на C (и даже кажется чего-то с ассемблером было) и компилирующиеся в нативный код. Или на скорости это не сильно скажется?


Есть, но без особой необходимости не хотелось бы это делать. Сейчас используется движок для парсинга, полностью написанный на питоне, поэтому не надо ничего отдельно компилировать под разные операционки. Тем более наверняка еще можно что-то соптимизировать без глобального переписывания движка.

На самом деле если отказаться от закрывающихся </p>, то все станет намного проще.
Автор: unreal666
Дата сообщения: 05.06.2012 04:43
блин. Оказывается тег <br> вставляется не на уровне вики, а на уровне сгенеренного html-кода. Даже если сама заметка является html-заметкой, то там тоже вставляется <br>. С той же таблицей и списками в html-заметке те же проблемы.
Надо сделать так: если 1-ым непробельным "словом" в строке является тег, перед которым вклиниваться нельзя, то <br> не генерить. К таким тегам относятся все теги, связанные с таблицей (<tr>, <td>, <thead> и т.п.), списками и может еще чем-то.
И по-любому надо в вики внести команду, отменяющую на данном участке генерацию <br> вне зависимости ни от чего.
А то фигня какая-то получается.
Автор: unreal666
Дата сообщения: 05.06.2012 13:51
Чего-то не могу нормального запустить прогу ни из исходников, ни саморучно скомпиленный (setup_win.py build). При открытии базы в них не отображаются вкладки заметки и вверху в панели при выборе любой заметки каждый раз добавляется новая кнопка поиска.
При запуске runoutwiker.py после закрытия проги в консоли пишет:

Код: File "D:\Programs\Programming\Python\lib\site-packages\wx-2.8-msw-unicode\wx\lib\activex.py", line 36, in <module>
import comtypes
ImportError: No module named comtypes
Автор: Jenyay
Дата сообщения: 05.06.2012 13:53
судя по ошибке не установлена библиотека comtypes.

Добавлено:
Скачать его можно отсюда - http://sourceforge.net/projects/comtypes/files/comtypes/0.6.2/ (нужна версия для 2-го питона).
Автор: unreal666
Дата сообщения: 05.06.2012 14:07
Тогда надо на оффсайте написать про эту зависимость.
Автор: Jenyay
Дата сообщения: 05.06.2012 14:11
Наверное, только под виндой нужна эта библиотека.
Автор: unreal666
Дата сообщения: 05.06.2012 14:34
Так и написать.

ЗЫ.
Что за неработающий профилировщик profile.py валяется в папке с исходниками? (т.к. не существует outwiker.py, соответственно не может импортировать OutWiker)
Автор: Jenyay
Дата сообщения: 05.06.2012 14:38
unreal666


Цитата:
Что за неработающий профилировщик profile.py валяется в папке с исходниками? (т.к. не существует outwiker.py)


В нем я когда-то проверял скорост работы парсера и загрузки проги. После этого outwiker.py переименовался в runoutwiker.py, но так как давно профайлером не пользовался, то ссылка в нем осталась на старый файл.
Автор: unreal666
Дата сообщения: 05.06.2012 22:59
А почему меню в редакторе на английском?
Автор: unreal666
Дата сообщения: 06.06.2012 01:16
Посмотрел код проги.
ИМХО. Для вики создать отдельный файл типа wikiimprover.py, а не использовать htmlimprover.py. Т.к. вики может быть смесью вики + html и нельзя как бы использовать во всех местах <p> и <br>, то нельзя и везде подряд использовать эти теги и отключать тоже, в отличие от отключения в html-заметках.

Добавлено:
ЗЫ.
Сейчас тут с исходниками проги играюсь, заодно питон изучаю
Автор: Jenyay
Дата сообщения: 06.06.2012 11:18
unreal666

Это контекстное? Наверное, не заметил.

Вот улучшение кода (перевод строк) надо бы запихнуть в парсер. Тогда можно будет боле егибко настраивать, в каких элементах переводятся строки, а в каких нет.
Автор: unreal666
Дата сообщения: 06.06.2012 11:56

Цитата:
Это контекстное? Наверное, не заметил.

угу.

Цитата:
Вот улучшение кода (перевод строк) надо бы запихнуть в парсер. Тогда можно будет боле егибко настраивать, в каких элементах переводятся строки, а в каких нет.

т.е. можно будет управлять этим из плагинов?

ЗЫ.
Я сейчас у себя сделал отдельно для вики файл wikiimprover.py. В htmlgenerator.py заменил "text = HtmlImprover.run (parser.toHtml (content) )" на "text = WikiImprover.run (parser.toHtml (content) )".
В самом wikiimprover.py добавил обработку псевдотега <nolf>, обработка которго происходит как и с <pre>, но сам тег обратно не вставляется.
И создал плагин, который "окружает" нужный текст этим тегом. Кажется пашет. Хотя питон только вчера немного начал изучать

- Еще из обоих файлов-улучшателей убрал </p>.
- Еще надо будет добавить регеспы в обоих файлах для удаления неприемлемых тегов между "внутренними" тегами таблиц и списков. Типа зашита от дурака. Мало ли кто чего в html-код напишет.

Добавлено:
PS2.
Чего-то я не понял, откуда вообще это английское меню. При поиске по исходникам по фразе "Select All" (из меню) ничего не дало. Это из какого-то внешнего модуля? (например, wxWidgets)
Автор: Jenyay
Дата сообщения: 06.06.2012 12:04
unreal666

Цитата:
го-то я не понял, откуда вообще это английское меню. При поиске по исходникам по фразе "Select All" (из меню) ничего не дало. Это из какого-то внешнего модуля? (например, wxWidgets)


Ага, это меню относится к текстовому редактору. Специально я его не делал.

Может пришлешь, что в итоге получится? Правда, я пока плохо понимаю, что именно ты хочешь подправить. Главное, чтобы оно не ломало то, что уже работает.
Автор: unreal666
Дата сообщения: 06.06.2012 12:18
Когда тестил подключения модуля, ложил модуль в папку src\outwiker\unreal666\имя_модуля.
Python почему-то матерился, что не может найти этот модуль. А когда он был в src\outwiker, то нормально. Это что за фигня может быть?
Автор: Jenyay
Дата сообщения: 06.06.2012 12:51
В папку unreal666 нужно добавить пустой файл с именем __init__.py
Автор: unreal666
Дата сообщения: 06.06.2012 14:20
ааа. точно. забыл про этот __init__.py. сенкс.
Автор: unreal666
Дата сообщения: 06.06.2012 20:16
что за странная замена в htmlpanel.py ?

Код: re.sub ("\n<BR>\n(<li>)|(<LI>)", "\n<LI>", text)
Автор: Jenyay
Дата сообщения: 06.06.2012 20:36
Вспомнить бы. Мне кажется, что я имел в виду 3-й вариант, но почему я его записал в таком виде, уже не помню.
Автор: unreal666
Дата сообщения: 06.06.2012 23:19
блин. Попробовал с этим "flags=re.I". В 20 раз медленнее, чем без него. Лучше отдельно большие, отдельно маленькие
Автор: Jenyay
Дата сообщения: 10.06.2012 21:02
Зарегистрировал аккаунт в Twitter, чтобы писать новости про OutWiker - @OutWiker.
Автор: Jenyay
Дата сообщения: 12.06.2012 20:52
Выложил новую нестабильную версию 1.7.0.653. В этой версии подправлены шаблоны страниц (везде добавлено объявление <!DOCTYPE html>). Это будет важно для одного нового плагина, который скоро выложу.
Автор: Jenyay
Дата сообщения: 24.06.2012 18:46
Выложил новый плагин для OutWiker — Lightbox. С помощью этого плагина ссылки на изображения можно открывать не во внешней программе, а в окне просмотра.

Плагин предназначен для работы с Outwiker 1.7, который на данный момент относится к условно нестабильным версиям.
Автор: Jenyay
Дата сообщения: 04.07.2012 08:05
Выложил новый плагин ThumbGallery. Этот плагин добавляет викикоманду для создания галереи из прикрепленных изображений.
Автор: Jenyay
Дата сообщения: 09.07.2012 21:03
Выложил новую нестабильную версию 1.7.0.655. В этой версии немного улучшена раскраска викисинтаксиса в редакторе и внутренние исправления.
Автор: Jenyay
Дата сообщения: 19.07.2012 20:22
Выложил следующую нестабильную версию 1.7.0.657. В этой версии значительно ускорены разбор и раскраска викисинтаксиса (по тестам ускорение от 2 до 10 раз).

Страницы: 123456789101112131415161718192021222324252627282930

Предыдущая тема: Acronis True Image Home vs Clonezilla


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.