» OutWiker
Jenyay
В чем особенность в данном случае?
То, что объект удаляется, когда кол-во ссылок становится = 0 - это я знаю.
Но в нашем случае же, если при создании нового парсера деструктор старого парсера не срабатывает, значит этот старый/ненужный парсер не удаляется => утечка ресурсов.
Добавлено:
И еще бы хорошо создать ключ командной строки для указания "неумолчательной" папки хранения настроек. Полезно для тестирования, чтобы изолировать прогу от настроек/плагинов, установленных в системе.
В чем особенность в данном случае?
То, что объект удаляется, когда кол-во ссылок становится = 0 - это я знаю.
Но в нашем случае же, если при создании нового парсера деструктор старого парсера не срабатывает, значит этот старый/ненужный парсер не удаляется => утечка ресурсов.
Добавлено:
И еще бы хорошо создать ключ командной строки для указания "неумолчательной" папки хранения настроек. Полезно для тестирования, чтобы изолировать прогу от настроек/плагинов, установленных в системе.
unreal666
Тогда надо смотреть, кто его еще держит.
Цитата:
Хорошо, добавлю в ToDo.
Тогда надо смотреть, кто его еще держит.
Цитата:
И еще бы хорошо создать ключ командной строки для указания "неумолчательной" папки хранения настроек. Полезно для тестирования, чтобы изолировать прогу от настроек/плагинов, установленных в системе.
Хорошо, добавлю в ToDo.
в своем репо улучшил обработку url, цитирования и курсива.
- Цитирования теперь могут быть вложенными.
- Курсив внутри себя теперь может содержать жирный шрифт.
- URL улучшился тем, что не url'ит уже "отурээленные" url. Типа защита от двойного преобразования (например, при вложенном цитировании).
Дополнительно пришлось модифицировать доп. файлы - wikiparser, wikicolorizer и какие-то еще.
Jenyay
Чего-то мелкая проблема с плагином htmlformatter. Если я его отключаю, а потом включаю обратно, то он не срабатывает. Помогает только его удаление, запуск+останов проги, добавление обратно.
- Цитирования теперь могут быть вложенными.
- Курсив внутри себя теперь может содержать жирный шрифт.
- URL улучшился тем, что не url'ит уже "отурээленные" url. Типа защита от двойного преобразования (например, при вложенном цитировании).
Дополнительно пришлось модифицировать доп. файлы - wikiparser, wikicolorizer и какие-то еще.
Jenyay
Чего-то мелкая проблема с плагином htmlformatter. Если я его отключаю, а потом включаю обратно, то он не срабатывает. Помогает только его удаление, запуск+останов проги, добавление обратно.
unreal666
Хорошо, посмотрю.
Хорошо, посмотрю.
есть, к примеру, такой код
Код: ||
||11111||\
|| 2222 || 3333 ||
Код: ||
||11111||\
|| 2222 || 3333 ||
Добавил у себя нотацию для списков определений.
Вот такое
Код: {{>
$$ мама, \
папа
$$$$ предки
* бабушки
* дедушки
* родители
<}}
Вот такое
Код: {{>
$$ мама, \
папа
$$$$ предки
* бабушки
* дедушки
* родители
<}}
Цитата:
По плану в таблицу со сколькими ячейками он должен был бы преобразовываться? 1 или 3?
Хороший вопрос. Скорее всего я про такой случай не думал, но по логике, если бы не было пропущенных строк, то в 3. Но не уверен, что код на это рассчитан.
Цитата:
разве для ячеек loc может быть меньше 5 ("||\n||ячейка||")?
Я этот код так давно писал, что сейчас логику вспоминать тяжело. Но судя по записи, loc может быть -1, но в каком случае, надо разбираться.
Цитата:
Добавил у себя нотацию для списков определений.
Хм, интересная идея. Только может быть стоило использовать вместо такого количества $$$ какие-нибудь другие символы. Например, ^ для заголовка термина и $ для определения? Или еще что-то более компактное?
Цитата:
Хм, интересная идея. Только может быть стоило использовать вместо такого количества $$$ какие-нибудь другие символы. Например, ^ для заголовка термина и $ для определения? Или еще что-то более компактное?
выше вероятность нарваться на конфликт, если в определении будет команда (:source:). Более одного $ в начале строк в исходных кодах меньше вероятность встретиться.
Добавлено:
хотя для красоты можно сделать ^^ и $$.
????
Цитата:
хотя для красоты можно сделать ^^ и $$.
Тоже вариант. Больше как раз смущает различие тегов только в количестве $$. А так нормально.
изменил, залил в репо.
unreal666
Ок, постараюсь в ближайшее время посмотреть. А то тут дела нахлынули, до программы в последние две недели руки почти не доходят.
Ок, постараюсь в ближайшее время посмотреть. А то тут дела нахлынули, до программы в последние две недели руки почти не доходят.
PS.
Забыл изменить эти метки в классе WikiPageView. Исправил, залил.
Забыл изменить эти метки в классе WikiPageView. Исправил, залил.
unreal666
А можешь еще привести пример того, что ты поправил в цитатах? Ну то есть, код, который до этого отображался неправильно, а с твоим изменением правильно. Это нужно, чтобы я тесты добавил.
А можешь еще привести пример того, что ты поправил в цитатах? Ну то есть, код, который до этого отображался неправильно, а с твоим изменением правильно. Это нужно, чтобы я тесты добавил.
вложенные цитаты:
Код: [>внешний [>внутренний 1 [>внутренний 2<]<]внешний<]
Код: [>внешний [>внутренний 1 [>внутренний 2<]<]внешний<]
unreal666
Спасибо.
Спасибо.
думаю создать полутокен (использовать в регул. выр-ниях), который будет идти сразу после начала токена и добавлять атрибуты к генерируемому тегу.
Т.е. типа
Код: * <<<<class="ul-1">>>> <<<class="li-1">>> текст 1
* <<<class="li-2">>> текст 2
Т.е. типа
Код: * <<<<class="ul-1">>>> <<<class="li-1">>> текст 1
* <<<class="li-2">>> текст 2
Давай только не >><<, потому что эти символы используются в pmWiki для выделения блоков, и я тоже в будущем хочу так сделать. Может {{ ... }}?
А ты это во все токены хочешь добавить?
Добавлено:
А вообще лучше сделать вот так - http://www.pmwiki.org/wiki/PmWiki/WikiStyles
А ты это во все токены хочешь добавить?
Добавлено:
А вообще лучше сделать вот так - http://www.pmwiki.org/wiki/PmWiki/WikiStyles
Цитата:
А ты это во все токены хочешь добавить?
нет, только в необходимые блочного уровня.
Цитата:
А вообще лучше сделать вот так - http://www.pmwiki.org/wiki/PmWiki/WikiStyles
надо поставить его локально и посмотреть, какой код он там генерит. Потом отпишусь.
unreal666
Не обязательно, чтобы код генерился точно такой же, я стараюсь ориентироваться на сам синтаксис pmWiki, чтобы не изобретать велосипед.
Взял твой класс QuoteToken, буду дальше смотреть, что ты там сделал.
Добавлено:
Цитата:
Такая же проблема возникла при вставке картинок внутрь вложенных цитат:
Код:
[>Проверка [>http://example.com/image.png<] 1-2-3<]
Не обязательно, чтобы код генерился точно такой же, я стараюсь ориентироваться на сам синтаксис pmWiki, чтобы не изобретать велосипед.
Взял твой класс QuoteToken, буду дальше смотреть, что ты там сделал.
Добавлено:
Цитата:
URL улучшился тем, что не url'ит уже "отурээленные" url. Типа защита от двойного преобразования (например, при вложенном цитировании).
Такая же проблема возникла при вставке картинок внутрь вложенных цитат:
Код:
[>Проверка [>http://example.com/image.png<] 1-2-3<]
Цитата:
И еще, для чего тебе понадобился TextBlockToken, чем не подходит wikiMarkup?
wikiMarkup включает всю разметку, а TextBlockToken только текстового (в html 4 - inline-) уровня. Это чтобы внутри текстовых (inline-) тегов не пытался создавать (игнорировал разметку) теги блочного уровня.
unreal666
Взял твой код с инлайновыми тегами, только переименовал textLevelItemMarkup в textLevelMarkup, а parseTextItemLevelMarkup в parseTextLevelMarkup.
Добавлено:
А еще у тебя в репозитории нет файла text_list_definition.png. Кстати, а откуда ты его взял (не наедут по поводу лицензии)?
Добавлено:
Цитата:
Что-то повторить не удается. В логе что-нибудь пишется по этому поводу?
Взял твой код с инлайновыми тегами, только переименовал textLevelItemMarkup в textLevelMarkup, а parseTextItemLevelMarkup в parseTextLevelMarkup.
Добавлено:
А еще у тебя в репозитории нет файла text_list_definition.png. Кстати, а откуда ты его взял (не наедут по поводу лицензии)?
Добавлено:
Цитата:
Чего-то мелкая проблема с плагином htmlformatter. Если я его отключаю, а потом включаю обратно, то он не срабатывает. Помогает только его удаление, запуск+останов проги, добавление обратно.
Что-то повторить не удается. В логе что-нибудь пишется по этому поводу?
Цитата:
А еще у тебя в репозитории нет файла text_list_definition.png.
Добавил. Забыл перекинуть в аплоад-папку_репо.
Цитата:
Кстати, а откуда ты его взял (не наедут по поводу лицензии)?
Модифицировал какой-то из 2-ух списков.
Можешь написать, что сам это сделал, чтобы меньше претензий было
Цитата:
Модифицировал какой-то из 2-ух списков.
Если это на основе тех, что используются в программе, то проблем не будет, с теми иконками все формальности соблюдены (ссылки на авторов проставлены).
Добавлено:
unreal666
А можешь еще добавить кнопки или хотя бы пункты меню для вставки $$ и ^^ по аналогии с тем, как сделаны списки?
Нотация для списка определений напрашивается в отдельный плагин. Я как раз собираюсь в этой версии сделать возможность не только команды добавлять с помощью плагинов, но и обычные викитеги.
Цитата:
А можешь еще добавить кнопки или хотя бы пункты меню для вставки $$ и ^^ по аналогии с тем, как сделаны списки?
А что там такого сделано для списков, кроме собственно создания их самих в виде кнопки и 1-го пункта меню? да и кнопки будет жирно - панель инструментов не резиновая
Если делать пункты меню то где и как их обозвать (иерархию в текущем меню укажи) ?
Цитата:
Нотация для списка определений напрашивается в отдельный плагин.
по мне так ему лучше в самом коде; у меня, к примеру, он почти с самого начала напрашивался
Цитата:
Я как раз собираюсь в этой версии сделать возможность не только команды добавлять с помощью плагинов, но и обычные викитеги.
это есть хорошо
ЗЫ.
По стилю обозначений. Имена папок плагинов обязательно обзывать так, как они будут обозначаться в коде.
А то все-таки хочу создать плагин для вставки доп. атрибут в предшествующие теги.
Юзаться будет типа так:
Код: ||
|| (:attrs tag="tr" attrs='class="фиг-вам"')ячейка1 || ячейка2 ||
Цитата:
А что там такого сделано для списков, кроме собственно создания их самих в виде кнопки и 1-го пункта меню? да и кнопки будет жирно - панель инструментов не резиновая
Просто если есть какой-то викитег, то для него должен быть хотя бы пункт меню, чтобы можно было не помнить, как он пишется.
Вот поэтому и в виде плагина. К тому же тогда для него можно будет сделать отдельную панельку, которую можно будет при желании скрыть или перенести на другую строку.
А вообще уже пора задуматься над тем, чтобы сделать возможность скрывать ненужные кнопки.
Цитата:
Имена папок плагинов обязательно обзывать так, как они будут обозначаться в коде.
Нет, не обязательно.
Цитата:
а папку хочу обозвать как attributes.
Ок.
Цитата:
Просто если есть какой-то викитег, то для него должен быть хотя бы пункт меню, чтобы можно было не помнить, как он пишется.
А чего его помнить? Есть кнопка и пункт меню для вставки самого списка вместе с этими $$ и ^^ (в единственном экземпляре).
ИМХО, быстрее скопировать из данного вставленного списка нужное ($$ или ^^) и вставить столько раз, сколько надо, чем лазить по пунктам меню и тыкать в кнопки.
ЗЫ.
Кстати, вставки таблиц я чего-то вообще не вижу ни в кнопках ни в меню
Добавлено:
Сделал мелкий рефакторинг токенов выравнивания и (не)нумерованных списков:
- списки: у меня был код для восстановления последних символов новых строк в конце списка (без них фигня получалась). Сейчас это осталось, но сделал немного по-другому.
- выравнивание: поудалял лишние захватывающие скобки + оставшиеся сделал незахватывающими ("(?:") + изменил align="..." на style="text-align:...", т.к. при 1-ом правило в CSS для div перекрывает данный атрибут тега.
Jenyay
В плагине htmlformatter в файле htmlformatter.py:
Код: if getCurrentVersion() < Version (1, 9, 0, 765, status=StatusSet.DEV):
print ("ChangeUID plugin. OutWiker version requirement: 1.9.0.765")
else:
В плагине htmlformatter в файле htmlformatter.py:
Код: if getCurrentVersion() < Version (1, 9, 0, 765, status=StatusSet.DEV):
print ("ChangeUID plugin. OutWiker version requirement: 1.9.0.765")
else:
Цитата:
А чего его помнить? Есть кнопка и пункт меню для вставки самого списка вместе с этими $$ и ^^ (в единственном экземпляре).
ИМХО, быстрее скопировать из данного вставленного списка нужное ($$ или ^^) и вставить столько раз, сколько надо, чем лазить по пунктам меню и тыкать в кнопки.
В принципе, согласен.
Цитата:
Кстати, вставки таблиц я чего-то вообще не вижу ни в кнопках ни в меню
Хм, действительно. Надо сделать.
Добавлено:
Цитата:
выравнивание: поудалял лишние захватывающие скобки + оставшиеся сделал незахватывающими ("(?:") + изменил align="..." на style="text-align:...", т.к. при 1-ом правило в CSS для div перекрывает данный атрибут тега.
Тоже забрал, только поменял способ формирования результирующей строки.
и еще добавь плиз в свой .gitignore папки .idea (папки, создающиеся PyCharm и возможно еще некоторыми прогами JetBrains)
Добавлено:
и что насчет добавления в прогу нового события?
Я мог бы сам добавить по прототипу в application, но имя не могу придумать.
onPrePrepareHtmlImprovers ?
Добавлено:
и что насчет добавления в прогу нового события?
Я мог бы сам добавить по прототипу в application, но имя не могу придумать.
onPrePrepareHtmlImprovers ?
Страницы: 123456789101112131415161718192021222324252627282930
Предыдущая тема: Acronis True Image Home vs Clonezilla
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.