--- title: 執筆スタイルガイド slug: MDN/Guidelines/Writing_style_guide tags: - Documentation - Guide - Guidelines - MDN - MDN Meta - MDN Web Docs - MDN style guide - Style guide - Writing style guide translation_of: MDN/Guidelines/Writing_style_guide ---
整理され、標準化され、読みやすい書き方でドキュメンテーションを示すために、 MDN Web Docs スタイルガイドはテキストがどのような体系、表記、書式などに従うべきかを説明します。これらは厳密な規則というのではなくガイドラインです。形式よりも内容が重要であり、このため貢献する前にガイドラインを学ばなければならないと重荷に感じたりしないでください。とはいえ、真面目な他のボランティアが、あとであなたの成果をガイドラインに添うように書き換えても、びくびくしたり、ぎょっとしたりもしないでください。
このガイドにおける言語的な観点は主に英語のドキュメンテーションに向けられたものです。その他の言語については独自のスタイルガイドを持っているかもしれません (是非つくってください)。これは多国語化チームのページのサブページとして公開してください。
2017年12月現在、日本語独自コンテンツとしてのスタイルガイドは未作成だが、下記の資料が参考になります。
MDN 以外のサイトの記事での標準的なスタイルを知りたければ、One Mozilla style guideを参照してください。
よく普及しているスタイルガイドでは、始めるのに最適な場所は、文書の一貫性を維持するのに役立つような、とても基本的なテキストの取り決めです。以下のセクションでは、その基本のアウトラインを示します。
ページタイトルは検索結果や、ページの先頭にあるパンくずリストのページ階層を構造化するために使用されます。 (ページの先頭や検索結果に表示される) ページタイトルは、ページの「スラッグ」とは異なっていても構いません。「スラッグ」とは、ページの URL の "<locale>/docs/" に続く部分のことです。
ページタイトルセクションの見出しは文スタイルの大文字化 (文頭と固有名詞の始めの1字だけを大文字にします) を用いるべきです。一般的な見出しスタイルの大文字化は用いません。
この表記法が確立するより前の古い記事が多くあります。必要により気軽に書き換えてください。だんだん新しいやり方に慣れていくでしょう。
ページのスラッグは短くするべきです。つまり新しい階層を作るとき、スラッグは1つか2つの単語で構成されるようにしましょう。
一方で、タイトルは常識的な範囲で好きなだけ長くして構いません。また記事の内容がよくわかるものであるべきです。
ある主題とその周辺についていくつかの記事を追加する必要があるとき、ふつうはランディングページを作ってから各記事をサブページとして追加します。ランディングページは1つか2つの段落で、トピックやテクノロジーについての説明をします。つぎにそれぞれのページについて説明するサブページ一覧を付け加えます。我々が用意したマクロを利用すれば、一覧にページを追加する作業を自動化できます。
例えば、JavaScript ガイド を見てみましょう。以下のような構造になっています。
階層の最上位部に自分の記事を配置しないようにしましょう。サイトのパフォーマンスを下げ、検索とサイト探索を非効率にします。
どんな文書を書くときも、どれくらいの量を言えばいいのかを知ることが重要です。あまりにも長い文章になってしまったり、過剰な詳細を提供してしまったりすると、読むのが面倒になってしまい、誰も使ってくれなくなってしまいます。網羅する量を正しく把握することは、いくつかの理由から重要です。特に、読者が本当に必要な情報を見つけられるようにすること、そして検索エンジンが記事を適切に分析してランク付けできるように十分な質の高い素材を提供することです。
ここでは前者 (読者が必要としている可能性がある情報を提供すること) について説明します。ページが適切に分類され、検索エンジンにランク付けされるようにすることについて少し学びたい方は、 MDN で SEO を行うための書き方の記事をご覧ください。
ここでの目標は、読者が必要としている情報を全て含めたページを、あまり長くせずに書くことです。この分野では、いくつかの推奨事項があります。
これらはガイドラインであることを覚えておいてください。これらのヒントの中には、すべての場合で適用されない場合があります。記事の読者層を意識してください。高度なネットワーク技術に関する記事では、基本的なネットワーキングの概念について、例えばネットワークを使用したコーディングに関する典型的な記事のように詳細に説明する必要はありません。
記事の概要、すなわち、最初の見出しの前の段落は、自分が読みたいと思っていることを記事がカバーしているかどうか、読者が理解するのに十分な情報を提供していることを確認してください。
ガイドやチュートリアルのコンテンツでは、概要は、どのような主題が取り上げられるのか、必要であれば、読者が事前に何を知っておくべきかを読者に知らせなければなりません。文書化または議論されている技術や API について言及し、それらへのリンクを記載し、どのような状況で記事の内容が役に立つかのヒントを提供しなければなりません。
この要約の例は、あまりにも短すぎます。 "stroke" Textについてや、テキストが描画される場所や、正確に何を意味するのかなど、あまりにも多くの情報を除外しています。
CanvasRenderingContext2D.strokeText()は、文字列を描画します。
ここで、概要を更新しましたが、今度は長すぎます。あまりにも詳細な内容が含まれていて、他のメソッドやプロパティにテキストが入り込みすぎています。
代わりに、要約は strokeText()
メソッドに焦点を当て、他の詳細が提供されている適切なガイドを参照してください。
Canvas 2D API の CanvasRenderingContext2D.strokeText()
メソッドは呼び出されると、指定された座標から始まる指定された文字列内の文字を、現在のペンの色を使ってストロークさせます。コンピュータグラフィックスの用語では、テキストを「ストロークする」とは、文字の内容を色で塗りつぶさずに、文字列内のグリフのアウトラインを描くことを意味します。
テキストは、コンテキストの {{domxref("CanvasRenderingContext2D.font", "font")}} プロパティで指定されたコンテキストの現在のフォントを使用して描画されます。
指定された座標に対するテキストの相対的な配置は、コンテキストの textAlign
, textBaseline
, direction
プロパティによって決定されます。 textAlign
は、指定された X 座標に対する文字列の配置を制御します。値が "center"
の場合、文字列は x - (stringWidth / 2)
から始まり、文字列の中央に配置するように描画されます。値が "left"
の場合は、文字列は指定された X 座標から描画されます。また、 textAlign
が "right"
の場合は、指定されたX座標で終わるように描画されます。
(等 等 等...)
オプションで、4 番目の引数を指定して文字列の最大幅をピクセル単位で指定することもできます。この引数を指定すると、テキストは水平方向に圧縮されるか、描画時にその幅の空間に収まるように拡大縮小 (あるいは調整) されます。
fillText()
メソッドを呼び出すことで、文字列の輪郭のみを描画するのではなく、文字列の文字を色で塗りつぶすことができます。
ここで、 strokeText()
メソッドのより良い概要を見てみましょう。
{{domxref("CanvasRenderingContext2D")}} の strokeText()
メソッドは、 Canvas 2D API の一部で、指定された文字列の文字の輪郭を、指定された X 座標と Y 座標で示された位置に描画します。テキストは、コンテキストの現在の {{domxref("CanvasRenderingContext2D.font", "font")}} を使用して描画され、 {{domxref("CanvasRenderingContext2D.textAlign", "textAlign")}}, {{domxref("CanvasRenderingContext2D.textBaseline", "textBaseline")}}, {{domxref("CanvasRenderingContext2D.direction", "direction")}} の各プロパティに従って揃えられます。
詳細とさらなる例については、学習エリアの図形の描画のテキストや、このテーマに関するメインの記事「テキストの描画」を参照してください。
重要なことは、例を使用して、すべての引数が何のために使用されるのかを明確にし、存在する可能性のある希少な例を明確にすることです。また、一般的なタスクの解決策を示すために例を使用し、発生する可能性のある問題の解決策を示すために例を使用する必要があります。
In general it is expected that most of the pages will include examples, and that most of them will include more than one example.
それぞれの例は、例を読んだり試してみたりする前に、その例が何をするのか、読み始める前に読者が知っておくべきことは何かを説明する文章が必要です。
コードの各部分では、それがどのように動作するかを説明する必要があります。大きなコードを小さな部分に分割して、個別に説明できるようにしたほうが理解しやすいかもしれないということに留意してください。
コードの各部分に続く文章は、適切なレベルの詳細を使用して、関連性のあるものを説明する必要があります。
When adding live samples, it's helpful to be aware that all of the {{HTMLElement("pre")}} blocks in the area that contains the sample are concatenated together before running the example, which lets you break any or all of the HTML, CSS, and JavaScript into multiple segments, each optionally with its own descriptions, headings, and so forth. This makes documenting code incredibly powerful and flexible.
If an article is "thin"—that is, too short—it may not be indexed properly (or at all) by search engines. As a rule of thumb, the article's body text should be at least 250–300 words. Don't artificially inflate a page, but treat this guideline as a minimum target length when possible.
降順に見出しレベルを使い分けてください。 {{HTMLElement("h2")}}, {{HTMLElement("h3")}}, {{HTMLElement("h4")}} という順に、途中を飛ばさず使って下さい。
H2 が最高の見出しレベルなのは H1 がページタイトルのために用意されているからです。H3 、H4 より深いレベルの見出しが必要になったときは、小さい記事に分割し、ランディングページにまとめて{{TemplateLink("Next")}}, {{TemplateLink("Previous")}}, {{TemplateLink("PreviousNext")}} マクロでリンクすることを考慮してみてください。
SuperAmazingThing
インターフェイスの使用」というような見出しを作らないようにしましょう。その代わりに、「SuperAmazingThing インターフェイスの使用」だけにすべきです。Lists should be formatted and structured uniformly across all pages. Individual list items should be written with suitable punctuation, regardless of the list format. However, depending on the type of the list you are creating, you will want to adjust your writing as described in the sections below.
Bulleted lists should be used to group related pieces of concise information. Each item in the list should follow a similar sentence structure. Phrases and sentences in bulleted lists should include standard punctuation. A period must appear at the end of each sentence in a bulleted list, including the item's final sentence, just as would be expected in a paragraph.
An example of a correctly structured bulleted list:
In this example we should include:
Note how the same sentence structure repeats from bullet to bullet. In this example, each bullet point states a condition followed by a comma and a brief explanation, and each item in the list ends with a period.
Numbered lists are used primarily to enumerate steps in a set of instructions. Because instructions can be complex, clarity is a priority, especially if the text in each list item is lengthy. As with bulleted lists, follow standard punctuation usage.
An example of a correctly structured numbered list:
In order to correctly structure a numbered list, you should:
This is an example of writing a closing explanation. We have created a short numbered list that provides instructive steps to produce a numbered list with the correct formatting.
Note how the items in numbered lists read like short paragraphs. Because numbered lists are routinely used for instructional purposes, or to walk someone through an orderly procedure, be sure to keep each item focused: one numbered item per step.
「スタイル」ドロップダウンリストを使うと、あらかじめ設定されたスタイルを選択範囲に適用できます。
特別に指示された場合でない限り、 HTML の style
属性を手作業で付加しないようにしてください。既存のクラスでうまくいかなければ、 MDN discussion forum で質問してみてください。
メモ: この節では、 MDN の記事に表示されるコードのスタイルや書式について扱います。実際にコード例を書くためのガイドラインが必要な場合は、 コード例のガイドライン を参照してください。
タブは空白2つで統一して下さい。コードは綺麗にインデントしてください。始めの中括弧("{
")は行頭に置きません。ブロック宣言の直後に配置します。
if (condition) { /* handle the condition */ } else { /* handle the "else" case */ }
Long lines shouldn't be allowed to stretch off horizontally to the extent that they require horizontal scrolling to read. Instead, break long lines at natural breaking points. Some examples follow:
if (class.CONDITION || class.OTHER_CONDITION || class.SOME_OTHER_CONDITION || class.YET_ANOTHER_CONDITION ) { /* something */ } var toolkitProfileService = Components.classes["@mozilla.org/toolkit/profile-service;1"] .createInstance(Components.interfaces.nsIToolkitProfileService);
「コード」ボタン ("<>" という山括弧記号が付いています) を使ってください。インライン コード スタイルの書式を関数名、変数名、メソッド名に適用することができます (これは、 {{HTMLElement("code")}} 要素を使います)。例えば、 "frenchText()
関数" のようにします。。
メソッド名の後には doSomethingUseful()
のように括弧をつけるべきです。括弧があることでメソッドとその他のコードの用語を区別できます。
1 行または複数行のコードは、 {{HTMLElement("code")}} 要素ではなく、構文強調を使用して整形されます。
HTML 要素について記述する際に従うべき特定の規則があります。これらの規則によって、要素とその構成部分についての説明に一貫性が生まれます。また、詳細な説明への適切なリンクを保証することもできます。
<title>
)。コードフォント
に入れてください。加えて、属性が何をするのかの説明に関連して言及された場合、または文書中で最初に使用された場合は 太字フォント
を使用してください。<code>
を適用するために "Inline Code" スタイルを使用し、文字列の値はコード例の構文で必要がない限り、引用符で囲まないでください。<input>
要素の type
属性が email
または tel
に設定されている場合...」略記 | ラテン語 | 英語 |
---|---|---|
cf. | confer | compare |
e.g. | exempli gratia | for example |
et al. | et alii | and others |
etc. | et cetera | and so forth, and so on |
i.e. | id est | that is, in other words |
N.B. | nota bene | note well |
P.S. | post scriptum | postscript |
ラテン語の略記表現が有用かどうか常に考えるようにしましょう。めったに使われないようなものは、多くの読者にとっては理解できず、他のものと勘違いしてしまうこともありえます。
使用するあなたが正しく使用することを肝に銘じてください。例えば、 "e.g." と "i.e." の取り違えはよくある間違いです。
頭字語と略語において、全て大文字とし、ピリオドは使用しないでください。組織の略称もこれに含まれます。"US"や"UN"などです。
ある用語についてページ内で初めて言及がある場合は、ユーザにとって馴染みがないと思われる略語を展開しましょう。よく分からなければ、展開するかもしくは記事や、用語の説明をする glossary の項目へのリンクを貼りましょう。
頭字語と略語の複数形については、s を末尾に付加するだけにしてください。
アポストロフィは使用しないでください。絶対に。お願いします。
The contraction "vs." is preferred.
Use standard English capitalization rules in body text, and capitalize "World Wide Web." It is acceptable to use lower case for "web" (used alone or as a modifier) and "internet".
Note: This guideline is a change from a previous version of this guide, so you may find many instances of "Web" and "Internet" on MDN.
Feel free to change these as you are making other changes, but editing an article just to change capitalization is not necessary.
Keyboard keys should use sentence-style capitalization, not all-caps capitalization. For example, "Enter" not "ENTER". The only exception is that you can use "ESC" to abbreviate he "Escape" key.
Certain words should always be capitalized (such as trademarks which include capital letters), or words derived from the name of a person (unless it's being used within code, and code’s syntax requires lower-casing). Some examples:
書体はカジュアルで構いません。なので気軽に短縮形を使ってください (例えば、"don't"、"can't"、"shouldn't")。無理にとは言いません。
英語におけるやり方にしてください。ラテン語やギリシア語に影響を受けた形は使わないでください。
接頭辞と後に続く語間で同じ母音が連続する場合にハイフンを使用してください。
主題に性別が関係ない場合には、性別に中立な言葉を使って、できるだけ包括的な文章にするのが良いでしょう。例えば、特定の男性の行動について話している場合は、 "he"/"his" を使用しても問題ありませんが、主語がどちらでもありうる場合は、 "he"/"his" は適切ではありません。
以下に例をあげましょう。
A confirmation dialog appears, asking the user if he allows the Web page to make use of his Web cam.
A confirmation dialog appears, asking the user if she allows the Web page to make use of her Web cam.
どちらも性的に偏りがある表現です。性別に中立な代名詞に修正しましょう。
A confirmation dialog appears, asking the user if they allow the Web page to make use of their Web cam.
MDN では、このとても一般的な構文 (これは使用法の権威の間で論争の的となっている) を使用して、英語の中性的な性別の欠如を補うことを許可しています。
三人称複数型を中性名詞として使う (つまり、"they"、"them"、"their"、"theirs" を使う) ことは許容されるやり方で、一般には "単数形の 'they'" として知られています。
ユーザを複数とするとこうなります。
A confirmation dialog appears, asking the users if they allow the web page to make use of their web cams.
もちろん一番良い解決法は、代名詞を使用しないよう書き直すことです。
A confirmation dialog appears, requesting the user's permission for web cam access.
A confirmation dialog box appears, which asks the user for permission to use the web cam.
最後の手段がおそらく、より良い手段と言えるでしょう。これは文法的に正しいだけでなく、性別の規則が大きく異なる可能性のある異なる言語間で、性別の取り扱いに関連した複雑さを軽減することができます。この解決策は、読者と翻訳者の両方にとって、翻訳をより簡単にすることができます。
日付については(コード中の日付は関係ありません)、 "January 1, 1990" のような書式を使用してください。
YYYY/MM/DD フォーマットを使っても構いません。
年代の表現には、 "1990s" の書式を使って下さい。アポストロフィはいりません。
数詞の複数形には"s"を付加してください。アポストロフィはいりません。
通常の文では、5桁以上の数字にだけカンマを使用してください。
Serial comma(連続のカンマ)を使用してください。 Serial Comma または "Oxford" comma(オックスフォードカンマ)としても知られるこのカンマは、3つ以上の文を並列する際に接続詞の直前に置きます。
「曲がった」引用符と疑問符を使用しないで下し。 MDN では、直線の引用符とアポストロフィのみを使用してください。
これにはいくつかの理由があります。
綴りにゆれがある単語については、常にアメリカ英語の綴りを使用してください。
一般的には、 Dictionary.com の最初の項目を使用しますが、その項目が変種の綴りとして記載されていたり、主にアメリカ以外の英語の形で使用されている場合を除きます。例えば、 "behavior" を検索すると、 "Chiefly British" という言葉の後に、アメリカの標準形である "behavior" へのリンクが表示されます。変形スペルは使わないようにしましょう。
HTML や XML の要素を表すには「要素」を使用し、「タグ」を使用しないでください。加えて、基本的に常に「<>」で囲んで記述し、 {{HTMLElement("code")}} スタイルの中に入れてください。
その要素を節の中で初めて参照するときは、 {{TemplateLink("HTMLElement")}} マクロを使用して要素の文書へのリンクを作成してください (その要素のリファレンス文書ページ内で書いている場合を除く)。
MDN で推奨する用語は parameter です。一貫性のためにできるだけ "argument" の用語は使用しないでください。
一連の作業を記述する際には、命令調でインターフェイスでの操作を指示しましょう。ユーザインターフェイスの要素をラベルと種類ではっきりと指定しましょう。
能動態が一般的には好ましいですが、MDN の堅苦しくない雰囲気から考えると受動態も問題ありません。けれど、どちらか首尾一貫させる意識は必要です。
ここで取り扱われていない用法とスタイルについて疑問があれば、 Microsoft Writing Style Guide を、それでもダメなら Chicago Manual of Style を参照してください。 非公式の crib sheet for the Chicago Manual of Style がオンラインで利用できます。
単語の綴りでわからないことがあれば、 Dictionary.com を参照してください。このサイトのスペルチェッカはアメリカ英語を基準にしています。それ以外の表記を使用しないでください (例えば colour でなく color です)。
何度もガイドが拡張されることになるでしょう、ですからこのドキュメントで取り扱われていないことについて知りたければ、その質問を MDN discussion forum に投稿してください。MDNの協力者が追加すべき記事を知ることができます。
記事の執筆と編集スキルを磨きたければ、以下のリソースが役立つことでしょう。(英語の情報)