найденной комбинации в маленькую, либо наоборот, после чего, опять же, происходит переход на следующий подлежающий рассмотрению пользователем случай. Кнопка «Выход» ничего не делает, кроме того что закрывает скрипт.
Если перед нажатием одной из кнопок «Заменить знак пунктуации» и «Изменить регистр буквы» установлен флажок «После замены перейти к этому месту», то после того, как скрипт произведет полагающиеся изменения, произойдет выход из скрипта, и область видимости в основном окне FBE и курсор будут перемещены к рассматриваемой комбинации символов. Имеется также кнопка «Перейти без замены», которая осуществляет такое же перемещение области видимости и курсора, но при этом не совершается ни одно из предлагаемых на данный момент изменений документа.
Как разложить файлы скрипта:
1. js-файл положить где-нибудь внутри папки Scripts, выбранной в настройках редактора.
2. содержимое папки HTML положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
3. Подпапка CSS при этом должна быть внутри папки HTML. Под именем «Точка, тире, буква – main.css» можно подложить main.css от вашего FBE (чтобы текст отображался тем же стилем, что у вас в редакторе). В файле «Точка, тире, буква – add.css», редактируя строку
SPAN.ddl_marked {background-color:red; color:white}
Можно настроить стиль, которым будет подсвечиваться рассматриваемая комбинация символов.
Строка
#fbw_body {font-family: Tahoma; font-size:15px;}
Назначает стиль, который будет применен ко всему отображаемому тексту. Это аналог настроек шрифта в настройках FBE.
В js-файле скрипта можно изменить значения размеров диалога (измеряются в пикселях) вот в этих строках:
var dialogWidth='640px'; // ширина диалогового окна
var dialogHeight='480px'; // высота диалогового окна
Управление структурой секций v1.8.
Я полагаю, скрипт может быть удобен как для изменения структуры секций путем перетаскивания мышью, так и для массового ручного контроля/редактирования заголовков. Преимущество сравнительно со встроенным в FBE редактированием дерева – заголовки отображаются «как есть», с форматированием и многострочностью.
Недостатки.
• После окончания работы скрипта, если вы вышли из него по нажатию кнопки «Сохранить», желательно проверить валидность книги, т.к. скрипт этого не делает.
• Не поддерживается выделение нескольких элементов дерева.
• Долговато выполняется сохранение, надо бы как-то оптимизировать, но пока нет идей.
Известные проблемы.
• Могут быть проблемы, связанные с необновлением скроллбара. Дело в том, что код для скроллбара пришлось написать самому, использовать системный было нельзя – тогда бы курсорные клавиши прокручивали документ когда не надо. Если заметите необновление размера скроллбара в какой-то ситуации – пожалуйста сообщайте (как и остальные баги).
• IE, на движке которого работает FBE, имеет багофичу (в отличие от других браузеров), из-за которой скрипты не могут обрабатывать второе нажатие (в отличие от отпускания) кнопки мыши при двойном щелчке. Поэтому если быстро нажать, отпустить, опять нажать и удерживать клавишу мыши, когда мышиный курсор находится на кнопке скроллбара, то автоскроллинг не запускается, хотя должен бы.
Кликать ссылку «HTML в буфер» внизу окна скрипта не надо – она нужна только для отладки.
Как правильно разложить файлы скрипта.
Файл '01_Управление структурой секций.js' положить в папку скриптов, заданную в настройках FBE. Содержимое папки HTML (включая подпапки) положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
Настроить размер по умолчанию для окна скрипта можно в файле '01_Управление структурой секций.js', изменив числа в таких строках:
var dialogWidth='640px'; // ширина диалогового окна
var dialogHeight='480px'; // высота диалогового окна
Изменения в версии 1.1.
• Исправил баг с пропадающим при перетягивании секции эпиграфом.
• Поправил некоторые мелкие, но визуально неприятные недочеты в работе дерева.
• Сделал управление с клавиатуры. Работают клавиши «Стрелка вверх», «Стрелка вниз» (эти курсорные клавиши переходят на предыдущий и следующий элемент дерева соответственно, если при их нажатии какой-то элемент уже активен), «Стрелка влево» (закрыть элемент, если же он уже закрыт – перейти на уровень вверх), «Стрелка вправо» (раскрыть элемент, если он уже раскрыт – перейти на первый вложенный в него элемент), «Home», «End», «Page up», «Page down», «Серый плюс» (раскрыть активный элемент), «Серый минус» (закрыть активный элемент), F2 (редактирование заголовка). В режиме редактирования заголовка Enter вставляет пустую строку в заголовке и переходит на нее. Закончить редактирование можно клавишей Esc. При редактировании заголовка включать/выключать жирность можно хоткеем Ctrl-B, а курсив – хоткеем Ctrl-I.
Изменения в версии 1.2:
• При клике и удержании кнопки мыши на тексте элемента (а не на иконке, изображающей лист бумаги) элемент, перешедший в состояние перетаскивания, первоначально появлялся в неправильной позиции (если потом подвигать мышью, он принимал правильное положение: чуть правее и ниже курсора мыши).
• При клике по меню внизу окна фокус клавиатуры уходил с дерева и горячие клавиши переставали работать.
• Нельзя было разместить элемент вслед за элементом ‹text›, перетащив его на иконку, изображающую лист бумаги.
• Если перейти в режим редактирования заголовка, выделить его весь или частично, потом нажать Esc, выделение оставалось видно.
• Была какая-то ошибка, связанная с попыткой то ли редактирования по F2 элементов типа ‹text›, то ли с выходом из него. В общем, я редактирование такого рода программно запретил, поскольку оно все равно не имеет смысла.
Изменения в версии 1.3:
• атрибут name у body терялся при нажатии «Сохранить» в окне скрипта.
• теперь клик по ссылке в заголовке не производит переход.
• теперь адреса ссылок-сносок после нажатия «Сохранить» более корректные («file:// …/main.html#n_1», а не «file://…/control_structure_frame_1.htm#n_1»).
Изменение в версии 1.4:
• скрипт теперь работает в IE8.
Изменения в версии 1.5:
• раньше скрипт глючил на некоторых невалидных книгах. Проблема проявлялась, если в книге была секция, в которую непосредственно были вложены элементы текстово-графического содержания (‹p›, ‹image›, ‹cite› и т.д.) и подсекции. (Это запрещено схемой, но такой файл можно открыть редактором.) В таком случае иногда происходило размножение фрагментов текста. Проблема возникла из-за того, что я поначалу ориентировался на обработку скриптом только валидных файлов. Но поскольку на практике возможность работать с невалидными файлами оказалась полезной, исправил ошибку.
• новая фича – в контекстном меню по правой кнопке мыши на элементе дерева: «Обрамить section- ом». Создает вокруг этого самого элемента дерева новый элемент ‹section›. Полезно для исправления документов, невалидных описанным выше образом.
• раньше при перетягивании элемента на новое место иногда не появлялась или не исчезала иконка плюса/минуса, которая индицирует, есть ли у элемента вложенные подэлементы.