OutWiker 1.3.2 (что нового)
Выложил следующую версию OutWiker‘а. Для тех, кто не следил за предыдущими сериями версиями, это программа, которая предназначена для хранения заметок в виде дерева, причем заметки хранятся не просто в одном файле в неизвестном формате, а дерево строится из обычных директорий.
Несмотря на то, что работы с новой версией было немало, номер версии увеличился только в третьем знаке из-за того, что на этот раз не было добавлено каких-то принципиально новых возможностей, упор был сделан на рефакторинг кода, исправления багов и улучшения в интерефейсе.
Сухой остаток от списка изменений выглядит следующим образом:
- Новый интерфейс выбора иконок.
- Добавил новые иконки из наборов famfamfam.com и yusukekamiyamane.com.
- Новая иконка программы (спасибо Алексею Набродову).
- В пределах одной страницы теперь работают якоря.
- Новый элемент викинотации для добавления якорей.
- Значительно уменьшено моргание и обновление интерфейса при перемещении по дереву.
- Справка на английском языке (спасибо Илье Чешкову за исправления моего корявого перевода с помощью Google Translete 🙂 ).
- Добавлены горячие клавиши для тега <PRE> на HTML-странице и [@…@] на викистранице.
- Добавлены горячая клавиша и кнопка для [[<<]] на викистранице.
- Добавлены кнопки для тегов <code> и <blockquote> на HTML-странице.
- Добавлена кнопка «Обновить» для панели с прикрепленными файлами.
- При нажатии на иконку в трее, свернутое окно разворачивается, а развернутое теперь сворачивается.
- Исправлено: под Windows не работали ссылки на страницы, имеющие в своем пути символ «#».
- Исправлена ошибка, возникавшая при испорченном файле __page.opt в корне вики.
- Другие исправления ошибок в программе и переводе.
- Рефакторинг кода.
Теперь пройдемся по изменениям, которые наиболее заметны для пользователя. Во-первых, огромное спасибо Алексею Набродову (aka Averrin) за нарисованную картинку для новой иконки вместо ужасной старой. Кстати, Алексей прислал несколько интересных патчей для программы, но в основную ветку исходников эти новые возможности я буду встраивать, начиная со следующей версии.
Во-вторых, я переделал интерфейс выбора иконок для заметок, теперь он выглядит следующим образом:
Для скриншота я растянул окно, чтобы были видны все иконки, которые теперь прилагаются к программе, по умолчанию окно будет чуть поменьше и область с иконками можно прокручивать с помощью полосы прокрутки. Обратите внимание на иконки с батарейками. Сам я их использую как индикатор того, насколько готова статья или пост в блог, которые я обычно набираю в OutWiker’е.
В версии OutWiker 1.3.2 значительно уменьшено моргание интерфейса при переключении между страницами за счет того, что интерфейс главного окна не перестраивается каждый раз под страницу с выбранным типом, а изменяется тогда, когда тип выбранной страницы становится дроугим, и еще удалось выбросить некоторые операции Enable/Disable, которые были нужны в старом HTML-движке, чтобы он не падал при быстром переключении страниц. С движками WebKit/IE, которые используются, начиная с версии 1.3.0, такой проблемы замечено не было.
Теперь в пределах одной страницы работают якоря (anchors). На HTML-странице они устанавливаются, как и положено с помощью тега <a name=»anchorname»>…</a>, а для установки тега на викистранице теперь используется запись вида [[#anchorname]]. Ссылки на якорь ставятся, как обычная ссылка: [[#anchorname | текст ссылки]] или [[текст ссылки -> #anchorname]].
Для английского языка добавил англоязычную справку. Правда, с переводом рус -> eng у меня туго, поэтому огромное спасибо Илье Чешкову (ilyuxaif) за выправление нашего с Google Translate перевода. 🙂
Кроме перечисленных изменений остались мелкие изменения в инетрфейсе (обратите внимание, что добавилась кнопка для обновления списка прикрепленных файлов), исправления ошибок и довольно значительный рефакторинг, но с точки зрения пользователя все это будет не очень заметно.
Надеюсь, что в этой версии неприятных багов не будет, а в следующей версии я собираюсь добавить побольше новых возможностей, в том числе, наконец-то, начать делать поддержку плагинов.
Еще раз напомню ссылку на страницу программы — https://jenyay.net/Soft/Outwiker
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
Александр:
Здравствуйте.
Пытаюсь начать пользоваться программой Outwiker v1.8.1 (пробовал и 1.8.0) и столкнулся с такими проблемами:
1. Каков смысл команды (:childlist:)? Я понимаю, что она выводит список дочерних страниц в виде гиперссылок. Однако ссылки не работают. При нажатии на ссылку открывается окно проводника Windows, где храниться дочерняя страница. Так и задумано? Просто я предполагал, что должна открываться соответствующая страница.
2. Не работают якоря внутри страницы. Точнее первый раз срабатывает, потом поднимаюсь вверх и уже ни один другой якорь не работает. Вот пример wiki кода.
# [[Первый -> #first]]
# [[Второй -> #sec]]
# [[Третий -> #last]]
!!!! Первый [[#first]]
!!!! Второй [[#sec]]
!!!! Третий [[#last]]
21 мая 2015, 10:52 дпJenyay:
Александр, здравствуйте.
Вы правильно понимаете, как все должно работать. А какая у Вас версия Windows? Я еще попробую повторить ошибки, которые у Вас получаются. Можете прислать на jenyay.ilin@gmail.com файл outwiker.log из папки с настройками?
21 мая 2015, 10:59 дпАлександр:
Не ожидал такой оперативности.
21 мая 2015, 11:13 дпУ меня Windows 7 SP1 32-bit. Забыл сказать, возможно, важный момент — у меня portable версия вашей программы. Я качал не инсталятор, а 7z архив отсюда:
https://jenyay.net/uploads/Soft/Outwiker/outwiker_1.8.1_win.7z
Если папка с настройками вот эта «c:\Users\*\AppData\Roaming\outwiker\», то файл «outwiker.log» в ней пуст (0 байт).
Jenyay:
> то файл «outwiker.log» в ней пуст (0 байт)
Хорошо, значит ошибок никаких не происходило. Надо разобраться с поведением Internet Explorer, который показывает HTML-страницы.
Тогда можете прислать какой-нибудь пример страницы, где проявляются проблемы?
21 мая 2015, 12:27 ппАлександр:
ВыслаЛ вам на почту пример вики с моими проблемами. Файл TEST.zip.
21 мая 2015, 12:44 ппАлександр:
Кстати, пробовал открыть сгенерированный html с якорями через ie. Не считая проблем с кодировками, всё в порядке. Якоря работают.
21 мая 2015, 12:46 ппJenyay:
Получил. На первый взгляд проблем не вижу, попробую еще поиграться с настройками IE.
21 мая 2015, 2:49 ппАлександр:
Игрался сейчас с настройками IE. Вроде ничего особого не делал:
21 мая 2015, 5:27 пп— изменил домашнюю страницу;
— почистил журнал и все личные данные;
— изменил, но потом возвратил настройку «При открытии ссылок из других программ использовать»;
— ну и ещё что-то наверняка делал.
После этого при запуске программы напрямую с exe файла стали работать и якоря и ссылки.
Я вообще запускаю программу через значок в total commander на панели инструментов, при этом задав такие «параметры запуска»: «d:\OutWiker\help\help_ru\__page.opt». Также пробовал через bat файл с таким текстом:
outwiker.exe «help\help_ru\WIKI\__page.opt»
Если задавать путь к «WIKI» по умолчанию как параметр, чтобы не открывать её постоянно, то якоря и ссылки не работают. Хотя ранее у меня даже после ручного запуска программы и выбора WIKI не работали ни ссылки ни якоря. Ещё попробую, что будет дома. Может просто сегодня день удачный. Однако хотелось бы запускать программу с открытой WIKI, а не выбирать её постоянно.
Попробую дома и отпишусь (если не сегодня, то завтра).
Александр:
Пробовал на Win XP SP3 32 bit — всё работает прекрасно как ни запускай.
21 мая 2015, 6:49 ппПробовал на Win 7 SP1 64 bit — работает только если запускать прямо с exe, а если запускать с параметром (путь к WIKI), то не пашет.
Видать с 7-ками какая-то запара или с IE, которые на них стоят.
Jenyay:
Хорошо, попробую.
21 мая 2015, 8:14 ппАлександр:
На Win 7 sp1 32-bit игрался с флагом «При запуске открывать последний открытый файл». При этом я перезагружал программу. Эффекта ноль. Якоря и ссылки через (:childlist:) всё-равно не работали. Но после того, как я поменял язык с «Авто» на «ru_RU» — программа заработала. Однако поменяв его обратно, программа продолжила работать нормально.
После некоторых тестов обнаружил закономерности, описанные ниже.
1. КАК ЗАПОРОТЬ ПРОГРАММУ:
Запустить exe-шник с параметром, указывающим путь к «WIKI» (путь может быть как абсолютный, так и относительный). Достаточно даже просто запустить и можно сразу закрыть. После этого программа перестаёт нормально работать даже если её запускать без параметров.
2. КАК ВОССТАНОВИТЬ ПРОГРАММУ:
2.1. открываем программу нормально (через exe-шник без параметров);
2.2. заходим в общие настройки интерфейса
2.3 Если галочка «При открытии ссылок из других программ использовать» стоит, то переходим на пункт [2.4], иначе переходим на пункт [2.6]
2.4. СНИМАЕМ галочку «При открытии ссылок из других программ использовать»;
2.5. перезагружаем программу Outwiker (открыв через exe-шник без параметров);
2.6. открываем свою WIKI;
2.7. заходим в настройки и СТАВИМ галочку «При открытии ссылок из других программ использовать»;
2.8. на всякий случай перезагружаем программу ещё раз;
2.9. забываем про возможность запускать exe-шник с параметрами :(;
2.10 радуемся нормальной работе программы :).
Почему, ИМХО, у меня воскресла программа после смены языка: скорее всего в тот раз у меня галочка была снята, я запустил программу без параметров, поставил галочку и поменял язык одновременно и бац — работает. Других вариантов пока нет.
Почему, ИМХО, у меня возникла эта проблема (только на win7 sp1 x86 & x64): не найдя сразу настройку «При запуске открывать последний открытый файл» я запускал exe-шник с параметром и меня всё устраивало. Тем самым программа запоролась. И потом когда я дошёл до якорей и (:childlist:) — они уже не работали. Скорее всего не работали не только якоря и (:childlist:), просто я пока ещё мало чем пользовался.
22 мая 2015, 11:29 дпАлександр:
Извиняюсь. Не знаю откуда я взял это название — «При открытии ссылок из других программ использовать», но имелась в виду только галочка «При запуске открывать последний открытый файл».
22 мая 2015, 11:33 дпJenyay:
На самом деле странно, у меня всегда включена галка «При запуске открывать последний открытый файл», и подобных проблем не возникало. И сейчас не могу ее повторить, тоже на Win 7 Sp1.
22 мая 2015, 1:06 ппАлександр:
Странно, а запускать программу с параметром (путём к файлу __page.opt) не пробовали ?
22 мая 2015, 1:50 ппJenyay:
Пробовал. Тоже работает.
22 мая 2015, 2:13 ппАлександр:
Кстати, что вы думаете о добавлении таких функций (как некоторых в меню «Инструменты»):
1. «Установить страницам в ветке флаг перехода на просмотр», чтобы при следующем открытии все страницы были уже в режиме просмотра.
2. «Установить страницам в ветке флаг перехода на WIKI», чтобы при следующем открытии все страницы были уже в режиме редактора WIKI кода.
А также сделать галочку на панели инструментов «Открывать страницы на просмотр». Если галочка стоит, то программа в обход индивидуального флага каждой страницы открывает страницу на просмотр. При этом индивидуальный флаг не меняется.
22 мая 2015, 2:19 ппJenyay:
Мне кажется, что для каждой страницы — это перебор, а вот настройку, в каком режиме открывать страницы (в режиме просмотра, редактирования или в последнем открытом режиме) сделать можно.
22 мая 2015, 3:36 ппАлександр:
> Мне кажется, что для каждой страницы — это перебор …
22 мая 2015, 6:06 ппТут я имел в виду следующее:
К примеру я занимаюсь созданием какой-то ветки своей большой вики, например «Libre Office». Вот насоздавал я там кучу всего и у меня все страницы открыты как попало: кто в вики, кто на просмотр, кто в html. Я считаю создание вики для этой ветки пока законченным и хочу все страницы перевести в режим просмотра.
P.S. Хотя возможно вы и правы, если бы была галочка «в каком режиме открывать страницы», то 2 другие функции потеряли бы свою актуальность. Тем более, что я их придумал лишь для того, чтобы после больших изменений вики у меня гарантировано все страницы открывались на просмотр, а не как попало, т.е. не так как они были закрыты (хотя это безусловно тоже нужно оставить).
Jenyay:
Попробовал еще на двух компьютерах — что-то не могу повторить такой глюк. Может быть это связано с какими-то настройками IE?
24 мая 2015, 12:32 ппАлександр:
> Может быть это связано с какими-то настройками IE?
25 мая 2015, 9:42 дпВозможно. Да я их вкратце проглядывал, но я не понимаю из-за какой настройки могут быть такие проблемы. В любом случае я разобрался из-за чего возникла проблема (в том плане, что понял как я отловил глюк) и понял как её решить на моём компе. Я, честно говоря грешил на главную функция (типа main в c/c++), которая принимает параметр — путь к файлу, но если вы пытались открывать exe-шник с параметрами и у вас всё ОК, то остаётся грешить только на IE. Но я с ним никогда не работаю, поэтому и не знаю что там может быть и куда рыть. Если бы я знал Python (вроде на нём же написано) я бы даже посмотрел дебаггером, покуда я единственный с такой проблемой, а так «знания Python-а» = «0».
А вообще жаль, конечно, что у вас не вышло воспроизвести проблему. Так со стороны поглядеть — так можно подумать что у меня параноидальная шизофрения.
P.S. Кстати, идея, я на всех компах работаю с ограниченными учётными записями (не админскими). Может быть это как-то влияет ?!? Хотя, ИМХО, вряд ли. Как-то не приходило раньше это в голову попробовать под админом, но это я смогу попробовать только дома. Да и я, наверняка, не единственные кто работает не под админом.
P.P.S. И последнее, планируете ли вы внедрение галочки/списка с возможностью выбора способа открытия страниц по умолчанию? Если да, то планируете ли вы это добавить в следующей версии программы?
Jenyay:
А в пути до вики нет каких-нибудь хитрых символов вроде греческих букв или чего-то подобного?
> И последнее, планируете ли вы внедрение галочки/списка с возможностью выбора способа открытия страниц по умолчанию? Если да, то планируете ли вы это добавить в следующей версии программы?
Если говорить про стабильную версию, то скорее всего сделаю. Что касается нестабильных версий, то я еще не планировал, что именно в ней делать, хотя очень хочется приступить к добавлению проверки орфографии. Может быть и сделаю
25 мая 2015, 10:31 дпАлександр:
> А в пути до вики нет каких-нибудь хитрых символов …
25 мая 2015, 12:56 ппСкажу больше, там даже пробелов нет. Полный путь я указывал ранее. Привожу ещё раз ниже:
d:\OutWiker\help\help_ru\__page.opt
Пробовал ещё такой путь:
d:\OutWiker\help\help_ru\WIKI\__page.opt
Пробовал путь как с кавычками, так и без. Результат один и тот же.
Jenyay:
А попробуйте еще такую вещь сделать. Когда не будут работать ссылки, выберите корень дерева заметок, а потом обратно нужную заметку. Ссылки при этом не начнут работать?
2 июня 2015, 9:58 дпАлександр:
Здравствуйте Jenyay.
2 июня 2015, 5:02 ппХотел ещё спросить/попросить — нельзя ли добавить функцию с выводом кнопки на панель инструментов, которая бы делала следующее: оборачивала бы в такие [==] «вики-тэги» выделенный текст. Просто это единственный способ, который я нашёл, чтобы писать спецсимволы типа * # и т.д. (приходилось пользоваться чем-то ещё). Т.е. чтобы это работало как и выделение ЖИРНЫМ, КУРСИВОМ, выделение КОДА и т.п..
Александр:
Извиняюсь. Поспешил. Функцию нашёл. Называется «Оформленное». Просто думал что если на панели инструментов нет, то и нигде нет.
2 июня 2015, 5:15 ппАлександр:
Здравствуйте Jenyay.
10 июня 2015, 2:07 ппНа данный момент (v 1.8.1) поиск (страница поиска) не ищет в файлах вложенных через include. Подскажите, существует ли какой-то способ глобального поиска в файлах вложенных через include? Есть способа нет, то не планируется ли его добавление в отдалённом светлом будущем?
Jenyay:
В ближайшее время делать такое не планировал, но мне кажется, что пока искать по вложенным файлам удобнее с помощью файловых менеджеров. Но на будущее такую задача себе добавлю.
10 июня 2015, 3:42 ппАлександр:
Вынужден не согласится, что через файловые менеджеры искать удобнее, чем через OutWiker (далее OW). Я, в принципе-то, и искал всегда через Total Commander (далее TC), в т.ч. и по содержимому. Когда я начал тестить OW, то перспектива поиска только по тегам (так мне рассказал друг) меня очень огорчила, но я решил хоть попробовать и в случае чего искать через TC. Когда же я чисто случайно обнаружил эту строку поиска на Странице Поиска и убедился в её прекрасной работоспособности, то моему счастью не было предела. Меня этот инструмент (OW) вполне устроил. Однако до начала пользования OW у меня скопился ряд заметок, большинство из которых представляют собой обычные текстовые документы (*.txt) без форматирования. Мне было лень их копировать в wiki и я их просто подключил к страницам через include, но как оказалось поиск по ним не производится. Я думал, что поиск идёт по результирующему HTML-представлению, а поиск, видимо, идёт по файлу «__page.text».
10 июня 2015, 4:14 ппКак выход из ситуации для меня сейчас — необходимо будет все страницы с вложениями перевести на wiki или поиграться со HTML-Страницами, т.к. у меня есть несколько include-ов html страниц. Может в html он искать умеет. Ну а если не умеет, то надо всё переводить в wiki. Хорошо хоть в wiki можно писать обычные html тэги и он их отлично проглатывает (как-то надо было объединять колонки в таблице — colspan вроде).
Jenyay:
Почему я в свое время не стал делать поиск по вложенным файлам — это проблемы с кодировками, очень уж не хотелось загромождать интерфейс еще несколькими полями. Но я подумаю над этим, может быть стоит это сделать через плагины.
PS. У меня тоже есть подобная проблема с папками, созданными до появления OutWiker, я подумываю о том, чтобы сделать плагин, который бы повторял структуру папок в указанном месте в виде страниц дерева + копировал файлы из исходной директории во вложения. И сейчас возникла мысль, что может быть полезна кнопка для вставки содержимого файла на страницу (по аналогии со вставкой ссылок на прикрепленные файлы).
10 июня 2015, 4:33 ппАлександр:
Чего-то про кодировки я не подумал. Действительно, всё не так просто, как хотелось бы. У меня действительно встречаются разные кодировки в моих файлах. Хотя в основном вроде 3 — dos, windos и utf-8.
10 июня 2015, 5:22 пп> … плагин, который бы повторял структуру папок …
Плагин — дело хорошее. Правильность его работы, конечно, тоже нужно будет тестить, однако без возможности поиска во вложениях он, ИМХО, бесполезен. Ну по крайней мере для меня. Я просто всё-равно собираюсь всё переводить в wiki-нотацию, а include юзать только для каких-то совсем не важных для поиска вещей.
> … может быть полезна кнопка для вставки содержимого файла на страницу …
Если имеется в виду кнопка команды (:include:), вынесенная на главную панель инструментов или панель инструментов окна «Прикреплённые файлы», то безусловно она будет полезна, как и кнопки для (:childlist:), [==], [@@], может ещё и (:attachlist:). Просто я часто их юзаю ((:attachlist:) не часто), лазя по меню. Если же имелось в виду нечто другое, то, видимо, я вас не понял.
Александр:
> … плагин, который бы повторял структуру папок …
10 июня 2015, 5:36 ппКстати, у вас похоже, проблема стоит острее, т.к. свой планируемый список для загрузки я потихоньку заполняю. Уже где-то половина готова. Ну по крайней мере основной мой контент. Всякие хэлпы пихать не хочу, ибо я сдохну. Если бы у меня был огромный склад этих заметок, то я бы уже написал прогу, которая бы сгенерила мне фрагмент нужной вики — тут благо что всё в текстовом виде, всё открыто и нет БД. Однако некоторые мои заметки, которые, возможно, и не заметки, т.к. хранятся в html требуют отдельного внимания. Сохранялись эти HTML-ки 100 лет назад и в некоторых присутствуют java-скрипты, а некоторые без css на вид просто ужас. Вот и приходилось несколько страниц форматировать перед include-вставкой, т.к. одни были чернее ночи, а другие вываливали кучу ошибок javascript. Хотя форматировать — громко сказано — тут спасибо плагину ScrapBook для браузера и Notepad++.
Jenyay:
> Если имеется в виду кнопка команды (:include:)
Я имел в виду, чтобы при нажатии на кнопку, в текст страницы вставлялось бы само содержимое файла.
10 июня 2015, 6:17 ппАлександр:
> … в текст страницы вставлялось бы само содержимое файла
10 июня 2015, 7:08 ппА, ну это, пожалуй, отличная идея. Отличная. Чего-то я об этой возможности не подумал. Ну тут опять же нужно промежуточное окно или выпадающий список рядом, чтобы возможно было выбрать кодировку для импорта.
Jenyay:
Да, наверное, надо давать выбрать кодировку.
10 июня 2015, 10:59 ппАлександр:
Здравствуйте Jenyay.
11 июня 2015, 3:35 ппПодскажите зачем OW постоянно перезаписывает файлы __content.html и __page.opt, даже если на странице не было изменений, а страница была просто открыта либо в дереве либо через поиск. Даже если не меняются pageindex и expand. Просто это сильно ограничивает возможность использовать OW на флеш-накопителях. Я проверил и убедился, что в этих 2-х файлах ничего не меняется, тогда зачем они перезаписываются?
Александр:
Хотя сейчас проверил на очень большой статье, html-код которой генерился очень долго. Так вот она открылась быстро, но даты файлов обновились. Вроде-как не перезаписывает, но что-то делает, обновляя дату и время редактирования файла.
11 июня 2015, 3:43 ппJenyay:
Больше всего времени тратится не на запись файла, а на разбор викинотации. Там есть кэширование, когда не надо пересоздавать HTML по викинотации, но на то, будет ли страница пересоздаваться заново, влияют многие факторы.
11 июня 2015, 4:52 ппАлександр:
> … но на то, будет ли страница пересоздаваться заново, влияют многие факторы.
11 июня 2015, 5:21 ппА можно ли какие-то примеры. Хочу понять могу ли я повлиять на этот процесс. Я ведь ничего особенного не делаю. Просто в дереве перехожу от одной страницы к другой, т.е. перехожу постоянно между двумя страницами, ничего больше не делая. И файлы «__content.html», «__page.opt» при этом постоянно обновляются. По крайней мере даты обновляются. Пробовал отключать автосохранение — не помогло. Хочу просто понять логику этих событий, и как мне избежать этого эффекта, если это возможно.
Jenyay:
Файлы могут пересохраняться даже если содержимое не меняется (уже не помню, нужно посмотреть исходники). Кэширование только позволяет избежать разбор викинотации. А чем мешает это пересохранение?
11 июня 2015, 5:33 ппАлександр:
> … А чем мешает это пересохранение?
11 июня 2015, 5:45 ппКонкретных неудобств нет, но мне жаль свою флэшку, когда я юзаю wiki с неё. К тому же усложняется синхронизация wiki между двумя её копиями, т.к. обнаруживается много файлов отличающихся по датам. Opt файлы я в основном игнорю в связи с опцией expand. Но при использовании wiki с флэшки — становится просто жаль флэшку (это основная проблема).
Jenyay:
Подумаю над этим. Устранить перезапись opt может быть так просто не удастся, а вот перезапись html скорее всего можно будет избежать.
11 июня 2015, 5:50 ппАлександр:
С opt файлом я согласен, т.к. он перезаписывает настройку «expand» когда открывается или закрывается ветка дерева, а «pageindex» когда переходишь между вики-просмотр-html. Разве что сделать настройку программы: «Помнить/не помнить состояние дерева». Ну а с pageindex ничего не поделаешь, та и не стоит. По крайней мере если не клацать вкладки вики-просмотр-html (что и не делается при ЧТЕНИИ вики), то всё, вроде, и ок.
11 июня 2015, 5:56 пп