From 64048a287986a8fedcffc63aa30fabf4c4fe730a Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Fri, 30 Apr 2021 00:25:18 +0900 Subject: Learn/Getting_started_with_the_web/HTML_basics を更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 2021/02/20 時点の英語版に同期 - 原語併記マクロを削除 --- .../html_basics/index.html | 171 +++++++++++---------- 1 file changed, 87 insertions(+), 84 deletions(-) (limited to 'files/ja/learn') diff --git a/files/ja/learn/getting_started_with_the_web/html_basics/index.html b/files/ja/learn/getting_started_with_the_web/html_basics/index.html index 49a407e593..6d1b296bcd 100644 --- a/files/ja/learn/getting_started_with_the_web/html_basics/index.html +++ b/files/ja/learn/getting_started_with_the_web/html_basics/index.html @@ -2,10 +2,13 @@ title: HTML の基本 slug: Learn/Getting_started_with_the_web/HTML_basics tags: + - Beginner - CodingScripting + - Doctype html - HTML + - Learn - Web - - 'l10n:priority' + - l10n:priority - 初心者 - 学習 translation_of: Learn/Getting_started_with_the_web/HTML_basics @@ -15,41 +18,41 @@ translation_of: Learn/Getting_started_with_the_web/HTML_basics
{{PreviousMenuNext("Learn/Getting_started_with_the_web/Dealing_with_files", "Learn/Getting_started_with_the_web/CSS_basics", "Learn/Getting_started_with_the_web")}}
-

HTML (Hypertext Markup Language、ハイパーテキスト・マークアップ・ランゲージ)は、 Web サイトのコンテンツに構造を指定するために使うコードです。具体的に言うと、構造というのは、段落や箇条書きのリスト、画像、テーブルなどのようなものです。タイトルが示すように、この記事では、HTML とその機能の基本的な理解ができるように説明します。

+

HTML (Hypertext Markup Language、ハイパーテキスト・マークアップ・ランゲージ)は、ウェブサイトのコンテンツの構造を作るために使うコードです。例えば、コンテンツは段落、箇条書きのリスト、画像の使用、データテーブルなどの組み合わせで構成されています。タイトルが示すように、この記事では HTML とその機能の基本的な理解ができるように説明します。

-

そもそも HTML とは

+

HTML とは

-

HTML はプログラミング言語ではありません。マークアップ言語と言って、コンテンツの構造を決めるものです。 HTML は {{Glossary("element", "要素")}} の集まりでできています。要素とは様々なコンテンツがどのように見えるか、またどのように動くかを表現するためにタグで囲まれたまとまりです。{{Glossary("tag", "タグ")}} は言葉や画像を表示したり、他のページに移動するハイパーリンクを作ったり、文字を斜体にしたり、大きくしたり小さくしたり、色々なことが出来ます。例えば、次の文を見てください。

+

HTML は、コンテンツの構造を定義するマークアップ言語です。 HTML は一連の{{Glossary("element", "要素")}}で構成されており、これらの要素がコンテンツのさまざまな部分を囲み、一定の表示や動作をさせることができます。{{Glossary("tag", "タグ")}}で囲むと、単語や画像をどこかにハイパーリンクさせたり、単語を斜体にしたり、フォントを大きくしたり小さくしたりすることができます。 例えば、次のようなコンテンツがあるとします。

-
My cat is very grumpy
+
My cat is very grumpy
-

上の文を単体で表示したいなら、段落タグ ({{htmlelement("p")}}) で文を囲うことでこれが段落であると指定することができます。

+

行を独立させたい場合は、段落タグで囲んで段落であることを指定することができます。

-
<p>My cat is very grumpy</p>
+
<p>My cat is very grumpy</p>
-

HTML 要素の中身

+

HTML 要素の中身

-

この段落要素についてもうちょっと詳しく見ていきましょう。

+

この段落要素についてもう少し詳しく見ていきましょう。

-

+

-

要素は主に以下のようなもので構成されています:

+

要素は主に以下のようなもので構成されています。

    -
  1. {{原語併記("開始タグ", "opening tag")}}: これは、要素の名前(今回は p)を山括弧で囲ったものです。どこから要素が始まっているのかやどこで効果が始まるのかを表しています。今回の場合どこから段落が始まるかを表しています。
  2. -
  3. {{原語併記("終了タグ", "closing tag")}}: これは、要素名の前にスラッシュが入っていることを除いて開始タグと同じです。どこで要素が終わっているかを表しています。今回の場合どこで段落が終わるかを表しています。終了タグの書き忘れは、初心者のよくある間違いで、正しく表示されません。
  4. -
  5. {{原語併記("コンテンツ", "content")}}: 要素の内容です。今回の場合はただの文字です。
  6. -
  7. {{原語併記("要素", "element")}}: 開始タグ、終了タグ、コンテンツで要素を構成します。
  8. +
  9. 開始タグ (Opening tag): これは、要素の名前 (この場合は p) を山括弧で囲んだものです。どこから要素が始まっているのか、どこから効果が始まるのかを表します。 — 今回の場合どこから段落が始まるかを表しています。
  10. +
  11. 終了タグ (Closing tag): これは、要素名の前にスラッシュが入っていることを除いて開始タグと同じです。どこで要素が終わるのかを表しています。 — この場合は、段落が終わる場所を表します。終了タグの書き忘れは、初心者のよくある間違いで、おかしな結果になることがあります。
  12. +
  13. コンテンツ (Content): 要素の内容です。今回の場合はただのテキストです。
  14. +
  15. 要素 (Element): 開始タグ、終了タグ、コンテンツで要素を構成します。
-

要素は{{原語併記("属性", "Attribute")}}を持つことが出来ます。このような感じです:

+

要素には属性 (Attribute) を設定することができます。このような感じです。

-

+

-

属性とは要素に対し実際には表示されない追加情報を含んだものです。ここでは class が属性の名前editor-note が属性のです。 class 属性を使って要素に識別するための名前を与えていて、後でこの要素を指定してスタイルをつけたり様々なことができるようになります。

+

属性には、実際のコンテンツには表示させたくない、要素に関する追加情報が含まれています。ここでは、 class が属性の名前で、 editor-note が属性のです。 class 属性では、要素に一意ではない識別子を与えることができ、それを使って要素 (および同じ class 値を持つ他の要素) にスタイル情報などのターゲットを設定することができます。

-

属性は次のような形式です。

+

属性は常に次のような形式になります。

  1. 要素名 (すでにいくつか属性がある場合はひとつ前の属性) との間の空白
  2. @@ -57,35 +60,35 @@ translation_of: Learn/Getting_started_with_the_web/HTML_basics
  3. 引用符で囲まれた属性の値
-
-

メモ: ASCII の空白 (または " ' ` = < > 文字) を含まない単純な属性値は引用符を付けないままにすることができますが、コードの一貫性と理解を容易にするため、すべての属性値を引用することをお勧めします。

+
+

: ASCII のホワイトスペース (または " ' ` = < > のいずれかの文字) を含まない単純な属性値は引用符を省略することができますが、コードを一貫性のあるものにし、理解を容易にするため、すべての属性値を引用符で囲むことをお勧めします。

-

要素のネスト

+

要素の入れ子

-

要素の中に他の要素を入れることも出来ます。これをネスト(または入れ子)と言います。もしあなたの猫が「とっても」機嫌が悪いことを表したいとしたら、「とっても」という単語を {{htmlelement("strong")}} 要素に入れて単語の強調を表すことが出来ます。

+

要素の中に他の要素を入れることもできます。これをネスト (または入れ子) と言います。もしあなたの猫が「とっても」機嫌が悪いことを表したいとしたら、「とっても」という単語を {{htmlelement("strong")}} 要素に入れて、単語の強調を表すことができます。

-
<p>私のネコは<strong>とっても</strong>機嫌が悪い。</p>
+
<p>私のネコは<strong>とっても</strong>機嫌が悪い。</p>
-

しかしながら要素のネストは正しく行われなければなりません。上記の例ではまず始めに {{htmlelement("p")}} 要素が開始され、その次に {{htmlelement("strong")}} 要素が開始されています。そうしたならば、必ず {{htmlelement("strong")}} 要素、 {{htmlelement("p")}} 要素の順で終了しなければなりません。次の例は間違いです。

+

しかしながら要素は正しく入れ子にしなければなりません。上記の例では、まず始めに {{htmlelement("p")}} 要素が開始され、その次に {{htmlelement("strong")}} 要素が開始されています。その場合は、必ず {{htmlelement("strong")}} 要素、 {{htmlelement("p")}} 要素の順で終了しなければなりません。次の例は間違いです。

-
<p>私の猫は<strong>とっても機嫌が悪い。</p></strong>
+
<p>私の猫は<strong>とっても機嫌が悪い。</p></strong>
-

要素は確実に他の要素の中もしくは外で開始し、終了する必要があります。上記の例のように要素が重複してしまうと、 Web ブラウザはあなたがしようとしていたことを推測してもっともよいと思われる解釈をするため、予期せぬ結果になることがあります。そうならないよう気を付けましょう!

+

要素は確実に他の要素の中もしくは外で開始し、終了する必要があります。上記の例のように要素が重複してしまうと、ウェブブラウザーは言おうとしていることを推測してもっとも良いと思われる解釈をするため、予期せぬ結果になることがあります。そうならないよう気を付けましょう!

-

空要素

+

空要素

-

コンテンツを持たない要素もあります。そのような要素を{{原語併記("空要素", "empty elements")}} と呼びます。 {{htmlelement("img")}} 要素を例に見ていきましょう。

+

コンテンツを持たない要素もあります。そのような要素を空要素 (empty elements) と呼びます。すでに HTML ページにある {{htmlelement("img")}} 要素を例に見ていきましょう。

-
<img src="images/firefox-icon.png" alt="My test image">
+
<img src="images/firefox-icon.png" alt="My test image">
-

この要素は 2 つの属性を持っていますが終了タグ </img> はありませんし、内部にコンテンツもありません。これは image 要素はその機能を果たすためにコンテンツを囲うものではないからです。 image 要素の目的は画像を HTML ページの表示させたいところに埋め込むことです。

+

この要素は 2 つの属性を持っていますが、終了タグ </img> がありませんし、内部にコンテンツもありません。これは画像要素は、その機能を果たすためにコンテンツを囲むものではないからです。画像要素の目的は、画像を HTML ページの表示させたいところに埋め込むことです。

-

HTML 文書の構造

+

HTML 文書の構造

-

ここまでは HTML 要素についてみてきました。しかし要素単体ではあまり役には立ちません。ここからはどのようにしてそれぞれの要素を組み合わせ、 HTML ページ全体を作っていくのかを勉強していきましょう。ファイルを扱うで出てきた index.html に書いてあるコードをもう一度見てみましょう。

+

ここまでは HTML 要素についてみてきました。しかし要素単体ではあまり役には立ちません。ここからはどのようにしてそれぞれの要素を組み合わせ、 HTML ページ全体を作っていくのかを勉強していきましょう。ファイルの扱いで出てきた index.html に書いてあるコードをもう一度見てみましょう。

-
<!DOCTYPE html>
+
<!DOCTYPE html>
 <html>
   <head>
     <meta charset="utf-8">
@@ -99,84 +102,84 @@ translation_of: Learn/Getting_started_with_the_web/HTML_basics
 

この中にあるものは以下の通りです。

    -
  • <!DOCTYPE html> — 文書型宣言です。昔々、 HTML がまだ出来たばかりの頃 (1991~2年)、文書型宣言は HTML ページを正しい書き方がなされているかを示すルールセット (自動エラーチェックなどの便利なもの) に関連付けさせる役割を担っていました。しかし、最近ではそのようなことを気にする人はいなくなり、うまく動くために存在するただの遺産となってしまいました。今はこれだけ知っていれば大丈夫です。
  • -
  • <html></html> — {{htmlelement("html")}} 要素です。この要素はページのすべてのコンテンツを囲み、ルート要素とも呼ばれます。
  • -
  • <head></head> — {{htmlelement("head")}} 要素です。この要素は HTML ページの、閲覧者に向けて表示されないコンテンツをまとめるための入れ物です。<head>要素は検索エンジン向けのキーワードや説明書き、ページの見た目を変更するための CSS、文字コードの情報などを含みます。
  • -
  • <meta charset="utf-8"> — この要素は文書に対し文字コードを UTF-8 に設定しています。 UTF-8 には人類が使う言語の殆どの文字が含まれています。基本的には指定することにより文書に書いたテキストコンテンツを扱うことが出来ます。指定しない理由は特に無く、指定することで後から出てくる様々な問題を避けることが出来ます。
  • -
  • <title></title> — {{htmlelement("title")}} 要素です。ページのタイトルを指定しています。このタイトルはページが読み込まれた時にブラウザのタブに表示され、ブックマーク(お気に入り)に登録した時の名前にもなります。
  • -
  • <body></body> — {{htmlelement("body")}} 要素です。 <body> 要素はページの閲覧者に対して見せたいものすべてを含みます。文字、画像、ビデオ、ゲーム、再生できる音楽など、どんなものでもです。
  • +
  • <!DOCTYPE html> — 文書型宣言です。これは必須の前置きです。昔々、 HTML がまだ出来たばかりの頃 (1991~2年)、文書型宣言は HTML ページが正しい HTML と見なされるために従わなければならない、一連のルールへのリンクとして機能することを意味していました。つまり、自動エラーチェックなどの有益なものを表すことができました。しかし、最近ではあまり機能しておらず、文書が正しく動作するために必要なだけです。今はこれだけ知っていれば大丈夫です。
  • +
  • <html></html> — {{htmlelement("html")}} 要素です。この要素は、このページのすべてのコンテンツを囲み、ルート要素と呼ばれることもあります。
  • +
  • <head></head> — {{htmlelement("head")}} 要素です。この要素は、ページの閲覧者に向けて表示するためのコンテンツではない、 HTML ページに含めたいものをすべて収めるための入れ物です。 <head> 要素は検索エンジン向けの {{Glossary("keyword", "キーワード")}} や説明書き、ページの見た目を変更するための CSS、文字コードの宣言などを含みます。
  • +
  • <meta charset="utf-8"> — この要素は、大部分の書き言葉の文字のほとんどを含む UTF-8 を文書で使用するように設定しています。基本的には、文書はどんなテキストコンテンツでも扱えるようになります。これを設定しない理由はありませんし、後でいくつかの問題を回避するのに役立ちます。
  • +
  • <title></title> — {{htmlelement("title")}} 要素です。ページのタイトルを指定しています。このタイトルはページが読み込まれた時にブラウザーのタブに表示されます。また、ブックマークやお気に入りに登録した時の説明にも使われます。
  • +
  • <body></body> — {{htmlelement("body")}} 要素です。これには、テキスト、画像、ビデオ、ゲーム、再生可能なオーディオトラックなど、ページを訪れたウェブの利用者に表示したいすべてのコンテンツが含まれます。
-

画像

+

画像

もう一度 {{htmlelement("img")}} 要素について見ていくことにしましょう。

-
<img src="images/firefox-icon.png" alt="My test image">
+
<img src="images/firefox-icon.png" alt="My test image">
-

前に説明したように、これは書いたところに画像を埋め込みます。画像ファイルのパスを値に持つ src (source) 属性を指定する事によってその画像を表示できます。

+

前に説明したように、ページのこれが現れたところに画像を埋め込みます。画像ファイルのパスを値に持つ src (source) 属性を指定することによってその画像を表示できます。

-

また、 alt (alternative; 代替) 属性も指定しています。これは以下の様な理由で画像を見られない人に向けて文字で説明をするものです。

+

また、 alt (alternative; 代替) 属性も指定しています。これは以下のような理由で画像を見られない人に向けて説明するテキストを指定するものです。

    -
  1. 目が不自由な人。著しく目の不自由な人はよくスクリーンリーダーと呼ばれるツールを使っていて、それは画像の alt 属性の内容を読み上げます。
  2. -
  3. 何らかの理由で画像の表示に失敗した場合。例えば、 src 属性に指定したパスが間違っていたときなどです。ページを保存したり再読み込みしたりするとこのような本来画像があるべき場所に下記のような何かが表示されるでしょう。
  4. +
  5. 目が不自由な人。著しく目の不自由な人はよく画面リーダーと呼ばれるツールを使っていて、それが画像の alt 属性の内容を読み上げます。
  6. +
  7. 何らかの理由で画像の表示に失敗した場合。例えば、 src 属性の中のパスをわざと正しくないものに変更してみてください。ページを保存したり再読み込みしたりすると、画像の場所に下記のようなものが表示されるでしょう。
-

+

-

alt 属性の内容は「説明する文」であるということが重要です。代替文は画像が伝えたいことをうまく言い表しているべきです。上の「My test image」はあまり良い例ではありません。 Firefox のロゴの代替文字列として適切なのは、「地球を囲む燃えるような狐の Firefox ロゴ」というようなものです。

+

alt テキストのキーワードは「説明文」です。 alt テキストは、その画像が何を伝えているのかを読者が十分に理解できるような情報を提供する必要があります。この例では、現在のテキストである「My test image」は全く意味がありません。 Firefox のロゴであれば、「Firefox のロゴ: 地球の周りを燃えるような狐が囲んでいる。」の方がずっと良いでしょう。

-

あなたが用意した画像に良い代替文字列を付けてみましょう。

+

画像に良い代替文字列を付けてみましょう。

-

注記: アクセシビリティについて詳しくは MDN のアクセシビリティのページを参照してください。

+

アクセシビリティについて詳しくは MDN のアクセシビリティのページを参照してください。

-

テキストのマークアップ

+

テキストのマークアップ

-

この章では、文字列をマークアップするために使用する基本的な HTML 要素をいくつか見ていきます。

+

この節では、文字列をマークアップするために使用する基本的な HTML 要素をいくつか見ていきます。

-

見出し

+

見出し

-

見出し要素は文書中の見出し、小見出しを指定することができるものです。通常の書籍でも主題、章題、副題があります。 HTML でも同じことが出来ます。 HTML では {{htmlelement("h1")}} から {{htmlelement("h6")}} の 6段階の見出しが用意されていますが、よく使うのはせいぜい 3 つから 4 つほどでしょう。

+

見出し要素により、コンテンツの特定の部分を見出し、または小見出しとして指定することができます。本にメインタイトル、章立て、サブタイトルがあるように、 HTML 文書にも見出しがあります。 HTML には {{htmlelement("h1")}} から {{htmlelement("h6")}} の 6 段階の見出しがありますが、よく使うのはせいぜい 3 から 4 まででしょう。

-
<h1>My main title</h1>
-<h2>My top level heading</h2>
-<h3>My subheading</h3>
-<h4>My sub-subheading</h4>
+
<h1>メインタイトル</h1>
+<h2>最上位の見出し</h2>
+<h3>小見出し</h3>
+<h4>孫見出し</h4>

それでは、あなたの HTML の {{htmlelement("img")}} 要素の上に適切なタイトルを付けてみましょう。

-

メモ: 見出しレベル1には暗黙のスタイルがあることがわかります。テキストを大きくしたり太字にしたりするために見出し要素を使用しないでください。これらはアクセシビリティSEO などのその他の理由で使用されます。レベルをスキップせずに、ページ上に意味のある一連の見出しを作成してください。

+

: 見出しレベル 1 には、暗黙のスタイルがあることがわかりますね。テキストを大きくしたり、太くしたりするために見出し要素を使用しないでください。見出し要素はアクセシビリティSEO などの理由で使用されているからです。レベルを飛ばすことなく、意味のある見出しの並びをページ上に作るようにしてください。

-

段落

+

段落

-

先に説明したように、 {{htmlelement("p")}} 要素は段落を示しています。通常の文章を書く時にはこの要素を頻繁に使うことになるでしょう。

+

先に説明したように、 {{htmlelement("p")}} 要素は段落を示しています。通常の文章を書くときにはこの要素を頻繁に使うことになるでしょう。

-
<p>This is a single paragraph</p>
+
<p>これは単独の段落です</p>
-

試しに {{htmlelement("img")}} 要素のすぐ下にいくつか段落を作り、文章を書いてみましょう。(文章は Web サイトはどんな見た目にしたいですか?から持ってきても良いです。)

+

サンプルテキストを (「ウェブサイトをどんな外見にするか」から持ってきてください) 1 つまたは複数の段落に入れ、 {{htmlelement("img")}} 要素のすぐ下に配置してください。

-

リスト

+

リスト

-

多くの Web のコンテンツはリストで出来ており、 HTML にはリストを表すための特別な要素が用意されています。リストは最低 2 つの要素を組み合わせて生成します。主要なリスト形式として番号付きリストと番号なしリストがあります。

+

ウェブのコンテンツの多くはリストであり、 HTML にはリストのための特別な要素があります。リストのマークアップは、常に 2 つ以上の要素で構成されています。最も一般的なリストの種類は、順序付きリストと順序なしリストです。

    -
  1. 番号なしリストは、お買い物リストのようにアイテムの順番が特に関係ない時に使います。番号なしリストは {{htmlelement("ul")}} 要素で囲みます。
  2. -
  3. 番号付きリストは料理のレシピのようにアイテムの順番が関係ある時に使います。番号付きリストは {{htmlelement("ol")}} 要素で囲みます。
  4. +
  5. 順序なしリストは、お買い物リストのようにアイテムの順番が特に関係ない時に使います。順序なしリストは {{htmlelement("ul")}} 要素で囲みます。
  6. +
  7. 順序付きリストは料理のレシピのようにアイテムの順番が関係ある時に使います。順序付きリストは {{htmlelement("ol")}} 要素で囲みます。

リストの中に入るそれぞれのアイテムは {{htmlelement("li")}} (list item) 要素の中に書きます。

例えば、次の段落の一部をリストにしたい場合、

-
<p>At Mozilla, we’re a global community of technologists, thinkers, and builders working together ... </p>
+
<p>At Mozilla, we’re a global community of technologists, thinkers, and builders working together ... </p>

以下のようにマークアップします。

-
<p>At Mozilla, we’re a global community of</p>
+
<p>At Mozilla, we’re a global community of</p>
 
 <ul>
   <li>technologists</li>
@@ -186,22 +189,22 @@ translation_of: Learn/Getting_started_with_the_web/HTML_basics
 
 <p>working together ... </p>
-

あなたのページに番号付きリストと番号なしリストを追加してみましょう。

+

ページに番号付きリストと番号なしリストを追加してみましょう。

- + -

リンクはとても重要です ―― これが Web をひとつの Web にします。リンクを追加するには、シンプルな要素 {{htmlelement("a")}} を使えばよいです。 a は "anchor" を省略したものです。段落中の文字をリンクにするには次の手順で行います。

+

リンクはとても重要です — これがウェブをウェブたらしめているものです。リンクを追加するには、シンプルな要素 {{htmlelement("a")}} を使う必要があります。 a は "anchor" を省略したものです。段落中の文字をリンクにするには次の手順で行います。

  1. リンクにしたい文字を選びます。今回は "Mozilla Manifesto" を選びました。
  2. 選んだ文字を {{htmlelement("a")}} 要素で囲みます。 -
    <a>Mozilla Manifesto</a>
    +
    <a>Mozilla Manifesto</a>
  3. このように {{htmlelement("a")}} 要素に href 属性を追加します。 -
    <a href="">Mozilla Manifesto</a>
    +
    <a href="">Mozilla Manifesto</a>
  4. -
  5. このリンクがリンクしたい Web アドレスをこの属性の値に書き込みます。 -
    <a href="https://www.mozilla.org/en-US/about/manifesto/">Mozilla Manifesto</a>
    +
  6. このリンクのリンク先になるウェブアドレスを、この属性の値に書き込みます。 +
    <a href="https://www.mozilla.org/en-US/about/manifesto/">Mozilla Manifesto</a>
@@ -213,11 +216,11 @@ translation_of: Learn/Getting_started_with_the_web/HTML_basics

もしまだやってないのなら、ページにリンクを追加してみましょう。

-

まとめ

+

まとめ

-

ここまでの説明に沿ってやってきたのなら、下のようなページが出来上がっているはずです (ここでも見られます)。
+

ここまでの説明に沿ってやってきたのなら、以下下のようなページができあがっているはずです (ここでも見られます)。

- A web page screenshot showing a firefox logo, a heading saying mozilla is cool, and two paragraphs of filler text

+ ウェブページのスクリーンショットで、 firefox のロゴ、「mozilla is cool」という見出し、そして 2 段落のテキストが表示されています。

もし途中で行き詰まってしまったなら、 GitHub にある完成版のコード例と見比べてみてください。

@@ -225,15 +228,15 @@ translation_of: Learn/Getting_started_with_the_web/HTML_basics

{{PreviousMenuNext("Learn/Getting_started_with_the_web/Dealing_with_files", "Learn/Getting_started_with_the_web/CSS_basics", "Learn/Getting_started_with_the_web")}}

-

このモジュール

+

このモジュール

-- cgit v1.2.3-54-g00ecf