OutWiker 2.0.0.808 (beta) и плагин HackPage
Прошло больше двух месяцев с момента выхода прошлой нестабильной версии OutWiker, и за это время было сделано очень многое, как внутри ядра программы, так и относительно плагинов. В прошлый раз я говорил, что начинаю готовиться к тому, чтобы объявить очередную версию OutWiker стабильной, поэтому хотел сосредоточиться на вылавливании глюков, ошибок и на подчистке кода, но потом понял, что есть одна возможность, которую достаточно легко реализовать, но она может решить сразу несколько проблем. В основном эти проблемы касаются меня как разработчика, а пользователи ничего не должны заметить, но в то же время продвинутые пользователи (вы ведь такими являетесь? 🙂 ) могут эту возможность приспособить для себя. Для обычных пользователей эта возможность будет недоступна через базовый интерфейс программы, и чтобы ей воспользоваться, нужно будет установить плагин, о котором я скажу чуть позже.
Псевдонимы страниц
Эта новая возможность, о которой я говорю — это псевдонимы страниц. Что это такое? До сих пор имена заметок всегда совпадали с именем папки, в которой эти заметки расположены в файловой системе. От этой особенности я не хочу отходить. Так сделано, чтобы можно было бы найти нужную заметку даже если на компьютере не установлена программа OutWiker (например, если вы носите базу заметок на флешке). Но такой способ хранения накладывает некоторые ограничения, от которых страдают в первую очередь пользователи Windows. Во-первых, такой способ хранения означает, что не все символы могут быть использованы в именах заметок (например, под Windows нельзя использовать двоеточие, кавычки, звездочку и другие служебные символы). Во-вторых, из-за особенности работы движка Internet Explorer, который используется для отображения страниц под Windows, могут возникнуть проблемы с отображением страниц, полный путь до которых содержит больше 255 символов. А мне, как разработчику, такой способ хранения добавляет головной боли при создании zip-архивов, содержащих справку, которая представляет собой базу заметок, созданную в OutWiker, потому что кодировки имен файлов, используемых под Windows и Linux различаются. Кроме того, некоторые разработчики, работающие под Linux, возмущались (отчасти справедливо), что при установке OutWiker в системных файлах появляются папки с русскими именами (справка), что очень не рекомендуется.
Именно последние две причины и подтолкнули меня сделать псевдонимы, которые представляют собой всего лишь один строковый параметр в файле свойств страницы, говорящий о том, под каким именем пользователь видит заметку независимо от того, как называется имя папки с заметкой в файловой системе. Если вас интересуют подробности, этот параметр называется alias и находится в разделе [General] файла __page.opt. Если этого параметра нет, или он равен пустой строке, то псевдоним не используется, а имя заметки совпадает с именем папки.
Я очень не хочу выпячивать эту возможность в интерфейсе программы, чтобы не путать пользователя двумя терминами — имя папки хранения заметки и псевдоним, поэтому в базовом интерфейсе программы вы нигде не найдете упоминание псевдонимов, и по умолчанию все имена заметок будут совпадать с именами папок. Однако, в справке уже используется эта возможность, и в дистрибутиве программы больше нет русскоязычных имен папок (поэтому при обновлении до новой версии рекомендую хотя бы удалить папку со справкой, чтобы не появились дубликаты страниц). В справке для плагина DataGraph теперь тоже используются псевдонимы.
Плагин HackPage
Но было бы несправедливо сделать такую возможность и совсем ее спрятать от пользователей, которые могут придумать для нее какой-нибудь полезное применение, поэтому был создан плагин HackPage, предназначенный для изменения параметров страниц, о которых обычным пользователям лучше не задумываться. Этот плагин позволяет не только работать с псевдонимами, но также он позволяет менять идентификатор страниц, для чего раньше предназначался плагин ChangePageUID, поэтому в будущем я собираюсь убрать этот плагин из списка плагинов.
В данный момент плагин HackPage позволяет выполнять следующие действия:
- Менять идентификатор страниц.
- Устанавливать псевдоним для страницы.
- Менять папку хранения без изменения имени заметки.
Давайте я опишу эти возможности поподробнее. После установки плагина HackPage появится новое подменю «HackPage» в меню «Инструменты».
Аналогичное подменю появится в контекстном меню при щелчке правой кнопкой мыши на заметку.
Пункты меню HackPage соответствуют тем возможностям, что сейчас есть в плагине (есть идеи еще добавить туда некоторые функции, но не хочу о них говорить, пока их не реализую).
Про идентификаторы страниц я достаточно подробно писал в посте после их появления в движке программе, поэтому повторяться не буду. Возможность плагина HackPage менять идентификатор полностью соответствует аналогичной возможности в плагине ChangePageUID, я только немного поправил внешний вид диалога. Выглядит он теперь таким образом:
Вот про псевдонимы расскажу чуть поподробнее. Диалог для ввода псевдонима такой же простой.
Вы вводите псевдоним, и в дереве данная заметка меняет свое имя. На следующей картинке заметка имеет имя, недопустимое с точки зрения имени папки файловой системы под Windows.
Теперь благодаря псевдонимам мы можем иметь несколько соседних заметок с одинаковыми именами.
Я, правда, сходу не могу придумать, зачем это может понадобиться, но такая возможность есть.
В закладках имена заметок тоже отображаются по их псевдониму.
И даже если вы дважды щелкните на заметку или выберите пункт меню «Дерево — свойства страницы», то в открывшемся диалоге тоже в качестве имени будет показан псевдоним, и там вы тоже сможете ввести произвольное имя (однако, если до этого псевдоним не был установлен, то вы будете по-прежнему ограничены во вводимых символах).
При этом вы можете убедиться, что имя папки с заметкой не изменилось, скопировав путь до заметки или до прикрепленных файлов с помощью соответствующих пунктов меню «Инструменты» или контекстного меню.
Чтобы удалить псевдоним, можно воспользоваться все тем же плагином HackPage и установить в качестве псевдонима пустую строку, а можно удалить псевдоним в диалоге свойств страницы и нажать кнопку OK. В этом случае заметка опять получит имя, совпадающее с именем папки.
Третья возможность плагина HackPage («Изменить папку страницы») работает в обратную сторону. С помощью этого пункта меню можно изменить имя папки, где хранится заметка, но при этом в качестве псевдонима будет установлено предыдущее имя заметки. То есть с точки зрения пользователя заметка останется с тем же именем, но храниться заметка будет в папке с другим именем. Именно с помощью этой возможности я избавлялся от русскоязычных папок в справке, чтобы все заметки оставались с прежними именами.
Интерфейс для этой возможности такой же элементарный.
В завершении раздела (но не поста) еще раз напомню ссылку на плагин HackPage.
Другие изменения
Кроме создания псевдонимов страниц, в OuWiker 2.0.0.808 были исправлены некоторые недочеты и добавлены новые параметры настройки редактора. За замеченные проблемы спасибо Святославу, который прислал подробные описания проблем с картинками.
Первая проблема была связана с полноэкранным режимом. Даже если до перехода в полноэкранный режим у вас, например, была скрыта панель с тегами или прикрепленными файлами, то после возвращения в обычный режим, они опять включались. Это было исправлено.
Еще пара проблем были связаны с тем, что, если настроить цвета редактора таким образом, чтобы был темный фон и светлый текст, то номера строк и выделенный текст становились плохо различимыми. Чтобы решить эту проблему, я добавил две настройки в разделе «Редактор — Общее» для задания фона левого поля окна ввода текста и цвета фона выделенного текста.
Также немного переделал интерфейс для установки горячих клавиш.
Еще были обновлены плагины ChangePageUID (в нем была исправлена одна ошибка) и DataGraph (в его справке теперь используются псевдонимы).
Остальные изменения носят внутренний характер и не заметны для пользователей.
На самом деле и это еще не все, за эти два месяца сделал еще один новый плагин, но ему будет посвящен отдельный пост. Так что, как говорится, оставайтесь на связи.
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
Leave a comment