Библиотека палийских текстов в латинской транскрипции

Опубликовано khantibalo от 15 мая, 2017 - 20:02

tipitaka.theravada.su

Программное обеспечение предоставляет средства для навигации и поиска в палийских текстах и позволяет формировать прямые ссылки на любые фрагменты, подборки фрагментов и результаты поиска. Эти ссылки могут использоваться на форумах, в документах и т.п. в качестве подтверждения или опровержения тех или иных утверждений.

Table of contents = оглавление

Этот раздел предназначен для навигации по оглавлению библиотеки. При нажатии на название раздела открываются дочерние разделы. При нажатии на ссылку (View) напротив раздела он открывается для просмотра. При нажатии на ссылку (bookmark) раздел попадает в закладки. При нажатии на ссылку top открывается верхний уровень библиотеки.

На некоторых уровнях становится доступен прямой переход к нужной PTS странице. Для этого нужно выбрать том (volume) и ввести страницу (page) после чего нажать Go.

Страница просмотра раздела

Location указывает местоположение раздела в библиотеке. Ссылки можно использовать для перехода к более мелким уровням детализации.

Page numbers - включает показ внутри текста номеров страниц из разных изданий: PTS и других.

notes: включает - выключает (on/off) примечания, обычно это расхождения с другими изданиями канона

print view: open открывает по ссылке вид для печати для текущей страницы. На виде для печати отсутствуют органы управления, при этом он слушается текущей настройки Page numbers и notes.

По ссылке view напротив раздела на просмотр выводится только этот раздел. Напротив абзаца выводится только этот абзац. Ссылка является прямой, ей можно делиться.

При нажатии на ссылку bookmark раздел или абзац попадает в закладки.

search = поиск

В поле Search введите ключевое слово или фразу.

В переключателе Scope выберите режим поиска:

  • table of contents - поиск только в оглавлении. полезно для поиска текста по названию. Выводятся совпадения с любой частью слова.
  • text - поиск во всём каноне (ищет везде, кроме заголовков, попавших в оглавление)
  • bookmarks - поиск во всех абзацах тех разделов, которые были добавлены в закладки и также добавленных в закладки индивидуальных абзацах. включается если есть хотя бы одна закладка

Search - при нажатии на эту кнопку выполняется поиск. Ссылка на результаты поиска является прямой, ей можно делиться.

Когда переключатель Scopе установлен в text или bookmarks поддерживаются следующие операторы:

* - любой набор символов слова, например buddh* найдёт buddho, buddhe и т.п.

" - точное совпадение, полезна для поиска фразы целиком. "Buddhaṃ saraṇaṃ" найдёт только фрагменты со словами в таком порядке

+ - слово обязательно должно присутствовать, например +buddho

-  - слово должно отсутствовать, например -dhammo

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

bookmarks = закладки

Отображает разделы и абзацы, добавленные в закладки. Закладки хранятся ограниченное время в рамках работы с системой. При закрытии окна браузера они стираются.

view - открывает для просмотра. если это раздел, он показывается целиком

remove - удаляет пункт из закладок

link to this bookmark set - постоянно действующая прямая ссылка на этот набор закладок, которой можно делиться.

Также закладки могут быть использованы для создания пользовательского набора разделов и поиска в нём.

dictionary = словарь

поле Search предназначено для ввода ключевого слова или его части

список Dictionary позволяет выбрать в каком словаре искать (по умолчанию ищет во всех словарях)

search type позволяет выбрать вид поиска

  • auto - при отсутствии совпадений при поиске с начала слова отнимать по одной букве с конца пока хотя бы одно совпадение не будет найдено
  • begins with - искать совпадения с начала слова
  • contains - искать совпадения с любой частью слова

Ignore pali diacritics: игнорировать диакритику, т.е. при поиске считать ṃ=m, ā=a и т.п.

Search - при нажатии на эту кнопку выполняется поиск. Ищет пока только в самих словах. В содержимом статей не ищет!

При нажатии на найденное слово выводятся все его значения во всех словарях. Вместе со словом выводится его перевод по словарю Буддхадатты.

Доработки базы данных (выполнены):
1. В первой главе МН на один уровень с суттами попали их подразделы. Надо переместить подразделы на уровень ниже.
http://tipitaka.theravada.su/index.php?NodeID=1551
2. В СН необходимо у всех саньютт рядом с порядковым номером внутри главы поставить сквозные номера.
http://tipitaka.theravada.su/index.php?NodeID=1746
У самих глав поставить в скобках какие номера саньютт в них входят.

Доработки программы (выполнены):
при просмотре ссылки на поиск по закладкам сделать возможность посмотреть по каким разделам искали.
в table of contents если у узла нет дочерних узлов, выводить его не как гиперссылку, а как надпись

Сутты МН часто указываются по сквозному номеру. Нужно прописать сквозные номера у сутт, вагг, и пятидесяток. (сделано, также для сутт частично указаны номера)

Прикручена возможность входа зарегистрированных пользователей (регистрация пока ручная). Зарегистрированным пользователям доступен ввод перевода на странице абзаца, ввод ссылок на переводы, формирование кода для вставки перевода и оригинала на страницы своих сайтов.

Закладки хранятся в памяти сервера пока действует сессия работы пользователя (не закрыто окно браузера). А ссылка никак от памяти сервера не зависит - вся информация что показать находится в самой ссылке, поэтому она действует вечно.
Закладки используются прежде всего для поиска - можно выбрать набор текстов и потом в них искать.

По-моему в собрании отсутствуют сутты Самбодхивагги AН9

https://tipitaka.theravada.su/index.php?NodeID=5008
https://tipitaka.theravada.su/view.php?NodeID=5010

И если можно высказать пожелание, то было бы здорово, если бы

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

2. в древе можно было разворачивать сколько угодно уровней никай и вагг сразу, т.е. чтобы они не были взаимоисключающими

Самбодхивагга не пропала, она ошибочно приклеилась к 1. Paṭhamapaṇṇāsakaṃ
Я переименовал Paṭhamapaṇṇāsakaṃ в самбодхиваггу, а старую пустую самбодхиваггу удалил.

С деревом согласен, надо делать дерево на javascript с подгрузкой узлов по требованию. Правда, сейчас статическое дерево позволяет также сохранять прямые ссылки. Хотя может прямые ссылки на само дерево не очень нужны.
Или нынешнее дерево сохранить по отдельной ссылке, если на каких-то устройствах типа мобильных javascript дерево не сработает или будет работать плохо.

Сквозная навигация - это ссылки Back Next? Я их совсем недавно придумал :)

Оказалось, что в дереве были ошибки, аналогичные той, что с Самбодхиваггой. Такие же ошибки были во всех остальных нипатах АН, комментариях и подкомментариях к ним. Все исправил аналогичным образом.

В верхнем меню сделан дополнительный пункт New TOC, в котором посажено дерево, позволяющее разворачивать иерархию одновременно в нескольких местах. Узлы подгружаются с сервера по требованию пользователя.

У этого дерева следующие ограничения:
1. нет возможности поставить закладку
2. нет перехода к PTS страницам
3. страницы по ссылкам из дерева всегда открываются в новом окне

На страницах просмотра сутт и прочего теперь также работают ссылки back-next как и на страницах просмотра абзацев.

В старом дереве при выборе узлов под деревом появляется возможность быстрого перехода к нужной PTS странице - можно выбрать том и ввести номер страницы (например если выбрать Дигха Никаю). Система по нажатии кнопки GO откроет эту страницу.
В новом дереве такой функции нет.

Ещё одна проблема: при поиске в каноне из-за бинарного сравнения он различает большие и маленькие буквы, из-за этого при поиске aggato не находит Aggato. Но если это отключить, тогда он не будет различать диакритику...

а нужна ли диакритика для поиска? пусть бы движок находил слова без неё, а пользователь выбирал результаты с нужной ему орфографией, по-моему омонимичных вариантов без диакритики довольно мало

нужна, потому что поиск может идти по части слова (поддерживается звёздочка в конце) и этим часто приходится пользоваться для поиска всех словоформ.
Я пробовал поиск без диакритики - он выдаёт очень много ненужного, по крайней мере по тем запросам, что я посылал

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

Сделал это - теперь в базе данных все тексты хранятся маленькими буквами и также искомая фраза перед поиском переводится в нижний регистр. При этом при выводе на экран система восстанавливает заглавные буквы - пользователь ничего не заметит.
Благодаря этому при поиске больше нет регистрозависимости, при этом диакритика как и раньше учитывается.

Для этого есть поиск по закладкам. Сначала нужно добавить в закладки нужный раздел (мулу например) и при поиске выбрать позицию переключателя bookmarks. Так будут исключены комментарии, тики и постканонические работы.

Исправил ошибки в дереве разделов в комментарии и подкомментарии к МН. Там на одном уровне иерархии оказались сами комментарии и их разделы из-за того, что в документе одинаковые заголовки.

А нет ли возможности в поиске по словарю отключить распознавание диакритики? Так гораздо удобней искать, пусть даже если результатов будет чуть больше, чем нужно

Всё не так просто.
Чтобы быстро искать в таком объёме текста, приходится использовать полнотекстовый поиск. Насколько я понял, он позволяет быстро искать именно благодаря поиску точных совпадений (в т.ч. с использованием подстановочных символов типа звёздочки).
Это значит, что для столь же быстрого поиска без диакритики нужно весь текст хранить также и в форме без диакритики и на нём также построить полнотекстовый индекс, по которому оно будет искать.
Если это сделать, сильно увеличится размер базы данных, не факт, что сервер в нынешней конфигурации потянет его. Там вроде как уже превышение...

В словаре сделана возможность поиска по телу статей.
Для поиска по телу статей необходимо установить переключатель Scope в режим "dictionary content". В этом режиме поиска также работает фильтр по словарю - остальные не работают.

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