Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

Скрипт добавления сноски (и другие)
На страницу Пред.  1, 2, 3, 4 ... 12, 13, 14  След.
 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Ср Июл 04, 2007 20:26    Заголовок сообщения: Ответить с цитатой

Отлично работает, спасибо!
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


jurgennt
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 15.10.2006
Сообщения: 272
Откуда: Харьков

СообщениеДобавлено: Сб Июл 07, 2007 10:13    Заголовок сообщения: Ответить с цитатой

Замечательный скрипт по добавлению сноски — ну всем хорош — лучше не придумаешь. И все пересчитает, и перенумерует, и приведёт в унифицированный вид, короче — песня, а не скрипт… Вот только бы я его назвал «Вставка сноски», что больше соответствует процессу «запихивания» её в уже имеющиеся, вместо «добавления».
А вот именно «Добавление» (дописывание после существующих) тоже бы не помешал, причём только с присвоением новой сноске порядкового номера на единицу большего чем у предыдущей и дописыванием новой секции в теле примечаний-комментариев с соответстующим id и всё. Т.е. без всех тех замечательных наворотов, что позволит ему работать значительно (?!) быстрее. Зачем это надо? — допустим, вы расставляете сноски в тексте, в котором они изначально отсутствовали, последовательно одна за другой, так зачем при каждом серийном добавлении снова и снова все их пересчитывать, перенумеровывать?.. — итак понятно, что всё делается правильно, но на них же теряется время и в районе пятисотых* сносок каждое новое добавление становится пыткой. Проверить, на всякий случай, можно будет унификацией всего один раз — в конце, после расстановки всех сносок.
_____
* Порог варьируется в зависимости от навороченности железа и уровня терпения пользователя.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Сб Июл 07, 2007 12:31    Заголовок сообщения: Ответить с цитатой

Юрген, так именно на такой случай и существует скрипт Примечания из скобок http://www.fictionbook.org/forum/viewtopic.php?p=29137#29137
Пробежался по тексту, обрамил [] и запустил скрипт один раз Wink
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


jurgennt
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 15.10.2006
Сообщения: 272
Откуда: Харьков

СообщениеДобавлено: Сб Июл 07, 2007 13:58    Заголовок сообщения: Ответить с цитатой

Кто ж с этим спорить будет!? Если примечания уже стоят на своих местах, ну, или где-то рядышком, то однозначно, но если…
Беру хорошо, но давно оформленную книгу. В ней на месте сносок стоят просто квадратно-окавыченные цифры [1], точно в соответствии с этими цифрами в конце книги в секции «Комментарии и ссылки» располагаются и сами примечания. Чтобы воспользоваться скриптом «Примечания из скобок» нужно будет перетащить из подвала все примечания и расставить их по местам, заменив вот те цифры в квадратных скобках и уж только потом все скопом загонять в notes, надеясь на Аллаха и Sclex'а.
Я же предлагаю как сейчас в «добавлении»: F3 – находишь место этой клятой сноски; F9 – скрипт нарисовал сноску и побежал вниз создавать для неё секции; в то время пока он мечется, копируешь из параллельно открытого документа – Alt+Tab – текст примечания – Ctrl+C; и, когда откроется соответствующая новая секция, вставляешь туда нужный текст – Ctrl+V, причём ни на кого не надеясь и всё визуально контролируя; Ctrl+Backspace – возвращаешься к созданной ссылке и повторяешь процесс.
И сейчас всё хорошо, пока автору вдруг не захочется прокомментировать каждый чих, и вот тут ты уже готов вставить, но сидишь и подпрыгиваешь, потому что пока не куда. А Sclex'у с его способностями сделать скрипту небольшое обрезание – плёвое дело.
___
И ещё я хотел повторить втихаря то, что было: нумерация сносок в каждой главе начиналась с единички. Но скрипт упорно возвращал всё на круги своя — и номера сносок и заголовки примечаний.


Последний раз редактировалось: jurgennt (Сб Июл 07, 2007 14:10), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Сб Июл 07, 2007 14:10    Заголовок сообщения: Ответить с цитатой

Тоже логично Very Happy
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Вс Июл 08, 2007 14:13    Заголовок сообщения: Ответить с цитатой

Добавление сноски v1.4. Ссылка 1. Ссылка 2. 4914 Б.

Теперь в архиве три новых варианта скрипта: «Добавление последней сноски», «Добавление последней сноски со вводом» и «Добавление последней сноски с переходом». В них не производится изменение ссылок сносок, id секций примечаний и заголовков секций примечаний. Встроена проверка, действительно ли вставляемая сноска оказывается последней в документе. Также теперь по завершении обработки сообщается затраченное время.

Добавлено спустя 11 минут 35 секунд:

Уже 1915 Б (поменял номер версии в файлах скрипта).

Добавлено спустя 1 минуту 31 секунду:

То есть 4915, конечно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


jurgennt
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 15.10.2006
Сообщения: 272
Откуда: Харьков

СообщениеДобавлено: Пн Июл 09, 2007 0:25    Заголовок сообщения: Ответить с цитатой

Спасибо.
А ведь действительно разогнал — теперь в три раза быстрее бегает!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Пн Авг 06, 2007 18:39    Заголовок сообщения: Ответить с цитатой

Новый скрипт "Разметка подзаголовков, чистка пустых строк" v1.3, идея предложена, по-видимому, Faiber'ом. Ссылка 1. Ссылка 2. 5799 Б.

Превращает
<p>***</p>
, и
<p>* * *</p>
, и
<subtitle>***</subtitle>
в
<subtitle>* * *</subtitle>
. Пустые строки непосредственно перед и непосредственно после подзаголовков (всех) удаляются.
Также удаляются тэги <empty-line/> в начале и конце секции ("в начале" значит не только сразу после <section>, но и после <title>, <epigraph> и пр.). В случае, если пустые строки используются для того, чтобы сделать валидной секцию, в которой кроме того есть только картинка, эти пустые строки не удаляются. Речь о таких случаях:
Код:
<section>
  <image l:href="#pic1.jpg">
  <empty-line/>
</section>

<section>
  <empty-line/>
  <image l:href="#pic1.jpg">
</section>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Пн Авг 06, 2007 21:48    Заголовок сообщения: Ответить с цитатой

Хорошая новость. Спасибо!
Только я б еще добавила <title>***</title> и <title>* * *</title> для изменений. Их тоже довольно много попадается в либах.
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Ср Авг 22, 2007 17:11    Заголовок сообщения: Ответить с цитатой

Преобразование текста в стихи v1.2. Ссылка 1. Ссылка 2. 1982 Б.

Выделяем строки текста, запускаем скрипт, получаем стих. Отличие от аналогичной фичи самого редактора в том, что пустые строки, разделяющие строки с текстом, считаются за границу раздела между stanza-ми. <empty-line/>-ы в начале и конце выделения (внутри его) удаляются.

Разметка подзаголовков, чистка пустых строк v2.3. Ссылка 1. Ссылка 2. 2274 Б.

(Полное описание, а не отличие от предыдущей версии).

Превращает такие фрагменты:

<p>***</p>
<p>* * *</p>
<subtitle>***</subtitle>
<subtitle>* * *</subtitle>
<title>***</title>
<title>* * *</title>

в

<subtitle>* * *</subtitle>
.

Форматирование в перечисленных выше случаях игнорируется, так что например абзац <p><emphasis>* * *</emphasis></p> тоже будет подвергнут преобразованию.

Пустые строки непосредственно перед и непосредственно после подзаголовков (всех) удаляются. В случае с <title> разрыв секции перед этим тэгом ликвидируется. По информации от jurgennt'а преобразование title -> subtitle может быть опасно для файлов, где используется заголовок (не стиха, а простой) из трех звездочек, чтобы «одноименное» стихотворение попало в оглавление.

Также удаляются тэги <empty-line/> в начале и конце секции («в начале» значит не только сразу после <section>, но и после <title>, <epigraph> и пр.). В случае, если пустые строки используются для того, чтобы сделать валидной секцию, они не удаляются.

Удаляются пустые строки перед и после тэгов <cite> и <poem> .

Последовательности из нескольких пустых строк заменяются на одну пустую строку.

Удаляются пустые строки внутри <poem> , т.к. они препятствуют валидности документа.

За пустые строки во всех указанных случаях считаются абзацы, которые из чисто текстового содержимого (не считая тэгов) либо не имеют вообще ничего, либо представляют комбинацию произвольного количества пробелов и неразрывных пробелов, и тэги <empty-line/> .


Последний раз редактировалось: Sclex (Вс Сен 02, 2007 21:14), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Ср Авг 22, 2007 17:25    Заголовок сообщения: Ответить с цитатой

Sclex, респект!
Спасибо!
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Consul
Администратор библиотеки FictionBook.Lib

Администратор библиотеки FictionBook.Lib

Зарегистрирован: 27.02.2005
Сообщения: 674
Откуда: Красноярск

СообщениеДобавлено: Ср Авг 22, 2007 18:46    Заголовок сообщения: Ответить с цитатой

Попользовался новыми и не очень скриптами. Ряд замечаний по использованию:
1. Скрипт ОБРАБОТКА СНОСОК (возможно ДОБАВЛЕНИЕ СНОСОК, не разобрался). Суть в том, что если сноска стоит внутри тэга тайтл, то она не переименовывается в процессе работы скрипта (#FbAutId_1 -> #n_1), что не влияет на локальную валидацию, но при заливке в либы сразу приводит к косяку.
2. Скрипт "Разметка подзаголовков, чистка пустых строк". Не знаю у кого как, а у меня часто попадаются книги с вариантом <p>* * * </p> и пр. С пробелом в конце. Такие штуки скриптом пропускаются. Когда 1-2 на книгу, когда 100. А еще бывают <p>* </p> Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Ср Авг 22, 2007 21:42    Заголовок сообщения: Ответить с цитатой

Consul писал(а):
1. Скрипт ОБРАБОТКА СНОСОК (возможно ДОБАВЛЕНИЕ СНОСОК, не разобрался). Суть в том, что если сноска стоит внутри тэга тайтл, то она не переименовывается в процессе работы скрипта (#FbAutId_1 -&amp;gt; #n_1), что не влияет на локальную валидацию, но при заливке в либы сразу приводит к косяку.

Пока не удалось воспроизвести. Создаю сноску в тайтле, связываю ее с секцией примечания (адрес конкретно &amp;quot;#FbAutId_1&amp;quot;), запускаю либо &amp;quot;добавление сноски&amp;quot; либо &amp;quot;обработка сносок&amp;quot;, ссылка меняется, id секции тоже.

Может, потому что я использую более новую версию скрипта, но вряд ли. Никакого особого алгоритма для ссылок внутри title не нужно, для тех, кто понимает, скажу, что я обращаюсь к ссылкам через document.links и родительский тэг ссылки не проверяю. Но на всякий случай выложу.

Добавление сноски v1.8. Ссылка 1. Ссылка 2. 4853 Б.

Подверсии &amp;quot;с переходом&amp;quot; в данном наборе отсутствуют, т.к. пока не реализованы. Зато имеющиеся скрипты работают быстрее прошлых версий.

Цитата:
2. Скрипт &amp;quot;Разметка подзаголовков, чистка пустых строк&amp;quot;. Не знаю у кого как, а у меня часто попадаются книги с вариантом &amp;lt;p&amp;gt;* * * &amp;lt;/p&amp;gt; и пр. С пробелом в конце. Такие штуки скриптом пропускаются. Когда 1-2 на книгу, когда 100. А еще бывают &amp;lt;p&amp;gt;* &amp;lt;/p&amp;gt; ;)

Разметка подзаголовков, чистка пустых строк v2.4. Ссылка 1. Ссылка 2. 2119 Б.

Теперь вопрос, стоит ли исходя из вида строки делать ее сабтитлом, решается с помощью такого регэкспа:
^( | )*\*(( | )*(\*))?(( | )*(\*))?( | )*$
Анализируется строка без учета тэгов (innerText). Если объяснять на словах, строка может содержать от одной до трех звездочек с любым количеством простых или неразрывных пробелов до, между и после них.

Также в архиве имеется подверсия данного скрипта, которая помимо всего еще удаляет жирность из заголовков (т.е. &amp;lt;strong&amp;gt; из &amp;lt;title&amp;gt;&amp;lt;p&amp;gt;).

Добавлено спустя 12 часов 3 минуты 18 секунд:

Разметка подзаголовков, чистка пустых строк v2.5. Ссылка 1. Ссылка 2. 2109 Б.

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

Добавлено спустя 16 минут 13 секунд:

Разметка подзаголовков, чистка пустых строк v2.6. Ссылка 1. Ссылка 2. 2117 Б.

В прошлой версии неверным путем избавился от бага, что и исправляю.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Сб Сен 01, 2007 10:12    Заголовок сообщения: Ответить с цитатой

Удалить все вложения из книги. Ссылка. 181 Б.

Добавлено спустя 21 минуту:

Тест сносок v1.1. Ссылка 1. Ссылка 2. 1463 Б.

Аналог скрипта «Проверить ссылки», который стандартно идет с FBW. Работает быстрее. По словам jurgennt'а, для файла, содержащего 2500 сносок, «Проверить ссылки» отработал за полчаса, «Тест сносок» за полторы секунды. Дело в том, что количество операций скрипта Алекса Савельева пропорционально N в квадрате (N – число сносок), а моего пропорционально N.

Также определяются перепутанный порядок сносок и секции примечаний, на которые нет ссылок.

Однако работает скрипт только для одноуровневой структуры тела примечаний: body notes, в нем секции отдельных примечаний.

Добавлено спустя 4 часа 55 минут 14 секунд:

Думал, что не будет у этого скрипта версий, но jurgennt напомнил, что надо сделать поддержку Undo. Посему...

Удалить все вложения из книги v1.1. Ссылка 1. Ссылка 2. 399 Б.

Теперь выдается окно с вопросом «действительно ли хотите удалить...» (страховка от случайного запуска скрипта). Также после выполнения работает Undo (откат).

Добавлено спустя 2 часа 25 минут 29 секунд:

Удалить все вложения из книги v1.2. Ссылка 1. Ссылка 2. 413 Б.

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

Добавлено спустя 4 часа 56 минут 25 секунд:

Удалить все вложения из книги v1.3. Ссылка 1. Ссылка 2. 634 Б.

Раньше вместе с вложениями удалялась и надпись "Иллюстрации". Раньше после удаления вложений картинки документа оставались по-прежнему видны. Решены обе проблемы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Ср Сен 12, 2007 11:21    Заголовок сообщения: Ответить с цитатой

Унификация вложений и картинок v1.0. Ссылка 1. Ссылка 2. 3119 Б.

Собственно, скрипт делает то, что сказано в его названии.

Вложения переименовываются соответственно порядку следования ссылок на них в теле документа. Если на вложение ссылается несколько картинок, берется номер первой из них. Первое нумеруемое вложение получает номер 1. По умолчанию новое имя файла выглядит как «i_001» (можно настроить префикс имени, т.е. то, что будет вместо «i_», и количество цифр, до которого следует дополнять номер); расширение получается из поля content-type бинарника: .jpg для image/jpeg и .png для image.png.

Вложения, на которые нет ссылок, переименовываются по другому алгоритму. К их имени дописывается префикс (конкретный вид его можно настроить) «unused_». Если вложение уже имеет такой префикс, второй раз он не добавляется. Случается иногда ситуация, что уже есть вложение например unused_a.png, есть вложение a.png, и т.к. на последнее нет ссылок, оно тоже по идее должно стать unused_a.png. Получалось бы запрещенное дублирование id вложений, поэтому такая ситуация решена дописыванием постфикса вида «_0» (число меняется по необходимости) к имени вложения.

Вложению обложки дается имя cover, вложению обложки оригинального издания cover_src (настраиваемо). Расширение согласно content-type. Если в качестве обложки ничего не выбрано, и есть вложение с именем «cover.jpg» или «cover.png», это вложение делается обложкой. Аналогично для обложки ориг. издания, только искомое вложение должно называться «cover_src» + расширение.

Потом вложения сортируются в таком порядке: обложка; обложка оригинального издания; пронумерованные картинки; вложения, на которые нет ссылок.

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

По окончании обработки выводится статистика, в том числе перечни: картинок, для которых нет вложений; вложений, на которые нет ссылки; картинки с нелокальными ссылками. Т.е. попутно скрипт можно использовать как проверку картинок.

Благодаря тестам jurgennt'а исправлено порядочное количество недочетов, и скрипт приобрел более-менее законченный вид. Также jurgennt'у принадлежит дизайн окна статистики, правда он настаивал на названии «Унификация иллюстраций» для скрипта, чему я не последовал.

Есть пара известных проблем. Во-первых, после работы скрипта перестает появляться выпадающий список при редактировании атрибута href картинки. Во-вторых, в некоторых случаях не срабатывает встроенное обновление картинок, и выводится старая картинка вместо новой, хотя связь «картинка -&gt; бинарник» соблюдена верно. Возможно некоторое время спустя появится решение (Алекс Савельев сказал, ему вроде удалось победить такие проблемы в свое время), но пока так.

Обновление картинок и списков обложек v1.0. Ссылка 1. Ссылка 2. 284 Б.

Иногда бывает, удалишь несколько вложений, потом вставишь на их место новые с теми же названиями, а картинки FBW не обновляет – старые остаются видны. Или меняешь руками id вложений в режиме редактирования заголовка – тот же эффект. В этом случае и пригодится данный скрипт.

Добавлено спустя 2 часа 58 минут 50 секунд:

Sclex писал(а):
Унификация вложений и картинок v1.0. Ссылка 1. Ссылка 2. 3119 Б.

Ссылки были нерабочие (jurgennt сообщил). Исправил это.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4 ... 12, 13, 14  След.
Страница 3 из 14

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group