aboutsummaryrefslogtreecommitdiff
path: root/files/ru/mdn/tools/search/index.html
blob: 4f175b6ce8cebab1c3f36f639166843ed6f57592 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
title: Использование продвинутого поиска
slug: MDN/Tools/Search
tags:
  - Guide
  - MDN
translation_of: MDN/Tools/Search
original_slug: MDN/User_guide/Advanced_search
---
<div>{{MDNSidebar}}</div><p><span class="seoSummary">В качестве дополнительной возможности внесения для вкладчиков в MDN у нас есть продвинутый механизм поиска, который позволяется вам искать по исходному коду страницы — то есть, по сырому HTML сайта, с макросами вместо их вывода — что позволяет искать использования определённых макросов, атрибутов HTML и тому подобное.</span></p>
<p>На текущий момент для использования продвинутого механизма поиска нет пользовательского интерфейса, но вы можете получить к нему доступ посредством специально сформированных URL. Вы можете получить вывод либо на стандартную страницу с результатами поиска по MDN, либо в формате JSON (последнее означает, что вы можете использовать этот механизм, например, из кода на KumaScript). <span class="seoSummary">Эта статья описывает, как всем этим пользоваться.</span></p>
<div class="note">
 <p><strong>Примечание:</strong> эти поисковые запросы не предназначены для конструирования распространяемых URL; а предназначены для использования во вспомогательных инструментах и утилитах. В будущем они могут измениться, также не обязательно, что эти запросы самые эффективные.</p>
</div>

<h2 id="Search_query_format" name="Search_query_format">Формат поискового запроса</h2>
<p>Продвинутые поисковые запросы позволяются конструировать URL с соответствующими параметрами. Базовый URL может быть одним из следующих:</p>
<dl>
 <dt><code>https://developer.mozilla.org/en-US/search</code></dt>
 <dd>Используйте этот базовый URL для получения стандартной страницы с результатами поиска по MDN.</dd>
 <dt><code>https://developer.mozilla.org/en-US/search.json</code></dt>
 <dd>Используйте этот базовый URL для получения результатов в формате JSON. О формате результата смотрите раздел {{anch("JSON_result_format", "формат JSON для результата")}}.</dd>
</dl>
<p>Кроме того, вам нужно добавить соответствующие параметры для получения желаемого результата. Вы можете использовать любую комбинацию следующих параметров:</p>
<dl>
 <dt><code>locale=</code></dt>
 <dd>Рассматриваемая локаль. По умолчанию рассматриваются все локали. Также вы можете явно указать «все локали» при помощи шаблона <code>"*"</code>. Например, вы можете определить <code>locale=en-US</code> для ограничения поиска только по англоязычным страницам.</dd>
 <dt><code>css_classnames=</code></dt>
 <dd>Классы CSS для сопоставления. Этот параметр ограничивает результат поиска страницами, чей HTML-код включает в сеся как минимум одно использование указанных классов.</dd>
 <dt><code>html_attributes=</code></dt>
 <dd>Текст атрибутов HTML для сопоставления. Поиск ведётся по началу текста; то есть, если указаный текст появляется в начале строки атрибута HTML, он будет считаться совпавшим. Подробности смотрите ниже.</dd>
 <dt><code>kumascript_macros=</code></dt>
 <dd>Список искомых макросов KumaScript. Этот параметр позволяет вам находить статьи, использующие определённый макрос; это может быть полезно в тех случаях, если, к примеру, макрос устарел или его параметры поменялись и вам нужно обновить существующие варианты его использования.</dd>
</dl>

<h2 id="Examples" name="Examples">Примеры</h2>
<p>Здесь приведено несколько примеров поисковых запросов.</p>

<h3 id="Searching_by_locale" name="Searching_by_locale">Поиск по локали</h3>
<pre>https://developer.mozilla.org/en-US/search?locale=en-US</pre>
<p>В этом примере возвращается список всех англоязычных статей без каких-либо иных ограничений. На момент написания этой статьи их было 12865 (к тому времени, как вы прочитаете эту статью, их, конечно же, станет больше, поскольку мы постоянно растём)!</p>

<h3 id="Searching_by_CSS_class_name" name="Searching_by_CSS_class_name">Поиск по имени CSS-класса</h3>
<pre>https://developer.mozilla.org/en-US/search?locale=en-US&amp;css_classnames=smaller</pre>
<p>В этом примере мы добавили к поисковому условию использование CSS-класса <code>"smaller"</code>; на момент написания этой статьи количество результатов снизилось всего до 6 страниц.</p>

<h3 id="Searching_by_HTML_attribute_string" name="Searching_by_HTML_attribute_string">Поиск по строке атрибута HTML</h3>
<pre>https://developer.mozilla.org/en-US/search?locale=en-US&amp;html_attributes=style</pre>
<p>Здесь мы ищем использования атрибута <code>"style"</code> на элементах HTML. На момент написания этой статьи мы нашли 4935 таких страниц. Это плохо и это нужно искоренять; мы собираемся заменить все такие вхождения на наши стандартные классы.</p>
<p>Также вы можете включать в поисковый запрос значение атрибута, но помните, что если вы захотите включить символы вроде <code>"="</code> или <code>"/"</code> в ваш поисковый запрос, вы должны их закодировать для использования в URL. Например, чтобы найти страницы, ссылающиеся на www.mozilla.org, вы можете сделать так:</p>
<pre>https://developer.mozilla.org/en-US/search?locale=en-US&amp;html_attributes=href%3D%22https%3A%2F%2Fwww.mozilla.org</pre>
<p>Этот поиск вернул 29 результатов. Это удивительно малое количество ссылок на сайт www.mozilla.org!</p>

<h3 id="Searching_for_KumaScript_macro_usage" name="Searching_for_KumaScript_macro_usage">Поиск по используемому макросу KumaScript</h3>
<pre>https://developer.mozilla.org/en-US/search?locale=en-US&amp;kumascript_macros=unimplemented_header</pre>
<p>Этот поисковый запрос ищет использования макроса {{TemplateLink("unimplemented_header")}}. На момент написания этой статьи было найдено шесть страниц. Он позволяет нам искать макросы, чьи параметры были изменены, либо те, которые мы хотим прекратить использовать (последний случай как раз относится к рассматриваемому макросу).</p>

<h2 id="JSON_result_format" name="JSON_result_format">Формат JSON для результата</h2>
<p>Когда вы запрашиваете результат в формате JSON, вы по прежнему получаете результаты по одной странице за раз. Каждая страница является объектом KumaScript, который состоит из нескольких частей с метаданными о результатах, плюс массив стандартных объектов страницы с одним дополнительным полем: URL-адресом для начала редактирования страницы.</p>
<p>В результирующем объекте содержатся следующие данные:</p>
<dl>
 <dt><code>count</code></dt>
 <dd>Общее количество найденных результатов.</dd>
 <dt><code>next</code></dt>
 <dd>URL, по которому можно перейти на следующую страницу с результатами (либо {{jsxref("Global_Objects/null", "null")}} для последней страницы).</dd>
 <dt><code>previous</code></dt>
 <dd>URL, по которому можно перейти на предыдущую страницу с результатами (либо {{jsxref("Global_Objects/null", "null")}} для первой страницы).</dd>
 <dt><code>query</code></dt>
 <dd>???</dd>
 <dt><code>page</code></dt>
 <dd>Номер страницы с результатами, описываемой этим объектом.</dd>
 <dt><code>pages</code></dt>
 <dd>Общее количество страниц с результатами.</dd>
 <dt><code>start</code></dt>
 <dd>Номер первого элемента на этой странице с результатами.</dd>
 <dt><code>end</code></dt>
 <dd>Номер последнего элемента на этой странице с результатами.</dd>
 <dt><code>filters</code></dt>
 <dd>Массив конфигураций расличных поисковых фильтров. Эти фильтры доступны в стандартном поиске.</dd>
 <dt><code>documents</code></dt>
 <dd>Массив {{anch("Page_objects", "объектов страницы")}}, описывающих каждую совпавшую страницу.</dd>
</dl>

<h3 id="Page_objects" name="Page_objects">Объекты страницы</h3>
<p>Каждый объект страницы содержит следующие поля:</p>
<dl>
 <dt><code>title</code></dt>
 <dd>Заголовок статьи.</dd>
 <dt><code>slug</code></dt>
 <dd>Идентификатор статьи. Это вся часть URL страницы, следующая за локалью и последующим символом слеша.</dd>
 <dt><code>locale</code></dt>
 <dd>Локаль страницы.</dd>
 <dt><code>excerpt</code></dt>
 <dd>Фрагмент содержания страницы; это либо первый блок обычного текста статьи, либо содержимое, отмеченное классом "SEO Summary".</dd>
 <dt><code>url</code></dt>
 <dd>Полный URL страницы.</dd>
 <dt><code>edit_url</code></dt>
 <dd>Полный URL страницы в режиме редактирования.</dd>
 <dt><code>tags</code></dt>
 <dd>Массив меток страницы.</dd>
 <dt><code>score</code></dt>
 <dd>Значение очков, присвоенное странице поисковым движком.</dd>
 <dt><code>explanation</code></dt>
 <dd>Различная информация от поискового движка о том, почему страница соответствует вашему запросу. Описание этого содержимого выходит за рамки данного документа.</dd>
</dl>