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

» OutWiker

Автор: Jenyay
Дата сообщения: 04.03.2015 12:22
unreal666

Это особенность Питона - http://python-lab.blogspot.ru/2012/03/del-x-xdel.html
Автор: unreal666
Дата сообщения: 04.03.2015 12:50
Jenyay
В чем особенность в данном случае?
То, что объект удаляется, когда кол-во ссылок становится = 0 - это я знаю.

Но в нашем случае же, если при создании нового парсера деструктор старого парсера не срабатывает, значит этот старый/ненужный парсер не удаляется => утечка ресурсов.

Добавлено:
И еще бы хорошо создать ключ командной строки для указания "неумолчательной" папки хранения настроек. Полезно для тестирования, чтобы изолировать прогу от настроек/плагинов, установленных в системе.
Автор: Jenyay
Дата сообщения: 04.03.2015 20:12
unreal666

Тогда надо смотреть, кто его еще держит.


Цитата:
И еще бы хорошо создать ключ командной строки для указания "неумолчательной" папки хранения настроек. Полезно для тестирования, чтобы изолировать прогу от настроек/плагинов, установленных в системе.


Хорошо, добавлю в ToDo.
Автор: unreal666
Дата сообщения: 13.03.2015 05:26
в своем репо улучшил обработку url, цитирования и курсива.
- Цитирования теперь могут быть вложенными.
- Курсив внутри себя теперь может содержать жирный шрифт.
- URL улучшился тем, что не url'ит уже "отурээленные" url. Типа защита от двойного преобразования (например, при вложенном цитировании).

Дополнительно пришлось модифицировать доп. файлы - wikiparser, wikicolorizer и какие-то еще.

Jenyay
Чего-то мелкая проблема с плагином htmlformatter. Если я его отключаю, а потом включаю обратно, то он не срабатывает. Помогает только его удаление, запуск+останов проги, добавление обратно.
Автор: Jenyay
Дата сообщения: 13.03.2015 09:19
unreal666


Хорошо, посмотрю.
Автор: unreal666
Дата сообщения: 15.03.2015 02:00
есть, к примеру, такой код

Код: ||
||11111||\



|| 2222 || 3333 ||
Автор: unreal666
Дата сообщения: 15.03.2015 15:37
Добавил у себя нотацию для списков определений.
Вот такое

Код: {{>

$$ мама, \
папа

$$$$ предки

* бабушки
* дедушки
* родители

<}}
Автор: Jenyay
Дата сообщения: 15.03.2015 19:10

Цитата:
По плану в таблицу со сколькими ячейками он должен был бы преобразовываться? 1 или 3?


Хороший вопрос. Скорее всего я про такой случай не думал, но по логике, если бы не было пропущенных строк, то в 3. Но не уверен, что код на это рассчитан.


Цитата:
разве для ячеек loc может быть меньше 5 ("||\n||ячейка||")?


Я этот код так давно писал, что сейчас логику вспоминать тяжело. Но судя по записи, loc может быть -1, но в каком случае, надо разбираться.


Цитата:
Добавил у себя нотацию для списков определений.


Хм, интересная идея. Только может быть стоило использовать вместо такого количества $$$ какие-нибудь другие символы. Например, ^ для заголовка термина и $ для определения? Или еще что-то более компактное?
Автор: unreal666
Дата сообщения: 15.03.2015 19:29

Цитата:
Хм, интересная идея. Только может быть стоило использовать вместо такого количества $$$ какие-нибудь другие символы. Например, ^ для заголовка термина и $ для определения? Или еще что-то более компактное?

выше вероятность нарваться на конфликт, если в определении будет команда (:source:). Более одного $ в начале строк в исходных кодах меньше вероятность встретиться.

Добавлено:
хотя для красоты можно сделать ^^ и $$.
????
Автор: Jenyay
Дата сообщения: 15.03.2015 19:39

Цитата:
хотя для красоты можно сделать ^^ и $$.


Тоже вариант. Больше как раз смущает различие тегов только в количестве $$. А так нормально.
Автор: unreal666
Дата сообщения: 15.03.2015 19:56
изменил, залил в репо.
Автор: Jenyay
Дата сообщения: 15.03.2015 20:16
unreal666

Ок, постараюсь в ближайшее время посмотреть. А то тут дела нахлынули, до программы в последние две недели руки почти не доходят.
Автор: unreal666
Дата сообщения: 16.03.2015 02:04
PS.
Забыл изменить эти метки в классе WikiPageView. Исправил, залил.
Автор: Jenyay
Дата сообщения: 16.03.2015 08:46
unreal666

А можешь еще привести пример того, что ты поправил в цитатах? Ну то есть, код, который до этого отображался неправильно, а с твоим изменением правильно. Это нужно, чтобы я тесты добавил.
Автор: unreal666
Дата сообщения: 16.03.2015 17:27
вложенные цитаты:

Код: [>внешний [>внутренний 1 [>внутренний 2<]<]внешний<]
Автор: Jenyay
Дата сообщения: 16.03.2015 17:31
unreal666

Спасибо.
Автор: unreal666
Дата сообщения: 17.03.2015 10:24
думаю создать полутокен (использовать в регул. выр-ниях), который будет идти сразу после начала токена и добавлять атрибуты к генерируемому тегу.

Т.е. типа

Код: * <<<<class="ul-1">>>> <<<class="li-1">>> текст 1
* <<<class="li-2">>> текст 2
Автор: Jenyay
Дата сообщения: 17.03.2015 12:17
Давай только не >><<, потому что эти символы используются в pmWiki для выделения блоков, и я тоже в будущем хочу так сделать. Может {{ ... }}?

А ты это во все токены хочешь добавить?

Добавлено:
А вообще лучше сделать вот так - http://www.pmwiki.org/wiki/PmWiki/WikiStyles
Автор: unreal666
Дата сообщения: 17.03.2015 13:33

Цитата:
А ты это во все токены хочешь добавить?

нет, только в необходимые блочного уровня.

Цитата:
А вообще лучше сделать вот так - http://www.pmwiki.org/wiki/PmWiki/WikiStyles

надо поставить его локально и посмотреть, какой код он там генерит. Потом отпишусь.
Автор: Jenyay
Дата сообщения: 17.03.2015 22:25
unreal666

Не обязательно, чтобы код генерился точно такой же, я стараюсь ориентироваться на сам синтаксис pmWiki, чтобы не изобретать велосипед.

Взял твой класс QuoteToken, буду дальше смотреть, что ты там сделал.

Добавлено:

Цитата:
URL улучшился тем, что не url'ит уже "отурээленные" url. Типа защита от двойного преобразования (например, при вложенном цитировании).


Такая же проблема возникла при вставке картинок внутрь вложенных цитат:


Код:
[>Проверка [>http://example.com/image.png<] 1-2-3<]
Автор: unreal666
Дата сообщения: 18.03.2015 15:53

Цитата:
И еще, для чего тебе понадобился TextBlockToken, чем не подходит wikiMarkup?

wikiMarkup включает всю разметку, а TextBlockToken только текстового (в html 4 - inline-) уровня. Это чтобы внутри текстовых (inline-) тегов не пытался создавать (игнорировал разметку) теги блочного уровня.
Автор: Jenyay
Дата сообщения: 19.03.2015 20:38
unreal666

Взял твой код с инлайновыми тегами, только переименовал textLevelItemMarkup в textLevelMarkup, а parseTextItemLevelMarkup в parseTextLevelMarkup.

Добавлено:
А еще у тебя в репозитории нет файла text_list_definition.png. Кстати, а откуда ты его взял (не наедут по поводу лицензии)?

Добавлено:


Цитата:
Чего-то мелкая проблема с плагином htmlformatter. Если я его отключаю, а потом включаю обратно, то он не срабатывает. Помогает только его удаление, запуск+останов проги, добавление обратно.


Что-то повторить не удается. В логе что-нибудь пишется по этому поводу?
Автор: unreal666
Дата сообщения: 19.03.2015 21:37

Цитата:
А еще у тебя в репозитории нет файла text_list_definition.png.

Добавил. Забыл перекинуть в аплоад-папку_репо.

Цитата:
Кстати, а откуда ты его взял (не наедут по поводу лицензии)?

Модифицировал какой-то из 2-ух списков.
Можешь написать, что сам это сделал, чтобы меньше претензий было
Автор: Jenyay
Дата сообщения: 19.03.2015 21:42

Цитата:
Модифицировал какой-то из 2-ух списков.


Если это на основе тех, что используются в программе, то проблем не будет, с теми иконками все формальности соблюдены (ссылки на авторов проставлены).

Добавлено:
unreal666

А можешь еще добавить кнопки или хотя бы пункты меню для вставки $$ и ^^ по аналогии с тем, как сделаны списки?

Нотация для списка определений напрашивается в отдельный плагин. Я как раз собираюсь в этой версии сделать возможность не только команды добавлять с помощью плагинов, но и обычные викитеги.
Автор: unreal666
Дата сообщения: 19.03.2015 22:48

Цитата:
А можешь еще добавить кнопки или хотя бы пункты меню для вставки $$ и ^^ по аналогии с тем, как сделаны списки?

А что там такого сделано для списков, кроме собственно создания их самих в виде кнопки и 1-го пункта меню? да и кнопки будет жирно - панель инструментов не резиновая
Если делать пункты меню то где и как их обозвать (иерархию в текущем меню укажи) ?

Цитата:
Нотация для списка определений напрашивается в отдельный плагин.

по мне так ему лучше в самом коде; у меня, к примеру, он почти с самого начала напрашивался

Цитата:
Я как раз собираюсь в этой версии сделать возможность не только команды добавлять с помощью плагинов, но и обычные викитеги.

это есть хорошо

ЗЫ.
По стилю обозначений. Имена папок плагинов обязательно обзывать так, как они будут обозначаться в коде.
А то все-таки хочу создать плагин для вставки доп. атрибут в предшествующие теги.
Юзаться будет типа так:

Код: ||
|| (:attrs tag="tr" attrs='class="фиг-вам"')ячейка1 || ячейка2 ||
Автор: Jenyay
Дата сообщения: 19.03.2015 23:02

Цитата:
А что там такого сделано для списков, кроме собственно создания их самих в виде кнопки и 1-го пункта меню? да и кнопки будет жирно - панель инструментов не резиновая


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

Вот поэтому и в виде плагина. К тому же тогда для него можно будет сделать отдельную панельку, которую можно будет при желании скрыть или перенести на другую строку.

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


Цитата:
Имена папок плагинов обязательно обзывать так, как они будут обозначаться в коде.


Нет, не обязательно.


Цитата:
а папку хочу обозвать как attributes.


Ок.
Автор: unreal666
Дата сообщения: 20.03.2015 02:24

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

А чего его помнить? Есть кнопка и пункт меню для вставки самого списка вместе с этими $$ и ^^ (в единственном экземпляре).
ИМХО, быстрее скопировать из данного вставленного списка нужное ($$ или ^^) и вставить столько раз, сколько надо, чем лазить по пунктам меню и тыкать в кнопки.

ЗЫ.
Кстати, вставки таблиц я чего-то вообще не вижу ни в кнопках ни в меню

Добавлено:
Сделал мелкий рефакторинг токенов выравнивания и (не)нумерованных списков:
- списки: у меня был код для восстановления последних символов новых строк в конце списка (без них фигня получалась). Сейчас это осталось, но сделал немного по-другому.
- выравнивание: поудалял лишние захватывающие скобки + оставшиеся сделал незахватывающими ("(?:") + изменил align="..." на style="text-align:...", т.к. при 1-ом правило в CSS для div перекрывает данный атрибут тега.
Автор: unreal666
Дата сообщения: 20.03.2015 06:07
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:
Автор: Jenyay
Дата сообщения: 20.03.2015 08:37

Цитата:
А чего его помнить? Есть кнопка и пункт меню для вставки самого списка вместе с этими $$ и ^^ (в единственном экземпляре).
ИМХО, быстрее скопировать из данного вставленного списка нужное ($$ или ^^) и вставить столько раз, сколько надо, чем лазить по пунктам меню и тыкать в кнопки.


В принципе, согласен.


Цитата:
Кстати, вставки таблиц я чего-то вообще не вижу ни в кнопках ни в меню


Хм, действительно. Надо сделать.

Добавлено:

Цитата:
выравнивание: поудалял лишние захватывающие скобки + оставшиеся сделал незахватывающими ("(?:") + изменил align="..." на style="text-align:...", т.к. при 1-ом правило в CSS для div перекрывает данный атрибут тега.


Тоже забрал, только поменял способ формирования результирующей строки.
Автор: unreal666
Дата сообщения: 20.03.2015 10:18
и еще добавь плиз в свой .gitignore папки .idea (папки, создающиеся PyCharm и возможно еще некоторыми прогами JetBrains)

Добавлено:
и что насчет добавления в прогу нового события?
Я мог бы сам добавить по прототипу в application, но имя не могу придумать.
onPrePrepareHtmlImprovers ?

Страницы: 123456789101112131415161718192021222324252627282930

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


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