この翻訳は不完全です。英語から この記事を翻訳 してください。
MDN 貢献者向けに特定のマクロや HTML 属性などを検索できるよう、マクロの出力ではなく生の HTML でページのソースを検索できる高度な検索機能を用意しています。
今のところこの高度な検索用のユーザインターフェイスは用意しておらず、URL に直接アクセスすることで利用できます。検索結果は通常の MDN の検索結果ページあるいは JSON フォーマットのいずれかで得られます (後者の検索結果は例えば KumaScript などから使うこともできます)。この時期ではその使い方を説明します。
Note: ここで紹介する検索クエリは広く利用される目的で作る URL ではありません。ツールやユーティリティから使用するためのものであり、将来変更される可能性があります。クエリのパフォーマンスも高くない場合があります。
検索クエリの書式
高度な検索クエリは検索に適切なパラメータを付けた URL で実行してください。ベースとなる URL は次のいずれかです:
https://developer.mozilla.org/ja/search
- 通常の MDN 検索結果ページを出力とする場合はこちらを使います。
https://developer.mozilla.org/en-US/search.json
- JSON 形式で結果を取得する場合はこちらを使います。検索結果の書式については JSON result format をご覧ください。
これに続けて、欲しい結果を得るには適切なパラメータを追加してください。次のパラメータを組み合わせて利用できます:
locale=
- 検索対象とするロケール。デフォルトではすべてのロケールが対象となります。すべてのロケールを明示的に指定するにはワイルドカード "*" を指定することもできます。例えば、
locale=ja
とすれば検索結果を日本語だけに絞り込めます。 css_classnames=
- 検索対象とする CSS クラス名。ページの HTML に少なくとも指定されたクラスが 1 つ以上含まれているページを検索します。
html_attributes=
- 検索対象とする HTML 属性テキスト。これは前方一致検索です。つまり、指定したテキストが HTMLの属性文字列の始めにある場合、検索にマッチします。詳しくは下記をご覧ください。
kumascript_macros=
- 検索対象とする1つ以上の KumaScript のリスト。これをつかって特定のマクロを使った記事を検索できます。例えば、マクロを廃止する場合や、パラメータが変更され既存のページを更新する必要がある場合に便利です。
例
検索例をいくつか示します。
locale による検索
https://developer.mozilla.org/ja/search?locale=ja
この例では日本語の記事のリストが得られます。言語 (ロケール) 以外での絞り込みはされません。このページの翻訳時点では 12092 ページが見つかります (もちろん翻訳ページは増え続けているのであなたが試すときにはもっと大きな数になっているはずです!)
CSS クラス名による検索
https://developer.mozilla.org/ja/search?locale=ja&css_classnames=smaller
この例では "smaller"
CSS クラスを使っている記事のリストが得られます。ページ翻訳時点では 42 ページに絞り込まれます。
HTML 属性文字列による検索
https://developer.mozilla.org/ja/search?locale=ja&html_attributes=style
この例では HTML 要素に "style"
属性が使われている記事のリストが得られます。ページ翻訳時点では 7277 ページが該当します。これらはダメなページで修正されるべきものです。少しずつ標準化したクラスで置き換えていく必要があります。
属性値も含めて検索することはできますが、検索文字列に "="
や "/"
を含める場合にはこれらを URL エンコードする必要があることに注意してください。例えば、www.mozilla.org にリンクしているページは次のように検索します:
https://developer.mozilla.org/ja/search?locale=ja&html_attributes=href%3D%22https%3A%2F%2Fwww.mozilla.org
この検索結果は 80 件になりました。www.mozilla.org にリンクしているページは意外と少ないですね!
KumaScript マクロ利用有無による検索
https://developer.mozilla.org/ja/search?locale=ja&kumascript_macros=unimplemented_header
この例では unimplemented_header
マクロを使用しているページを検索します。ページ翻訳時点では 7 ページが見つかります。マクロパラメータ変更時の修正やマクロ廃止時 (この検索例がまさにその例ですが) にはこの機能を使ってマクロを検索します。
JSON 検索結果の書式
JSON で検索結果を取得する場合も、通常の検索結果ページ同様に数件ずつのページ単位で結果が返されます。各ページには検索結果に関するメタデータが含まれる KumaScript オブジェクトと、通常のページオブジェクトにページ編集用の URL フィールドが追加されたものの配列が返されます。
結果のオブジェクトに含まれるデータは次の通りです:
count
- 検索結果の総数
next
- 検索結果の次ページ URL (あるいは最終ページの場合は
null
) previous
- 検索結果の前ページ URL (あるいは最初のページの場合は
null
) query
- ???
page
- このオブジェクトに含まれる検索結果ページ番号
pages
- 検索結果ページの総数
start
- このページの結果のうち最初の項目の番号
end
- このページの結果のうち最後の項目の番号
filters
- さまざまな検索フィルタの設定を含めた配列。通常の検索に利用可能なフィルタです
documents
- マッチしたページの ページオブジェクト の配列
ページオブジェクト
各ページオブジェクトには次のものが含まれます:
title
- 記事タイトル
slug
- 記事のスラッグ。ページの URL のうち、ロケール名とスラッシュに続くものすべてです。
locale
- ページのロケール
excerpt
- ページコンテンツの断片 (スニペット)。これは記事本文の冒頭部分か、"SEO Summary" クラスが使われていればそのクラスで指定されたコンテンツ
url
- ページの完全な URL
edit_url
- ページを編集モードで開く完全な URL
tags
- ページのタグの配列
score
- 検索エンジンで割り当てられたスコア値
explanation
- 検索クエリにどのように何故マッチしたかという検索エンジンからの雑多な情報。このコンテンツの詳細についてはこのページでは解説しません。