Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » OutWiker

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

Открыть новую тему     Написать ответ в эту тему

Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OutWiker


Текущая стабильная версия: 3.0.0

Текущая бета-версия: 3.0.0.888 (13.05.2021)



 
Поддерживаемые операционные системы: Windows / Linux.
 
Программа OutWiker предназначена для хранения заметок в виде дерева. Такие программы называют outliner'ами, персональными вики или древовидными редакторами. Я долго подбирал для себя подобную программу из имеющихся, но в итоге решил сделать свой outliner в том виде, как он мне представляется наиболее удобным для использования.
Основное отличие OutWiker от других подобных программ заключается в том, что OutWiker не только хранит дерево заметок в виде обычных директорий на диске, но и поощряет изменение такой базы внешними средствами. Также к программе может быть прикреплено любое количество файлов.
Кроме того, OutWiker может содержать страницы разного типа, в данный момент поддерживаются два типа страниц: обычный текст и HTML, но в будущем количество типов страниц будет увеличиваться.
 
Основные возможности
* База хранится в виде директорий на диске.
* Поддержка плагинов
* К каждой заметке можно прикреплять любое количество файлов.
* Страницы могут быть разных типов. В данный момент поддерживаются текстовые страницы, страницы в формате HTML и вики-страницы.
* Прикрепленные картинки могут быть вставлены в HTML-страницы.
* Раскраска синтаксиса HTML.
* Поддержка тегов.
* Поддержка закладок на страницы.
* Каждая ветвь дерева может быть открыта как отдельная вики.
* Иконки для страниц.
* Кроссплатформенность (поддержка Windows и Linux).
* Портабельность. Программа все настройки хранит рядом с запускаемым файлом.
* Программа распространяется с открытыми исходниками.
* Возможность создания ссылок между страницами.
* Есть глобальный поиск по заметкам и поиск по тегам.
* К программе прилагается справка.

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 19:47 04-05-2010 | Исправлено: Jenyay, 19:39 13-05-2021
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я, кстати, не уверен, что это идеологически правильно.

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 09:31 25-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jenyay
ну везде для якорей применяются именно id.  
Особенно если судить по getElementById в JS (в отличие от getElementsByName), который как раз и должен быть в единственном числе.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 10:12 25-04-2014 | Исправлено: unreal666, 10:21 25-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему заголовок страницы не может начинаться с __? Он где-то может использоваться как метод класса?

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 18:41 27-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
ну везде для якорей применяются именно id.  

 
Посмотрел, действительно в HTML5 name признан устаревшим. Поправил.
 

Цитата:
Почему заголовок страницы не может начинаться с __? Он где-то может использоваться как метод класса?

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

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 19:01 27-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
понятно.
 
ЗЫ.
Добавь, плиз, возможность создания заметок оптом. К, примеру, в окне создания заметки сделать два поля: галочку "Создать несколько заметок" и поле ввода "Разделитель". В поле "Заголовок" вписать эти названия с заданным разделителем => создадутся несколько заметок с одинаковыми параметрами.
А то, к примеру, уже сейчас мне нужно создать сразу штук 20 однотиповых заметок. Вручную долговато создавать.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 23:41 27-04-2014 | Исправлено: unreal666, 23:41 27-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кстати, на будущее. Если будешь добавлять еще какие-то теги, то не используй, плиз, тег {{{{ данные }}}}.
А то у меня это википодобные-шаблоны, которые javascript'ом обрабатываются.
 
Добавлено:
еще.
При преобразовании в ссылки чисел вида 1.2.3.4 добавь, плиз, проверки: 1. чтобы после этого  сразу (без пробельных символов) не шли цифры/буквы (может еще что); 2. Чтобы при этом числа были не больше 255.
Это защита от ненужных преобразований.
Я бы сам сделал, но не нашел, где это делается.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 04:05 28-04-2014 | Исправлено: unreal666, 04:06 28-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Добавь, плиз, возможность создания заметок оптом. К, примеру, в окне создания заметки сделать два поля: галочку "Создать несколько заметок" и поле ввода "Разделитель". В поле "Заголовок" вписать эти названия с заданным разделителем => создадутся несколько заметок с одинаковыми параметрами.  
А то, к примеру, уже сейчас мне нужно создать сразу штук 20 однотиповых заметок. Вручную долговато создавать.

 
У меня была идея сделать возможность (может быть в виде плагина) для клонирования заметок.
 

Цитата:
кстати, на будущее. Если будешь добавлять еще какие-то теги, то не используй, плиз, тег {{{{ данные }}}}.  
А то у меня это википодобные-шаблоны, которые javascript'ом обрабатываются.

 
Ок, хотя пока вроде не собирался
 

Цитата:
При преобразовании в ссылки чисел вида 1.2.3.4 добавь, плиз, проверки: 1. чтобы после этого  сразу (без пробельных символов) не шли цифры/буквы (может еще что); 2. Чтобы при этом числа были не больше 255.  

 
Ok. А вообще делается это в tokenurl.py. Если поправишь, буду благодарен.
 
Добавлено:

Цитата:
Добавлено:  
еще.  
При преобразовании в ссылки чисел вида 1.2.3.4 добавь, плиз, проверки: 1. чтобы после этого  сразу (без пробельных символов) не шли цифры/буквы (может еще что); 2. Чтобы при этом числа были не больше 255.  
Это защита от ненужных преобразований.  
Я бы сам сделал, но не нашел, где это делается.

 
Сделал

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 09:15 28-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Сделал

заметил. Но там немного неточно. Под данное выражение подпадает и 0.1.1.1. а в 1-м байте 0 не может быть.
Я у себя улучшил. Возьми у меня. Я бы и сам какой-нибудь пул-реквест сделал бы, но у меня в нем много "лишнего" было бы. А как его сделать только для одного коммита - фиг его знает.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 12:34 28-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
В твоем случае не срабатывает на примере 092.168.10.10, но распознает как IP фразы вроде 99.99.1.1.20. (я там отдельно боролся с лишними цифрами с точками).

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 14:48 28-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В твоем случае не срабатывает на примере 092.168.10.10

изначально была поддержка доп. нулей. Потом убрал. Могу обратно добавить.

Цитата:
но распознает как IP фразы вроде 99.99.1.1.20. (я там отдельно боролся с лишними цифрами с точками).

это неоднозначно. Может . - это конец предложения и кто-то после нее забыл пробел поставить
хотя наврено лучше перебздеть, чем недобздеть.
 
ЗЫ.
Сделал еще коммит. Добавил твой просмотр назад и посократил часть с последними 3 байтами.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 14:52 28-04-2014 | Исправлено: unreal666, 15:15 28-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А теперь перестали распознаваться IP с 2-мя и 1 цифрой вроде 192.168.1.1.

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 15:42 28-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jenyay
забыл вопросительные знаки поставить. исправил.
 
Добавлено:
кстати. Всякие (). а не (? сильно влияют на скорость в файлах типа tokenlist.py при

Код:
    def getToken (self):
        regex = "^(?P<level>["
 
        for param in self.allListsParams:
            regex += param.symbol
 
        regex += r"]+) *(?P<item>(\\\n|.)*?)$\n{0,2}"
 
        item = Regex (regex, re.MULTILINE).setParseAction (noConvert).leaveWhitespace()
 
        fullList = OneOrMore (item).setParseAction (self.__convertList)("list")
 
        return fullList

А то думаю туда еще добавить обработку (:имя_плагина)dsfd(:имя_плагинаend), чтобы он сжирал код, пока не встретится закрывающий тег плагина.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 15:59 28-04-2014 | Исправлено: unreal666, 16:05 28-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Забрал. Добавил еще проверку от лишних цифр после точки.
 

Цитата:
кстати. Всякие (). а не (? сильно влияют на скорость в файлах типа tokenlist.py при  

 
Хорошо, учту.
 

Цитата:
А то думаю туда еще добавить обработку (:имя_плагина)dsfd(:имя_плагинаend), чтобы он сжирал код, пока не встретится закрывающий тег плагина.

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

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 16:23 28-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
Regex (ur"((?# Начало разбора IP )(?<!\.)(?:25[0-5]|2[0-4]\d|1\d\d|0?[1-9]\d|0{,2}[1-9])(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)){3}(?!\.?[0-9])(?!\w)(?# Конец разбора IP )|(((news|telnet|nttp|file|http|ftp|https)://)|(www|ftp)\.)[-\w0-9\.]+[-\w0-9]+)(:[0-9]*)?(/([-\w0-9_,\$\.\+\!\*\(\):@|&=\?/~\#\%]*[-\w0-9_\$\+\!\*\(\):@|&=\?/~\#\%])?)?", re.IGNORECASE | re.UNICODE)("url")

от ? нет смысла, т.к. без точки подпадет под (?!\w).
может на \w заодно и впереди проверить?
т.е.

Код:
"((?# Начало разбора IP )(?<!\.|\w)(?:25[0-5]|2[0-4]\d|1\d\d|0?[1-9]\d|0{,2}[1-9])(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)){3}(?!\.\d)(?!\w)(?# Конец разбора IP )|(((news|telnet|nttp|file|http|ftp|https)://)|(www|ftp)\.)[-\w0-9\.]+[-\w0-9]+)(:[0-9]*)?(/([-\w0-9_,\$\.\+\!\*\(\):@|&=\?/~\#\%]*[-\w0-9_\$\+\!\*\(\):@|&=\?/~\#\%])?)?"

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 16:59 28-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Это заодно защита от 192.168.1.100000
 
Добавлено:
А хотя да.

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 17:10 28-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну так (?!\w) как раз и расширенная замена (?![0-9])

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 17:23 28-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хотя обработка команд-плагинов в списках/таблицах не нужна. Я оказывается ради эксперимента делал команду-обертку для защиты от вики. Это просто пустая команда (:dummy:) с параметрами head (вставка в <head>), wikiparse и delslashes (удаление конечных обратных слешей.). С помощью них м можно вставлять разное в списки/таблицы.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 00:26 29-04-2014 | Исправлено: unreal666, 00:27 29-04-2014
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Насчет иконок плагинов. Может перед построением тулбара плагинов эти иконки сначала сортировать, чтобы они всегда на одном месте были? А то привыкнешь к одному месту, перезапустишь прогу, а нужная иконка-плагин уже на другом месте.

Всего записей: 6611 | Зарегистр. 14-02-2005 | Отправлено: 09:04 29-04-2014 | Исправлено: unreal666, 09:12 29-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Насчет иконок плагинов. Может перед построением тулбара плагинов эти иконки сначала сортировать, чтобы они всегда на одном месте были? А то привыкнешь к одному месту, перезапустишь прогу, а нужная иконка-плагин уже на другом месте.

 
Тут тогда надо упорядочить очередь загрузки плагинов.

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 09:13 29-04-2014
Jenyay



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Продолжаю писать документацию по внутреннему устройству OutWiker. На этот раз выложил статью про то, как OutWiker хранит заметки - http://jenyay.net/OutWikerDoc/PageFormat

----------
http://jenyay.net - софт, исходники и фото

Всего записей: 1738 | Зарегистр. 13-10-2001 | Отправлено: 23:19 29-04-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

Компьютерный форум Ru.Board » Компьютеры » Программы » OutWiker


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru