[DE] Search in Russian help
This commit is contained in:
parent
463c06fd0a
commit
287d3aefb8
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Краткое описание редактора документов" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>О редакторе документов</h1>
|
||||
<p><b>Онлайн-редактор документов</b> - это <span class="onlineDocumentFeatures">
|
||||
онлайн-</span>приложение, которое позволяет просматривать
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Дополнительные параметры редактора документов" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Дополнительные параметры редактора документов</h1>
|
||||
<p>Вы можете изменить дополнительные параметры редактора документов. Для перехода к ним откройте вкладку <b>Файл</b> на верхней панели инструментов и выберите опцию <b>Дополнительные параметры...</b>. Можно также использовать значок <img alt="Значок Дополнительные параметры" src="../images/advanced_settings_icon.png" />, расположенный в правом верхнем углу на вкладке <b>Главная</b> верхней панели инструментов.</p>
|
||||
<p>Доступны следующие дополнительные параметры:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Советы по совместному редактированию" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Совместное редактирование документа</h1>
|
||||
<p>В онлайн-редакторе документов вы можете работать над документом совместно с другими пользователями. Эта возможность включает в себя следующее:</p>
|
||||
<ul>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Список сочетаний клавиш, которые используются для более быстрого и легкого доступа к функциям редактора документов с помощью клавиатуры." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Сочетания клавиш</h1>
|
||||
<table>
|
||||
<tr>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Описание параметров представления и инструментов навигации, таких как масштаб, кнопки предыдущей/следующей страницы" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Параметры представления и инструменты навигации</h1>
|
||||
<p>В <b>редакторе документов</b> доступен ряд инструментов, позволяющих облегчить просмотр и навигацию по документу: масштаб, указатель номера страницы и другие.</p>
|
||||
<h3>Настройте параметры представления</h3>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Советы по работе с функцией рецензирования документа" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Рецензирование документа</h1>
|
||||
<p>Когда кто-то предоставляет вам доступ к файлу с правами на рецензирование, используйте функцию <b>Рецензирования</b> документа.</p>
|
||||
<p>Если вы рецензент, то вы можете использовать опцию <b>Рецензирование</b> для проверки документа, изменения предложений, фраз, других элементов страницы, исправления опечаток и выполнения других действий, не редактируя документ непосредственно. Все ваши исправления будут зафиксированы и показаны тому, кто отправил вам документ.</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Описание функции поиска по документу и замены в редакторе документов" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Функция поиска и замены</h1>
|
||||
<p>Чтобы найти нужные символы, слова или фразы, использованные в документе, который Вы в данный момент редактируете,
|
||||
нажмите на значок <img alt="Значок Поиск" src="../images/searchicon.png" />, расположенный на левой боковой панели. </p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Проверяйте правописание текста на своем языке в ходе редактирования документа" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Проверка орфографии</h1>
|
||||
<p>В редакторе документов можно проверять правописание текста на определенном языке и исправлять ошибки в ходе редактирования.</p>
|
||||
<p>Прежде всего <b>выберите язык</b> документа. Перейдите на вкладку <b>Рецензирование</b> верхней панели инструментов и нажмите на значок <img alt="Значок Задать язык документа" src="../images/document_language.png" /> <b>Язык</b>. В окне, которое появится, выберите нужный язык и нажмите кнопку <b>OK</b>. Выбранный язык будет применен ко всему документу. </p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Список форматов документов, которые поддерживает редактор документов" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Поддерживаемые форматы электронных документов</h1>
|
||||
<p>Электронные документы - это одни из наиболее широко используемых компьютерных файлов.
|
||||
Благодаря высокому уровню развития современных компьютерных сетей распространять электронные документы становится удобнее, чем печатные.
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Добавляйте в документ границы, выбирая их стиль" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Добавление границ</h1>
|
||||
<p>Для добавления границ к абзацу, странице или всему документу:</p>
|
||||
<ol>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Преобразуйте слово или текстовый фрагмент в гиперссылку, ведущую на внешний веб-сайт" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Добавление гиперссылок</h1>
|
||||
<p>Для добавления гиперссылки:</p>
|
||||
<ol>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Выровняйте и расположите в определенном порядке текстовые поля, автофигуры и изображения на странице." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Выравнивание и упорядочивание объектов на странице</h1>
|
||||
<p>Добавленные <b>автофигуры</b>, <b>изображения</b>, <b>диаграммы</b> или <b>текстовые поля</b> на странице можно выровнять, сгруппировать и расположить в определенном порядке. Для выполнения любого из этих действий сначала выберите отдельный объект или несколько объектов на странице. Для выделения нескольких объектов удерживайте клавишу <b>Ctrl</b> и щелкайте по нужным объектам левой кнопкой мыши. Чтобы выделить текстовое поле, щелкайте по его границе, а не по тексту внутри него. После этого можно использовать или описанные ниже значки, расположенные на вкладке <b>Макет</b> верхней панели инструментов, или аналогичные команды контекстного меню, вызываемого правой кнопкой мыши.</p>
|
||||
<h3>Выравнивание объектов</h3>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Все о выравнивании текста в абзаце: выравнивание по левому или правому краю, по ширине, по центру" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Выравнивание текста в абзаце</h1>
|
||||
<p>Текст обычно выравнивается четырьмя способами: по левому краю, по правому краю, по центру или по ширине. Для этого:</p>
|
||||
<ol>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Узнайте, как выбрать цвет фона для абзаца" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Выбор цвета фона для абзаца</h1>
|
||||
<p>Цвет фона применяется ко всему абзацу и полностью заполняет пространство абзаца от левого поля страницы до правого поля страницы.</p>
|
||||
<p>Чтобы применить цвет фона к определенному абзацу или изменить тот цвет, который выбран в данный момент:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Узнайте, как изменить цветовую схему документа" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Выбор цветовой схемы</h1>
|
||||
<p>Цветовые схемы применяются ко всему документу. Они используются для быстрого изменения вида документа, поскольку они определяют палитру
|
||||
<b>Цвета темы</b> для элементов документа (<a href="../UsageInstructions/FontTypeSizeColor.htm" onclick="onhyperlinkclick(this)">шрифт</a>, <a href="../UsageInstructions/BackgroundColor.htm" onclick="onhyperlinkclick(this)">фон</a>,
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Измените стиль обтекания текстом, чтобы определить способ размещения объекта относительно текста." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Изменение стиля обтекания текстом</h1>
|
||||
<p>Опция <b>Стиль обтекания</b> определяет способ размещения объекта относительно текста. Можно изменить стиль обтекания текстом для вставленных объектов, таких как <a href="../UsageInstructions/InsertAutoshapes.htm" onclick="onhyperlinkclick(this)">фигуры</a>, <a href="../UsageInstructions/InsertImages.htm" onclick="onhyperlinkclick(this)">изображения</a>, <a href="../UsageInstructions/InsertCharts.htm#" onclick="onhyperlinkclick(this)">диаграммы</a>, <a href="../UsageInstructions/InsertTextObjects.htm" onclick="onhyperlinkclick(this)">текстовые поля</a> или <a href="../UsageInstructions/InsertTables.htm" onclick="onhyperlinkclick(this)">таблицы</a>.</p>
|
||||
<h3>Изменение стиля обтекания текстом для фигур, изображений, диаграмм, текстовых полей</h3>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Копируйте/очищайте форматирование текста в документе" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Копирование/очистка форматирования текста</h1>
|
||||
<p>Чтобы скопировать определенное форматирование текста,</p>
|
||||
<ol>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Выполняйте основные операции с текстом документа: копируйте, вставляйте, отменяйте, повторяйте" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Копирование/вставка текста, отмена/повтор действий</h1>
|
||||
<h3>Использование основных операций с буфером обмена</h3>
|
||||
<p>Для выполнения операций вырезания, копирования и вставки фрагментов текста и вставленных объектов (автофигур, рисунков, диаграмм) в текущем документе используйте соответствующие команды контекстного меню или значки, доступные на любой вкладке верхней панели инструментов:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Создавайте в документе маркированные и нумерованные списки, изменяя структуру списков" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Создание списков</h1>
|
||||
<p>Для создания в документе списка:</p>
|
||||
<ol>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Применяйте стили оформления шрифта: увеличение или уменьшение размера, жирный шрифт, курсив, подчеркнутый, зачеркнутый, надстрочные и подстрочные знаки" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Применение стилей оформления шрифта</h1>
|
||||
<p>Вы можете применять различные стили оформления шрифта, используя соответствующие значки, расположенные на вкладке <b>Главная</b> верхней панели инструментов.</p>
|
||||
<p class="note"><b>Примечание</b>: если требуется отформатировать текст, который уже есть в документе, выделите его мышью или <a href="../HelpfulHints/KeyboardShortcuts.htm#textselection" onclick="onhyperlinkclick(this)">с помощью клавиатуры</a>, а затем примените форматирование.</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Измените следующие параметры форматирования текста: тип, размер и цвет шрифта" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Задание типа, размера и цвета шрифта</h1>
|
||||
<p>Вы можете выбрать тип шрифта, его размер и цвет, используя соответствующие значки на вкладке <b>Главная</b> верхней панели инструментов.</p>
|
||||
<p class="note"><b>Примечание</b>: если требуется отформатировать текст, который уже есть в документе, выделите его мышью или <a href="../HelpfulHints/KeyboardShortcuts.htm#textselection" onclick="onhyperlinkclick(this)">с помощью клавиатуры</a>, а затем примените форматирование.</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Применяйте стили форматирования: обычный, заголовок, цитата, список и т.д." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Применение стилей форматирования</h1>
|
||||
<p>Каждый стиль форматирования - это набор предварительно заданных параметров форматирования: (размер, цвет шрифта, междустрочный интервал, выравнивание и т.д.). Стили позволяют быстро форматировать различные части документа (заголовки, подзаголовки, списки, обычный текст, цитаты) вместо того, чтобы каждый раз применять несколько параметров форматирования по отдельности. Это также обеспечивает единое оформление на протяжении всего документа. Стиль можно применить только ко всему абзацу.</p>
|
||||
<h3>Использование стандартных стилей</h3>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Добавьте в документ автофигуру и настройте ее свойства." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка автофигур</h1>
|
||||
<h3>Вставка автофигуры</h3>
|
||||
<p>Для добавления автофигуры в документ:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Добавьте в документ диаграмму и скорректируйте ее положение, размер и свойства" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка диаграмм</h1>
|
||||
<h3>Вставка диаграммы</h3>
|
||||
<p>Для вставки диаграммы в документ:</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Вставьте буквицу и настройте свойства ее рамки, чтобы сделать документ более выразительным." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка буквицы</h1>
|
||||
<p><b>Буквица</b> - это первая буква абзаца, которая намного больше всех остальных и занимает в высоту несколько строк.</p>
|
||||
<p>Для добавления буквицы:</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Вставляйте формулы и математические символы." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка формул</h1>
|
||||
<p>В <b>редакторе документов</b> вы можете создавать формулы, используя встроенные шаблоны, редактировать их, вставлять специальные символы (в том числе математические знаки, греческие буквы, диакритические знаки и т.д.).</p>
|
||||
<h3>Добавление новой формулы</h3>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Вставьте сноски, чтобы пояснить какие-то термины или указать ссылки на источники" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка сносок</h1>
|
||||
<p>Сноски можно добавлять, чтобы пояснить или прокомментировать какие-то фразы или термины, использованные в тексте, указать ссылки на источники и так далее.</p>
|
||||
<p>Чтобы вставить сноску в документ:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Вставьте в документ колонтитулы, добавьте особые колонтитулы на первую страницу или разные колонтитулы для четных и нечетных страниц" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка колонтитулов</h1>
|
||||
<p>Чтобы добавить в документ верхний или нижний колонтитулы или изменить существующие,</p>
|
||||
<ol>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Добавьте в документ изображение и скорректируйте его положение и свойства" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка изображений</h1>
|
||||
<p>В редакторе документов можно вставлять в документ изображения самых популярных форматов. Поддерживаются следующие форматы изображений: <b>BMP</b>, <b>GIF</b>, <b>JPEG</b>, <b>JPG</b>, <b>PNG</b>.</p>
|
||||
<h3>Вставка изображения</h3>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Вставьте номера страниц для удобства перемещения по документу" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка номеров страниц</h1>
|
||||
<p>Для вставки в документ номеров страниц:</p>
|
||||
<ol>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Вставляйте элементы управления содержимым 'форматированный текст' создать форму с полями ввода, которую могут заполнять другие пользователи, или защитить некоторые части документа от редактирования или удаления" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Создание форм</h1>
|
||||
<p>Используя элементы управления содержимым "форматированный текст", вы можете создать форму с полями ввода, которую могут заполнять другие пользователи, или защитить некоторые части документа от редактирования или удаления. Элементы управления содержимым "форматированный текст" - это объекты, содержащие текст, который можно форматировать. Встроенные элементы управления могут содержать не более одного абзаца, тогда как плавающие элементы управления могут содержать несколько абзацев, списки и объекты (изображения, фигуры, таблицы и так далее). </p>
|
||||
<h3>Добавление элементов управления</h3>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Добавьте в документ таблицу и настройте ее свойства" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка таблиц</h1>
|
||||
<h3>Вставка таблицы</h3>
|
||||
<p>Для вставки таблицы в текст документа:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Вставьте текстовые объекты, такие как надписи и объекты Text Art, чтобы сделать текст выразительнее" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка текстовых объектов</h1>
|
||||
<p>Чтобы сделать текст более выразительным и привлечь внимание к определенной части документа, можно вставить надпись (прямоугольную рамку, внутри которой вводится текст) или объект Text Art (текстовое поле с предварительно заданным стилем и цветом шрифта, позволяющее применять текстовые эффекты).</p>
|
||||
<h3>Добавление текстового объекта</h3>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Задайте междустрочный интервал в абзацах своего документа" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Задание междустрочного интервала в абзацах</h1>
|
||||
<p>В редакторе документов можно задать высоту строки для строк текста в абзаце, а также поля между текущим и предыдущим или последующим абзацем.</p>
|
||||
<p>Для этого:</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Показывайте или скрывайте непечатаемые символы при форматировании текста, создании таблиц и редактировании документов" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Отображение/скрытие непечатаемых символов</h1>
|
||||
<p>Непечатаемые символы помогают редактировать документ. Они обозначают присутствие разных типов форматирования, но не выводятся на печать при печати документа, даже если отображаются на экране.</p>
|
||||
<p>Чтобы показать или скрыть непечатаемые символы, нажмите значок <b>Непечатаемые символы</b> <img alt="Непечатаемые символы" src="../images/nonprintingcharacters.png" /> на вкладке <b>Главная</b> верхней панели инструментов.</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Откройте документ, который Вы недавно редактировали, создайте новый или вернитесь к списку существующих документов" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Создание нового документа или открытие существующего</h1>
|
||||
<p>После того как вы закончите работу над одним документом, можно сразу же перейти к уже существующему документу, который вы недавно редактировали, создать новый, или вернуться к списку существующих документов.</p>
|
||||
<p>Чтобы создать новый документ,</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Вставьте разрывы страниц, не разрывая абзац" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка разрывов страниц</h1>
|
||||
<p>В редакторе документов можно добавить разрыв страницы, чтобы начать новую страницу, а также настроить параметры разбивки на страницы.</p>
|
||||
<p>Чтобы вставить разрыв страницы в текущей позиции курсора, нажмите значок <img alt="Разрыв страницы" src="../images/pagebreak1.png" /> <b>Разрывы</b> на вкладке <b>Вставка</b> или <b>Макет</b> верхней панели инструментов или
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Измените отступы абзацев: смещение первой строки абзаца от левого поля страницы, а также смещение всего абзаца от правого и левого полей страницы" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Изменение отступов абзацев</h1>
|
||||
<p>В редакторе документов можно изменить смещение первой строки абзаца от левого поля страницы, а также смещение всего абзаца от правого и левого полей страницы.</p>
|
||||
<p>Для этого:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Сохраните, распечатайте и скачайте документ в разных форматах" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Сохранение /<span class="onlineDocumentFeatures"> загрузка /</span> печать документа</h1>
|
||||
<p>По умолчанию онлайн-редактор документов автоматически сохраняет файл каждые 2 секунды, когда вы работаете над ним, чтобы не допустить потери данных в случае непредвиденного закрытия программы. Если вы совместно редактируете файл в <b>Быстром</b> режиме, таймер запрашивает наличие изменений 25 раз в секунду и сохраняет их, если они были внесены. При совместном редактировании файла в <b>Строгом</b> режиме изменения автоматически сохраняются каждые 10 минут. При необходимости можно легко выбрать предпочтительный режим совместного редактирования или отключить функцию автоматического сохранения на странице <a href="../HelpfulHints/AdvancedSettings.htm" onclick="onhyperlinkclick(this)">Дополнительные параметры</a>.</p>
|
||||
<p>Чтобы сохранить текущий документ вручную,</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Вставка разрывов раздела для использования особого форматирования в каждой части документа" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Вставка разрывов раздела</h1>
|
||||
<p>
|
||||
Разрывы раздела дают возможность применять разные виды форматирования к определенным разделам вашего документа. Например, вы можете применить особые
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Задайте параметры страницы: измените ориентацию и размер страницы, настройте поля и вставьте колонки" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Задание параметров страницы</h1>
|
||||
<p>Чтобы изменить разметку страницы, а именно задать ориентацию и размер страницы, настроить поля и вставить колонки, используйте соответствующие значки на вкладке <b>Макет</b> верхней панели инструментов.</p>
|
||||
<p class="note"><b>Примечание</b>: все эти параметры применяются ко всему документу. Если вам нужно установить разные поля, ориентацию, размер страниц или количество колонок в разных частях документа, обратитесь к <a href="../UsageInstructions/SectionBreaks.htm" onclick="onhyperlinkclick(this)">этой странице</a>.</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Установите позиции табуляции" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Установка позиций табуляции</h1>
|
||||
<p>В онлайн-редакторе документов можно изменить позиции табуляции, то есть те позиции, куда переходит курсор при нажатии клавиши <b>Tab</b> на клавиатуре.</p>
|
||||
<p>Для установки позиций табуляции можно использовать горизонтальную линейку:</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Используйте функцию слияния, чтобы создавать множество персонализированных писем и отправлять их получателям" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Использование слияния</h1>
|
||||
<p class="note"><b>Примечание</b>: эта возможность доступна только для платных версий.</p>
|
||||
<p>Функция <b>слияния</b> используется для создания набора документов, в которых сочетается общее содержание, взятое из текстового документа, и ряд индивидуальных компонентов (переменных, таких как имена, приветствия и т.д.), взятых из электронной таблицы (например, из списка клиентов). Это может быть полезно, если вам надо создать множество персонализированных писем и отправить их получателям.</p>
|
||||
|
|
|
@ -5,9 +5,13 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Просмотрите название документа, его автора, размещение, дату создания, людей, обладающих правами на просмотр и редактирование документа, а также статистику" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Просмотр сведений о документе</h1>
|
||||
<p>Чтобы получить доступ к подробным сведениям о редактируемом документе, нажмите на вкладку <b>Файл</b> на верхней панели инструментов и выберите опцию <b>Сведения о документе...</b>.</p>
|
||||
<h3>Общие сведения</h3>
|
||||
|
|
|
@ -123,3 +123,26 @@ text-decoration: none;
|
|||
a.sup_link {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.search-field {
|
||||
display: block;
|
||||
float: right;
|
||||
}
|
||||
.search-field input {
|
||||
width: 250px;
|
||||
height: 25px;
|
||||
box-sizing: border-box;
|
||||
padding: 7px 10px 7px 25px;
|
||||
border: 1px solid #e1e1e1;
|
||||
border-radius: 6px;
|
||||
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAQVJREFUGBl1j71KxUAQhe8uJkZcC/ERfADBRsheCSkFwcLKxkbuM1jaa2+l1pZ6FW2EJJgUdqYOdinsAuIfRDZ+E24qceAw55w5O7urRlRRFKtt2x5DQ/AGrn3fPwrD8Avel5qFnlEOTMFK13Vb9CcwjuP4hz6aY9MJ3Xmet26tfREzy7ID59yZ1nofeSGeBhZcDSExoyg6V0o1bN4ULSXBd7AsYqgkSQL4AvgcPM2pG8R2mqZ7YlZVNc+2U/yAq+XNfak8z5d45yNqjcAr3RAyMkXfwXf50LcSQ7bUdT2Bjhl+0G8JHNI30A/GmJ0+iPGnZjfdM7CEp/8G5WRZlotN01xCg18HsWi9HzrHEgAAAABJRU5ErkJggg==') center left 9px no-repeat;
|
||||
}
|
||||
|
||||
.search-field input:focus {
|
||||
outline:0 !important;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 0.9em;
|
||||
font-style: italic;
|
||||
}
|
222
apps/documenteditor/main/resources/help/ru/search/indexes.js
Normal file
222
apps/documenteditor/main/resources/help/ru/search/indexes.js
Normal file
File diff suppressed because one or more lines are too long
6
apps/documenteditor/main/resources/help/ru/search/js/jquery.min.js
vendored
Normal file
6
apps/documenteditor/main/resources/help/ru/search/js/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* export the module via AMD, CommonJS or as a browser global
|
||||
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
|
||||
*/
|
||||
;(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(factory)
|
||||
} else if (typeof exports === 'object') {
|
||||
/**
|
||||
* Node. Does not work with strict CommonJS, but
|
||||
* only CommonJS-like environments that support module.exports,
|
||||
* like Node.
|
||||
*/
|
||||
module.exports = factory()
|
||||
} else {
|
||||
// Browser globals (root is window)
|
||||
factory()(root.lunr);
|
||||
}
|
||||
}(this, function () {
|
||||
/**
|
||||
* Just return a value to define the module export.
|
||||
* This example returns an object, but the module
|
||||
* can return a function as the exported value.
|
||||
*/
|
||||
return function(lunr) {
|
||||
/* Set up the pipeline for indexing content in multiple languages. The
|
||||
corresponding lunr.{lang} files must be loaded before calling this
|
||||
function; English ('en') is built in.
|
||||
|
||||
Returns: a lunr plugin for use in your indexer.
|
||||
|
||||
Known drawback: every word will be stemmed with stemmers for every
|
||||
language. This could mean that sometimes words that have the same
|
||||
stemming root will not be stemmed as such.
|
||||
*/
|
||||
lunr.multiLanguage = function(/* lang1, lang2, ... */) {
|
||||
var languages = Array.prototype.slice.call(arguments);
|
||||
var nameSuffix = languages.join('-');
|
||||
var wordCharacters = "";
|
||||
var pipeline = [];
|
||||
var searchPipeline = [];
|
||||
for (var i = 0; i < languages.length; ++i) {
|
||||
if (languages[i] == 'en') {
|
||||
wordCharacters += '\\w';
|
||||
pipeline.unshift(lunr.stopWordFilter);
|
||||
pipeline.push(lunr.stemmer);
|
||||
searchPipeline.push(lunr.stemmer);
|
||||
} else {
|
||||
wordCharacters += lunr[languages[i]].wordCharacters;
|
||||
pipeline.unshift(lunr[languages[i]].stopWordFilter);
|
||||
pipeline.push(lunr[languages[i]].stemmer);
|
||||
searchPipeline.push(lunr[languages[i]].stemmer);
|
||||
}
|
||||
};
|
||||
var multiTrimmer = lunr.trimmerSupport.generateTrimmer(wordCharacters);
|
||||
lunr.Pipeline.registerFunction(multiTrimmer, 'lunr-multi-trimmer-' + nameSuffix);
|
||||
pipeline.unshift(multiTrimmer);
|
||||
|
||||
return function() {
|
||||
this.pipeline.reset();
|
||||
|
||||
this.pipeline.add.apply(this.pipeline, pipeline);
|
||||
|
||||
// for lunr version 2
|
||||
// this is necessary so that every searched word is also stemmed before
|
||||
// in lunr <= 1 this is not needed, as it is done using the normal pipeline
|
||||
if (this.searchPipeline) {
|
||||
this.searchPipeline.reset();
|
||||
this.searchPipeline.add.apply(this.searchPipeline, searchPipeline);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}));
|
391
apps/documenteditor/main/resources/help/ru/search/js/lunr-languages/lunr.ru.js
Executable file
391
apps/documenteditor/main/resources/help/ru/search/js/lunr-languages/lunr.ru.js
Executable file
|
@ -0,0 +1,391 @@
|
|||
/*!
|
||||
* Lunr languages, `Russian` language
|
||||
* https://github.com/MihaiValentin/lunr-languages
|
||||
*
|
||||
* Copyright 2014, Mihai Valentin
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
/*!
|
||||
* based on
|
||||
* Snowball JavaScript Library v0.3
|
||||
* http://code.google.com/p/urim/
|
||||
* http://snowball.tartarus.org/
|
||||
*
|
||||
* Copyright 2010, Oleg Mazko
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
|
||||
/**
|
||||
* export the module via AMD, CommonJS or as a browser global
|
||||
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
|
||||
*/
|
||||
;
|
||||
(function(root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(factory)
|
||||
} else if (typeof exports === 'object') {
|
||||
/**
|
||||
* Node. Does not work with strict CommonJS, but
|
||||
* only CommonJS-like environments that support module.exports,
|
||||
* like Node.
|
||||
*/
|
||||
module.exports = factory()
|
||||
} else {
|
||||
// Browser globals (root is window)
|
||||
factory()(root.lunr);
|
||||
}
|
||||
}(this, function() {
|
||||
/**
|
||||
* Just return a value to define the module export.
|
||||
* This example returns an object, but the module
|
||||
* can return a function as the exported value.
|
||||
*/
|
||||
return function(lunr) {
|
||||
/* throw error if lunr is not yet included */
|
||||
if ('undefined' === typeof lunr) {
|
||||
throw new Error('Lunr is not present. Please include / require Lunr before this script.');
|
||||
}
|
||||
|
||||
/* throw error if lunr stemmer support is not yet included */
|
||||
if ('undefined' === typeof lunr.stemmerSupport) {
|
||||
throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');
|
||||
}
|
||||
|
||||
/* register specific locale function */
|
||||
lunr.ru = function() {
|
||||
this.pipeline.reset();
|
||||
this.pipeline.add(
|
||||
lunr.ru.trimmer,
|
||||
lunr.ru.stopWordFilter,
|
||||
lunr.ru.stemmer
|
||||
);
|
||||
|
||||
// for lunr version 2
|
||||
// this is necessary so that every searched word is also stemmed before
|
||||
// in lunr <= 1 this is not needed, as it is done using the normal pipeline
|
||||
if (this.searchPipeline) {
|
||||
this.searchPipeline.reset();
|
||||
this.searchPipeline.add(lunr.ru.stemmer)
|
||||
}
|
||||
};
|
||||
|
||||
/* lunr trimmer function */
|
||||
lunr.ru.wordCharacters = "\u0400-\u0484\u0487-\u052F\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E\uFE2F";
|
||||
lunr.ru.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.ru.wordCharacters);
|
||||
|
||||
lunr.Pipeline.registerFunction(lunr.ru.trimmer, 'trimmer-ru');
|
||||
|
||||
/* lunr stemmer function */
|
||||
lunr.ru.stemmer = (function() {
|
||||
/* create the wrapped stemmer object */
|
||||
var Among = lunr.stemmerSupport.Among,
|
||||
SnowballProgram = lunr.stemmerSupport.SnowballProgram,
|
||||
st = new function RussianStemmer() {
|
||||
var a_0 = [new Among("\u0432", -1, 1), new Among("\u0438\u0432", 0, 2),
|
||||
new Among("\u044B\u0432", 0, 2),
|
||||
new Among("\u0432\u0448\u0438", -1, 1),
|
||||
new Among("\u0438\u0432\u0448\u0438", 3, 2),
|
||||
new Among("\u044B\u0432\u0448\u0438", 3, 2),
|
||||
new Among("\u0432\u0448\u0438\u0441\u044C", -1, 1),
|
||||
new Among("\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2),
|
||||
new Among("\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2)
|
||||
],
|
||||
a_1 = [
|
||||
new Among("\u0435\u0435", -1, 1), new Among("\u0438\u0435", -1, 1),
|
||||
new Among("\u043E\u0435", -1, 1), new Among("\u044B\u0435", -1, 1),
|
||||
new Among("\u0438\u043C\u0438", -1, 1),
|
||||
new Among("\u044B\u043C\u0438", -1, 1),
|
||||
new Among("\u0435\u0439", -1, 1), new Among("\u0438\u0439", -1, 1),
|
||||
new Among("\u043E\u0439", -1, 1), new Among("\u044B\u0439", -1, 1),
|
||||
new Among("\u0435\u043C", -1, 1), new Among("\u0438\u043C", -1, 1),
|
||||
new Among("\u043E\u043C", -1, 1), new Among("\u044B\u043C", -1, 1),
|
||||
new Among("\u0435\u0433\u043E", -1, 1),
|
||||
new Among("\u043E\u0433\u043E", -1, 1),
|
||||
new Among("\u0435\u043C\u0443", -1, 1),
|
||||
new Among("\u043E\u043C\u0443", -1, 1),
|
||||
new Among("\u0438\u0445", -1, 1), new Among("\u044B\u0445", -1, 1),
|
||||
new Among("\u0435\u044E", -1, 1), new Among("\u043E\u044E", -1, 1),
|
||||
new Among("\u0443\u044E", -1, 1), new Among("\u044E\u044E", -1, 1),
|
||||
new Among("\u0430\u044F", -1, 1), new Among("\u044F\u044F", -1, 1)
|
||||
],
|
||||
a_2 = [
|
||||
new Among("\u0435\u043C", -1, 1), new Among("\u043D\u043D", -1, 1),
|
||||
new Among("\u0432\u0448", -1, 1),
|
||||
new Among("\u0438\u0432\u0448", 2, 2),
|
||||
new Among("\u044B\u0432\u0448", 2, 2), new Among("\u0449", -1, 1),
|
||||
new Among("\u044E\u0449", 5, 1),
|
||||
new Among("\u0443\u044E\u0449", 6, 2)
|
||||
],
|
||||
a_3 = [
|
||||
new Among("\u0441\u044C", -1, 1), new Among("\u0441\u044F", -1, 1)
|
||||
],
|
||||
a_4 = [
|
||||
new Among("\u043B\u0430", -1, 1),
|
||||
new Among("\u0438\u043B\u0430", 0, 2),
|
||||
new Among("\u044B\u043B\u0430", 0, 2),
|
||||
new Among("\u043D\u0430", -1, 1),
|
||||
new Among("\u0435\u043D\u0430", 3, 2),
|
||||
new Among("\u0435\u0442\u0435", -1, 1),
|
||||
new Among("\u0438\u0442\u0435", -1, 2),
|
||||
new Among("\u0439\u0442\u0435", -1, 1),
|
||||
new Among("\u0435\u0439\u0442\u0435", 7, 2),
|
||||
new Among("\u0443\u0439\u0442\u0435", 7, 2),
|
||||
new Among("\u043B\u0438", -1, 1),
|
||||
new Among("\u0438\u043B\u0438", 10, 2),
|
||||
new Among("\u044B\u043B\u0438", 10, 2), new Among("\u0439", -1, 1),
|
||||
new Among("\u0435\u0439", 13, 2), new Among("\u0443\u0439", 13, 2),
|
||||
new Among("\u043B", -1, 1), new Among("\u0438\u043B", 16, 2),
|
||||
new Among("\u044B\u043B", 16, 2), new Among("\u0435\u043C", -1, 1),
|
||||
new Among("\u0438\u043C", -1, 2), new Among("\u044B\u043C", -1, 2),
|
||||
new Among("\u043D", -1, 1), new Among("\u0435\u043D", 22, 2),
|
||||
new Among("\u043B\u043E", -1, 1),
|
||||
new Among("\u0438\u043B\u043E", 24, 2),
|
||||
new Among("\u044B\u043B\u043E", 24, 2),
|
||||
new Among("\u043D\u043E", -1, 1),
|
||||
new Among("\u0435\u043D\u043E", 27, 2),
|
||||
new Among("\u043D\u043D\u043E", 27, 1),
|
||||
new Among("\u0435\u0442", -1, 1),
|
||||
new Among("\u0443\u0435\u0442", 30, 2),
|
||||
new Among("\u0438\u0442", -1, 2), new Among("\u044B\u0442", -1, 2),
|
||||
new Among("\u044E\u0442", -1, 1),
|
||||
new Among("\u0443\u044E\u0442", 34, 2),
|
||||
new Among("\u044F\u0442", -1, 2), new Among("\u043D\u044B", -1, 1),
|
||||
new Among("\u0435\u043D\u044B", 37, 2),
|
||||
new Among("\u0442\u044C", -1, 1),
|
||||
new Among("\u0438\u0442\u044C", 39, 2),
|
||||
new Among("\u044B\u0442\u044C", 39, 2),
|
||||
new Among("\u0435\u0448\u044C", -1, 1),
|
||||
new Among("\u0438\u0448\u044C", -1, 2), new Among("\u044E", -1, 2),
|
||||
new Among("\u0443\u044E", 44, 2)
|
||||
],
|
||||
a_5 = [
|
||||
new Among("\u0430", -1, 1), new Among("\u0435\u0432", -1, 1),
|
||||
new Among("\u043E\u0432", -1, 1), new Among("\u0435", -1, 1),
|
||||
new Among("\u0438\u0435", 3, 1), new Among("\u044C\u0435", 3, 1),
|
||||
new Among("\u0438", -1, 1), new Among("\u0435\u0438", 6, 1),
|
||||
new Among("\u0438\u0438", 6, 1),
|
||||
new Among("\u0430\u043C\u0438", 6, 1),
|
||||
new Among("\u044F\u043C\u0438", 6, 1),
|
||||
new Among("\u0438\u044F\u043C\u0438", 10, 1),
|
||||
new Among("\u0439", -1, 1), new Among("\u0435\u0439", 12, 1),
|
||||
new Among("\u0438\u0435\u0439", 13, 1),
|
||||
new Among("\u0438\u0439", 12, 1), new Among("\u043E\u0439", 12, 1),
|
||||
new Among("\u0430\u043C", -1, 1), new Among("\u0435\u043C", -1, 1),
|
||||
new Among("\u0438\u0435\u043C", 18, 1),
|
||||
new Among("\u043E\u043C", -1, 1), new Among("\u044F\u043C", -1, 1),
|
||||
new Among("\u0438\u044F\u043C", 21, 1), new Among("\u043E", -1, 1),
|
||||
new Among("\u0443", -1, 1), new Among("\u0430\u0445", -1, 1),
|
||||
new Among("\u044F\u0445", -1, 1),
|
||||
new Among("\u0438\u044F\u0445", 26, 1), new Among("\u044B", -1, 1),
|
||||
new Among("\u044C", -1, 1), new Among("\u044E", -1, 1),
|
||||
new Among("\u0438\u044E", 30, 1), new Among("\u044C\u044E", 30, 1),
|
||||
new Among("\u044F", -1, 1), new Among("\u0438\u044F", 33, 1),
|
||||
new Among("\u044C\u044F", 33, 1)
|
||||
],
|
||||
a_6 = [
|
||||
new Among("\u043E\u0441\u0442", -1, 1),
|
||||
new Among("\u043E\u0441\u0442\u044C", -1, 1)
|
||||
],
|
||||
a_7 = [
|
||||
new Among("\u0435\u0439\u0448\u0435", -1, 1),
|
||||
new Among("\u043D", -1, 2), new Among("\u0435\u0439\u0448", -1, 1),
|
||||
new Among("\u044C", -1, 3)
|
||||
],
|
||||
g_v = [33, 65, 8, 232],
|
||||
I_p2, I_pV, sbp = new SnowballProgram();
|
||||
this.setCurrent = function(word) {
|
||||
sbp.setCurrent(word);
|
||||
};
|
||||
this.getCurrent = function() {
|
||||
return sbp.getCurrent();
|
||||
};
|
||||
|
||||
function habr3() {
|
||||
while (!sbp.in_grouping(g_v, 1072, 1103)) {
|
||||
if (sbp.cursor >= sbp.limit)
|
||||
return false;
|
||||
sbp.cursor++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function habr4() {
|
||||
while (!sbp.out_grouping(g_v, 1072, 1103)) {
|
||||
if (sbp.cursor >= sbp.limit)
|
||||
return false;
|
||||
sbp.cursor++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function r_mark_regions() {
|
||||
I_pV = sbp.limit;
|
||||
I_p2 = I_pV;
|
||||
if (habr3()) {
|
||||
I_pV = sbp.cursor;
|
||||
if (habr4())
|
||||
if (habr3())
|
||||
if (habr4())
|
||||
I_p2 = sbp.cursor;
|
||||
}
|
||||
}
|
||||
|
||||
function r_R2() {
|
||||
return I_p2 <= sbp.cursor;
|
||||
}
|
||||
|
||||
function habr2(a, n) {
|
||||
var among_var, v_1;
|
||||
sbp.ket = sbp.cursor;
|
||||
among_var = sbp.find_among_b(a, n);
|
||||
if (among_var) {
|
||||
sbp.bra = sbp.cursor;
|
||||
switch (among_var) {
|
||||
case 1:
|
||||
v_1 = sbp.limit - sbp.cursor;
|
||||
if (!sbp.eq_s_b(1, "\u0430")) {
|
||||
sbp.cursor = sbp.limit - v_1;
|
||||
if (!sbp.eq_s_b(1, "\u044F"))
|
||||
return false;
|
||||
}
|
||||
case 2:
|
||||
sbp.slice_del();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function r_perfective_gerund() {
|
||||
return habr2(a_0, 9);
|
||||
}
|
||||
|
||||
function habr1(a, n) {
|
||||
var among_var;
|
||||
sbp.ket = sbp.cursor;
|
||||
among_var = sbp.find_among_b(a, n);
|
||||
if (among_var) {
|
||||
sbp.bra = sbp.cursor;
|
||||
if (among_var == 1)
|
||||
sbp.slice_del();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function r_adjective() {
|
||||
return habr1(a_1, 26);
|
||||
}
|
||||
|
||||
function r_adjectival() {
|
||||
var among_var;
|
||||
if (r_adjective()) {
|
||||
habr2(a_2, 8);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function r_reflexive() {
|
||||
return habr1(a_3, 2);
|
||||
}
|
||||
|
||||
function r_verb() {
|
||||
return habr2(a_4, 46);
|
||||
}
|
||||
|
||||
function r_noun() {
|
||||
habr1(a_5, 36);
|
||||
}
|
||||
|
||||
function r_derivational() {
|
||||
var among_var;
|
||||
sbp.ket = sbp.cursor;
|
||||
among_var = sbp.find_among_b(a_6, 2);
|
||||
if (among_var) {
|
||||
sbp.bra = sbp.cursor;
|
||||
if (r_R2() && among_var == 1)
|
||||
sbp.slice_del();
|
||||
}
|
||||
}
|
||||
|
||||
function r_tidy_up() {
|
||||
var among_var;
|
||||
sbp.ket = sbp.cursor;
|
||||
among_var = sbp.find_among_b(a_7, 4);
|
||||
if (among_var) {
|
||||
sbp.bra = sbp.cursor;
|
||||
switch (among_var) {
|
||||
case 1:
|
||||
sbp.slice_del();
|
||||
sbp.ket = sbp.cursor;
|
||||
if (!sbp.eq_s_b(1, "\u043D"))
|
||||
break;
|
||||
sbp.bra = sbp.cursor;
|
||||
case 2:
|
||||
if (!sbp.eq_s_b(1, "\u043D"))
|
||||
break;
|
||||
case 3:
|
||||
sbp.slice_del();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.stem = function() {
|
||||
r_mark_regions();
|
||||
sbp.cursor = sbp.limit;
|
||||
if (sbp.cursor < I_pV)
|
||||
return false;
|
||||
sbp.limit_backward = I_pV;
|
||||
if (!r_perfective_gerund()) {
|
||||
sbp.cursor = sbp.limit;
|
||||
if (!r_reflexive())
|
||||
sbp.cursor = sbp.limit;
|
||||
if (!r_adjectival()) {
|
||||
sbp.cursor = sbp.limit;
|
||||
if (!r_verb()) {
|
||||
sbp.cursor = sbp.limit;
|
||||
r_noun();
|
||||
}
|
||||
}
|
||||
}
|
||||
sbp.cursor = sbp.limit;
|
||||
sbp.ket = sbp.cursor;
|
||||
if (sbp.eq_s_b(1, "\u0438")) {
|
||||
sbp.bra = sbp.cursor;
|
||||
sbp.slice_del();
|
||||
} else
|
||||
sbp.cursor = sbp.limit;
|
||||
r_derivational();
|
||||
sbp.cursor = sbp.limit;
|
||||
r_tidy_up();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/* and return a function that stems a word for the current locale */
|
||||
return function(token) {
|
||||
// for lunr version 2
|
||||
if (typeof token.update === "function") {
|
||||
return token.update(function(word) {
|
||||
st.setCurrent(word);
|
||||
st.stem();
|
||||
return st.getCurrent();
|
||||
})
|
||||
} else { // for lunr version <= 1
|
||||
st.setCurrent(token);
|
||||
st.stem();
|
||||
return st.getCurrent();
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
lunr.Pipeline.registerFunction(lunr.ru.stemmer, 'stemmer-ru');
|
||||
|
||||
lunr.ru.stopWordFilter = lunr.generateStopWordFilter('алло без близко более больше будем будет будете будешь будто буду будут будь бы бывает бывь был была были было быть в важная важное важные важный вам вами вас ваш ваша ваше ваши вверх вдали вдруг ведь везде весь вниз внизу во вокруг вон восемнадцатый восемнадцать восемь восьмой вот впрочем времени время все всегда всего всем всеми всему всех всею всю всюду вся всё второй вы г где говорил говорит год года году да давно даже далеко дальше даром два двадцатый двадцать две двенадцатый двенадцать двух девятнадцатый девятнадцать девятый девять действительно дел день десятый десять для до довольно долго должно другая другие других друго другое другой е его ее ей ему если есть еще ещё ею её ж же жизнь за занят занята занято заняты затем зато зачем здесь значит и из или им именно иметь ими имя иногда их к каждая каждое каждые каждый кажется как какая какой кем когда кого ком кому конечно которая которого которой которые который которых кроме кругом кто куда лет ли лишь лучше люди м мало между меля менее меньше меня миллионов мимо мира мне много многочисленная многочисленное многочисленные многочисленный мной мною мог могут мож может можно можхо мои мой мор мочь моя моё мы на наверху над надо назад наиболее наконец нам нами нас начала наш наша наше наши не него недавно недалеко нее ней нельзя нем немного нему непрерывно нередко несколько нет нею неё ни нибудь ниже низко никогда никуда ними них ничего но ну нужно нх о об оба обычно один одиннадцатый одиннадцать однажды однако одного одной около он она они оно опять особенно от отовсюду отсюда очень первый перед по под пожалуйста позже пока пор пора после посреди потом потому почему почти прекрасно при про просто против процентов пятнадцатый пятнадцать пятый пять раз разве рано раньше рядом с сам сама сами самим самими самих само самого самой самом самому саму свое своего своей свои своих свою сеаой себе себя сегодня седьмой сейчас семнадцатый семнадцать семь сих сказал сказала сказать сколько слишком сначала снова со собой собою совсем спасибо стал суть т та так такая также такие такое такой там твой твоя твоё те тебе тебя тем теми теперь тех то тобой тобою тогда того тоже только том тому тот тою третий три тринадцатый тринадцать ту туда тут ты тысяч у уж уже уметь хорошо хотеть хоть хотя хочешь часто чаще чего человек чем чему через четвертый четыре четырнадцатый четырнадцать что чтоб чтобы чуть шестнадцатый шестнадцать шестой шесть эта эти этим этими этих это этого этой этом этому этот эту я а'.split(' '));
|
||||
|
||||
lunr.Pipeline.registerFunction(lunr.ru.stopWordFilter, 'stopWordFilter-ru');
|
||||
};
|
||||
}))
|
|
@ -0,0 +1,304 @@
|
|||
/*!
|
||||
* Snowball JavaScript Library v0.3
|
||||
* http://code.google.com/p/urim/
|
||||
* http://snowball.tartarus.org/
|
||||
*
|
||||
* Copyright 2010, Oleg Mazko
|
||||
* http://www.mozilla.org/MPL/
|
||||
*/
|
||||
|
||||
/**
|
||||
* export the module via AMD, CommonJS or as a browser global
|
||||
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
|
||||
*/
|
||||
;(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(factory)
|
||||
} else if (typeof exports === 'object') {
|
||||
/**
|
||||
* Node. Does not work with strict CommonJS, but
|
||||
* only CommonJS-like environments that support module.exports,
|
||||
* like Node.
|
||||
*/
|
||||
module.exports = factory()
|
||||
} else {
|
||||
// Browser globals (root is window)
|
||||
factory()(root.lunr);
|
||||
}
|
||||
}(this, function () {
|
||||
/**
|
||||
* Just return a value to define the module export.
|
||||
* This example returns an object, but the module
|
||||
* can return a function as the exported value.
|
||||
*/
|
||||
return function(lunr) {
|
||||
/* provides utilities for the included stemmers */
|
||||
lunr.stemmerSupport = {
|
||||
Among: function(s, substring_i, result, method) {
|
||||
this.toCharArray = function(s) {
|
||||
var sLength = s.length, charArr = new Array(sLength);
|
||||
for (var i = 0; i < sLength; i++)
|
||||
charArr[i] = s.charCodeAt(i);
|
||||
return charArr;
|
||||
};
|
||||
|
||||
if ((!s && s != "") || (!substring_i && (substring_i != 0)) || !result)
|
||||
throw ("Bad Among initialisation: s:" + s + ", substring_i: "
|
||||
+ substring_i + ", result: " + result);
|
||||
this.s_size = s.length;
|
||||
this.s = this.toCharArray(s);
|
||||
this.substring_i = substring_i;
|
||||
this.result = result;
|
||||
this.method = method;
|
||||
},
|
||||
SnowballProgram: function() {
|
||||
var current;
|
||||
return {
|
||||
bra : 0,
|
||||
ket : 0,
|
||||
limit : 0,
|
||||
cursor : 0,
|
||||
limit_backward : 0,
|
||||
setCurrent : function(word) {
|
||||
current = word;
|
||||
this.cursor = 0;
|
||||
this.limit = word.length;
|
||||
this.limit_backward = 0;
|
||||
this.bra = this.cursor;
|
||||
this.ket = this.limit;
|
||||
},
|
||||
getCurrent : function() {
|
||||
var result = current;
|
||||
current = null;
|
||||
return result;
|
||||
},
|
||||
in_grouping : function(s, min, max) {
|
||||
if (this.cursor < this.limit) {
|
||||
var ch = current.charCodeAt(this.cursor);
|
||||
if (ch <= max && ch >= min) {
|
||||
ch -= min;
|
||||
if (s[ch >> 3] & (0X1 << (ch & 0X7))) {
|
||||
this.cursor++;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
in_grouping_b : function(s, min, max) {
|
||||
if (this.cursor > this.limit_backward) {
|
||||
var ch = current.charCodeAt(this.cursor - 1);
|
||||
if (ch <= max && ch >= min) {
|
||||
ch -= min;
|
||||
if (s[ch >> 3] & (0X1 << (ch & 0X7))) {
|
||||
this.cursor--;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
out_grouping : function(s, min, max) {
|
||||
if (this.cursor < this.limit) {
|
||||
var ch = current.charCodeAt(this.cursor);
|
||||
if (ch > max || ch < min) {
|
||||
this.cursor++;
|
||||
return true;
|
||||
}
|
||||
ch -= min;
|
||||
if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) {
|
||||
this.cursor++;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
out_grouping_b : function(s, min, max) {
|
||||
if (this.cursor > this.limit_backward) {
|
||||
var ch = current.charCodeAt(this.cursor - 1);
|
||||
if (ch > max || ch < min) {
|
||||
this.cursor--;
|
||||
return true;
|
||||
}
|
||||
ch -= min;
|
||||
if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) {
|
||||
this.cursor--;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
eq_s : function(s_size, s) {
|
||||
if (this.limit - this.cursor < s_size)
|
||||
return false;
|
||||
for (var i = 0; i < s_size; i++)
|
||||
if (current.charCodeAt(this.cursor + i) != s.charCodeAt(i))
|
||||
return false;
|
||||
this.cursor += s_size;
|
||||
return true;
|
||||
},
|
||||
eq_s_b : function(s_size, s) {
|
||||
if (this.cursor - this.limit_backward < s_size)
|
||||
return false;
|
||||
for (var i = 0; i < s_size; i++)
|
||||
if (current.charCodeAt(this.cursor - s_size + i) != s
|
||||
.charCodeAt(i))
|
||||
return false;
|
||||
this.cursor -= s_size;
|
||||
return true;
|
||||
},
|
||||
find_among : function(v, v_size) {
|
||||
var i = 0, j = v_size, c = this.cursor, l = this.limit, common_i = 0, common_j = 0, first_key_inspected = false;
|
||||
while (true) {
|
||||
var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j
|
||||
? common_i
|
||||
: common_j, w = v[k];
|
||||
for (var i2 = common; i2 < w.s_size; i2++) {
|
||||
if (c + common == l) {
|
||||
diff = -1;
|
||||
break;
|
||||
}
|
||||
diff = current.charCodeAt(c + common) - w.s[i2];
|
||||
if (diff)
|
||||
break;
|
||||
common++;
|
||||
}
|
||||
if (diff < 0) {
|
||||
j = k;
|
||||
common_j = common;
|
||||
} else {
|
||||
i = k;
|
||||
common_i = common;
|
||||
}
|
||||
if (j - i <= 1) {
|
||||
if (i > 0 || j == i || first_key_inspected)
|
||||
break;
|
||||
first_key_inspected = true;
|
||||
}
|
||||
}
|
||||
while (true) {
|
||||
var w = v[i];
|
||||
if (common_i >= w.s_size) {
|
||||
this.cursor = c + w.s_size;
|
||||
if (!w.method)
|
||||
return w.result;
|
||||
var res = w.method();
|
||||
this.cursor = c + w.s_size;
|
||||
if (res)
|
||||
return w.result;
|
||||
}
|
||||
i = w.substring_i;
|
||||
if (i < 0)
|
||||
return 0;
|
||||
}
|
||||
},
|
||||
find_among_b : function(v, v_size) {
|
||||
var i = 0, j = v_size, c = this.cursor, lb = this.limit_backward, common_i = 0, common_j = 0, first_key_inspected = false;
|
||||
while (true) {
|
||||
var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j
|
||||
? common_i
|
||||
: common_j, w = v[k];
|
||||
for (var i2 = w.s_size - 1 - common; i2 >= 0; i2--) {
|
||||
if (c - common == lb) {
|
||||
diff = -1;
|
||||
break;
|
||||
}
|
||||
diff = current.charCodeAt(c - 1 - common) - w.s[i2];
|
||||
if (diff)
|
||||
break;
|
||||
common++;
|
||||
}
|
||||
if (diff < 0) {
|
||||
j = k;
|
||||
common_j = common;
|
||||
} else {
|
||||
i = k;
|
||||
common_i = common;
|
||||
}
|
||||
if (j - i <= 1) {
|
||||
if (i > 0 || j == i || first_key_inspected)
|
||||
break;
|
||||
first_key_inspected = true;
|
||||
}
|
||||
}
|
||||
while (true) {
|
||||
var w = v[i];
|
||||
if (common_i >= w.s_size) {
|
||||
this.cursor = c - w.s_size;
|
||||
if (!w.method)
|
||||
return w.result;
|
||||
var res = w.method();
|
||||
this.cursor = c - w.s_size;
|
||||
if (res)
|
||||
return w.result;
|
||||
}
|
||||
i = w.substring_i;
|
||||
if (i < 0)
|
||||
return 0;
|
||||
}
|
||||
},
|
||||
replace_s : function(c_bra, c_ket, s) {
|
||||
var adjustment = s.length - (c_ket - c_bra), left = current
|
||||
.substring(0, c_bra), right = current.substring(c_ket);
|
||||
current = left + s + right;
|
||||
this.limit += adjustment;
|
||||
if (this.cursor >= c_ket)
|
||||
this.cursor += adjustment;
|
||||
else if (this.cursor > c_bra)
|
||||
this.cursor = c_bra;
|
||||
return adjustment;
|
||||
},
|
||||
slice_check : function() {
|
||||
if (this.bra < 0 || this.bra > this.ket || this.ket > this.limit
|
||||
|| this.limit > current.length)
|
||||
throw ("faulty slice operation");
|
||||
},
|
||||
slice_from : function(s) {
|
||||
this.slice_check();
|
||||
this.replace_s(this.bra, this.ket, s);
|
||||
},
|
||||
slice_del : function() {
|
||||
this.slice_from("");
|
||||
},
|
||||
insert : function(c_bra, c_ket, s) {
|
||||
var adjustment = this.replace_s(c_bra, c_ket, s);
|
||||
if (c_bra <= this.bra)
|
||||
this.bra += adjustment;
|
||||
if (c_bra <= this.ket)
|
||||
this.ket += adjustment;
|
||||
},
|
||||
slice_to : function() {
|
||||
this.slice_check();
|
||||
return current.substring(this.bra, this.ket);
|
||||
},
|
||||
eq_v_b : function(s) {
|
||||
return this.eq_s_b(s.length, s);
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
lunr.trimmerSupport = {
|
||||
generateTrimmer: function(wordCharacters) {
|
||||
var startRegex = new RegExp("^[^" + wordCharacters + "]+")
|
||||
var endRegex = new RegExp("[^" + wordCharacters + "]+$")
|
||||
|
||||
return function(token) {
|
||||
// for lunr version 2
|
||||
if (typeof token.update === "function") {
|
||||
return token.update(function (s) {
|
||||
return s
|
||||
.replace(startRegex, '')
|
||||
.replace(endRegex, '');
|
||||
})
|
||||
} else { // for lunr version 1
|
||||
return token
|
||||
.replace(startRegex, '')
|
||||
.replace(endRegex, '');
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}));
|
2977
apps/documenteditor/main/resources/help/ru/search/js/lunr.js
Normal file
2977
apps/documenteditor/main/resources/help/ru/search/js/lunr.js
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,5 @@
|
|||
function doSearch(e) {
|
||||
if (e.keyCode == 13) {
|
||||
document.location.href = '../search/search.html?query=' + document.getElementById('search').value;
|
||||
}
|
||||
}
|
235
apps/documenteditor/main/resources/help/ru/search/search.html
Normal file
235
apps/documenteditor/main/resources/help/ru/search/search.html
Normal file
|
@ -0,0 +1,235 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Результаты поиска</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Результаты поиска" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script src="js/jquery.min.js"></script>
|
||||
<script src="indexes.js"></script>
|
||||
<script src="js/lunr.js"></script>
|
||||
<script src="js/lunr-languages/lunr.stemmer.support.js"></script>
|
||||
<script src="js/lunr-languages/lunr.multi.js"></script>
|
||||
<script src="js/lunr-languages/lunr.ru.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
ul {
|
||||
padding-left: 15px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style-type: decimal;
|
||||
line-height: 1.5em;
|
||||
padding-bottom: 1.5em;
|
||||
}
|
||||
|
||||
li a {
|
||||
font-family: 'Open Sans',sans-serif,Arial;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
li p {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
li p.info {
|
||||
color: #999;
|
||||
font-size: 0.9em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
li a span {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
li p span {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
(function() {
|
||||
var getParameterByName = function(name, url) {
|
||||
if (!url) url = window.location.href;
|
||||
name = name.replace(/[\[\]]/g, "\\$&");
|
||||
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
|
||||
results = regex.exec(url);
|
||||
if (!results) return null;
|
||||
if (!results[2]) return '';
|
||||
return decodeURIComponent(results[2].replace(/\+/g, " "));
|
||||
};
|
||||
|
||||
var getInfoById = function(id) {
|
||||
var objects = $.grep(indexes, function(e){ return e.id == id; });
|
||||
|
||||
if (objects.length > 0) {
|
||||
return objects[0]
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
var uniqueArray = function(array) {
|
||||
return array.map(JSON.stringify).reverse().filter(function (e, i, a) {
|
||||
return a.indexOf(e, i+1) === -1;
|
||||
}).reverse().map(JSON.parse)
|
||||
};
|
||||
|
||||
var higtlightTitles = function(result, info, positions) {
|
||||
var elements = positions.map(function(position) {
|
||||
return $('<li>')
|
||||
.append(
|
||||
$('<a>', {
|
||||
href: "../" + result.ref,
|
||||
html: [
|
||||
info.title.slice(0, position[0]),
|
||||
"<span>",
|
||||
info.title.slice(position[0], position[0] + position[1]),
|
||||
"</span>",
|
||||
info.title.slice(position[0] + position[1])
|
||||
].join('')
|
||||
})
|
||||
)
|
||||
.append($('<p>').text(info.body.substring(0, 250) + "..."))
|
||||
});
|
||||
|
||||
return elements;
|
||||
};
|
||||
|
||||
var higtlightBodyes = function(result, info, positions) {
|
||||
var elements = positions.map(function(position) {
|
||||
var html = [
|
||||
info.body.slice(0, position[0]),
|
||||
"<span>",
|
||||
info.body.slice(position[0], position[0] + position[1]),
|
||||
"</span>",
|
||||
info.body.slice(position[0] + position[1])
|
||||
].join('');
|
||||
|
||||
var sentences = html.split("."),
|
||||
displayBody = "",
|
||||
sentenceCount = 0,
|
||||
commonLength = 0;
|
||||
|
||||
|
||||
$(sentences).each(function(index, sentence) {
|
||||
commonLength += sentence.length;
|
||||
|
||||
if (commonLength > position[0]) {
|
||||
sentenceCount++;
|
||||
displayBody += sentence + ".";
|
||||
}
|
||||
|
||||
if (commonLength > 450 && sentenceCount > 2) {
|
||||
displayBody = displayBody.substring(0, 450) + "..."
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return $('<li>')
|
||||
.append(
|
||||
$('<a>', {
|
||||
href: "../" + result.ref,
|
||||
html: info.title.substring(0, 150)
|
||||
})
|
||||
)
|
||||
.append(
|
||||
$('<p>')
|
||||
.html(displayBody)
|
||||
)
|
||||
});
|
||||
|
||||
return elements;
|
||||
};
|
||||
|
||||
var processSearch = function() {
|
||||
var self = this,
|
||||
query = getParameterByName("query");
|
||||
|
||||
if (query !== null && query.length > 0) {
|
||||
var parameterisedPlugin = function (builder, fields) {
|
||||
fields.forEach(function (field) {
|
||||
builder.field(field)
|
||||
})
|
||||
}
|
||||
|
||||
var idx = lunr(function () {
|
||||
this.use(lunr.multiLanguage('en', 'ru'))
|
||||
this.ref('id')
|
||||
this.field('title', {boost: 10})
|
||||
this.field('body')
|
||||
this.metadataWhitelist = ['position']
|
||||
this.use(parameterisedPlugin, ['title', 'body']);
|
||||
|
||||
indexes.forEach(function (doc) {
|
||||
this.add(doc)
|
||||
}, this)
|
||||
});
|
||||
|
||||
var results = idx.search(query),
|
||||
resultsCount = 0;
|
||||
|
||||
if (results.length > 0) {
|
||||
$("#search-results").append(
|
||||
results.map(function(result) {
|
||||
var displayInfo = getInfoById(result.ref);
|
||||
if (displayInfo) {
|
||||
var elements = []
|
||||
|
||||
Object.keys(result.matchData.metadata).forEach(function (term) {
|
||||
Object.keys(result.matchData.metadata[term]).forEach(function (fieldName) {
|
||||
if (fieldName == "title") {
|
||||
var positions = uniqueArray(result.matchData.metadata[term][fieldName].position);
|
||||
elements = elements.concat(higtlightTitles(result, displayInfo, positions));
|
||||
} else if (fieldName == "body") {
|
||||
var positions = uniqueArray(result.matchData.metadata[term][fieldName].position);
|
||||
elements = elements.concat(higtlightBodyes(result, displayInfo, positions));
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
resultsCount += elements.length;
|
||||
|
||||
return elements.map(function(element) {
|
||||
return $("<div>").append(element).html()
|
||||
}).join('');
|
||||
}
|
||||
})
|
||||
)
|
||||
$(".subtitle").html("Надено результатов: " + resultsCount);
|
||||
} else {
|
||||
$(".subtitle").html("Результаты поиска отсутствуют");
|
||||
}
|
||||
|
||||
$("h1").text("Результаты поиска");
|
||||
} else {
|
||||
$("h1").text("Результаты поиска");
|
||||
$(".subtitle").html("Результаты поиска отсутствуют");
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
setTimeout(processSearch, 50);
|
||||
});
|
||||
})();
|
||||
|
||||
function doSearch(e) {
|
||||
if (e.keyCode == 13) {
|
||||
document.location.href = 'search.html?query=' + document.getElementById('search').value;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Поиск" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Поиск...</h1>
|
||||
<span class="subtitle"></span>
|
||||
<ul id="search-results"></ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue